ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:40.79KB ,
资源ID:5950634      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5950634.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机原理实验指导书张自友083.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机原理实验指导书张自友083.docx

1、单片机原理实验指导书张自友08351系列单片机实验指导书 张自友乐山师院物电系实验室编印2008年3月第一章 实验系统介绍1.1. 系统组成 AEDK5196ET单片机实验系统包括:1. AEDK5196ET实验系统主板(已插上8032CPU芯片);2. U5196ETF测试板(已联接60芯短接电缆);3. 9芯标准串行通讯电缆:1根;4. 4芯电源联接电缆:1根;5. 40芯仿真联接电缆:1根;6. 实验用线束:20根;7. 外部电源:选配件;8. AEDK机电实验平台:选配件;9. 系统软件安装盘:5张;实验系统连接如右图所示:1.2 基本实验项目1. 软件编程实验,提供MCS-51、MC

2、S-96算术子程序库;2. 单片机本身并行口、串行口、定时/计数器、A/D转换、中断系统等实验;3. 扩展8位存储器实验;4. 扩展简单输入、输出口实验;5. 扩展可编程并行口(8155/8255)实验;6. 扩展可编程串行口(8251)实验;7. 扩展可编程键盘显示控制器(8279)实验;8. 扩展A/D(0809),D/A(0832)转换实验;9. 双色灯显示实验(交通灯);10. 扫描键盘,LED数码管显示实验;11. 计算机音响实验;12. 继电器控制实验;13. 步进电机,直流电机控制实验;14. 标准(CENTRONIC)并行打印机实验;1.3 系统快速入门用户使用本系统进行实验时

3、一般包括以下步骤: 启动运行环境-编写实验程序-调试实验程序-进行实验1启动运行环境 正确连接实验系统,确认各个开关处于正确位置,打开实验机电源。 运行LCAET软件,进入调试环境。选取主菜单的Options菜单进行通讯设置(串行口、波特率的设置)和模式设置(CPU类型、实验机状态),与实验机建立通信联系。2.编写实验程序 新建文件,保存成.asm(汇编)或者.c(c51)即可。3.调试 打开源语句调试窗口并将目标码加载到实验机。然后用户就可以运用本系统提供的各种工具和方法进行调试。主要是观察程序的运行是否正常、有无走飞、各主要参数中间值是否与设计吻合。4.进行实验根据实验有关说明和用户编制的

4、程序,完成连线(最好先关闭实验机电源,再进行)。通过调试软件加载、运行程序,观察实验有关现象。若现象与设计不符,则返回第三步,重新进行。14 其它 未尽事宜,请查看系统软件帮助文挡。第二章 MCS51系列单片机实验实验一 I/O口输入输出实验任务:1,实现用p1口输出控制发光二极管亮灭和延时闪烁、左右移动等。 2,实现用拨动开关K0K7控制控制发光二极管L0L7。实验二 定时器及中断实验任务:1,实现计数实验,如果按键5次则点亮发光二极管。 2,实现3秒和5秒定时,并用此信号控制交通灯。 3,外部中断实验:按下按键时,停止发光二极管的闪烁。实验三 串口应用实验任务:1,串并转换实验 2串口通信

5、实验实验四 c51编程实验任务:1,控制L0L7左右移动闪烁。 2,对10次ad采样结果排序,输出其平均值说明:1。本指导书不直接提供实验源代码,请实验前先自己根据实验任务编写实验程序。 2基本实验任务完成后,有时间可自己把附录的综合设计实验调试。附录:综合设计实验参考1AD转换实验,用中断方法读结果,并在数码管上显示;CS8255-F228H,CS0809-F230H,P3.2-EOC,IN0-05V(硬件连线);PC35-LEDSALEDSC,PC2-LEDSELECT(通过短路套接好);PA07-LEDALEDDP(通过短路套接好);-符号定义-C8255 EQU 0F22BH ;825

