找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求大神检查我程序的错误!!!

[复制链接]
跳转到指定楼层
楼主
#include<reg51.h>
sbit kh=P1^0;
sbit km=P1^1;
sbit ks=P1^2;
sbit st=P1^3;
sbit  b=P3^7;
Unsigned; char
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char i=0,hour=0,minute=0,second=0;
void delayms(unsigned int x)
{   unsigned char a=160;
while(x--)  {   while(a--);
  a=160;  }  }
main() {   
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TMOD=1;
TR0=0;
ET0=1;
EA=1;  
while(1)   {     P0=table[hour/10];
P2=~32;
delayms(1);
P2=0xff;
P0=table[hour%10];
P2=~16;//
delayms(1);
P2=0xff;
P0=table[minute/10];
P2=~8;
delayms(1);
P2=0xff;
P0=table[minute%10];
P2=~4;
delayms(1);
P2=0xff;
P0=table[second/10];
P2=~2;
delayms(1);
P2=0xff;
P0=table[second%10];
P2=~1;
delayms(1);
P2=0xff;
if(!kh)
{      
delayms(200);
  hour++;
if(hour>23)
        hour=23;     }  
else if(!km)
{       delayms(200);
  minute++;
if(minute>59)      
minute=59;            }   
  else if(!ks)
{    delayms(200);
second++;
if(second>59)
second=59;            }     
if(!st)
{       delayms(200);      
TR0=1;     }     
if(TR0==1&&hour==0&&minute==0&&second<3)
b=!b;
delayms(1);}
}   
void   t0() interrupt 1  
{    TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
if(i>=20)
{    i=0;     
second--;
if(second>59)     
{        second=59;
minute--;
  if(minute>59)      
{        minute=59;
         hour--;
         if(hour>23)
{        hour=0;            
minute=0;           
second=0;            
TR0=0;}        }      }    }      }

KYTQFKK9]0U{(8{GH_9XGKR.png (20.19 KB, 下载次数: 93)

KYTQFKK9]0U{(8{GH_9XGKR.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:98549 发表于 2015-12-6 14:45 | 只看该作者
、设计要求  基于AT89C51单片机的LED数字倒计时器主要具有如下功能,具体要求如下:  (1)LED数码管显示倒计时时间。  (2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出2s的报警声音。 (3)通过按键可以对倒计时设定处置。倒计时初值范围在24:00:00~00:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值
回复

使用道具 举报

板凳
ID:98549 发表于 2015-12-6 14:45 | 只看该作者
这是要求:、设计要求  基于AT89C51单片机的LED数字倒计时器主要具有如下功能,具体要求如下:  (1)LED数码管显示倒计时时间。  (2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出2s的报警声音。 (3)通过按键可以对倒计时设定处置。倒计时初值范围在24:00:00~00:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值
回复

使用道具 举报

地板
ID:304879 发表于 2018-10-17 15:32 | 只看该作者
".\Objects\LED倒计时" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:00
一个错误都没有
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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