- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
硬件实验一 I_O控制实验
硬件实验一 I/O控制实验
实验目的
掌握基本IO输入输出操作指令;
熟练运用keil环境对硬件接口进行调试。
预习要求
理解51单片机IO的输入、输出控制方式;理解P0、P1、P2、P3口做为普通的IO口有何区别。
理解实现软件延时程序设计的延时时间估算;
认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实验报告。
实验设备
计算机 1台;
ZDGDTH-1型80C51实验开发系统 1套;
2号导线 4条;
8P数据线 1条。
基础型实验内容
8位逻辑电平显示的接口电路设计如图1-1所示,用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。用8P数据线将D2区80C51/C8051F020MCU模块的 JD1(P1口)与A5区8位逻辑电平显示模块JD1A5相连。在Keil环境运行该程序,观察发光二极管显示情况。
图1-1 8位八位逻辑电平显示接口电路
ORG 0
Loop: mov a, #0FEh
mov r2,#8
Output: mov P1,a
rl a
Acall Delay
djnz r2,Output
Ljmp Loop
Delay: mov r6,#0 ;延时程序
mov r7,#0
DelayLoop: djnz r6,DelayLoop
djnz r7,DelayLoop
ret
end
实验现象及分析:通过该程序实现了发光二极管从右到左轮流循环点亮。程序中,首先对A附初值,点亮一盏灯,然后左移实现循环点亮,在该过程中需要调用延时程序从而实现延时,一共8个发光二极管当依次点亮后进行循环。
8位拨动开关的接口电路设计如图1-2所示,假设采用P1口控制LED显示,P2口接收拨码开关的输入值,用8P数据线将D2区80C51/C8051F020MCU模块的 JD1(P1口)、JD1(P2口)分别与A5区八位逻辑电平显示模块JD1A5、C6区8位拨动开关模块JD1 C6相连。在Keil环境运行该程序,观察实验结果。
图1-2 拨码开关接口电路
ORG 0000H
LL: MOV P2,#0FFH
NOP
MOV A, P2
NOP
MOV P1,A
SJMP LL
END
实验现象及分析:该实验观察到通过C6区的K0-K7开关可以控制A5区的L0-L7发光二极管的亮灭。当开关向上拨时发光二极管点亮,而开关向下拨时发光二极管灭。程序中,首先将P2都设置为1,然后将P2口赋给A,再将A赋给P1,从而实现了用P2控制P1的功能。
如图1-3所示,假设采用P1.0口控制外部LED,拨动开关控制外部中断,用二号导线将D2区80C51/C8051F020MCU模块的 P1.0、P3.2口分别与A5区八位逻辑电平显示模块的L0、C8区单次脉冲输出相连。并在Keil环境运行程序,观察实验现象。
图1-3 外部中断及LED显示电路
流程图为:
源程序:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTERRUPT
ORG 0030H
MAIN: CLR P1.0
MOV TCON,#01H
MOV IE,#81H
SJMP $
INTERRUPT: PUSH PSW ; 保护现场
CPL P1.0
POP PSW ; 恢复现场
RETIORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTERRUPT
ORG 0030H
MAIN: CLR P1.0
MOV TCON,#00H
MOV IE,#81H
SJMP $
INTERRUPT: PUSH PSW ; 保护现场
文档评论(0)