单片机实验报告2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
二、实验地点:图书馆816-2
三、实验目的:掌握中断控制单元的设置方法及中断的编程方法。
四、实验内容
1.内容及要求:
(1)用单次脉冲信号申请中断,在中断处理程序中对输出信号进行翻转,在此实验中使用P1.0口接一发光二极管显示。程序如下:
ORG 0000H
LJMP START
ORG 0013H
LJMP INT
ORG 1000H
START:
SETB P1.0
SETB EX1
SETB PX0
SETB IT1
SETB EA
INT:
CPL P1.0
RETI
END
(2)用单次脉冲信号申请中断,要求程序中对每次中断进行计数,并将计数结果显示在发光二极管上。在本实验中用P1口接了八个发光二极管来实现。程序如下:
ORG 0000H
LJMP START
ORG 0013H
LJMP INT
ORG 1000H
START:
MOV A,#00H
MOV P1,A
SETB EX1
SETB PX0
SETB IT1
SETB EA
INT:
INC P1
RETI
END
2.流程图如下:
图1 信号翻转流程图
图2 计数器加1流程图
3.实验步骤
(1.1)将P3.2与单脉冲用导连接,P1.0接一个发光二极管,用二极管的亮、灭来显示翻转。
(1.2)打开试验箱,编写中断程序。
(1.3)编译、运行中断程序并观测试验箱。若试验箱中的发光二极管随着单脉冲按键进行着亮灭亮灭,即说明实现了输出信号的翻转,实验成功。
(2.1)关闭试验箱,将P1.0至P1.7对应连接八个发光二极管,单脉冲连接P3.3。(2.2)打开试验箱,编写中断和累加的程序。
(2.3)编译、运行实验程序并观测试验箱。若八个发光二极管显示的数值等于按下单脉冲键的次数,则实验成功。
五、实验中遇到的问题及解决方法
问题1:实验时,将P3.2口接单脉冲,编写程序时,却写成了0013H,允许中断
1中断。
问题2:刚开始编写计数程序时,没有给P1赋初值,导致计数结果出错。
六、实验现象
1.试验箱上的发光二极管随着单脉冲按键进行着亮、灭、亮、灭的过程,如图3、图4所示:
图3 实验现象图
图4 实验现象图
2.当按下单脉冲按键时,八个发光二极管显示的数值等于按下单脉冲键的次数,如图5、图6所示:
图5 按键1次的实验现象图
图6 按键2次的实验现象图
七、实验总结及心得
第二次做实验,相比于第一次感觉熟练了很多。通过实验,加深理解了中断工作的原理和中断执行的过程,掌握了中断控制单元的设置方法及中断的编程方法,并结合试验箱完成了实验操作。在实验中还巩固学习了中断允许寄存器IE 中各位的功能、中断优先级寄存器IP各个位的含义、TCON寄存器中与中断有关的各标志位功能,这些知识在课堂上虽已经学习过但掌握的并不熟练,通过这次实验使我加深了学习,并学会了如何在编程中合理运用。