微机原理与接口技术硬件实验12——51单片机IO控制实验,定时器计数器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:微机原理与接口技术姓名:陈肖苇
学院:信息与电子工程学院专业:电子科学与技术学号:3140104580
指导教师:黄凯
2016年12 月23 日
课程名称:微机原理与接口技术指导老师:黄凯成绩:__________________ 实验名称:单片机硬件实验一二
实验一I/O控制实验
1. 实验目的
①掌握基本IO输入输出操作指令;
②熟练运用“WAVE”环境对硬件接口进行调试。
2.预习要求
①理解51单片机IO的输入、输出控制方式;理解P0、P1、P2、P3口做为普通的IO口有何区别。
②理解实现软件延时程序设计的延时时间估算;
③认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实
验报告。
3.基础型实验内容
①8位逻辑电平显示的接口电路设计如图1-1所示,用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
用导线将MCS51模块的P1.0-P1.7端口依次与L0-L7小灯连接。在“WAVE”环境运行该程序,观察
发光二极管显示情况。
ORG 0
LOOP: MOV A, #01H ;设置初值
MOV R2,#8 ;设置循环次数
OUTPUT: MOV P1,A
RL A ;移位,让下一盏灯亮
ACALL DELAY ;调用子程序来延迟
DJNZ R2,OUTPUT ;循环R2次,即8次,达到依次点亮
LJMP LOOP ;循环依次点亮的过程
DELAY: MOV R6,#0 ;延时子程序
MOV R7,#0
DELAYLOOP:DJNZ R6,DELAYLOOP
DJNZ R7,DELAYLOOP
RET
END
实验现象:LED小灯泡从右向左依次点亮,不断循环。实验照片如下:
②8位拨动开关的接口电路设计如图1-2所示,假设采用P1口控制LED显示,P2口接收拨码开关的输入值,用导线将MCS51模块的P1.0-P1.7端口依次与L0-L7小灯连接, 并将P2.0-P2.7端口依次与K0-K7开关连接。在W A VE环境运行该程序,使用单步、断点、连续运行调试程序,查看结果。
ORG 0000H
LL:MOV P2,#0FFH
NOP
MOV A, P2
NOP
MOV P1,A
LJMP LL
END
实验现象:当拨码开关在下面时,对应的灯灭;当拨码开关在下面时,对应的灯亮。
a)所有开关都在下面,灯全灭
b)左侧两个开关在上面,左边两个灯亮
③假设采用P1.0口控制外部LED,拨动开关控制外部中断,用二号导线将MCS51模块的P1.0、P3.2口分别与八位逻辑电平显示模块的L0、单次脉冲输出相连。并在W A VE环境运行程序,观察实验现象。
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTERRUPT
ORG 0030H
MAIN: CLR P1.0 ;P1.0输出低电平
MOV TCON,#01H ;选择触发方式为下降沿触发
MOV IE,#81H
SJMP $ ;等待
INTERRUPT: PUSH PSW ;保护现场
CPL P1.0 ;P1.0电平求反
POP PSW ;恢复现场
RETI
END
实验现象:每次点击时,LED灯状态取反,即原来熄灭的话,按一下按钮,LED灯会被点亮;原来点亮的话,按一下按钮,LED灯熄灭。
实验现象:按一下按钮,LED灯被点亮
实验现象:再次按下按钮,LED灯熄灭
④在上述步骤中,如果改变中断的触发方式为电平触发方式,试改动程序,并在W A VE环境运行程序,观察实验现象,说明实验结果。
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTERRUPT
ORG 0030H
MAIN: CLR P1.0 ;P1.0输出低电平
MOV TCON,#00H;选择触发方式为低电平触发
MOV IE,#81H
SJMP $ ;等待
INTERRUPT: PUSH PSW ;保护现场
CPL P1.0 ;P1.0电平求反
POP PSW ;恢复现场
RETI
END
实验现象:
当P3.2保持低电平时,LED灯被点亮,不过亮度弱于正常值(应为高频闪烁所致)。
实验现象:LED灯亮,但亮度低于正常值
5.设计型实验内容
画出流程并设计程序实现8位逻辑电平显示模块的奇偶位的亮灭闪烁显示,闪烁间隔为
1S。
ORG 0000H
LOOP: MOV A,#055H
MOV R2,#2
OUTPUT: MOV P1,A
RL A
ACALL DELAY
DJNZ R2,OUTPUT
LJMP LOOP
DELAY: MOV R6, #0AH ;延迟
DLY1: MOV R5, #0C8H
DLY2: MOV R4, #0F9H
DLY3: DJNZ R4, DLY3
DJNZ R5, DLY2
DJNZ R6, DLY1
RET
END
设置初值55H,其二进制位为01010101表示奇偶位状态相反。
延迟时间:[(249*2+3)*200+3]*10*12/12000000=1.002030s
实验二定时器计数器实验
1.实验目的
①掌握8051的定时器、中断系统编程方法;
②了解定时器的应用、实时程序的设计和调试技巧。
2.预习要求
①理解定时器的四种工作方式的异同点;
②理解TMOD寄存器中GATE、C/T控制位的作用;
③理解定时器中断服务程序的响应过程;
④理解定时器实现精确定时的方法;
⑤认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实验报告。
3.实验设备
计算机 1 台;
Lab8000型80C51实验开发系统 1 套;
2号导线若干条;
4.基础型实验内容