1、单片机实验验指导书09单片机实验指导书(与RM51单片机实验板配套使用)三明学院2008年09月01日实验一 伟福仿真软件的使用方法一、实验目的熟悉伟福仿真软件软件的使用方法 二、实验内容给定如下程序:ORG 0000HMOV SP, #40H MOV A, #OFAH MOV RO, A MOV 70H,#80H MOV R1,70H XCH A,70H PUSH ACC PUSH 70HPOP ACCPOP 70HSJMP $END 二、实验步骤实验前请认真阅读伟福仿真软件使用说明。(1)启动伟福仿真软件(2)编辑源程序:点击File/Open(或接F3),输入文件名TEST1.ASM,按
2、回车,这时系统打开一个名为TEST1.ASM的编辑窗口,可以在编辑窗口中输入实验程序(即源程序)。(4)保存源程序,点击File/Save或按F2即可。(5)汇编源程序,点击Assemble/Assembhe或按ALT-F9即可,集成环境首先对源程序进行汇编,若发现错误立即返回编辑状态,并打开一个错误信息窗口,用户可按提示修改源程序,若无错误则返回编辑窗口等待调试。(6)单步执行程序首先从屏幕的观察窗口中记下R0,R1,A和70H单元的内容。按F7键执行跟踪单步命令,程序每执行一步,均可从屏幕观察窗口中观察到R0,R1,A,70H单元内容的变化情况。当程序运行至SJMP后,记录结果。(7)全速
3、运行程序按CTRL-F2,仿真器复位,按CTRL-F9全速运行程序,观察R0,R1,A和70H单元内容的变化情况,并记录结果。注:在全速运行程序时,按CTRL-C可随时中断程序运行 。(8)设置断点并运行程序 将光标移动到PUSH ACC位置,按CTRL-F8键设置断点(按CTRL-F8也可取消断点)按CTRL-F2将仿真器复位;再按CTRL-F9全速运行程序程序程序到断点处,观察R0,R1,A和70H单元内容的变化情况,并记录结果。(9)修改观察窗口内存单元用单步执行程序至MOV R1,70H时,将观察窗口70H单元的内容改为“50H”后继续单步运行程序,观察R0,R1,A,70H单元内容的
4、变化情况,并记录最后的结果。四、实验报告1、写出伟福仿真软件使用时的主要步骤。2、写出程序清单,并根据实验结果填写下表:存储单元 R0 R1 A 70H SP程序运行前程序运行后单步全速运行断点修改3、程序最后无“END”结尾时,汇编调试时会出现什么情况? 实验二 数据传送实验一、实验目的掌握单片机内部RAM和外部RAM的数据操作,掌握这两部分RAM存储器的特点与应用。二、实验内容编写并调试一个数据传送程序,将内部RAM 40H4FH的16个数据送到外部RAM 0000H000FH单元。并调试检查写入的内容是否正确。三、实验步骤1、 启动伟福模拟仿真软件。2、 输入实验源程序一,名为TEST3
5、AASM。3、 汇编源程序一,直至无错误为止。4、 装入数据,单步执行或断点执行程序,检查结果是否正确。在程序运行之前,将01H,02H,03H,0FH,16个数据写入内部RAM 40H4FH的16个单元,然后执行程序,检查外部RAM 0000H000FH 16个单元内容是否与内部RAM40H4FH单元的数据一一对应。四、编程指示 Y N 五、实验报告1、 写出程序清单。2、 试编写数据块清零程序。3、 编写将外部RAM 0000H000FH单元的数据传送到内部RAM40H4FH单元的程序。实验三 I/O接口实验一、 实验目的:掌握MCS-51单片机的P1口作为并行输入、P3口作为并行输出方式
6、使用时的电路设计及软件编程方法。二、 实验内容:1、 编写P1口输出实验程序,使发光二极管在程序的控制下自动按照设定的规律亮灭。2、 编写P3口输入实验程序,通过接收开关设置的参数来控制发光管的亮灭。三、 实验电路(见RM51单片机实验板参考原理图)四、 实验步骤1、 输出实验(1) 认真阅读RM51单片机实验板参考原理图,掌握P1.0P1.7和LED3LED10的连接关系。(2) 在伟福软件中编制程序,首先使所有的发光二极管全部熄灭,之后从LED3开始,LED3LED6 四个发光二极管轮流发光1秒,然后四个二极管全部发光1秒,最后全灭1秒,完成一个过程后又重新开始,周而复始。(3) 在伟福软
7、件中用单步、断点、连续方式调试程序,直至正确。(4) 将生成的*.hex目标文件通过ISP下载线烧写到单片机内部,观察LED3LED6 四个发光二极管的状态,验证运行结果是否正确,直至达到实验的要求为止。2、 输入实验(1) 认真阅读RM51单片机实验板参考原理图,掌握开关K1K4和P3.2P3.5的连接关系。(2) 在伟福软件中编制程序,将P1.0设置为输出口,P3.2设置为输出口,按一次开关K1, LED3熄灭,再次按开关K1,LED3亮,如此循环,LED3亮灭交替。(3) 在伟福软件中用单步、断点、连续方式调试程序,直至正确。(4) 将生成的*.hex目标文件通过ISP下载线烧写到单片机
8、内部,反复按下K1 ,观察LED3的状态,验证运行结果是否正确,直至达到实验的要求为止。五、 编程提示1、 延时子程序的延时计算问题对于程序 DELAYDELAY: MOV R5,#10LOOP: MOV R6,#200LOOP1: MOV R7,#250LOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 DJNZ R5,LOOP RET查指令表可知DJNZ指令需用两个机器周期,在12MHZ晶振时,一个机器周期时间长度为1s,所以该段程序执行时间为:(2502+3)200)+3)10+31s六、 实验报告1、写出程序清单(要写出必要的注释)3、思考:程序没有进行按键消抖动处理
9、,控制结果会因为按键抖动而出错,按压K1十次,大概有35次输出会因为按键抖动而发生错误,实验时请多按几次,观察一下效果,加深对按键消抖动重要性的认识。实验四 外部中断实验一、实验目的:1、掌握外部中断技术的基本使用方法。2、掌握中断处理程序的编程方法。3、加深理解外部中断优先级的概念。二、实验内容:编制程序使INT0、INT1为边沿触发方式,INT1为高级中断。 在主程序中使8个LED轮流闪烁;外中断程序0中,8个指示灯同时闪烁8次;外中断程序1中,左右4个指示灯交替闪烁。 因为INT1为高级中断,所以INT1中断可以中断INT0中断程序,即当按压K1进入外中断0时,8个LED同时闪烁,此时按
10、压K2可以中断TIN0的执行。相反,当INT1中断后,按压K1则不能中断INT1的执行。三、实验电路(见RM51单片机实验板参考原理图)。四、实验步骤1、认真阅读RM51单片机实验板参考原理图,2、在伟福软件中用单步、断点、连续方式调试程序一,检查程序运行结果是否正确,排除软件错误。3、将生成的*.hex目标文件通过ISP下载线烧写到单片机内部,观察LED3LED10四个发光二极管的状态,验证运行结果是否正确,直至达到实验的要求为止。五、编程提示1、外部中断INT0的入口地址为0003H;外部中断INT1的入口地址为0013H。2、中断服务程序编程的关键是:(1)保护进入中断的状态,并在退出中
11、断之前恢复进入时的状态。(2)必须在中断程序中设置是否允许中断重入,即设置EX0位。3、一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置不允许重入。七、 实验报告1、画出硬件接线图。2、写出程序清单(要写出必要的注释)。3、思考:中断响应的条件是什么?如何用软件实现中断请求?实验五 定时器/计数器实验一、实验目的1、掌握MCS-51单片机的定时器/计数器工作方式和编程方法。2、进一步掌握MCS-51单片机中断服务程序编写方法。二、实验内容1、程序一:利用单片机内部中断方式定时器0实现LED3(通过P1.0口)闪烁。2
12、、程序二:利用单片机内部定时器和计数器,控制发光二极管LED10(通过P1.7口)以亮1秒,暗1秒的速度闪烁。三、实验电路程序一:见RM51单片机实验板参考原理图。程序二:见RM51单片机实验板参考原理图(需要自己用导线将P1.0接T1(P3.5)。四、实验步骤1、认真阅读RM51单片机实验板参考原理图。2、在伟福软件中用单步、断点、连续方式调试程序一,检查程序运行结果是否正确,排除软件错误。3、将生成的*.hex目标文件通过ISP下载线烧写到单片机内部,观察LED3的状态,验证运行结果是否正确,直至达到实验的要求为止。4、在伟福软件中用单步、断点、连续方式调试程序二,检查程序运行结果是否正确
13、,排除软件错误。5、用导线将P1.0接T1(P3.5)。6、将生成的*.hex目标文件通过ISP下载线烧写到单片机内部,观察LED3和LED10的状态,验证运行结果是否正确,直至达到实验的要求为止。五、编程提示1、程序1说明定时器T0、T1的数据寄存器都是16位,定时间隔有限,因此会发现LED3闪烁的速度很快。2、程序2说明(1)该程序要求定时时间间隔为1秒,故应采用复合定时的方法。即设T0为50ms定时器,每50ms使P1.0输出变化一次,则100ms后P1.0输出一个完整的计数脉冲,作为T1计数器的计数输入,所以T1每计数10次就能完成1秒的定时。六、实验报告1、画出硬件接线图。2、写出程
14、序清单(要写出必要的注释)和执行结果。3、根据单片机定时器工作方式,如何选择好的工作方式?在长时间定时中,如何提高定时精度?实验六 数码管显示实验一、实验目的1、掌握数码管显示器的工作原理。2、握MCS-51单片机与数码管显示器接口电路的设计方法。3、掌握MCS-51单片机驱动数码管显示器的程序编写方法。二、实验内容1、程序一(静态显示):数码管静态显示一个“6”。2、程序二(动态显示):在实验板5位数码管上动态显示“89C51”。三、实验电路(见RM51单片机实验板参考原理图)。四、实验步骤1、认真阅读RM51单片机实验板参考原理图。2、在伟福软件中用单步、断点、连续方式调试程序一,检查程序
15、运行结果是否正确,排除软件错误。3、将生成的*.hex目标文件通过ISP下载线烧写到单片机内部,观察数码管的状态,验证运行结果是否正确,直至达到实验的要求为止。4、在伟福软件中用单步、断点、连续方式调试程序二,检查程序运行结果是否正确,排除软件错误。6、将生成的*.hex目标文件通过ISP下载线烧写到单片机内部,观察数码管的状态,验证运行结果是否正确,直至达到实验的要求为止。五、编程提示对于动态显示电路,为防止闪烁,需要有显示延时。延时子程序如下:;* 延时子程序 *DELAY: MOV R1,#10Y1: MOV R2,#100 DJNZ R2,$ DJNZ R1,Y1 RET END六、实验报告1、画出硬件接线图。2、写出程序清单(要写出必要的注释)和执行结果。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2