51单片机实现倒计时

51单片机实现倒计时

实验环境


软件: Keil5+Proteus7

元件: AT89C51 * 1,RESPACK-8 * 1,7S3G-COM-CATHODE * 2

image-20220325121254367

仿真图


image-20220325120724059

代码实现


#include<reg51.h>
#define uchar unsigned char 
#define uint unsigned int
uchar num=60,shi,ge;

uchar code TAB[] = {
    0x3F, /*0*/
    0x06, /*1*/
    0x5B, /*2*/
    0x4F, /*3*/
    0x66, /*4*/
    0x6D, /*5*/
    0x7D, /*6*/
    0x07, /*7*/
    0x7F, /*8*/
    0x6F, /*9*/
};

void T0INTinit()
{
    TMOD = 0x01;
    //设置50毫秒延迟
    TH0 = (65536 - 50000) / 256;
    TL0 = (65536 - 50000) % 256;
    EA = 1;		//开总中断
    ET0 = 1;	//允许T1中断
    TR0 = 1;
}

void T0INT() interrupt 1
{
    uchar i;
    TH0 = (65536 - 50000) / 256;
    TL0 = (65536 - 50000) % 256;
    i++;
    //20次50毫秒就是1秒
    if (i == 20)
    {
       i = 0;
       num--;
       //当倒计时为0的时候,重新开始倒计时
       if (num == 0)
         num = 60;
    }
}

void main()
{
    T0INTinit();
    while (1)
    {
        shi = num / 10;
        ge = num % 10;
        P0 = TAB[shi];
        P2 = TAB[ge];
    }
}

成果图


