当前位置:首页 > 单片机 > 单片机
[导读]图片1ORG0000H000000NOP00010130AJMPSTART0003C2A8CLREX0;INT0入口,用于单步执行。000502039CLJMPPUSH_REG;转去单步现场保护。ORG000BH;T0中断入口000B02200BLJMP200BH;转至200BH,向用户开放。ORG0013H;INT1入


图片1

ORG0000H

000000NOP


00010130AJMPSTART

0003C2A8CLREX0;INT0入口,用于单步执行。


000502039CLJMPPUSH_REG;转去单步现场保护。

ORG000BH;T0中断入口


000B02200BLJMP200BH;转至200BH,向用户开放。


ORG0013H;INT1入口

0013022013LJMP2013H;转至2013H,向用户开放。


ORG001BH;T1中断入口

001B020BB2LJMP0BB2H;监控占用,转去打印控制。

ORG0023H;串行口中断入口


0023022023LJMP2023H;转至2023H,向用户开放。


;*****************监控程序初始化*********************


ORG0030H


00307879START:MOVR0,#79H;监控初始化程序段

00327601MOV@R0,#01H;送“CPU-51”显示代码。


003408INCR0

00357605MOV@R0,#05H

003708INCR0

00387614MOV@R0,#14H

003A08INCR0


003B761CMOV@R0,#1CH

003D08INCR0


003E7610MOV@R0,#10H


004008INCR0

0041760CMOV@R0,#0CH

0043758140MOVSP,#40H;堆栈指针初值设为40H。

00467400MOVA,#00H;监控用的存储单元清零。


0048F52FMOV2FH,A;状态标志单元2FH清零。


004A7830MOVR0,#30H;30H—3FH单元清零。


004C7910MOVR1,#10H


004EF6START0:MOV@R0,A


004F08INCR0

0050D9FCDJNZR1,START0


;****************监控开始,等待键命令*******************


00521204AFMONITOR:LCALLKEY_SCAN;扫描键盘。

00557005JNZKEY_PROC;有键则转键处理。

00571204D0LCALLDISPLAY;维持显示。

005A0152AJMPMONITOR


005C120340KEY_PROC:LCALLOFF_DISP;键命令处理程序。


005F120460K_P1:LCALLKEY_GET

006220E40DJB ACC.4,COMMAND;功能键,转命令处理。

0065857D7EMOV7EH,7DH;数字键,送显示。


0068857C7DMOV7DH,7CH


006B857B7CMOV7CH,7BH


006EF57BMOV7BH,A


0070015FAJMPK_P1

00725407COMMAND:ANLA,#07H;命令分析。

0074F8MOVR0,A;命令功能参见附录五。

007523RLA

007628ADDA,R0


007790007BMOVDPTR,#FUNCTION

007A73JMP@A+DPTR;用散转指令转相应分支。


007B02024EFUNCTION:LJMPMOV;转MOV命令分支。

007E0200A0LJMPDOWN;转MON命令分支。


00810201B1LJMPWRIT;转WRI命令分支。

0084020161LJMPREAD;转RDS命令分支。

00870200AFLJMPEXEC;转EXE命令分支。


008A0200E6LJMPEXAM;转EXA命令分支。


008D020209LJMPF;转[F]命令分支。


0090 0201FB

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