《单片机原理及应用》实验指导书_第1页
《单片机原理及应用》实验指导书_第2页
《单片机原理及应用》实验指导书_第3页
《单片机原理及应用》实验指导书_第4页
《单片机原理及应用》实验指导书_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 系统认识实验一、实验目的(1) 基本掌握DVCC-51开发机的操作;(2) 熟悉MCS-51单片机指令系统中一些常用指令的功能和使用;(3) 初步了解源程序的设计和汇编生成机器语言的目的程序。二、实验设备MCS-51单片机仿真器三、实验内容键盘输入并检查下列程序:地 址 目的程序 源程序0100H 78AA MOV R0, #0AAH0102H 79BB MOV R1, #0BBH0104H 7ACC MOV R2, #0CCH0106H 7BDD MOV R3, #0DDH0108H 740F MOV A, #0FH 010AH 58 ANL A, R0 010BH 04 INC A

2、 010CH 010C LOOP: AJMP LOOP 四、实验步骤(1)输入程序键入 LED显示MON (进入监控程序) P.(闪动)0100H (输入起始地址) 0100 MEM (存贮器单元检查命令) 0100 XX78 (输入数据) 0100 78NEXT (检查下一单元) 0101 XXAA (输入数据) 0101 AANEXT (检查下一单元) 0102 XX用上述方法把所有程序输入完毕,再检查一遍有无错误。检查方法有两种:按MON键, 使机器返回待命状态0, 输入起始地址0100, 再按MEM键, 显示器显示出0100H单元的内容。然后,使用NEXT键,一个单元一个单元地往下检查

3、、修改,其过程与输入程序的过程基本相同。使用LAST键从010DH单元开始,向上检查到0100H单元。检查过程中,若某一单元中内容与要求输入内容不相符,则可重新输入两位正确的数字。在用LAST键时,不必按MON键,使机器返回到待命状态0,而可以在程序输入完后直接进行。执行已输入的程序:在监控状态键入起始地址,然后按下连续执行键EXEC。该程序执行的结果是在寄存器R0R3中写入AA、BB、CC、DD,在累加器A中写入0BH,检查R0R3及累加器中的内容是否正确,操作如下:键入 LED显示MON (进入监控状态) P.(闪动)00 (检查寄存器R0) 00 REG (寄存器检查命令) 00 AAN

4、EXT (检查下一寄存器) 01 BB(2)单步执行:键盘输入并检查下列程序:地 址 目的程序 源程序0200H 7820 MOV R0, #20H 0202H 7921 MOV R1, #21H 0204H 904000 MOV DPTR, #4000H 0207H 7611 MOV R0, #11H 0209H 7722 MOV R1, #22H 020BH E6 MOV A, R0 020CH 26 ADD A, R0 020DH 97 SUBB A, R1 020EH F0 MOVX DPTR, A 020FH 010F LOOP: AJMP LOOP 程序输入后,用STEP键单步执行

5、,并检查每一条指令的执行结果。操作步骤如下:键入 LED显示MON P.(闪动)0200 (程序起始地址) 0200 STEP (执行第一条指令) 0202 XXMON P. 00 00REG (检查R0中的内容) 00 20NEXT (检查R1中的内容) 01 XXSTEP (执行第二条指令) 0204 XXMON P. 00 00REG (检查R0中的内容) 00 20NEXT (检查R1中的内容) 01 21该程序执行的结果是:将20H进入R0,21H进入R1,4000H进入DPTR, 11H进入内部RAM的20H单元,22H存入21H单元中,00存入ACC和外部RAM的4000H单元中

6、。程序单步执行完后,再检查相应寄存器和存贮器单元中的内容,看是否与上述结果相同。(3)偏移量的计算及断点设置设有如下程序:地 址 目的程序 源程序0300H 780A MOV R0, #0AH 0302H 7F05 MOV R7, #05H 0304H 18 LOOP: DEC R0 0305H DF_ DJNZ R7, LOOP0307H 0107 WAIT: AJMP WAIT计算偏移量输入程序:当输入到0306单元时,输入所要转移地址0304H的低位字节04H,然后按下OFST键,该单元中的内容立即变成所要求的偏移量。上述偏移量为-3,用补码表示为FDH。偏移量输入后,按下NEXT键,继

7、续输入下面程序。设置断点键入 LED显示RESET (系统复位) P.(闪动)0304 (系统执行断点) 0304 F1 MON P 0300 (键入首址) FVBP (全速断点运行) 0304 18(4) 插入和删除 设有如下程序:地 址 目的程序 源程序0400H 7400 MOV A, #00H 0402H 903000 MOV DPTR, #3000H 0405H 7F0A MOV R7, #0AH 0407H F0 LOOP: MOVX DPTR, A0408H DF_ DJNZ R7, LOOP040AH 010A WAIT: AJMP WAIT将上述程序输入到机器中,并计算偏移量