请添加图片描述

  • 24
    点赞
  • 274
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
…˘˚–¯˘ 1. ¡æ 1.1 ˜¿£" …˘˚–¯˘ 1.2 "˙£" 1.2.1 ˚ˇ¨œ ƒ˜£» 1.2.2 ˇ˚ …˘˚–˚–¿» —¶ ˚–…£¤ˇ˚¡¢˚–¡¢ ¡¢ˆº£' £» 1.2.3 …˘˚–˜˚–…¿¨¸˛"Ł¶¤£» 1.3 Ł…˘£" – …˘˚–¯˘ AT89C51 ¥˘ »œ˛""¸—˜£ ¿ …˘˚– 100 ¡£ ¿ˇ˚ …˘ ˚–˚–¿» —¶ ˚–…£ ˇ˚ æ˚ ˛" (˚ ˛»£ ˛» )¡¢˚–£¤˚ ˛»¡¢ ˛»£' ¡¢ £¤˚ ˛»¡¢ ˛»£' ¡¢ ˆº£¤˚ ˛»¡¢ ˛»£' £» …˘˚–˜˚–…¿¨¸˛"Ł¶¤£»`˝» ¿ˇ˚–˙˜¨œ£ ˇ˚ æ ˚ ˛"˜Œ£¤¸˜˛»£' £ ´£¤` ˛»£' £ ¨£¤` ˛»£' ¡£ …˘˚–Łˆ˚–…˚–˜˛»˙—»»¡¢Ł¶¤˚¡¢˘¶ ¶¤˚–˘¡¢˙—»»¨œ˝¤ ˝ ¿—¶ˇ·˚ ˇ¡£ …˘˚–¯˘¡¢˚–¡¢ ¡¢ˆº˜…˘˚– –߈ 100¡¢ 24¡¢ 60¡¢ 60 ł˘…ı…˘˚·˚ˇ¡£ …˘˚–˜ˇ˚´ LED˚´º Ø £ ߈ 8 »˚´º ˇ˚£ ·`·˛ˇ˚˛" ( ˚ ˛»£ ˛» ) ¡¢˚–£¤˚ ˛»¡¢ ˛»£' ¡¢ £¤˚ ˛»¡¢ ˛»£' ¡¢ˆº£¤˚ ˛»¡¢ ˛»£'…˜Œ£¤¸˜˛»£' £ ´£¤` ˛»£' £ ¨£¤` ˛»£' ¡£ 2. … ´ ˝…˜Ł…˘… ˛ …˘˚–¯˘ …ˇ˝ ˜Ł…˘£ …˚˙˘ˇ˚˘ ¿´ ˜Ł…˘£ –Ł…˘ ˆ– ߈ ¥˘ »œ AT89C51 ˜ ¢——I/O ¿ …˘˚–¯˘ˇ˚ ¿´ £ ˘ …ˇ˝ "¤¥˘ »œ £¤" §æ¡¢·£' ¡¢¿˘´ £¤Łˆ ı˚…˚–……¨œ˙—»»£'…ˇ˚ ¿´ ¡£ 2.1 ˜£¿Ø ¿˝… …ˇ˝ ˚ ´º ¥ ˘ »œ § æ · 2.2 ´ ˝… 2.3 ˚ ˆ¸ˆ …˘˚–¯˘—¨ˇ´ · £"Łˆ· "˝¸——· ¡£ …˘˚–¯˘ˇ"£ ˇ˚˛"¨« 0¡£ ˚–"Łˆ …˘˚–˚–…£ · K1£ ¿"˚…Łˆ˚–…£ ˚–Łˆ˜˚˙ˆº£ ·»·˛ K2£ ˆº… 1£» ·»·˛ K1£ Łˆ £ ·˛˝˘£»Łˆ˝Œ"£ · K1 ˘¶ ¶¤˚–˘£ ¿"˚… …˘˚–¡£ …˘˚–¯˘¸——· ˇ´£ · K2£ ˇ˚–˙˜¨˘£¤˜Œ¡¢´¡¢¨£' £»·»·˛£ » …˘˚–…ˇ˚¡£ ¢£" INT0 ¶ƒ˜¿" ˛"˛»˙—»» /˘¶ ·¯¥ K1£» INT1 ¶ƒ˜¿" ˛"— ˜ /¨œ˙—»»·¯¥ K2¡£ 3£ —Ł…˘… ˛ 3.1 ¨…ˇ˝ ˜£¿Ø˝… ¨…ˇ˝ — ˇ ˚ — T 0 — ˝ ¿ — ¶ˇ 0 " »» — ˝ ¿ — ¶ˇ 1 ˚– — 3.2 —Ł…˘ 3.2.1 — —£¤ MAIN £'˜" ƒ˜˚˙ ı˚…» —¡¢"»» —"˝ˆ˚– —…˚ ´º ˜¶ˇ´º–£ ˘` ˝…¨ˇ´£" —·œ´º£¤…¢˚˝£'¨ˇ´£" MAIN: MOV TMOD,#01H ; ¶¤˚–˘ T0 Ł˛" ˚ » MOV R1,#17 ;¨œ MOV R2,#00H ; ˙—»»ˇ˚ (¨œ"˝ …˘˚–˜˙—»» ) MOV R5,#0AH ;˚ ·˛—¶ˇ œœ»ˆº MOV R3,#00H ; ߈˝ ¿—¶ˇ 0 ¶¡¢˚–¡¢ ¡¢ˆº ł——˙—»» MOV R4,#00H ; – …˘˚–¿"˚…£¤ R3=5£'˚–¶ …˘˚–˜ ı »˜ ł——Łˆ MOV 30H,#00H ; MOV 31H,#00H ;˚– MOV 32H,#00H ; MOV 33H,#00H ;ˆº MOV 34H,#20 ;˜Œ˜˙` ˛» MOV 35H,#09 ;˜Œ˜"` ˛» MOV 36H,#06 ;´ MOV 37H,#17 ;¨ SETB EX0 SETB EX1 SETB IT0 ;˝ ¿—¶ˇ 0 ˛"–·¥ ¢ SETB IT1 ;˝ ¿—¶ˇ 1 ˛"–·¥ ¢ SETB ET0 SETB EA MOV TH0,#3CH ;¶¤˚–˘ T0 ˆ ı ı˚…» ¿" ˚… "»» — ˇ˚ — ˆ˚– MOV TL0,#0B0H /* ˇ´ˆ˛""»» — */ LOOP: /* ˇ´ˆ˛"ˇ˚ — */ DISPLY: /* ˇ´ˆ˛"˚– — */ DL1ms:MOV R7,#02H DL: MOV R6,#0FFH DL6: DJNZ R6,DL6 DJNZ R7,DL RET 3.2.2 "»» —…ˇ˚ —˜£¿Ø "»» —£¤ LOOP£' «—¶ˇ ˛æ

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

J.T.L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值