单片机原理试验参考指导书.doc
《单片机原理试验参考指导书.doc》由会员分享,可在线阅读,更多相关《单片机原理试验参考指导书.doc(19页珍藏版)》请在咨信网上搜索。
51系列单片机试验 指导书 张自友 乐山师院物电系试验室编印 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、MCS-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 系统快速入门 用户使用本系统进行试验时通常包含以下步骤: 开启运行环境->编写试验程序->调试试验程序->进行试验 1.开启运行环境 正确连接试验系统,确定各个开关处于正确位置,打开试验机电源。 运行LCAET软件,进入调试环境。选择主菜单Options菜单进行通讯设置(串行口、波特率设置)和模式设置(CPU类型、试验机状态),和试验机建立通信联络。 2.编写试验程序 新建文件,保留成.asm(汇编)或.c(c51)即可。 3.调试 打开源语句调试窗口并将目标码加载到试验机。然后用户就能够利用本系统提供多种工具和方法进行调试。关键是观察程序运行是否正常、有没有走飞、各关键参数中间值是否和设计吻合。 4.进行试验 依据试验相关说明和用户编制程序,完成连线(最好先关闭试验机电源,再进行)。经过调试软件加载、运行程序,观察试验相关现象。若现象和设计不符,则返回第三步,重新进行。 1.4 其它 未尽事宜,请查看系统软件帮助文挡。 第二章 MCS51系列单片机试验 试验一 I/O口输入输出试验 任务:1,实现用p1口输出控制发光二极管亮灭和延时闪烁、左右移动等。 2,实现用拨动开关K0~K7控制控制发光二极管L0~L7。 试验二 定时器及中止试验 任务:1,实现计数试验,假如按键5次则点亮发光二极管。 2,实现3秒和5秒定时,并用此信号控制交通灯。 3,外部中止试验:按下按键时,停止发光二极管闪烁。 试验三 串口应用试验 任务:1,串并转换试验 2.串口通信试验 试验四 c51编程试验 任务:1,控制L0~L7左右移动闪烁。 2,对10次ad采样结果排序,输出其平均值 说明:1。本指导书不直接提供试验源代码,请试验前先自己依据试验任务编写试验程序。 2.基础试验任务完成后,有时间可自己把附录综合设计试验调试。 附录:综合设计试验参考 1.AD转换试验,用中止方法读结果,并在数码管上显示 ;CS8255----F228H,CS0809----F230H,P3.2----EOC,,IN0---0~5V(硬件连线) ;PC3~5-----LEDSA~LEDSC,PC2-------LEDSELECT(经过短路套接好) ;PA0~7-----LEDA~LEDDP(经过短路套接好) ;-------符号定义------------------------------------------- C8255 EQU 0F22BH ;8255命令口地址 P8255A EQU 0F228H ;8255 PA口地址 P8255B EQU 0F229H ;8255 PB口地址 P8255C EQU 0F22AH ;8255 PC口地址 C0809 EQU 0F230H ;ADC0809片选信号 LED0 DATA 50H ;显存区 LED1 DATA 51H LED2 DATA 52H ;--------主程序--------------------------------------- ORG 0000H AJMP MAIN ORG 0003H AJMP FX0 ORG 0030H MAIN: MOV SP,#60H MOV LED0,#00H ;置显示初始值 MOV LED1,#00H MOV LED2,#00H MOV DPTR,#C8255 ;8255初始化 MOV A,#80H ;8255 PA,PB,PC口输出 MOVX @DPTR,A CLR IT0 SETB EX0 SETB 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 ;显示键值 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 ;经过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,B MOV B,#10 MUL AB MOV LED0,B FX0_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 ;--------------------------------------------------------- END 2.简易函数信号发生器,经过按PULSE+键,切换波形输出 ;P3.2----PULSE+ ;CS0832-;-F218 ;VOUT,AGND---示波器 D_APORT EQU 0F218H ;0832 口地址 ORG 0000H AJMP START ORG 0003H AJMP FX0 ORG 0030H START: MOV SP,#60H MOV R1,#1 SETB EX0 SETB IT0 SETB EA LOOP: 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_APORT J_L: MOVX @DPTR,A INC A JNZ J_L ACALL SCAN SJMP JUCHI ;-----正弦波生成------------------ SINE: MOV R0,#0 S_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 FANGBO N1: CJNE R1,#1,N2 AJMP SINE N2: CJNE R1,#2,N3 AJMP JUCHI N3: MOV 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 ;-------------------------------------- END 3,键盘扫描和数码管显示试验 ;CS8255----F228H ;PB0~7------LINE1~8 (键盘列线)已接好 ;PC0~1------KEYIN1~2(键盘行线)已接好 ;PC3~5-----LEDSA~LEDSC,PC2-------LEDSELECT(经过短路套已接好) ;PA0~7-----LEDA~LEDDP(数码管数据线 经过短路套已接好) ;--------------------------------------------------------- C8255 EQU 0F22BH ;8255命令口地址 P8255A EQU 0F228H ;8255 PA口地址 P8255B EQU 0F229H ;8255 PB口地址 P8255C EQU 0F22AH ;8255 PC口地址 LED0 DATA 50H ;显存区,同时也是键值存放区 ;--------------------------------------------------------- ORG 0000H AJMP MAIN ORG 0030H MAIN: 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,LEDSA~SC,LEDSELECT =0 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,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,#P8255C 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 ;保留列号,初值0 LIE_LOOP: RRC A JNC CALC INC R6 DJNZ R0,LIE_LOOP CALC: MOV A,R5 ;计算键值,行*号8+列号 RL A RL A RL A ADD A,R6 MOV LED0,A ;将键值保留到显存区 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 ;--------------------------------------------------------- END 4.8255简易数字钟 ;CS8255----F228H ;PC3~5-----LEDSA~LEDSC,PC2-------LEDSELECT(经过短路套已接好) ;PA0~7-----LEDA~LEDDP(经过短路套已接好) ;--------------------------------------------------------- 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 ;时十位 TIME1 DATA 58H ;辅助计数变量1 TIME2 DATA 59H ;辅助计数变量2 ;--------------------------------------------------------- ORG 0000H AJMP MAIN ORG 000BH AJMP FT0 ORG 0030H MAIN: MOV SP,#60H ACALL INI LOOP: 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 ;初始值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,,,+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_LOOP ;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: RETI DELAY: MOV DPTR,#P8255A ;带了锁存器,送下一个数据前将数据撤消 CLR A MOVX @DPTR,A RET ;--------------------------------------------------------- ;LED显示常数表 LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0-9 DB 40H,00H ;"-",全熄灭 ;--------------------------------------------------------- END 5, 8255输出锁存器输出PWM信号驱动电机转动 ;经过K0~K7调整256种挡位转速 ;CS8255---0F228H ;8255PA0---C+(模块2) ;P1.0~P1.7------K0~K7 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV DPTR,#0F22BH ;8255初始化 MOV A,#80H ;8255 PA,PB,PC口输出 MOVX @DPTR,A LOOP: MOV DPTR,#0F228H MOV A,#0FFH MOVX @DPTR,A ;PA送高电平 ACALL SCAN ACALL DELAY ;高电平连续一定时间(A控制) MOV A,#00H MOVX @DPTR,A ACALL SCAN CPL A ACALL DELAY ;低电平连续一定时间(255-A控制) AJMP LOOP ;由A控制延时程序 DELAY: INC A ;避免0成为最大值 DJNZ Acc,$ RET ;判定挡位程序 SCAN: MOV A,P1 RET END- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 试验 参考 指导书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文