ImageVerifierCode 换一换
格式:PPT , 页数:368 ,大小:4.21MB ,
文档编号:5097145      下载积分:32 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5097145.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

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

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(单片机实验与实训指导第3章单片机基本应用实验课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

单片机实验与实训指导第3章单片机基本应用实验课件.ppt

1、第三章单片机基本应用实验实验一 单片机实验仪操作实验二 单片机指令练习实验三单片机程序设计实验实验四单片机I/O控制实验实验五中断系统实验实验六定时器/计数器实验实验七串/并转换实验实验八扩展存储器读写实验实验九简单的I/扩展实验实验十8255输入输出实验实验十一 A/D转换实验实验十二 D/A转换实验实验十三 可编程序计数8253实验第三章单片机基本应用实验一、实验目的一、实验目的熟悉QTH-2008XS单片机实验仪的使用方法。掌握项目、文件的建立方法,寄存器、存储器内容的查看方法,以及程序的执行及断点的设置方法。二、实验设备二、实验设备QTH-2008XS单片机实验仪一台,PC机一台,QT

2、H-2008XS单片机开发环境。实验一实验一 单片机实验仪操作单片机实验仪操作第三章单片机基本应用实验三、实验内容三、实验内容(1)阅读第二章内容,学习QTH-2008XS单片机实验仪的键盘和软件调试环境的使用。(2)按照操作步骤在实验仪上实际练习。(3)在开发机上完成规定程序的调试。第三章单片机基本应用实验四、程序调试四、程序调试1.拆字程序拆字程序(写出单元内容写出单元内容)第三章单片机基本应用实验续表续表第三章单片机基本应用实验1)程序调试步骤(1)将该源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM(文件名后必须加后缀.ASM)。(2)对源程序进行编译。编译程序时注

3、意:系统复位后PC的值为0000H,即程序从程序存储器的0000H单元取指令执行。因此,可利用ORG 0000H进行定位。第三章单片机基本应用实验但因为程序存储器的低端有五个地址被固定地用作中断服务程序的入口地址(如0003H为外部中断0的中断服务程序入口地址,000BH为定时器0的中断服务程序入口地址,000BH为外部中断1的中断程序入口地址,0013H为外部中断1的中断服务程序入口地址,001BH为定时器1的中断服务程序入口地址,0023H为串行口的中断服务程序入口地址),所以在编程时,通常在这些入口地址开始的单元中,放入一条转移指令,如ORG 0000H;AJMP START。第三章单片

4、机基本应用实验(3)根据提示进行纠错。若编译程序后程序上出现红色光标,则该指令语法有错。可根据程序编译后的提示检查错误,例如:指令助记符如果正确,则助记符为蓝色,不正确则为黑色;标点符号的正确使用方法是:标号后为冒号,注释前为分号,操作数中是逗号。在输入程序时,其中的字母、符号均须在英文方式下进行,不能在智能全拼或微软拼音输入法中输入。注释可以用汉字,在程序最后需以“END”作为结束符。第三章单片机基本应用实验(4)当编译程序后出现绿色光标时,程序语法正确,可以将源程序装载入实验仪。(5)在运行程序前确定调试前的参数设置。如拆字程序中需设置外部RAM 0100H单元的内容,在开发环境中点击项目

5、菜单中的变量表,然后在变量表窗口中单击右键找到增加观察项,在观察变量对话框中添加0100H,在观察窗口中直接修改0100H单元的内容,如图3.1所示,将外部RAM 0100H单元设置为45H。第三章单片机基本应用实验(6)确定调试方法。在调试过程中,若要观察程序最终结果或者观察硬件电路的最终现象,运行程序采用屏蔽断点全速运行调试(快捷键Ctrl+F5),观察程序执行后A、R0、DPTR、R7的变化情况;若要观察每条指令的运行结果或程序运行路径的变化过程,则采用单步运行(快捷键F8)程序,观察每条指令的执行结果,将结果填入表格中,同时观测程序运行的路径,即PC值的变化与预先设置的运行路径是否一致

6、;若要定点检查程序运行到某处的结果,则选择在程序中间设置断点运行程序,观察每段程序的执行结果与理论值是否相同。第三章单片机基本应用实验(7)检验程序运行结果是否正确。用理论方法得出的结果与程序运行的结果对照是否相同。若不同,则分析出错的原因并改正错误之处,重新运行程序直到结果正确。第三章单片机基本应用实验图3.1 添加变量表窗口修改变量值第三章单片机基本应用实验2)调试程序说明(1)外部RAM 0100H单元内容的修改或连续地址内容的修改,可以通过在查看菜单中单击数据存储器窗口,然后在数据存储器窗口中单击鼠标右键,选择放置相同数据修改对应连续地址中的数据,如图3.2所示,将外部RAM 0100

