第二十五讲51系列单片机输入输出口应用与实验.ppt

第二十五讲51系列单片机输入输出口应用与实验.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二十五讲 51系列单片机输入/输出口应用与实验 P1口应用实验线路图 * 实验内容 * 试编程实现:循环检测电路中四个开关的状态,并根据不同开关上拨的情况,执行不同的程序。具体是:系统初始状态时,开关位置都下拨,四个指示灯都不亮。当开关K1上拨时,其余开关往下拨,则使指示灯L0、L2亮,L1和L3不亮;当开关K2上拨时,其余开关往下拨,则使指示灯L1和L3亮,L0、L2不亮;当开关K3上拨时,其余开关往下拨,则使指示灯全亮;当开关K4上拨时,四个LED指示灯轮流点亮,呈走马灯状态,相邻指示灯点亮的时间间隔为1秒钟,三次循环后结束。 程序流程图 * 源程序设计 * ORG 0000H SJMP MAIN ORG 0040H MAIN: MOV SP,#80H ; 设置堆栈 LOOP: ORL P1,#0F0H ;关闭所有指示灯,并准备输入开关状态信息 LOOP1: MOV A,P1 ; 读取P1口的数据送ACC ANL A,#0F0H ; 提取开关状态信息 CJNE A,#10H, NEXT1; 如果不是只有K1上拨,则转NEXT1。 LCALL TASK1; 如果只有K1上拨,则调用TASK1。 SJMP LOOP; 循环至LOOP处。 NEXT1: CJNE A,#20H, NEXT2; 如果不是K2上拨,则转NEXT2。 LCALL TASK2; 如果只有K2上拨,则调用TASK2。 SJMP LOOP; 循环至LOOP处。 NEXT2: CJNE A,#40H, NEXT3; 如果不是K3上拨,则转NEXT3。 LCALL TASK3; 如果只有K3上拨,则调用TASK3。 SJMP LOOP; 循环至LOOP处。 源程序设计续一 * NEXT3: CJNE A,#80H, NEXT4; 如果不是K4上拨,则转NEXT4。 LCALL TASK4; 如果只有K4上拨,则调用TASK4。 SJMP LOOP; 循环至LOOP处。 NEXT4: CJNE A,#00H, LOOP;如果多开关上拨,则回转至LOOP1。 SJMP LOOP1; 如果无开关上拨,则回转至LOOP。 TASK1: ;该子程序的功能是使指示灯L0、L2亮,L1和L3不亮。 SETB P1.0; CLR P1.1; SETB P1.2; CLR P1.3; RET TASK2: ; 该子程序的功能是使指示灯L1和L3亮,L0、L2不亮. CLR P1.0; SETB P1.1; CLR P1.2; SETB P1.3; RET 源程序设计续二 * TASK3: ;该子程序的功能是使四个指示灯都亮。 MOV P1, #0FFH; RET TASK4: ;该子程序的功能是四个LED指示灯轮流点亮,呈走马灯状态,相邻指示灯点亮的时间间隔为1秒钟,三次循环后结束。 MOV A, #11H;初始化指示灯控制数据。 MOV R6, #3;设置指示灯走马灯点亮循环次数。 LOOP3: MOV R7, #4;设置指示灯移动次数。 LOOP4: MOV P1, A;送出指示灯控制数据。 LCALL Delay_1s;延时1秒钟子程序。 RL A; 形成新的指示灯控制数据。 DJNZ R7, LOOP4;指示灯移位次数未满4次,则回转至LOOP4。 DJNZ R6, LOOP3;走马灯点亮循环次数未满3次,转LOOP3。 ORL P1, #0FFH;重新初始化P1口。 RET; 退出TASK4子程序。 源程序设计续三 * Delay_1s:; 1秒钟延时子程序 MOV R2, #10 LOOP5: MOV R3, #200 LOOP6: MOV R4, #230 DJNZ R4, $ DJNZ R3, LOOP6; DJNZ R2, LOOP5; RET; END 下一讲:第二十六讲 51系列单片机的中断控制

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档