8、 插入命令:设在指令MOVX DPTR,A和DJNZ R7,LOOP之间插入2条指令:04 INC A和A3 INC DPTR,操作步骤如下:键入 LED显示MON P.(闪动)0408 0408 MEM 0408 DFINS (第1次插入命令) 0408 00 INS (第2次插入命令) 0408 00 这时,可向0408H和0409H单元输入新增加的2条命令,在增加的指令输入后,需要对偏移量重新计算,且将040DH单元中的内容改为0CH。 删除命令:删除新增加在2008H单元中的指令,步骤如下:键入 LED显示MON P.(闪动)0408 0408 MEM 0408 04DEL (第1次删

9、除命令) 0408 A3 INS (第2次插入命令) 0408 DF 删除后,需要对偏移量重新计算,且将040BH单元中的内容改为0A五、思考题(1)程序在仿真器中的执行步骤;(2)指令与伪指令的主要区别。六、实验报告要求(1)整理好记录的数据和结果,写出完整的实验报告实验报告一般包括: 实验目的 实验要求 使用设备 实验步骤 实验结果 体会(2) 小结调试程序的方法实验二 运算类实验一、实验目的(1)进一步熟悉MCS-51汇编程序的设计;(2)掌握二进制和十进制加、减法的程序设计方法。二、实验设备MCS-51单片机仿真器三、实验内容(1)二进制加法在8031单片机内部RAM存贮器的20H22

10、H单元中, 存入3字节的被加数(低位在前), 在2AH2CH单元中存入3字节的加数(低位在前), 求出这两个数之和, 并将结果存入以20H为起始地址的区域中(低位在前)。程序流程图如下图所示。 设置被加数地址指针(R0)=20H设置加数地址指针 (R1)=2AH设置字节数指针R7=03H清进位标志C取被加数一字节A(A)+加数字节+(C)A结果存入R0修改地址指针NY字节数-1=0?进位位进入R0单元 结 束(2) 二进制减法 在外部扩展RAM存贮器(8155内部)的A0HA2H单元中, 存入3字节的被减数(低位在前), 在B0HB2H单元中存入3字节的减数(低位在前), 求这个两个数之差,

11、并将结果存入以5000H为起始地址的外部RAM存贮器区域中(低位在前), 程序流程图如下图所示。设置被减数地址指针(R0)=A0H设置减数地址指针 (R1)=B0H设置差数地址指针 (DPTR)=5000H设置字节数指针R7=03H清借位标志C取减数一个字节A (A)-减数-(C)A结果存入DPTR修改地址指针NY字节数-1=0?结 束四、实验步骤加法实验:输入自己编写的程序机器码;将三组二进制数333333H和444444H,AABBCCH和BBDDFFH,F47ACBH和 A09EF5H分先后送入内部RAM存贮器的20H22H和2AH2CH单元中,分别执行程序,验证程序的正确性。减法实验:

12、输入自己编写的程序机器码;将三组二进制数676767H和252525H,FEDCBAH和123456H,A019F4H和7A694EH分先后送入外部RAM存贮器的A0HA2H和B0HB2H单元中,分别执行程序,验证程序的正确性。五、实验报告要求(1)整理好执行正确的程序和数据;(2)列出实验程序清单(格式如实验一的示范程序);(3)写出完整的实验报告。六、思考题(1)思考多字节数的四则运算;(2)指令的格式与字节数的关系;实验三 数据排序实验一、实验目的和内容(1) 掌握数据排序的常用算法;(2) 进一步熟悉MCS-51汇编语言程序设计技巧二、实验设备MCS-51单片机仿真器三、实验内容将R0

13、指出的内部RAM中n个单字节无符号二进制数按从小到大的次序重新排列,字节数n存放于R7中。程序参考流程图如下图所示。 (R7) R6, (R0) R1,0F0(R1)R2(R1)+1R1YN(R1)-1)<(R1)?(R1)-1) (R1),1F0 N (R7)-1=0? YF0=1?返回数据序列:10H,20H,23H,08H, 09H, 39H,3FH,03H40H,80H,0FH,0F0H,0A0H,9FH,19H,0FEH四、实验报告要求(1) 整理好执行正确的程序;(2) 写出完整的实验报告;五、思考题(1)考虑用多种算法实现排序;(2)思考汇编语言与高级语言在实现同一种算法时