7、H0102H单元设置为FFH。第三章单片机基本应用实验图3.2 设置外部数据存储器连续地址内容第三章单片机基本应用实验(2)当运行程序观察A、DPTR、R0的内容时,在“查看”菜单中点击“寄存器窗口”,就可以观察寄存器内容的变化,如图3.3所示。3)思考题(1)外部数据存储器0100H单元的内容与0101H、0102H两个单元中的内容有什么关系?(2)将数据传送到外部用什么指令?用什么寻址方式?(3)在主程序的开始时为什么要加跳转指令?LJMP与AJMP指令有什么区别?第三章单片机基本应用实验图3.3 观察寄存器内容的变化第三章单片机基本应用实验2利用实验仿真软件调试下列程序利用实验仿真软件调

8、试下列程序第三章单片机基本应用实验1)程序调试步骤(1)将该源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪。(5)确定调试前的参数设置。程序中需要设置内部RAM 30H、5AH、40H单元的内容,先在“查看”菜单中点击“寄存器窗口”,然后进入窗口中的内部RAM区,直接修改地址中的内容,如图3.4所示。P1口的内容在寄存器窗口下设置。第三章单片机基本应用实验图3.4 修改内部RAM单元的内容第三章单片机基本应用实验(6)确定调试方法。用单步运行方法调试或用中间设置断点方法运行程序。2)思考题(1)在

9、编译程序前设置数据与编译后设置数据,运行程序的结果有什么不同?(2)写出存储单元R0、R1、A、B、P1、40H、30H及5AH单元的内容。(3)如何选择调试方法?第三章单片机基本应用实验一、预习内容一、预习内容1数据传送类指令数据传送类指令 MOV 目的操作数,源操作数;(目的地址)源操作数MOVX A,DPTR ;(A)(DPTR)MOVX A,Ri ;(A)(Ri)MOVX DPTR,A ;(DPTR)(A)MOVX Ri,A ;(Ri)(A)MOVC A,A+DPTR;(A)(A)+(DPTR)实验二实验二 单片机指令练习单片机指令练习第三章单片机基本应用实验MOVC A,A+PC;(

10、PC)(PC)+1,(A)(A)+(PC)XCH A,direct ;(A)(direct)XCH A,Ri ;(A)(Ri)XCH A,Rn ;(A)(Rn)XCHD A,Ri ;(A30)(Ri)30)SWAP A ;(A74)(A30)第三章单片机基本应用实验2算术运算类指令算术运算类指令指令助记符:ADD(加法),ADDC(带进位加法),SUBB(带借位减法),MUL(乘法),DIV(除法),INC(加1),DEC(减1),DA(十进制调整)。3程序转移类指令程序转移类指令无条件转移指令:LJMP addr16(长转移),AJMP addr11(短转移),SJMP rel(相对转移),

11、JMP A+DPTR(间接转移)。第三章单片机基本应用实验条件转移指令:JZ rel ;若(A)=0,则转移;若(A)0,则顺序执行JNZ rel ;若(A)0,则转移;若(A)=0,则顺序执行CJNE目的操作数,源操作数,rel;若两数相等,则顺序执行;若两数不等,则转移第三章单片机基本应用实验DJNZ direct,rel;(direct)(direct)-1,若(direct)=0,则顺序执行;若(direct)0,则转移DJNZ Rn,rel ;(Rn)(Rn)-1,若(Rn)=0,则顺序执行;若(Rn)0,则转移子程序调用及返回指令:LCALL addr16(长调用),ACALL a

12、ddr11(短调用),RET(子程序返回),RETI(中断程序返回)。第三章单片机基本应用实验4位操作类指令位操作类指令JC rel;若(CY)=1,转移;若(CY)=0,则顺序执行JNC rel;若(CY)=0,转移;若(CY)=1,则顺序执行JB bit,rel;若(bit)=1,转移;若(bit)=0,则顺序执行JNB bit,rel;若(bit)=0,1转移;若(bit)=1,则顺序执行JBC bit,rel;若(bit)=1,则(bit)0后转移;否(bit)=0,则顺序执行第三章单片机基本应用实验二、实验练习二、实验练习 1实验目的实验目的掌握项目、文件的建立方法,寄存器、存储器内

