单片机实验指导.doc
《单片机实验指导.doc》由会员分享,可在线阅读,更多相关《单片机实验指导.doc(27页珍藏版)》请在三一办公上搜索。
1、目 录Keil软件介绍与仿真器设置1实验一、80C51汇编指令练习6实验二、80C51汇编语言程序设计9实验三、中断应用实验13实验四、定时器/计数器应用实验16实验五、A/D转换器应用实验19实验六、D/A转换器应用实验22实验七、综合技能训练(键盘、LED显示、D/A、A/D及电机等)(6课时)22实验电路图24Keil软件介绍与仿真器设置8051单片机采用CISC指令集,111条汇编指令,因单片机硬件资源远小于8086微机,所以单片机的汇编指令是汇编语言的子集,另外,结合8051单片机硬件特点扩展了一部分汇编指令,有些指令执行的功能也有区别;同样,单片机的C语言仅是ANSIC的较小子集,
2、使用时须针对单片机硬件结构,随着单片机技术几十年的发展,形成了符合单片机结构特点的C语言风格。要想高效开发实用的单片机系统,就要熟练掌握C语言编程,并至少能读懂汇编指令。单片机应用系统开发的一般过程有项目组织、编制程序、程序编译、仿真调试、编程下载等过程。项目管理针对目标器件设置开发环境参数、配备初始文件等;编译过程将C或汇编程序翻译成机器码,并连接生成可执行文件,在编译过程查找并修改程序的语法性错误;仿真是模拟程序的运行,查找程序功能性错误,验证程序执行效果,其中软件仿真是用PC机模拟程序的运行,硬件仿真是使用仿真器代替单片机接入实际电路中运行。国内常用的单片机开发软件工具有IAR、Keil
3、、WAVE等。使用Keil可以完成程序编辑、编译、连接、软硬件仿真过程。Keil自带Simulator软件仿真器,也可以安装使用Proteus仿真模拟演示系统的动画效果。Keil已安装支持四种种硬件仿真器,使用其它型号仿真器需要安装驱动文件。一. Keil界面1. 编辑界面:打开计算机,运行Keil C51 集成开发环境,观察菜单和工具栏。图1 Keil C项目和文件编辑界面File、Edit同一般软件,对单独程序文件的新建、打开、保存、各种编辑.View对各种工具栏、窗口的管理。Project项目的建立、设置、编译等工具。Windows管理各窗口的排列布局。快捷工具栏里也准备了最常用的工具,
4、鼠标停留时提示操作任务,在图中依次有文件打开、编辑、对齐、标记、查找.调试等,下一行有编译、项目设置工具。左侧是项目窗口,列举出当前项目的各种文件,也可以切换成Regs或Books区。右侧灰色区域是工作区,对程序文件的编辑。底部是OUTPUT窗口,显示编译、连接等信息。2. 调试界面:编译完成进入调试界面如图。图2 调试界面DEBUG各种调试操作,主要是运行、断点设置。Peripherals对外围模块中断、IO口、串口、定时器的观察设置。常用快捷工具如图注释:图3 调试状态快捷工具二. Keil操作过程操作方法、步骤不是唯一,可根据实际需求与个人爱好自行确定,基本过程如下:1. 建立工程:Pr
5、oject New Project. ,输入项目名、选定保存目录。2. 自动跳出Select Device for Target.指定目标器件的窗口,选择Atmel公司的AT89C51单片机。随后跳出的Copy Standard 8051 Startup.是将文件STARTUP.A51文件添加到项目中,这个文件用于在软件仿真前对RAM区清零等,建议选择“是”。3. 建立程序文件:File New.,键入程序代码,保存文件时按类型加后缀,如.ASM或.C或.H。4. 为工程添加文件:快捷的添加方法是在工程文件目录区单击选中Source Group 1 ,右键出现下拉菜单,选Add Files t
6、o Group .,找到文件所在文件夹,指定文件类型,选中文件,单击一次Add即可。添加结束后,可以用鼠标点击工程项目窗口中的“+”,展开工程项目内部的文件,从中可以看到添加进来的文件名称。5. 设置工程项目环境: Project Options for Target Target1,对,选取其中的“Debug”标签,出现如下的项目设置对话框: 图4 Keil项目设置在Device Target 标签下修改Xtal(晶振频率)值,在Debug标签下设置仿真器:Use Simulator是软件仿真,图中选择了伟福V系列仿真器,是硬件仿真。其余可选择默认。6. 编译项目:编译是综合环境设置,将程序
7、文件翻译、连接、生成目标文件或可执行文件的过程,要逐条修正出现的错误直至编译成功。Translater current file仅编译当前文件,Build target连接并生成目标文件,Rebuild all target files编译连接所有需要的文件,如果修改了程序和环境设置,在调试前一定要Rebuild all target files一次才有效。7. 调试过程:点击Start / Stop Debug Session进入和退出调试状态。调试过程中可观察到寄存器、内存、变量.随指令执行的变化情况,可单步、全速执行,可设置断点,需根据要求自行选择。在Keil运行期间,RAM区可能出现非
8、0随机数,可将如下的程序片段添加到汇编文件开始位置,编译并运行一次软件仿真即可,一旦清零后再次启动Keil仍然保持是0,片段如下:MOV R0,#200CLR AIDATALOOP: MOV R0,A DJNZ R0,IDATALOOP三. 实验注意事项1. 实验前应预习,看懂程序和电路,准备好记录数据的表格。2. 项目安排有一定连贯性,实验结束后及时完成实验报告,解决遗留问题。3. 建议在个人计算机上安装软件。4. 实验期间需要认真思考,禁止手机上网。5 建议将已经掌握的子程序写进自己的包含文件,自带U盘保存。四. 实验报告要求1符合实验报告格式要求。2明确实验目的、实验步骤清晰、实验报告内
9、容充实。3程序关键语句、结构要有注释,注释应清楚、简练。4. 实验现象描述准确,现象要结合实验原理。5. 功能性实验应画出流程图。6字迹清楚,图表数据规范。7实验报告独立完成。8完成思考题。实验一、80C51汇编指令练习一、实验目的1.熟悉Keil C51 集成开发环境的使用方法。2掌握数据传送指令的用法。3掌握算术运算指令的用法4. 掌握逻辑运算指令的用法。5掌握位操作指令的用法。6掌握控制转移指令的用法。二、实验步骤1按照Keil C51 集成开发环境的要求,建立程序,然后进行编译、调试并记录结果。2完成数据传送指令、算术运算指令、逻辑运算指令的实验。三、实验内容1.将下列汇编指令组合为汇
10、编程序,观察内部RAM数据传输指令的功能,记录各指令执行后目标RAM的数值,描述寻址方法。ORG 0000HMOV R0,#40H MOV R1,#41HMOV A, R0 MOV 30H,A MOV 20H,30H MOV A,#30H MOV R0,A MOV A,30H MOV R1,A MOV A,R0 MOV R7,A MOV DPTR,#1700H MOV 30H,R7 MOV 20H,R0 MOV 21H,#10HMOV R0,21H MOV R1,#01H SJMP $END提示:观察内存数据操作打开Memory Winds,在Address栏输入D:0030H即可观看数据存储
11、区从0030H开始的各单元数据,外部数据区用X,程序ROM区用C。 在Disassembly Windows窗可观察汇编指令的机器码和单元地址。2.外部RAM数据传输指令ORG 0000HMOV DPTR,#0A330HMOV A,#80H MOVX DPTR,A MOV A,#00H MOVX A,DPTR MOV P2,#80HMOV R0,#31H MOV R1,#32H MOVX R0,A MOV A,#30H MOVX R1,A MOVX A,R0 MOVX A,R1END3. 加法指令练习,观察记录目标寄存器及PSW内容、运算对标志位的影响。ORG 0000HMOV 40H,#0F
12、0HMOV R0,#3EHMOV A,R0ADD A,R0ADD A,40HADD A,#0A0HADDC A,R0ADDC A,40HINC A INC R0 INC R0 ADDC A,R0INC 40H INC R0ADDC A,#0B2HADD A,R0MOV DPTR,#0A30FH INC DPTR MOVX DPTR,A END4.减法指令练习,观察记录目标寄存器及PSW内容ORG 0000HMOV 30H,#37HMOV R0,#32H MOV A,30H SUBB A,R0SUBB A,30HDEC R0DEC 30H SUBB A,#0CBHDEC R0DEC A SUBB
13、 A,R0DEC R0NOPEND5.逻辑操作指令练习,解释指令并验证执行结果ORG 0000HMOV A,#35HMOV R0,#50H MOV 50H,#55HMOV 30H,#78HANL A,R0ORL A,R0CPL AANL A,#9AHORL A,30HXRL 30H,A RL A ANL 30H,#0F0H XRL A,R0 ORL A,R0XRL 30H,#0D5HANL A,R0END6.位操作指令练习,解释指令并验证执行结果ORG 0000HMOV P1,#74HMOV 20H,#31HMOV 30H,#00HCPL 05H MOV C,00H ANL C,01H SET
14、B P1.0MOV A,#33HANL C,ACC.3 ORL C,ACC.7END7控制转移指令练习,加注释并说明该程序所完成的功能。本实验用硬件仿真,在Project Options for Target.设置使用WAVE仿真器;用排线连接仿真头P1口与LED指示灯(J7)。ORG 0000HSTART: MOV A,#01HLOOP: MOV P1,AMOV R1,#10HDEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R2,DEL2DJNZ R1,DEL1RL AAJMP LOOPEND观察实验现象,分析程序并画出流程图
15、。四、思考题1.数据传送指令中直接寻址、间接寻址、立即数寻址有什么区别,请各举两例说明。2.内部RAM和外部RAM的地址范围各是多少?在2中各MOVX指令是对哪个单元的操作?3.总结影响C、CY、Z标志位的操作指令有哪些。4. 逻辑操作有哪些指令?可以不需要A参与的有哪些?5.怎样区别一条指令是位操作还是单元操作?实验二、80C51汇编语言程序设计一、实验目的1. 熟练Keil开发环境的使用方法。2掌握子程序的用法。3掌握控制转移指令的用法。4. 练习为硬件电路编写程序。二、实验内容用排线把 P1 口连接至J1,P0.03连接至J2,电路如图所示。本实验利用数码管驱动程序练习汇编语言程序编写、
16、子程序调用等。电路使用三态锁存器74LS573驱动共阳极数码管,在固定=0时,如果LE=1则,LE=0则锁存。由电路可知,要使数码管显示数字8,需要ag这7个笔画的引脚是低电平,即10000000,方法是单片机输出数据0xC0到J1,再将J2的LE电平拉高即可。a为数据低位时,09的十六进制段码分别为0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,小数点0x7F。若想熄灭数码管,将LE=0,74LS573输出高阻态。图中位选由74LS138完成,译码器输入000时Y0=0,Q8导通个位数码管得电得以点亮。如果P03连接至J2,则从高到低(从左
17、)各位位码分别是0xFF,0xFD,0xFB,0xF9,0xF7,0xF5,0xF3, 0xF1。1. 输入下列程序,单步执行观察实验现象。 ORG 00HSTART: MOV P1,# 82H ; 显示6 MOV P0,# 01001B ; 在十位 MOV P0,#0 ; 熄灭MOV P1,#0A4H ; 显示2 MOV P0,# 01000B ; 在个位 MOV P0,#0 ; 熄灭 AJMP START ; 重新开始 END以上程序在数码管上某些位混叠加延时解决2. 在两条MOV P0,#0 指令前各添加下面延时程序段,全速执行,观察现象并与之前对比。DELAY: MOV R6,#13H
18、DL0: MOV R5,#82H DJNZ R5,$ DJNZ R6,DL03. 用子程序调用方式改写上述代码。4. 改写上述代码在数码管上显示自己学号后八位。5. 设待显示数字存放在21H28H单元(程序开始用MOV 21H,#x方式预先写入或在调试过程中人工修改其中内容),在代码区保存段码,用查表方法显示数字。 ORG 0100HMOV 21H , #x;预置8位待显示数字START:MOV R0 , #21H ; 指向最高位数字MOV R1 , #0FH ;最高位位码MOV DPTR, #0200H ;段码首地址LOOP: MOV A ,R0 ;待显示数字保存单元地址MOVC A , A
19、+DPTR ; (A)+(DPTR)AMOV P0,#0 ; 先把之前熄灭MOV P1 ,A ; 输出显示MOV P0 , R1 ; 显示在指定位INC R0 ;数字地址加1DEC R1DEC R1 ; 调整显示目标到低一位AJMP LOOP ORG 0200HSEG: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090 END单步运行上述程序,观察现象并分析。6. 上述程序全速执行执行时会出现问题:没有延时数码显示不清晰;循环8次后,段码和位码都不再是预期的正确码值。解决办法:在端口输出后加延时;在循环的首或尾加限制指令。例如以R2作为循环
20、次数计数器,每输出一位数R2减1,当R2=0时重新回到最高位。ORG 0100HSTART: MOV R2 , #8 ;循环次数计数器MOV R0 , #21H ; MOV R1 , #0FH ;最高位位码MOV DPTR,#SEG ;LOOP: MOV A ,R0 ;MOVC A , A+DPTR ; (A)+(DPTR)AMOV P0,#0 ; 先把之前熄灭MOV P1 ,A ; 输出显示MOV P0 , R1 ; 显示在指定位CALL DELAY ;加延时DJNZ R2 ,CONTI ;判断,不够8次继续AJMP START ;已经8次则回到程序开始CONTI: INC R0 ; 8位未
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导
链接地址:https://www.31ppt.com/p-4151282.html