6、5命令口地址P8255A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0F22AH ;8255 PC口地址C0809 EQU 0F230H ;ADC0809片选信号LED0 DATA 50H ;显存区LED1 DATA 51HLED2 DATA 52H;-主程序- ORG 0000H AJMP MAIN ORG 0003H AJMP FX0 ORG 0030HMAIN: MOV SP,#60H MOV LED0,#00H ;置显示初始值 MOV LED1,#00H MOV LED2,#00H MOV DPTR,#C

7、8255 ;8255初始化 MOV A,#80H ;8255 PA,PB,PC口输出 MOVX DPTR,A CLR IT0 SETB EX0SETB EA ;开中断 MOV DPTR,#C0809 MOVX DPTR,A ;启动AD转换LOOP: ACALL DISP ;显示子程序 AJMP LOOP ;主循环;-8255驱动数码管显示子程序- DISP: MOV DPTR,#P8255C MOV A,#00H MOVX DPTR,A ;通过8255C口选种第一个数码管 MOV DPTR,#LEDSEG MOV A,LED0 MOVC A,A+DPTR MOV DPTR,#P8255A ;显

8、示键值 MOVX DPTR,A ;送显示段选码 ACALL DELAY ;延时,增加显示亮度 CLR A ;带了锁存器,送下一个数据前将数据撤消 MOVX DPTR,A MOV DPTR,#P8255C MOV A,#08H MOVX DPTR,A ;通过8255C口选种第二个数码管 MOV DPTR,#LEDSEG MOV A,LED1 MOVC A,A+DPTR MOV DPTR,#P8255A ;显示键值 MOVX DPTR,A ;送显示段选码 ACALL DELAY CLR A MOVX DPTR,A MOV DPTR,#P8255C MOV A,#10H MOVX DPTR,A ;通

9、过8255C口选种第三个数码管 MOV DPTR,#LEDSEG MOV A,LED2 MOVC A,A+DPTR ORL A,#80H ;加个小数点在最高位后面 MOV DPTR,#P8255A ;显示键值 MOVX DPTR,A ;送显示段选码 ACALL DELAY CLR A MOVX DPTR,A RET;- ;中断服务程序- FX0: MOV DPTR,#C0809 MOVX A,DPTR ;读转换结果 MOV B,#5 MUL AB ;相乘结果为16位,再右移8位,则B刚好为整数部分 MOV LED2,B MOV B,#10 MUL AB ;小数部分放大10倍 MOV LED1,

10、B MOV B,#10 MUL AB MOV LED0,BFX0_RET:MOV DPTR,#C0809 MOVX DPTR,A ;启动AD下一次转换 RETI;-延时子程序-DELAY:MOV R7,#5 DJNZ R7,$ RET;- LED显示常数表- LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;- END2简易函数信号发生器,通过按PULSE+键,切换波形输出;P3.2-PULSE+;CS0832-;-F218;VOUT,AGND-示波器D_APORT EQU 0F218H ;0832 口地址 ORG 0000H AJMP ST

11、ART ORG 0003H AJMP FX0 ORG 0030HSTART: MOV SP,#60H MOV R1,#1 SETB EX0 SETB IT0 SETB EALOOP: ACALL SCAN SJMP LOOP;-方波生成-FANGBO: MOV A,#0FFH MOV DPTR,#D_APORT MOVX DPTR,A ACALL DELAY MOV A,#00H MOVX DPTR,A ACALL DELAY ACALL SCAN SJMP FANGBO;-锯齿波生成-JUCHI: MOV A,#00H MOV DPTR,#D_APORTJ_L: MOVX DPTR,A IN

12、C A JNZ J_L ACALL SCAN SJMP JUCHI;-正弦波生成-SINE: MOV R0,#0S_L: MOV DPTR,#TABLE MOV A,R0 MOVC A,A+DPTR MOV DPTR,#D_APORT MOVX DPTR,A INC R0 CJNE R0,#65,S_L ACALL SCAN SJMP SINE;-中断服务子程序-FX0: INC R1 RETI;-按键扫描-SCAN: CJNE R1,#0,N1 AJMP FANGBON1: CJNE R1,#1,N2 AJMP SINEN2: CJNE R1,#2,N3 AJMP JUCHIN3: MOV