13、容的查看方法,以及程序的单步执行及断点运行程序方法。熟悉程序转移类指令、算术运算类指令的功能。第三章单片机基本应用实验2实验设备实验设备QTH-2008XS单片机实验仪一台,PC机一台,QTH-2008XS单片机开发环境。3实验内容实验内容(1)按照操作步骤在实验仪上实际练习。(2)在开发机上完成规定程序的调试。(3)回答思考题。4程序调试程序调试 数据传送程序(写出各单元内容)第三章单片机基本应用实验第三章单片机基本应用实验1)程序调试步骤(1)将该源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪

14、。第三章单片机基本应用实验(5)确定调试前的参数设置。根据程序要求,首先要修改内部RAM单元的内容,在开发环境中设置40H4FH单元的初始值,并修改为00HFFH范围内的内容。例如:(40H)=01H,(41H)=02H,依次类推。(6)确定调试方法。用单步运行方法调试,观察每条指令的执行结果,观察程序执行后A、R0、DPTR、R7的变化情况。如果循环程序次数多,则采用设置断点的方法快速得到最终结果。(7)调试程序,填写表中的结果(每次循环结果),观察程序PC值的变化情况和循环的次数。第三章单片机基本应用实验2)调试程序说明(1)读懂程序后,观察程序运行的结果是否正确。在实际的调试中,由于各种

15、原因,程序运行中可能存在错误,因此必须根据执行的结果快速、有效地找到产生故障的原因并排除所有错误,直到调试出正确的结果为止。例如,数据传送程序采用单步运行(F8)程序,边运行边观察程序中单元地址(内部或外部)、工作寄存器、特殊功能寄存器中内容的变化,若运行到MOVX DPTR,A指令,则1000H单元的内容应该是01H,但如果结果错误,这时应该停止运行程序,查看这条指令前面的设置或指令是否正确。第三章单片机基本应用实验(2)程序中有循环结构,如果想快速观测程序的最终结果,可先将光标或断点设置在循环程序的第一条指令和最后一条指令处,然后运用连续运行(F5)命令或执行到光标处(F7)命令执行程序,

16、光标或断点设置一次程序只能运行一次,如果反复设置光标或断点,就可以得到每次循环后单元的结果。例如,数据传送程序断点设置在“IF:MOV A,R0”指令和“DJNZ R6,LOOP”指令。第三章单片机基本应用实验为提高调试速度,也可以将断点设置在循环程序的最后一条指令处,用F7快速将程序运行到光标处,就可以直接得到循环程序的最终结果。例如,将上面程序光标设置在RET指令上。如果在点击运行处出现程序不执行,有可能出现死循环等错误,此时,应考虑用单步运行的方法检查程序运行的路径是否正确。为缩短调试时间,可在调试循环程序前,将循环初始值中的循环次数改小些,例如,数据传送程序中MOV R7,#10H改为

17、MOV R7,#05H,然后通过观察运行路径和运行的结果,找出循环程序内部出现的故障并加以修改。第三章单片机基本应用实验3)思考题(1)指出程序中的循环部分,观察循环执行的次数。(2)如何修改循环次数和传送的数据?(3)观察外部RAM中1000H1010H的内容。多字节加法程序(写出各单元内容)第三章单片机基本应用实验第三章单片机基本应用实验续表续表第三章单片机基本应用实验1)程序调试步骤(1)将该源程序输入QTH-2008XS单片机开发环境,保存文件名为DZJF.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪。第三章单片机基本应用实验(5)确定调试前的参数

18、设置。根据程序要求,首先要修改内部RAM单元的内容,在开发环境中设置内部RAM 30H、31H、32H、40H、41H、42H单元的内容初始值,并修改为00HFFH范围内的内容。例如:(30H)=4EH,(31H)=9AH,(32H)=79H,依次类推。(6)确定调试方法。采用单步运行程序或跳出子程序(Shift+F11)命令运行程序。(7)观察执行的结果并填入表中。第三章单片机基本应用实验2)调试程序说明(1)多字节加法程序中有子程序调用,在运用单步运行(F8)命令调用子程序指令时,应观察程序是否能运行到该调用指令的下一条指令处,若能,则说明子程序调用的运行过程是正确的;再检查子程序的出口内

