单片机P口控制程序.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 P1口输入、输出实验 一.实验要求 1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。 二.实验目的 1.学习P1口的使用方法。 2.学习延时子程序的编写和使用。 三. 实验电路及连线 实验一时,P1.0-P1.7接L0-L7。 实验二时,P3.0-P3.2接K0-K2,P1.0-P1.7接L0-L7。CS273接第模块地址译码的F200。 四.实验说明 1.P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 2.延时子程序的延时计算问题 对于程序 DELAY: MOV R0,#00H DELAY1: MOV R1,#0B3H DJNZ R1,$ DJNZ R0,DELAY1 查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为: ((0B3+1)×256+1)×2×12100.002mS 五.实验框图 程序框图: TP1A.ASM主程序框图 TP1B.ASM主程序框图 循环右移 ORG 0000H MAIN: MOV A,#0FEH LOOP1: MOV P1,A RL A ACALL DELAY SJMP LOOP1 DELAY: MOV R0,#00H DELAY1: MOV R1,#0B3H DJNZ R1,$ DJNZ R0,DELAY1 RET 三个开关,控制八个状态,1代表亮第一灯,2代表亮前面两灯,依次类推。 ORG 0000H MAIN: MOV A,P3 ANL A,#07H SJMP START START: CJNE A,#00H,L2 MOV A,#00H MOV P1,A LJMP MAIN L2: CJNE A,#01H,L3 MOV A,#01H MOV P1,A LJMP MAIN L3: CJNE A,#02H,L4 MOV A,#03H MOV P1,A LJMP MAIN L4: CJNE A,#03H,L5 MOV A,#07H MOV P1,A LJMP MAIN L5: CJNE A,#04H,L6 MOV A,#0FH MOV P1,A LJMP MAIN L6: CJNE A,#05H,L7 MOV A,#1FH MOV P1,A LJMP MAIN L7: CJNE A,#06H,L8 MOV A,#3FH MOV P1,A LJMP MAIN L8: CJNE A,#07H,LAST MOV A,#7FH MOV P1,A LJMP MAIN LAST: LJMP MAIN ORG 0000H MAIN: MOV A,#0FEH LOOP1: MOV P1,A RL A ACALL DELAY SJMP LOOP1 DELAY: MOV R0,#00H DELAY1: MOV R1,#0B3H DJNZ R1,$ DJNZ R0,DELAY1 RET 开关控制循环左右移动 ORG 0000H MAIN: MOV A,#0FEH LOOP1: MOV P1,A MOV R2,P3 CJN

文档评论(0)

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

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

1亿VIP精品文档

相关文档