13、R1,#0 RET;-延时- DELAY: MOV R7,#80 DJNZ R7,$ RET ;-正弦波数据表-TABLE: DB 141,153,165,177,188,199,209,218,227,234,241,246,250,254 DB 255,256,255,254,251,246,241,235,227,219,209,199,188,177 DB 165,153,141,128,116,103,91,79,68,57,47,38,29,22,15,10,6 DB 3,1,0,1,2,5,10,15,21,29,37,47,57,67,79,90,103,115,128 ;-

14、END3,键盘扫描与数码管显示实验;CS8255-F228H ;PB07-LINE18 (键盘列线)已接好;PC01-KEYIN12(键盘行线)已接好;PC35-LEDSALEDSC,PC2-LEDSELECT(通过短路套已接好);PA07-LEDALEDDP(数码管数据线 通过短路套已接好);-C8255 EQU 0F22BH ;8255命令口地址P8255A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0F22AH ;8255 PC口地址LED0 DATA 50H ;显存区,同时也是键值存放区;- ORG 00

15、00H AJMP MAIN ORG 0030HMAIN: MOV SP,#60H ;堆栈初始化 MOV LED0,#10H ;置显示初始值 MOV DPTR,#C8255 ;8255初始化 MOV A,#82H ;PB口输入,PA,PC口输出 MOVX DPTR,A SETB EX0 SETB IT0 ;设置为边沿触发,避免重复多次触发 SETB EA ;开中断LOOP: ACALL DISP ;显示子程序 ACALL KEY AJMP LOOP ;循环扫描;- DISP: MOV DPTR,#P8255C MOV A,#00H ;00000000B,LEDSASC,LEDSELECT =0

16、MOVX DPTR,A ;通过8255C口选种第一个数码管 MOV DPTR,#LEDSEG MOV A,LED0 MOVC A,A+DPTR ;查段选码 MOV DPTR,#P8255A MOVX DPTR,A ;送段选码 PUSH 1 POP 1 NOP ;短暂延时 CLR A MOVX DPTR,A ;消除显示 RET; -键盘扫描子程序- KEY: MOV A,#00H ;先判断是否有键按下,行线PC0PC1送00 MOV DPTR,#P8255C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR ;读列线,读到0,说明按了键 CJNE A,#0FFH,

17、KEY_NEXT ;判键是否按下,有键转KEY_NEXT RET ;无键返回 KEY_NEXT: ACALL D10MS ;消除抖动 MOV A,#02H ;键盘扫描第一行(输出行选码) MOV DPTR,#P8255C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR ;读列线 CJNE A,#0FFH,KEY_L0 ;判键是否按下,有键转KEY_L0 AJMP KEY_NEXT2 ;无键转第二行 KEY_L0: MOV R5,#0 ;保存行号 AJMP LIE ;转列识别 KEY_NEXT2: MOV A,#01H ;扫描第二行 MOV DPTR,#P825

18、5C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR CJNE A,#0FFH,KEY_L1;判键是否按下,有键转KEY_L1 RET ;无键转结束KEY_L1: MOV R5,#1 ;保存行号 AJMP LIE ;转列识别 LIE: MOV R0,#08H ;控制循环移位8次,依次扫描列 MOV R6,#0 ;保存列号,初值0LIE_LOOP: RRC A JNC CALC INC R6 DJNZ R0,LIE_LOOPCALC: MOV A,R5 ;计算键值,行*号8+列号 RL A RL A RL A ADD A,R6 MOV LED0,A ;将键值保存

