两位倒计时器程序(单片机—汇编语言)

两位倒计时器程序(单片机—汇编语言)

ID:8808342

大小:506.00 KB

页数:2页

时间:2018-04-08

两位倒计时器程序(单片机—汇编语言)_第1页
两位倒计时器程序(单片机—汇编语言)_第2页
资源描述:

《两位倒计时器程序(单片机—汇编语言)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、两位倒计时器程序    ORG  00H    JMP  START    ORG  30HSTART:MOV  P2,#00H  ;位选置低电平  显示00      MOV  P3,#0FH  ;键盘置P3.4低电平    MOV  R4,#0    ;显示标志  显示00    MOV  DPTR,#TABLE;    SETB  P0.7K:    MOV  R3,#00H  ;按键按下或未弹起标志    JNB  P3.0,W1  ;判断按键S1是否按下  按下转判断S1按键是否弹起   

2、 JNB  P3.1,W2  ;判断按键S2是否按下  按下转判断S2按键是否弹起    JNB  P3.2,INT  ;判断按键S3是否按下  按下转倒计时设置子程序    JMP  DISP    ;转显示和判断按键S4是否按下W1:  JB  P3.0,IN1 ;判断按键S1是否弹起  弹起转加1子程序设置    MOV  R3,#1    ;设置按键S1未弹起标志    JMP  DISP    ;转显示和判断按键S4是否按下W2:  JB  P3.1,IN0 ;判断按键S2是否弹起  弹起

3、转减1子程序设置    MOV  R3,#2    ;设置按键S2未弹起标志DISP:JNB  P3.3,START;判断按键S3是否按下  按下转复位    MOV  A,R4    ;    MOV  B,#10    DIV  AB    MOV  21H,BDISP1:SETB  P2.1    ;显示十位    CLR  P2.0    LCALLDEL     ;调用显示和延时子程序  DISP2:MOV  A,21H    ;显示个位    SETB  P2.0    CLR  P2.

4、1    LCALLDEL      ;调用显示和延时子程序    CJNE  R3,#4,K1 ;判断按键S3是否按下  否就转判断其他按键按下情况    DJNZ  R2,DISP  ;倒计时显示  延时:0.5msX2X200=200ms=0.2s    DJNZ  R1,DISP  ;倒计时显示  延时:0.5msX2X5+200ms=205ms=0.205s    AJMP  INT     ;转倒计时设置子程序K1:  INC  R3      ;判断按键按下或未弹起标志加1    CJ

5、NE  R3,#3,K2  ;判断按键S2是否按下未弹起  否就转判断其他按键按下情况    AJMP  W2      ;转继续转判断S2按键是否弹起K2:  CJNE  R3,#2,K  ;判断按键S1是否按下未弹起  否就转判断其他按键按下情况    AJMP  W1      ;转继续转判断S1按键是否弹起IN1:CJNE  R4,#99,ADD1;判断当前值是否为99  否就转加1子程序(加1子程序设置)      AJMP  START    ;复位ADD1:INC  R4      ;

6、当前值加1(加1子程序)    AJMP  K      ;转继续判断是否有按键按下INT:  MOV  R3,#4    ;设置倒计时标志(倒计时子程序设置)    MOV  R2,#200  ;置显示中循环次数    MOV  R1,#5   ;置显示外循环次数IN0:CJNE  R4,#0,SUBB1;判断当前值是否为0  否就转减1子程序(减1子程序设置)    CJNE  R3,#4,SUBB0;如果当前值为0  判断S3是否按下  否就S2按下转减1    AJMP  START    

7、;转复位SUBB0:MOV  R4,#100  ;100-1=99(0-1=99)SUBB1:DJNZ  R4,DISP  ;当前值减在转显示(减1子程序)    CJNE  R3,#4,K  ;判断S3是否按下  否就转继续判断是否有按键按下    CLR  P0.7    ;蜂鸣    MOV  P2,#00H  ;位选置0  开    MOV  P1,#3FH  ;当前值显示  00    MOV  R3,#5    ;置蜂鸣延时次数标志DELAY:MOV  R7,#250    DELA:M

8、OV  R6,#20DEL:  MOVC  A,@A+DPTR      MOV  P1,A    MOV  R5,#200      DJNZ  R5,$    ;2机周X250X1us/机周=500us=0.5ms    CJNE  R3,#5,EXIT  ;判断是否是蜂鸣的延时  不是转中断返回    DJNZ  R6,DEL   ;0.5msX10=5ms    DJNZ  R7,DELA  ;5msX200=1000ns=1s    AJMP  START 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。