19、容是否正确,若两者都正确,则继续调试程序直到程序结束。若执行了调用子程序后,程序不能返回到该调用指令的下一条指令处,则查看子程序返回指令是否正确。为了提高调试速度,可以用跳出子程序(Shift+F11)命令运行程序,使程序运行时跳过子程序只运行主程序,然后查看运行的结果。第三章单片机基本应用实验(2)运行程序时应先读懂程序,然后观察程序运行的结果是否正确。先用单步运行(F8)程序,观察30H单元的内容。30H单元中存放的是30H和40H单元设定值相加的结果,先自己手动计算结果,然后和观察的结果进行比较。如果不相同,则查找程序内部出现的故障并加以修改;如果相同,则继续调试程序,边运行边观察程序中

20、单元地址、工作寄存器、特殊功能寄存器中内容的变化。第三章单片机基本应用实验3)思考题(1)修改程序实现49E9H+98FCH,写出程序及执行结果。(2)堆栈指针SP的初始值是什么?在什么情况下需要用指令重新设置该指针内容?(3)多字节加法程序中调用子程序时SP堆栈指针如何变化?(4)程序状态寄存器PSW的作用是什么?常用哪些状态位?作用是什么?比较数据大小程序(写出单元内容)第三章单片机基本应用实验第三章单片机基本应用实验1)程序调试步骤(1)将该源程序输入QTH-2008XS单片机开发环境,保存文件名为DZJF.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验

21、仪。第三章单片机基本应用实验(5)确定调试前的参数设置。根据程序要求,首先要修改内部RAM单元的内容,在开发环境中设置内部RAM 48H单元的内容初始值,并修改为00HFFH范围内的内容,至少设置三次,分别为大于7FH的值、小于7FH的值和等于7FH的值。(6)确定调试方法。调试方法采用单步运行(F8)程序,观察程序中控制转移指令的执行情况,如果要缩短调试时间,则可以用设置断点运行(F7)程序。断点设置在NEXT2:SJMP$指令上。(7)查看程序结果,填写程序运行后单元的内容。第三章单片机基本应用实验2)思考题(1)指出程序运行中的跳转位置,并说明每次跳转的条件。(2)调试程序的方法有几种?

22、各有什么优点?第三章单片机基本应用实验一、预习内容一、预习内容1伪指令伪指令在汇编源程序的过程中,有一些指令不要求计算机进行任何操作,也没有对应的机器码,不产生目标程序,不影响程序的执行,仅仅是能够帮助汇编进行的一些指令,这些指令称之为伪指令。实验三实验三 单片机程序设计实验单片机程序设计实验第三章单片机基本应用实验(1)设置目标程序起始地址伪指令ORG。格式:标号:ORG 16位地址该伪指令的功能是规定其后面目标程序的起始地址。它放在一段源程序(主程序、子程序)或数据块的前面。(2)结束汇编伪指令END。格式:标号:END该伪指令是汇编语言源程序的结束标志,表示程序结束。第三章单片机基本应用

23、实验(3)定义字节伪指令DB。格式:标号:DB 项或项表该伪指令的功能是把项或项表的数值(字符则用ASCII码)存入从标号开始的连续存储单元中。(4)定义字伪指令DW。格式:标号:DW项或项表该伪指令与DB的功能类似,所不同的是DB用于定义一个字节(8 位二进制数),而DW则用于定义一个字(即两个字节,16 位二进制数)。第三章单片机基本应用实验(5)等值伪指令EQU。格式:标号:EQU项该伪指令的功能是将指令中项的值赋予本语句的标号。项可以是常数、地址标号或表达式。(6)位地址赋值伪指令BIT。格式:标号:BIT位地址该伪指令的功能是将位地址赋予特定位的标号,经赋值后就可用指令中BIT左面的

24、标号来代替BIT右边所指出的位。第三章单片机基本应用实验2.程序的结构程序的结构程序的结构可以分解为:顺序结构、分支结构、循环结构、子程序结构。实现分支结构的指令有:JZ REL;JNZ REL;JC REL;JNC REL;JB BIT,REL;JNB BIT,REL;JBC BIT,REL;CJNZ 比较数据1,比较数据2,REL。实现循环结构的指令有:DJNZ direct,rel;DJNZ Rn,rel。子程序调用和返回的指令有:LCALL addr16;ACALL addr11;RET;RETI。第三章单片机基本应用实验二、实验练习二、实验练习(一)存储器块清零程序设计1实验目的实验

