找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2344|回复: 3
收起左侧

LED倒计时程序仿真有问题,求大神帮解答一下

[复制链接]
ID:72221 发表于 2015-1-14 16:25 | 显示全部楼层 |阅读模式
#include<reg51.h>
unsigned table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char i=0,h=0,m=13,s=0;
#define uchar unsigned char
sbit a =P1^0 ;
sbit led=P3^7;
sbit lad=P3^6;
void delayms(unsigned int x)
{
  unsigned char a=160;
  while(x--)
  {
   while(a--);
   a=160;
  }
}
void DelayM(int x)
{
  uchar j;
  for(j=0;j<(x*20);j++)
  {
   TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
while(!TF1);
TF1=0;
   }

}
void main()
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   TMOD=0x11;
   TR0=0;
   ET0=1;
   EA=1;
    led=0;
lad=1;
   while(1)
   {
      
  
  P0=table[h/10];
     P2=~32;
     delayms(1);
     P2=0xff;
     P0=table[h%10];
     P2=~16;
     delayms(1);
  P2=0xff;
   
     P0=table[m/10];
     P2=~8;
     delayms(1);
  P2=0xff;  
   
     P0=table[m%10];
     P2=~4;
     delayms(1);
   P2=0xff;
     P0=table[s/10];
     P2=~2;
     delayms(1);
   P2=0xff;
     P0=table[s%10];
     P2=~1;
     delayms(1);   
   P2=0xff;
   if(a==0)
    {
      
      delayms(200);
   TR0=1;
   
    led=1;
    DelayM(5);
    led=0;
         }
   
   
   
   
    }
   
}
void  t0()interrupt 1
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   i++;
   if(i>=20)
   {
     i=0;
     s--;
     if(s>59)
       {
          s=59;
          m--;
             if(m>59)
               {  
                   m=59;
                   h--;
                   if(h>23)
                     {
                        h=0;
                        m=0;
                        s=0;
                        TR0=0;
                      }
                }
        }

   }
}     
我想实现的功能是本来一灭一亮的两个led灯在按下a按键后变成都亮持续5秒,再恢复原样。同时6位数码管显示都亮的倒计时。但是这个程序仿真出来是按下a按键后数码管没显示数字,但LED亮了持续5秒,恢复原样后数码管才显示数字,时间是走了5秒后的。这是怎么回事?
回复

使用道具 举报

ID:1 发表于 2015-1-18 15:53 来自手机 | 显示全部楼层
建议楼主把仿真的工程文件传上来大家一起调试一下。直接看程序的话不太方便
回复

使用道具 举报

ID:76287 发表于 2015-4-11 17:18 | 显示全部楼层
可能并没有初始化吧。。。。。。。。。。。。。。。。。。。。。。。。。

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:68416 发表于 2015-4-14 00:02 | 显示全部楼层
你把C文件传上来看一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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