剪板机源程序解释.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
剪板机源程序解释

ORG 0000H ;程序开始。 LJMP MAIN ;跳转到MAIN主程序处。 ORG 0013H ;外部中断T1入口地址处。 LJMP MRT ;跳转到MRT地址处。 ORG 0030H ;主程序MAIN从地址0030H开始。 MAIN: SETB EX1 ;开放外中断INT1。 SETB IT1 ;置INT1为边沿触发。 MOV TMOD,#60H ;置T1为方式2。 MOV TH1,#0FEH ; 载入计数初值。 MOV TL1,#0FEH ; 载入计数初值。 SETB TR1 ; 启动T1定时。 SETB EA ; 开放总中断。 LOOP: SETB P2.0 ;置P2.0为高电平。 MOV A,#0FH ;将立即数0FH传送到累加器A中。 MOV P1,A ;将累加器的内容传送到P1口,准备读取输入状态。 MOV A,P1 ;读P1口的状态。 CJNE A,#0FH,GO1 ;若A不等于0FH,说明有键闭合,转GO1;否则无键闭合;顺序执行。 AJMP LOOP ; 跳转到LOOP标号处执行。 GO1: ACALL DEL ;调用延时子程序,去抖动。 MOV A,P1 ;再读P1口的状态,防止干扰信号串入。 CJNE A,#0FH,GO2 ;若A不等于0FH,说明有键闭合,转GO2;否则无键闭合;顺序执行。 AJMP LOOP ;跳转到LOOP标号处执行。 GO2: MOV DPTR,#TAB ;散转表首地址送DPTR数据指针。 MOV R0,#00H ;设置初始键号(0)送寄存器R0。 L1: RRC A ;累加器内容右移一位,从最低位寻找闭合键。 JNC N1 ;CY不等于1,说明有键按下,转N1;否则顺序执行。 INC R0 ;键号加1。 SJMP L1 ;跳转至L1处继续寻找闭合键。 N1: MOV A,R0 ;将键号送累加器中。 RLC A ;将键号乘2,修正变址值。 JMP @A+DPTR ;散转形成的键值入口地址表。 TAB: AJMP PR0 ;转向P1.0号键功能程序PR0。 AJMP PR1 ;转向P1.1号键功能程序PR1。 AJMP PR2 ;转向P1.2号键功能程序PR2。 PR0: CLR P2.0 ;PR 0功能程序,置P2.0口为低电平。 CLR P0.0 ;置P0.0为低电平,点亮单动状态灯。 CLR P3.6 ;置P3.6为低电平,为限位接近开关提供电源。 JB P3.2,PR0 ;判P3.2是否高电平,若为高电平跳转到PR0处执行;否则顺序执行。 MAN: SETB P2.0 ;置P2.0口为高电平。 SETB P0.0 ;置P0.0口为高电平,熄灭单动状态灯。 JNB P1.0,MAN ;判P1.0口是否低电平,若为低电平跳转到MAN处执行;否则顺序执行。 AJMP LOOP ;跳转到LOOP处执行。 PR1: CLR P2.0 ;PR1功能程序,置P2.0口为低电平。 CLR P0.1 ;置P0.1口为低电平,点亮点动状态灯。 SETB P3.6 ;置P3.6为高电平。 JNB P1.1,PR1 ;判P1.1口是否低电平,若为低电平跳转到PR1处执行;否则顺序执行。 SETB P2.0 ;置P2.0为高电平。 SETB P0.1 ;置P0.1为高电平,熄灭点动状态灯。 AJMP LOOP ;跳转到LOOP处执行。 PR2: CLR P2.0 ;PR2功能程序,置P2.0口为低电平。 CLR P0.2 ;置P0.2为低电平,点亮连动状态灯。 SETB P3.5 ;置P3.5为高电平。 CLR P3.6 ;置P3.6为低电平,为限位接近开关提供电源。 JNB P3.2,NEXT ;判P3.2口是否低电平,若为低电平跳转到NEXT处执行;否则顺序执行。 AJMP ONE ;跳转到ONE处执行。 NEXT: SETB P2.0 ;置P2.0为高电平,关闭P2.0口的输出。 ACALL DELXS ;调用延时子程序。 ONE: JNB P1.2,TWO ;判P1.2口是否为低电平,若为低电平跳转到TWO处执行;否则顺序执行。 JBC TF1,THREE ;查询T1的溢出标志TF1。TF1 0定时未到,转PR2继续查询; TF1 1定时到,转THREE处执行。 AJMP PR2 ;跳转到PR2处执行。 TWO: JNB P1.2,FOUR ;再判P1.2口是否为低电平,防干拢

文档评论(0)

peain + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档