单片机的倒计时程序

单片机的倒计时程序,第1张

//工程名称:99秒倒计时//功能描述:程序开始显示99秒等待开始倒计时,当再次按下开关后计时//停止,当再按下开关后计时//复位实际上是单片机复位,重新开始!//通过本程序新的认识: 1.BCD数码管的使用 2.十进制到BCD码转化  //3.C51的等待按键作用//2. temp=99i=temp/10j=temp%10i=(i<<4)dis=i+jP0=dis//3.while(sw==1){}// 判按下,下则出 while(sw==0){}//判松开// ,开则出#includesbit sw=P3^5//定义开关main(){ unsigned char temp,disunsigned int i,j,k,t// P0=0x88//初试时检测数码管是否正常// for(k=0k<40000k++)temp=99i=temp/10j=temp%10i=(i<<4)dis=i+jP0=dis//启动是显示99while(sw==1){}// 判按下,下则出while(sw==0){}//判松开 ,开则出 第一次按开关for(t=0t<5t++)//循环来减{for(k=0k<30000k++)temp--i=temp/10j=temp%10i=(i<<4)dis=i+jP0=disfor(k=0k<30000k++)if(sw==0) break// while(sw==1){}// while(sw==1){}// break}while(sw==1){}// 判按下,下则出while(sw==0){}//判松开 ,开则出 第一次按开关while(sw==1){}// 判按下,下则出while(sw==0){}//判松开 ,开则出 第一次按开关

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

    MOV TMOD,#01H

    MOV TH0,#HIGH(65536-10000)

    MOV TL0,#LOW(65536-10000)

    SETB ET0

    SETB EA

 MOV R0,#9

 MOV R1,#9

 MOV R2,#0

 MOV R3,#9

 CLR 00H

 CLR 01H

LOOP:

 JB P1.0,LP01

 JNB P1.0,$

 SETB TR0

 CLR 01H

 SJMP LOOP0

LP01:

 JB P1.1,LP02

 JNB P1.1,$

 SETB 01H

 SJMP LOOP0

LP02:

 JB P1.2,LOOP0

 JNB P1.1,$

 CLR TR0

 MOV P3,#0FDH

 MOV P2,#0

 MOV P3,#0FEH

 MOV P2,#0

 SJMP MAIN

LOOP0:

 JB 00H,LOOP1

 MOV A,R0

 SJMP LOOP2

LOOP1:

 MOV A,R1

LOOP2:

 MOV DPTR,#TABLE

 MOVC A,@A+DPTR

 MOV R3,A

 SJMP LOOP

T0ISR:

    CLR TR0

    MOV TH0,#HIGH(65536-10000)

    MOV TL0,#LOW(65536-10000)

    SETB TR0

 JB 01H,T0C

 INC R2

T0C:

 CPL 00H

 MOV A,R3

 JB 00H,T001

 MOV P3,#0FDH

 MOV P2,A

 SJMP T002

T001:

 MOV P3,#0FEH

 MOV P2,A

T002:

 MOV A,R2

 CJNE A,#100,T0E

 MOV R2,#0

 MOV A,R0

 JZ T003

 DEC R0

 SJMP T0E

T003:

 MOV A,R1

 JZ T004

 DEC R1

 MOV R0,#9

T0E:

 RETI

T004:

 CLR TR0

 RETI

TABLE:      共阴极数码管显示代码表

    DB    3FH,06H,5BH,4FH,66H 01234

    DB    6DH,7DH,07H,7FH,6FH 56789

END


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11064728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存