14、的不同之处。实验四 中断系统实验一、实验目的(1)掌握8031内部定时器计数器的方式选择和编程方法,通过本实验了解CPU响应中断时,用户现场的保护方法;(2)熟悉程序的设计和调试方法。二、实验设备MCS-51单片机仿真器三、实验内容1编写一个十进制计数器程序。用定时器0的方式1,产生100MS左右的定时中断,由软件计数器计数,每10次中断(1S)对十进制计数器计数,十进制计数器设在显示缓冲器,主程序不断调用显示程序,显示器从0开始显示十进制计数器的内容,改变软件中断计数器和定时常数,将改变计数速率。计数器初值由键盘设定,设定后立即启动。实验步骤(1)将主程序、中断服务子程序、键盘扫描子程序和显

15、示子程序的机器码送入DVCC-51仿真器的外部RAM中;(2)向十进制计数器送入初值;执行调试程序,直到6个数码管显示器所显示的时间正确为止。2编写一个显示时分秒的电子钟程序,用定时器0的定时中断控制电子钟计时,设定时器溢出周期为0.1S,即经过0.1S产生一次中断请求。置定时器位工作方式1,时间初值由键盘设定。实验步骤:(1)将主程序、中断服务子程序和显示子程序的机器码送入DVCC-51仿真器的外部RAM中;(2)向时间初值寄存器送入时间初值;(3)执行调试程序,直到6个数码管显示器所显示的时间正确为止。(4)修改程序,使定时器选择工作方式2,并调整有关常数,使走时达到0.1%的精度。四、实

16、验报告要求(1)整理好执行正确的程序;(2)写出完整的实验报告。五、思考题(1)定时器初值大小和计数速率有何关系?为为什么?(2)改变定时器工作方式,观察计数速率的变换变化。实验五 MCS-51单片机内部定时/计数器一、实验目的(1)掌握8031单片机内部定时器计数器的工作方式选择、编程方法以及初始化与中断服务程序设计方法;(2)学会时间常数的计算方法;(3)学习并掌握位操作指令的使用。二、实验设备MCS-51单片机仿真器三、实验内容(1)选择定时器T0为工作方式0,产生1MS定时,转字符“8”循环显示中断服务程序。程序流程图如下图所示。定时器T0初始化 启动定时器T0允许T0中断,CPU开放

17、中断等待中断(2)选择定时器T1为工作方式2,计数初值为0FFH,即计数输入端T1发生一次跳变时,计数器加1溢出,申请CPU中断,转中断服务子程序。主程序流程图所示,中断服务子程序流程图如下两图所示。中断服务子程序的目的是利用位操作指令将8031内部RAM存贮器的20H位置1,30H位清0。定时器T1初始化启动定时器T0允许T1中断,CPU开放中断等待中断 清进位标志C清内部RAM 10H位(即22H第0位)取反10H位(C)(10H)位C(20H位)取反C位(C)(10H)位C(20H位) 返 回四、实验步骤1输入自己编写程序的机器码。 将中断服务程序的起始地址送入对应中断源的入口地址中。

18、将DVCC-51仿真器内字符“8”循环显示程序移到自己的中断服务程序中。2输入自己编写程序的机器码。 用键盘将8031内部RAM存贮器的20H位清0,30H位置1。 执行程序,并进行调试,直到正确为止。五、实验报告要求(1)整理好执行正确的程序。(2)写出完整的实验报告。六、思考题(1)思考使用计数器实现延时程序。(2)思考定时与计数的区别。实验六 MCS-51单片机串行接口一、实验目的和内容掌握8031串行口的程序设计方法;掌握8031单片机多机通信原理与程序设计方法。二、实验设备MCS-51单片机仿真器,A/D板、D/A板三、实验步骤编写和调试两台单片机之间的通信程序。要求一台为主机发送一

19、串数据,另一台为从机接收数据,通信协议如下:通信波特率为2400;数据为9位,8位数据位,第9位为偶校验位;一串数据的格式自定义。四、实验报告要求(1)整理好执行正确的程序;(2)写出完整的实验报告。五、思考题(1)思考其他校验方法的使用。(2)串行与并行的重要区别。实验七 存贮器扩展一、实验目的了解存储器的扩展方法;掌握线选法和译码法的接线方式。二、实验设备(1) DVCC-51单板仿真器 1台(2) +5V稳压电源 1台(3) +21V+25V稳压电源 1台(4) EPROM擦除器 1台(5) EPROM51单芯片 1片(6) 数字万用表 1台三、实验内容将芯片正确接入系统,确保能够正常寻址EPROM的检查与写入: 将一程序写入EPROM存贮器中。四、实验步骤将要写入的EPROM芯片插入DVCC-51的EPROM编程写入插座上(注意EPROM的型号,选择不同的断路开关),然后用EPCH(EPROM查空命令),对EPROM进行检查,若EPROM芯片未擦除干净,须重新擦洗或另换一块。接通EPROM编程写入电压(+21V+25V),输入要写入程序(数据块)的起始地址,按F1键;输入要写入程序(数据块)的末地址,按F2键;然后输入要写到EPROM中的起始地址,按EPRG键,即自动编程写入。编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论