19、到显存区KEYWAIT: MOV DPTR,#P8255B ;等待键释放 MOVX A,DPTR CJNE A,#0FFH,KEYWAIT KEYEXIT:RET ;- D10MS: MOV R0,#100 ;延时10MS子程序D1: MOV R1,#50 DJNZ R1,$ DJNZ R0,D1 RET ;- ;LED显示常数表LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H,00H;- END48255简易数字钟;CS8255-F228H ;PC35-LEDSALEDSC,PC2-LE

20、DSELECT(通过短路套已接好);PA07-LEDALEDDP(通过短路套已接好);-C8255 EQU 0F22BH ;8255命令口地址P8255A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0F22AH ;8255 PC口地址LSL DATA 50H ;秒个位 LSH DATA 51H ;秒十位LLL DATA 52H ;分隔符 -LML DATA 53H ;分个位LMH DATA 54H ;分十位LLH DATA 55H ;分隔符 -LHL DATA 56H ;时个位LHH DATA 57H ;时十位T

21、IME1 DATA 58H ;辅助计数变量1TIME2 DATA 59H ;辅助计数变量2;- ORG 0000H AJMP MAIN ORG 000BH AJMP FT0 ORG 0030HMAIN: MOV SP,#60H ACALL INILOOP: ACALL DISP ;显示子程序 AJMP LOOP ;循环扫描INI: MOV LSL,#00H ;置显示初始值 MOV LSH,#00H MOV LLL,#0AH ;-段选码位于段选码表中第10个位置 MOV LML,#00H MOV LMH,#00H MOV LLH,#0AH ;- MOV LHL,#00H MOV LHH,#00H

22、 ;初始值00-00-00 MOV DPTR,#C8255 ;8255初始化 MOV A,#80H ;8255 PA,PB,PC口输出 MOVX DPTR,A MOV TMOD,#02H ;定时器初始化,定时,方式2(8位自动重装初值) MOV TH0,#164 ;100微妙定时 MOV TL0,#164 MOV TIME1,#100 ;辅助计时变量,让100us发生10000次就是1秒 MOV TIME2,#100 SETB ET0 SETB EA ;开中断 SETB TR0 ;启动定时器 RET;-显示子程序- DISP: MOV R5,#00H ;存放数码管位选码(00H,08,10H,

23、+8) MOV R0,#50H ;第一个数码管显存地址(50H,51H,52H,57H)D_LOOP: MOV DPTR,#P8255C MOV A,R5 ;数码管位选码 MOVX DPTR,A ;通过8255C口选种第一个数码管 MOV DPTR,#LEDSEG MOV A,R0 ;送显示内容 MOVC A,A+DPTR ;查段选码 MOV DPTR,#P8255A ; MOVX DPTR,A ;送出显示 ACALL DELAY ;延时,增加显示亮度 ; LED0 MOV A,R5 ADD A,#08H MOV R5,A ;回送R5 INC R0 ;变量修正 CJNE R0,#58H,D_L

24、OOP ;8个没显示完,继续显示 RET;- FT0: ;中断服务程序 DJNZ TIME1,S0 MOV TIME1,#100 DJNZ TIME2,S0 MOV TIME2,#100 ;统计100*100次 INC LSL MOV A,LSL CJNE A,#10,S0 MOV LSL,#0 INC LSH MOV A,LSH CJNE A,#6,S0 MOV LSH,#0 ;秒 INC LML MOV A,LML CJNE A,#10,S0 MOV LML,#0 INC LMH MOV A,LMH CJNE A,#6,S0 MOV LMH,#0 ;分 INC LHL MOV A,LHL CJNE A,#10,S0 MOV LHL,#0 INC LHH MOV A,LHH MOV B,#10 MUL AB ADD A,LHL ;判断是否到24时,LHH*10+LHL CJNE A,#24,S0 MOV LHH,#0 MOV LHL,#0 ;时S0: RETIDELAY: MOV DPTR,#P8255A ;带了锁存器,送下一个数据前将数据撤除 CLR A MOVX DPTR,A RET;- ;LED显示常数表LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1