找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1111|回复: 1
打印 上一主题 下一主题
收起左侧

单片机实现分钟计时器,从00.00都59.59,不知道哪里错了。求大佬答疑!

[复制链接]
跳转到指定楼层
楼主
ID:718035 发表于 2020-4-6 13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit a=P1^0;
sbit b=P1^1;
unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
#define uchar unsigned char
uchar counter=0;
uchar key=0;
uchar second=0;
uchar minute=0;
main()
{   
          a=1;
          b=0;
    TMOD=0X01;                          
    TH0=0xDc;            
    TL0=0x00;
           EA=1;      
    ET0=1;
    TR0=1;
    while(1)
    {
        if((P3&0x80)==0x00)
                                {
           key++;
           switch(key)
           {
              case 1:
                P2=0x7f;   //11111111
                P0=discode2[second%10];
                break;
              case 2:
                P2=0xbf;      //10111111
                P0=discode2[second/10];
                break;
              case 3:
                P2=0xdf;       //11011111
                P0=discode2[minute%10];
                break;
            }
         }
    }
}
void zhongduan()interrupt 1
{
    TH0=0xee;              
    TL0=0x00;
    TF0=0;
    TR0=1;
    counter++;
    if(counter==200)
    {
       counter=0;
       second++;
       if(second==60)
       {
          second=0;
          minute++;
       }
     }
}      


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:584814 发表于 2020-4-15 15:15 | 只看该作者
key++,加到  key 的值大于 4 以后呢 ?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表