单片机实验二.docx

上传人:安*** 文档编号:19023747 上传时间:2022-06-03 格式:DOCX 页数:23 大小:82.10KB
返回 下载 相关 举报
单片机实验二.docx_第1页
第1页 / 共23页
单片机实验二.docx_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《单片机实验二.docx》由会员分享,可在线阅读,更多相关《单片机实验二.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机实验二实验三程序设计二一、实验目的1、了解汇编语言程序设计与调试的经过;2、把握循环程序、查表程序和子程序的特点及设计。二、实验内容1、循环程序的设计、输入、调试和运行;2、查表程序的设计、输入、调试和运行;3、子程序的设计、输入、调试和运行。三、实验步骤1、排序程序:将N个数从小到大排列起来。设R0的内容为数据区的首地址,R7的内容为数据的字节数。参考程序为:MOVR0,#30H;将序列首地址存入R0中MOVR7,#10;将序列长度存入R7中SS:MOVA,R7MOVR2,AMOV60H,R0;将序列首地址存入60HNN:DECR2;循环程序,控制排序次数MOVA,R2MOVR3,AM

2、OVR0,60HL1:MOVA,R0;将序列第一个数存入A中INCR0;R0加1,指向第二个位置CLRC;去除进位标志位C,为比拟两数大小做准备SUBBA,R0;第一个数减去第二个数JCMM;判定C的状态,1代表数1小于数2跳至MM,0代表数1大于数2继续执行MOVA,R0;将第二个数存入累加器A中DECR0;R0指向第一个位置XCHA,R0;将A中的数数1与R0指向的数数2交换INCR0;R0减一,指向位置一MOVR0,A;将A中的数2存到位置一内SETBF0;置位用户标志位,表示有交换MM:DJNZR3,L1;R3减一不为零则跳至L1,否则继续执行程序MOVA,R2CJNER2,#01H,

3、L2;判定R2中的数能否已经减为1,是跳至JJ,否跳至L2SJMPJJL2:JBF0,NN;判定F0状态,若为1有交换则跳至NN,否则继续进行JJ:MOVR0,60H;将序列首地址存入R0END向30H39H单元中输入数据,运行程序,观察30H39H单元中的内容,分析结果能否正确。2、查表程序设计一程序,将16进制数转换为对应的ASCII码。设16进制数放在R6中,转换结果放在R7中。参考程序如下:ORG0000HMOVA,R6;将要转换的16进制数存入A中ANLA,#0FH;将A的低位提取出来MOVDPTR,#0030H;将DPTR指向转换表的首地址MOVCA,A+DPTR;进行查表,采用基

4、址加变址寻址方法MOVR7,A;将转换结果放在R7中ORG0030HTAB:DB012345678;建立转换表DB9ABCDEFEND输入设计好的程序检查无误后,汇编。向R6中输入多个不同的ACSII码,运行程序,观察R7中的内容,分析运行结果能否正确。3、双字节原码加减法程序功能:R2R3R6R7R4R5加减和求补经过采用子程序。参考程序如下:ORG0000HDSUB:MOVA,R6CPLACC.7MOVR6,ADADD:MOVA,R2MOVC,ACC.7MOVF0,CXRLA,R6MOVC,ACC.7MOVA,R2CLRACC.7MOVR2,AMOVA,R6CLRACC.7MOVR6,AJ

5、CDAB2ACALLNADDMOVA,R4JBACC.7,CDAB1:MOVC,F0MOVACC.7,CMOVR4,AAJMPHEREDABE:SETBCAJMPHEREDAB2:ACALLNSUB1MOVA,R4JNBACC.7,DAB1ACALLCMPTCPLF0SJMPDAB1HERE:SJMPHEREORG0030HNADD:MOVA,R3ADDA,R7MOVR5,AMOVA,R2ADDCA,R6MOVR4,ARETNSUB:MOVA,R3CLRCSUBBA,R7MOVR5,AMOVA,R2SUBBA,R6MOVR4,ARETCMPT:MOVA,R5CPLAADDA,#1MOVR5,A