25、目的掌握存储器读/写方法。了解存储器块连续操作方法。2实验内容实验内容(1)指定内部RAM中某块的起始地址和长度,要求能将其内容清零。(2)指定外部RAM中某块的起始地址和长度,要求能将其内容清零。(3)指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。第三章单片机基本应用实验3实验说明实验说明通过本实验,学生可以了解单片机的存储器结构及读/写存储器的方法,同时也可以了解单片机编程、调试的方法。4实验仪器和设备实验仪器和设备QTH-2008XS单片机实验仪一台,PC机一台,QTH-2008XS单片机开发环境。5参考程序框图参考程序框图存储器模块清零参考程序框图如图

26、3.5所示。第三章单片机基本应用实验图3.5 存储器模块清零程序框图第三章单片机基本应用实验6参考程序参考程序1)内部RAM数据清零*/*主程序*/*ORG 0000H AJMP START ORG 0050HSTART:MOV R0,#_ ;设置内部RAM起始地址MOV R7,#_ ;设置内部RAM循环次数LOOP:MOV R0,#_ ;将地址内容清零INC R0DJNZ_,LOOP;控制循环次数 RET第三章单片机基本应用实验2)外部RAM数据清零或置数*/*主程序*/*ORG0000H AJMP START ORG0050H第三章单片机基本应用实验START:MOV DPTR,#_ ;设

27、置外部RAM起始地址MOV R7,#_ ;设置外部RAM循环次数MOV A,#LOOP:MOVX DPTR,#A;将地址内容清零或置数INC DPTRDJNZ _,LOOP;控制循环次数 RET第三章单片机基本应用实验7调试程序步骤调试程序步骤(1)填写源程序横线内容,将编写好的源程序输入QTH-2008XS单片机开发环境,保存文件名为SJQL.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪。第三章单片机基本应用实验(5)确定调试前的参数设置。例如,如果将程序中内部RAM地址选择为30H39H,则将它的内容设定为01HFFH。外部RAM用添加变量来修改为01

28、HFFH的任意值。(6)确定调试方法。用单步运行(F8)或者是设置断点连续执行(F5)程序。(7)查看程序结果。查看数据存储器中自己设置的地址内容的变化情况。第三章单片机基本应用实验8思考题思考题(1)分析并完成参考程序中需要填空的内容,写出调试好的程序。(2)写出调试程序中内部RAM的地址范围及设置的初始值,写出调试后的内部RAM地址中的结果。(3)写出调试程序中外部RAM的地址范围及设置的初始值,写出调试后的外部RAM地址中的结果。第三章单片机基本应用实验(二二)二进制转换为二进制转换为BCD 程序设计程序设计1实验目的实验目的掌握数值转换算法。了解基本数值的各种表达方法。2实验内容实验内

29、容(1)将给定的一个单字节二进制数,转换成非压缩的二十进制(BCD)码。(2)将给定的一个单字节二进制数,转换成压缩的二十进制(BCD)码。第三章单片机基本应用实验3实验说明实验说明计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。4实验仪器和设备实验仪器和设备QTH-2008XS单片机实验仪一台,PC机一台,QTH-2008XS单片机开发环境。5参考程序框图参考程序框图单字节二进制数转换成非压缩的二十进制(BCD)码框图如图3.6所示,单字节二进制数转换成压缩的二十进制(BCD)码框图如图3.7所示。第三章单片机基本应用实验图3.6 单字节二进制数转换成非压

30、缩的二十进制(BCD)码框图 第三章单片机基本应用实验图3.7 单字节二进制数转换成压缩的二十进制(BCD)码框图 第三章单片机基本应用实验6参考程序参考程序1)转换成非压缩的二十进制(BCD)码*/*主程序*/*ORG 0000H AJMP START ORG 0060H第三章单片机基本应用实验 START:MOV A,R0 MOV B,#_;除数为100 DIV _;A的内容除以B 的内容 MOV _,A;将百位数存放到选定的地址中 MOV A,B MOV B,#_;除数为10 DIV_ MOV _,A;将十位数存放到选定的地址中 MOV _,B;将个位数存放到选定的地址中 RET第三章单

31、片机基本应用实验2)转换成压缩的二十进制(BCD)码*/*主程序*/*ORG 0000H AJMP START ORG 0060H第三章单片机基本应用实验 START:MOV A,R0 MOV B,#_;除数为100 DIV _;A的内容除以B 的内容 MOV _,A;将百位数存放到选定的地址中 MOV A,B MOV B,#_;除数为10 DIV _ SWAP A ORL A,BMOV_,A;将十位和个位数存放到选定的 一个地址中 RET第三章单片机基本应用实验7调试程序步骤调试程序步骤(1)填写源程序横线内容,将编写好的源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM。

