- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机IO口控制实验实验报告
单片机IO口实验实验报告
实验内容
编写程序,用P1.0~P1.2口连LED,查询拨盘开关SW1的状态来控制LED的亮和灭(P1.7口接SW1)。
编写程序,用P1.0~P1.2口连LED ,用按键开关KEY1作为外部中断输入INT0控制LED的亮和灭。(每按一次按键LED状态取反一次)
二、硬件点原理图
1、实验1电原理图:此次试验连线很简单,把P1.0-P1.2与LED相连,SW1与P1.7相连即可。
2、实验2电原理图:将P1.0-P1.2与LED连接,KEY1与P3.2连接
三、程序流程图
1、实验1程序流程图:
实验2程序流程图
程序清单
1、实验1程序代码
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: CLR P1.0
CLR P1.1
CLR P1.2 ;初始化,将三盏灯熄灭
LOOP1: SETB P1.7 ;设置P1.7的寄存器为1,进入读的状态
JNB P1.7,LOOP2;通过P1.7口输入判断开关状态
SETB P1.0 ;开关开,即为高电平,所以点亮三盏灯
SETB P1.1
SETB P1.2
SJMP LOOP1 ;重新进行判断
LOOP2: CLR P1.0
CLR P1.1
CLR P1.2 ;开关为关,熄灭三盏灯
SJMP LOOP1 ;跳转,回到判断
END
2、实验2程序代码
ORG 0000H
LJMP MAIN ;跳转到主程序
ORG 0003H ;采用INT0中断,因此中断入口地址为0003H
LJMP LOOP ;跳转到中断程序
ORG 0100H
MAIN: CLR P1.0
CLR P1.1
CLR P1.2 ;初始化,将三盏灯熄灭
SETB IT0 ;设置为下降沿触发
SETB EX0 ;使用INT0中断
SETB EA ;开启中断控制
SJMP $ ;自循环,等待中断
ORG 0200H
LOOP:CPL P1.0
CPL P1.1
CPL P1.2 ;进入中断,将三盏灯状态取反
RETI ;退出中断
实验结果记录和分析
实验1结果记录:
将开关往上拨,此时P1.7口输入为高电平,三盏灯被点亮。将开关往下拨,此时P1.7口输入为低电平,三盏灯熄灭。表明程序符合要求。
实验2结果记录:
按下按键开关,按键开关由高电平变为低电平,因此出现下降沿,中断程序被处罚,此时三盏灯的状态改变,被点亮。再按下按键开关,三盏灯熄灭,如此循环。
在实验中,之所以采用下降沿触发而不是低电平触发,是因为机器周期很短,因此按下按键的时间内可能经过了多个机器周期,导致中断程序被触发多次。如果经过的机器周期为偶数个,那么最终灯的状态不会改变。
而在试验中,偶尔也会出现按下按键后灯的状态不改变的情况,我认为这是因为按键开关的抖动引起的,如图:
因此,可能会出现多个上升沿,导致中断程序被多次触发,影响结果。
要消除按键抖动,有两种办法:一是通过改变硬件
如图,RC构成了积分电路,使得电平不会发生突变,从而消除抖动,但是实验箱内的电路已经固定,因此无法实现。另一种实在程序中加入延时。
ORG 0000H
LJMP MAIN ;跳转到主程序
ORG 0003H ;采用INT0中断,因此中断入口地址为0003H
LJMP LOOP ;跳转到中断程序
ORG 0100H
MAIN: CLR P1.0
CLR P1.1
CLR P1.2 ;初始化,将三盏灯熄灭
SETB IT0 ;设置为下降沿触发
SETB EX0 ;使用INT0中断
SETB EA ;开启中断控制
SJMP $ ;自循环,等待中断
ORG 0200H
LOOP:CPL P1.0
CPL P1.1
CPL P1.2 ;进入中断,将三盏灯状态取反
CALL DELAY
RETI ;退出中断
ORG 0300H
DELAY:MOV R3,#250
LP3:MOV R2,#250
LP2:MOV R1,#2
LP1:DJNZ R1,LP1
DJNZ R2,LP2
DJ
您可能关注的文档
最近下载
- 《旅行社经营与管理》电子教案 2-3 旅行社产品开发与设计3.docx VIP
- 2025年知识付费行业市场细分领域竞争格局分析.docx VIP
- 《贵细中药饮片推荐目录及管理策略》.docx VIP
- 《旅行社经营与管理》电子教案 7-2 旅行社客户和质量管理2.doc VIP
- 《旅行社经营与管理》电子教案 2-2 旅行社产品开发与设计2.docx VIP
- 统编版语文四年级上册9《古诗三首》课件(共24张PPT).pptx
- 光子学现代通信光电子学 第6版 [(美)亚里夫,(美)耶赫 著] 2014年版_部分20.pdf VIP
- 第21课 马克思主义的诞生和国际共产主义运动的兴起 课件(共15张PPT)(含音频+视频).pptx VIP
- 教科版(2024)小学科学一年级上册(全册)教案及反思(含目录).docx VIP
- 《旅行社经营与管理》电子教案 7-1 旅行社客户和质量管理1.doc VIP
文档评论(0)