南昌大学单片机实验报告上交稿

上传人:s9****2 文档编号:564751472 上传时间:2023-04-29 格式:DOC 页数:26 大小:203KB
返回 下载 相关 举报
南昌大学单片机实验报告上交稿_第1页
第1页 / 共26页
南昌大学单片机实验报告上交稿_第2页
第2页 / 共26页
南昌大学单片机实验报告上交稿_第3页
第3页 / 共26页
南昌大学单片机实验报告上交稿_第4页
第4页 / 共26页
南昌大学单片机实验报告上交稿_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《南昌大学单片机实验报告上交稿》由会员分享,可在线阅读,更多相关《南昌大学单片机实验报告上交稿(26页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上实 验 报 告实验课程: 单片机原理与应用实验 学生姓名: 刘路平 学 号: 专业班级: 电力系统及其自动化111班 2013年 12 月 16 日 南昌大学实验报告学生姓名: 刘路平 学 号: 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验一 I/O 口输入、输出实验一、实验目的掌握单片机P1口、P3口的使用方法。二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、实验

2、说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区),八位逻辑电平输出电路原理图参见图1-1。八位逻辑电平显示电路原理图参见图1-2。五、实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。六、实验步骤1)系统各跳线器处在初始设置状态。用导线连接

3、八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。七、实验程序本实验程序;/*;文件名: Port for MCU51;功能: I/O口输入、输出实验 ;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。;/*实验程序一:

4、DIR BIT P3.1 ORG 0000H LJMP START ORG 0200H START: Output1: mov A, #0fEH ;把二进制赋给A变量 mov R5, #8 ;把8送到R5寄存器中loop1: CLR C ;把标志位清零 mov C,DIR ;读入开关K0的值 JC Output2 ;K0的状态为1则跳转到Output2 mov P1, A ;从P1口输出A的值并显示在二极管上,该位为0则相应的二极管点亮 rl A ;把A进行循环左移,相当于把0进行左移,由此二极管从右到左依次点亮向左的跑马灯 AcAll Delay ;调用延时子程序 djnz R5, loop

5、1 ;判断R5中的值是否为0,来判断是否重新置数,为0就跳到Output1,否则继续loop1 Sjmp Output1 Output2: mov A, #07fH ;把二进制赋给A变量 mov R5, #8 ;把8送到R5寄存器中loop2: CLR C ;把标志位清零 mov C,DIR ;读入开关K0的值 JNC Output1;K0的状态为0则跳转到Output1 mov P1, A;从P1口输出A的值并显示在二极管上,该位为0则相应的二极管点亮 rr A;把A进行循环右移,相当于把0进行左移,由此二极管从左到右依次点亮向右的跑马灯 AcAll Delay;调用延时子程序 djnz R

6、5,loop2;判断R5中的值是否为0,来判断是否重新置数,为0就跳到Output2,否则继续loop2 Sjmp Output2Delay: ;0减1后为-1其补码为 mov R6,#0 ;该延时为双重循环,总延时约为(1+1+(1+1+2)*257+2+(1+(1+1+2)*257)*256)us= 0.s这个值与实验现象很匹配 DelayLoop1: mov R7,#0DelayLoop2: NOP ;空指令 NOP djnz R7,DelayLoop2;R7中值为0则跳转 djnz R6,DelayLoop1 ;R6中值为0则跳转 ret end实验程序二:DIR BIT P3.1 O

7、RG 0000H LJMP START ORG 0200H START: Output1: mov A, #0fEH ;把二进制赋给A变量loop1: CLR C ;把标志位清零 mov C,DIR ;读入开关K0的值 JC loop2 ;K0的状态为1则跳转到loop2 mov P1, A ;从P1口输出A的值并显示在二极管上,该位为0则相应的二极管点亮 rl A ;把A进行循环左移,相当于把0进行左移,由此二极管从右到左依次点亮向左的跑马灯 AcAll Delay ;调用延时子程序 Sjmp loop1 loop2: CLR C ;把标志位清零 mov C,DIR ;读入开关K0的值 JN

8、C loop1;K0的状态为0则跳转到loop1 mov P1, A;从P1口输出A的值并显示在二极管上,该位为0则相应的二极管点亮 rr A;把A进行循环右移,相当于把0进行左移,由此二极管从左到右依次点亮向右的跑马灯 AcAll Delay;调用延时子程序 Sjmp loop2Delay: ;0减1后为-1其补码为 mov R6,#0 ;该延时为双重循环,总延时约为(1+1+(1+1+2)*257+2+(1+(1+1+2)*257)*256)us= 0.s这个值与实验现象很匹配 DelayLoop1: mov R7,#0DelayLoop2: NOP ;空指令 NOP djnz R7,De

9、layLoop2;R7中值为0则跳转 djnz R6,DelayLoop1 ;R6中值为0则跳转 ret end八、结果分析:运行程序1后,拨动开关K0,可以实现两种流水灯方式的选择,即可以实现左移和右移,这主要是由语句JC Output2 和JNC Output1语句实现的,当K0拨到下面时,其状态为0跳转到Output1所以跑马灯为从右向左一次点亮,间隔大约为(1+1+(1+1+2)*257+2+(1+(1+1+2)*257)*256)us=0.s,当K0拨到上面时,其状态为1,跳转到Output2,所以跑马灯为从左向右一次点亮,间隔大约为(1+1+(1+1+2)*257+2+(1+(1+

10、1+2)*257)*256)us=0.s。综合分析,本实验主要有3个模块:左移模块,右移模块和延时模块构成。运行程序2后,拨动开关K0,可以实现两种流水灯方式的选择,即可以实现左移和右移,这主要是由语句JC loop1 和JNC loop2语句实现的,和实验程序1的主要差别就是当拨动开关后,直接进行方向的改变,而不是像程序1那样返回到始端在进行方向的反转。九、实验心得从这个实验中我们了解到如何用P1口输出来点亮二极管,也学会了如何根据具体的单片机的原理图进行编写程序,及线路的连接。通过这次实验我了解了单片机芯片的结构及编程方法。巩固了汇编语言编程的能力。进一步加深了对汇编语言的认识。对延时程序

11、进一步的应用,对编程的能力有了提高通过实验还学会了流水灯的实现方法和实现延时的程序编写方法,这为下面的实验做好了充分的准备。 南昌大学实验报告学生姓名: 刘路平 学 号: 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验二 外部中断实验一、实验目的学习外部中断技术的基本使用方法。二、实验内容INT0 端接单次脉冲发生器。按一次脉冲产生一次中断,CPU 使P1.0 状态发生一次反转,P1.0接LED 灯,以查看信号反转。三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、实验说明和电路原理图1) 外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周

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

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号