6、MOVA,R4CPLAADDA,#00HMOVR4,ARETEND输入设计好的程序检查无误后,汇编。向R2R3和R6R7中输入多个不同的数据,运行程序,单步运行程序时,观察程序的运行经过。程序运行结束后,观察R4R5中的内容,分析运行结果能否正确。四、实验设备及仪器1、单片机实验装置及开发系统一套;2、PC机一台。五、考虑题1、伟福集成开发环境提供了那些运行命令,它们之间的区别是什么?2、如何设置和去除断点?答:将光标移到源程序窗口的左边“Gutter区域,单击左键设置断点,可以以用F6键将光标所在行设置为断点。3、子程序执行经过如何?在程序设计中采用子程序有什么优点?答:用子程序调用指令时,

7、先将PC加2的内容入栈,然后将子程序第一条指令的地址给PC,转向子程序开场执行,子程序结束返回时利用RET指令,此时从堆栈中退出PC的高八位和低八位给PC,主程序继续执行。采用子程序能使整个程序的构造简单,缩短程序的设计时间,减少占用的程序存储空间。实验四单片机中断实验一、实验目的1、了解单片机的中断经过。2、了解单片机中断的触发方式。3、了解单片机中断的程序设计。4、学习中断服务程序的调试方法。二、实验内容1、单片机外部中断的低电平触发方式如图3.4.1,按住开关K,在INT0端产生一个低电平信号,触发外部中断,将事先送入寄存器R1中的值由LED即发光二极管电路显示出来。2、单片机外部中断的

8、下降沿触发方式如图3.4.1,按一下开关K,在INT0端产生一个下降沿信号,触发外部中断,将事先送入寄存器R1中的值由LED即发光二极管电路显示出来。注意:开关Kx可用查询式键盘中的任意一键代替。三、实验步骤1、外部中断的低电平触发方式i按图4-3给出的原理图连好电路,其中Kx可为开关量输入如模块中的任意一个开关,用双头线与INT0引脚位于单片机扩展资源区D1区连接。i根据实验内容1要求,设计外部中断的低电平触发方式的主程序和中断服务子程序。参考程序如下:ORG0000HAJMPMAINORG0003HAJMPITAPORG0030HMAIN:MOVTCON,#00H;设置TCON控制寄存器低

9、电平触发方式SETBEX0;开启外部中断0SETBEA;开启总中断HERE:AJMPHERE;当无中断发生时,程序在此原地踏步ORG0040H;中断程序ITAP:MOVA,R1MOVP1,A;通过设置R1的值能够控制中断发生时P1口的状态,进而控制灯的亮灭RETIENDii打开计算机和实验装置,进入菊阳单片机集成开发环境,输入、汇编、运行程序。iiiR1置不同的值,将开关Kx置0位置,再置回1位置相当于按下开关,观察实验现象。2、外部中断的下降沿触发方式i根据实验内容2的要求,设计外部中断的下降沿触发方式的主程序和中断服务子程序。参考程序如下:ORG0000HAJMPMAINORG0003HA

10、JMPITAPORG0030HMAIN:MOVTCON,#01H;设置TCON控制寄存器下降沿触发方式MOVIE,#81H;开启总中断,开启外部中断0MOVR1,#21HHERE:AJMPHERE;原地踏步ORG0100H;中断程序ITAP:MOVA,R1SWAPAMOVP1,A;中断程序的功能为交换P1高四位低四位RETI效果为高四位灯与低四位灯交换闪烁一次ENDii打开计算机和实验装置,进入菊阳单片机集成开发环境,输入、汇编、运行程序,分析现象。iiiR1置不同的值,按下开关,观察实验现象与本人分析结果能否相符。四、实验设备及仪器1、单片机实验装置及开发系统一套;2、PC机一台。五、考虑题1、有关中断的特殊功能寄存器有那些?答:TCON,SCON,IE,IP2、单片机外部中断的低电平触发方式存在什么问题?如何解决?答:响应中断后中断请求标志的撤销是自动的,但是低电平仍然存在,在以后的采样时又有可能重新响应中断。解决方法为在中断引脚外加一由D锁存器构成的电平方式外部中断请求的撤销电路。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 培训材料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