32、(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪。第三章单片机基本应用实验(5)确定调试前的参数设置。进入寄存器窗口,设定R0的内容为00HFFH范围内的任意值。(6)确定调试方法。用单步运行(F8)或者设置断点连续执行(F5)程序。(7)观察程序结果。在寄存器窗口观察A、B的变化情况,在数据存储器窗口观察百位、十位、个位的结果。第三章单片机基本应用实验8思考题思考题(1)分析并完成参考程序中的填空内容,写出调试过的程序。(2)写出百位数、十位数、个位数的结果。(3)如何将BCD转换成二进制码?试编写程序。第三章单片机基本应用实验(三三)十进制数十进制数(压缩压缩BC

33、D码码)到到ASCII码转换码转换1实验目的实验目的了解BCD值和ASCII值的区别。ASCII码的框图(查表法)熟悉如何将BCD值转换成ASCII值,如何用查表进行数制转换及快速计算。2实验内容实验内容学生自己给出一个压缩BCD数(00H99H),分别用查表法和逻辑运算方法将其转换成ASCII值。第三章单片机基本应用实验图3.8 压缩BCD数转换为ASCII码的框图(查表法)第三章单片机基本应用实验3实验说明实验说明了解数值的BCD码和ASCII码的区别,学会用查表法快速地进行数制转换并进一步了解数值的各种表达方式。4实验仪器和设备实验仪器和设备QTH-2008XS单片机实验仪一台,PC机一

34、台,QTH-2008XS单片机开发环境。5参考程序框图参考程序框图(查表法查表法)压缩BCD数转换为ASCII码的框图如图3.8所示。第三章单片机基本应用实验6参考程序参考程序*/*主程序*/*ORG 0000H AJMP START ORG 0060H第三章单片机基本应用实验START:MOV A,R1 MOV DPTR,#TASCSWAP AANL A,#_;取出BCD高四位 ();查表得到高四位ASCII码 MOV _,A;将得到的ASCII码存放到地址 中 MOV A,R1第三章单片机基本应用实验 ANL A,#_;取出BCD低四位();查表得到低四位ASCII码 MOV _,A;将得

35、到的ASCII码存放到地 址中 RET TASC:DB 30H,31H,32H,33H,34H,35H,36HDB 37H,38H,39H,41H,42H,43H,44H DB 45H,46H第三章单片机基本应用实验7调试程序步骤调试程序步骤(1)填写源程序横线内容,将编写好的源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪。第三章单片机基本应用实验(5)确定调试前的参数设置。进入寄存器窗口,设定R1的内容为00H99H范围内任意值。(6)确定调试方法。用单步运行(F8)或者设置断点连续执行(F5)

36、程序。(7)观察程序的结果。查看数据转换为ASCII码的结果。第三章单片机基本应用实验8思考题思考题(1)分析并完成参考程序中需要填空的内容,写出调试好的程序。(2)调试程序后写出存放高四位ASCII码的地址及结果,写出存放低四位ASCII码的地址及结果。(3)编程实现用逻辑运算的方法将R1寄存器中的内容转换为ASCII码。第三章单片机基本应用实验(四四)多分支程序设计多分支程序设计1实验目的实验目的了解程序的多分支结构。熟悉多分支结构程序的编程方法。第三章单片机基本应用实验2实验内容实验内容变量X以补码的形式存放在R0寄存器中,变量Y与X的关系如下:0X X/20X X,0X 2X,Y编制程

37、序,求出Y数据并存放在R1中。第三章单片机基本应用实验3实验说明实验说明在编制程序中,对于乘2或除2的运算可用左移一位或右移一位来完成,也可以用乘法和除法指令。4实验仪器和设备实验仪器和设备QTH-2008XS单片机实验仪一台,PC机一台,QTH-2008XS单片机开发环境。5参考程序框图参考程序框图设X数据存放在R0中,Y数据存放在R1中,多分支程序设计框图如图3.9所示。第三章单片机基本应用实验图3.9 多分支程序设计框图第三章单片机基本应用实验6参考程序参考程序*/*主程序*/*ORG 0000H AJMP START ORG 0070HSTART:MOV R0,#_;设置R0的内容为0

38、0HFFH范围内任意值,至少设置五次第三章单片机基本应用实验 MOV A,R0 MOV B,#02H JZ NEXT NEXT1:JB ACC.7,NEXT2 ();实现乘 2 ();跳转到 NEXT 执行程序 NEXT2:();实现除 2 NEXT:MOV R1,_ ;将转换结果存放到 R1 RET 第三章单片机基本应用实验7调试程序步骤调试程序步骤(1)填写源程序横线内容,将编写好的源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪。第三章单片机基本应用实验(5)确定调试前的参数设置。在程序中设置

39、R0的内容。例如,“MOV R0,#45H”设定R0的内容为45H,或者进入寄存器窗口修改R0的内容。分别设五个数据,正数(小于7FH的数)两个,负数(大于7FH或者直接输入带负号的数)两个,R0的内容设定为零一次。(6)确定调试方法。用单步运行(F8)或者设置断点连续执行(F5)程序。(7)观察程序的结果。每设定R0内容一次,则运行程序并观察R1的内容,记录五组数据。第三章单片机基本应用实验8思考题思考题(1)分析并完成参考程序需要填空的内容,写出调试好的程序。(2)调试程序过程中观察R0、R1的变化情况,写出五组数据。(3)写出程序中能够实现分支程序的指令并分析指令功能。第三章单片机基本应

40、用实验(五五)数据排序程序设计数据排序程序设计1实验目的实验目的了解数据排序的简单算法。掌握数列排序的编程方法。2实验内容给出一组随机数,将此组数据排序,使之成为有序(升序)数列。第三章单片机基本应用实验3实验说明实验说明 数据排序中常用的方法是“冒泡排序”法,算法是从前向后进行相邻数的比较,如果数据的大小次序与要求的顺序不符就将这两个数交换,否则不交换,通过这种相邻数的交换,使小数向前移动,大数向后移动。从前向后进行一次冒泡后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据按升序排列,程序则冒泡结束。第三章单片机基本应用实验4实验仪器和设备实验仪器和设备QTH-2

41、008XS单片机实验仪一台,PC机一台,QTH-2008XS单片机开发环境。5参考程序框图参考程序框图数据排序设计参考程序框图如图3.10所示。第三章单片机基本应用实验图3.10 数据排序设计参考程序框图第三章单片机基本应用实验6参考程序参考程序*/*主程序*/*ORG 0000H AJMP START ORG 070H第三章单片机基本应用实验START:CLR _ ;互换数据标志位清零 MOV R7,#_ ;各轮冒泡比较的次数 MOV R0,#_ ;数据首地址存放于 R0 中 LOOP:MOV A,R0 MOV _,A ;暂存数据存放到某一地址 INC R0 MOV _,R0 ;取后面的数据

42、存放到某一地址 CLR C SUBB A,R0 第三章单片机基本应用实验 JC NEXT MOV R0,_ ;交换数据 DEC R0 MOV R0,_ ;交换数据 INC R0 SETB _ ;置交换标志位为 1 NEXT:DJNZ R7,LOOP JB _,START ;判断是否有交换,若有,则进行下一轮冒泡,;若没有,则程序已经排好顺序 SJMP$;程序冒泡结束 第三章单片机基本应用实验7调试程序步骤调试程序步骤(1)填写源程序横线内容,将编写好的源程序输入QTH-2008XS单片机开发环境,保存文件名为*.ASM。(2)对源程序进行编译。(3)根据提示进行纠错。(4)将源程序装载入实验仪

43、。第三章单片机基本应用实验(5)确定调试前的参数设置。选定好排序的起始地址和数据的个数后,在相应的地址修改内容,例如,选定在片内RAM中,起始地址为40H的16个单元中存放16个无符号数据进行升序排序。在“查看”菜单中选择“数据存储器”,找到40H4FH地址修改内容为00HFFH范围内任意值。(6)确定调试方法。用单步运行(F8)或者设置断点连续执行(F5)程序。(7)观察程序执行结果。观察40H4FH地址中数据的变化情况。第三章单片机基本应用实验8思考题思考题(1)分析并完成参考程序中的填空内容,写出调试好的程序。(2)调试程序后写出40H4FH地址的结果。(3)修改程序实现降序排序,写出修

44、改方法。(4)如何用CJNE 比较指令实现升序排序?(5)试编程实现在内部RAM的20H单元开始的10个无符号数中找出最大值存入BIG单元。第三章单片机基本应用实验一、预习内容1I/O的功能(1)P0口功能:地址/数据分时复用功能。当P0口作为地址/数据分时复用总线时,可分为两种情况:一种是从P0口输出地址或数据;另一种是从P0口输入数据。通用I/O接口功能具有输入、输出、端口操作三种工作方式,每一位口线都能独立地用作输入线或输出线。实验四实验四 单片机单片机I/O控制实验控制实验第三章单片机基本应用实验(2)P1口功能:P1只有一种功能(对MCS-51系列),即通用I/O接口,具有输入、输出

45、、端口操作三种工作方式,每一位口线都能独立地用作输入线或输出线。(3)P2口功能:P2口具有通用I/O接口或高8位地址总线输出两种功能。(4)P3口功能:P3口可作为通用准双向I/O接口,同时每一根线还具有第(2)功能。第三章单片机基本应用实验2软件和硬件结合调试应注意的问题软件和硬件结合调试应注意的问题编写汇编语言程序的目的是使程序能在系统应用板上运行,与硬件配合达到系统要求。要运行程序必须经过调试过程,排除编写出现的语法错误和算法错误。软件和硬件结合的调试需要注意以下问题:(1)程序中使用的单元地址、扩展地址、扩展端口地址应从硬件电路准确计算得到,并准确使用单元地址。第三章单片机基本应用实

46、验(2)堆栈是保护现场、数据传递的重要工具,但若使用不当将会造成数据的混乱,甚至破坏程序的正常运行。例如,在调试子程序或中断服务时,程序返回指令应该准确地恢复断点地址到PC中,若子程序中PUSH 和POP指令没有成对使用,就会造成PC不能正确恢复,致使程序不能返回断点处继续执行。(3)对于子程序、中断服务子程序的源程序需要对相应的子程序地址进行定位,如外部中断服务子程序用ORG 0003H对子程序定位,同时使用LJMP指令以越过中断服务子程序。第三章单片机基本应用实验二、实验练习二、实验练习(一一)P1口输入口输入/输出实验输出实验1实验目的实验目的熟悉P1口的控制方法。学习延时子程序的编程方

47、法。2实验仪器和设备实验仪器和设备QTH-2008XS单片机实验仪一台,PC机一台,QTH-2008XS单片机开发环境,8根导线。第三章单片机基本应用实验3实验内容实验内容(1)P1口是一个准双向口,它作为输出口,外接8个发光二极管,编写程序,使发光二极管循环左移点亮(其输入端为低电平时,发光二极管点亮)。(2)要求编写程序模拟一时序控制装置。P1口的P1.0P1.7分别接8个发光二极管。开机后第一秒钟L1、L3亮,第二秒钟L2、L4亮,第三秒钟L5、L7亮,第四秒钟L6、L8亮,第五秒钟L1、L3、L5、L7亮,第六秒钟L2、L4、L6、L8亮,第七秒钟8个二极管全亮,第八秒钟全灭,以后又从

48、头开始,一直循环下去。第三章单片机基本应用实验4实验连线实验连线将单片机实验仪中89C51的P1.0P1.7连接到L8L1。P1口输入/输出实验连线电路图如图3.11所示。5实验说明实验说明(1)P1口是准双向口。它作为输出口时与一般的双向口的使用方法相同。由准双向口结构可知,当P1口用作输入口时必须先对它置“1”,若不先对它置“1”,读入的数据是不正确的。第三章单片机基本应用实验图3.11 P1口输入/输出实验连线电路图第三章单片机基本应用实验(2)延时子程序的延时计算问题。Delay:MOV R7,#200DEL1:MOVR6,#123NOPDEL2:DJNZ R6,DEL2 DJNZ R

49、7,DEL1 RET第三章单片机基本应用实验对于上述程序查指令表可知,执行MOV指令需用一个机器周期,执行DJNZ指令需用两个机器周期,在12 MHz晶振时,一个机器周期时间长度为1 s,所以该段程序执行时间为1+(1+1+2123+2)200+2110-6 s50 ms6实验程序框图实验程序框图(1)P1口控制8个灯循环点亮的框图如图3.12所示。(2)模拟时序控制装置框图如图3.13所示。第三章单片机基本应用实验图3.12 P1口控制8个灯循环点亮的框图第三章单片机基本应用实验图3.13 模拟时序控制装置框图第三章单片机基本应用实验7参考程序参考程序(1)P1口控制8个灯循环点亮。*/*主

50、程序*/*ORG 0000H AJMP START ORG 0070HSTART:MOV P1,#0FFH MOV A,#01HLOOP:MOV P1,A第三章单片机基本应用实验 ();循环左移或循环右移指令 LCALL DELAY-50MS SJMP LOOP*/*50 ms 延时子程序*/*DELAY-50MS:MOV R7,#200 DEL1:MOV R6,#123 NOP DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 RET 第三章单片机基本应用实验(2)模拟时序控制装置。*/*主程序*/*ORG 0000H AJMP START ORG 0070H START:MOV

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|