余章健
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 134 点
下载积分: 530 分
在线时间: 1(小时)
注册时间: 2012-10-17
最后登录: 2013-03-31
查看余章健的 主题 / 回贴
楼主  发表于: 2012-12-18 14:37
题目:用定时器编写下程序。要求:按下SB按键,LED灯点亮,9秒后熄灭,并且在数码管上显示计时过程。
  下列是我编的程序,在我用计算机调试程序正确,但仿真软件不能显示(仿真软件没有问题的)。求帮助,看看那里有错误帮忙改正,谢谢了
#include"reg51.h"
sbit SB=P0^0;
sbit LED=P2^0;
unsigned  char  N,t;
void Timer0 ( ) interrupt 1
{TH0=60536/256;
TL0=60536%256;
N++;
if(N>=100)
    {t++;N=0;} }
void main( )
  {  char i, SEG[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  
     TMOD=0x01;
     TH0=60536/256;
     TL0=60536%256;
     for(;;)
   {while(SB==1)
   TR0=1;
   ET0=1;
   EA=1;
   LED=1;
   if(t==9);
   {LED=1;}
   for(t=0;t>=9;t++)
   {P1=SEG[ t ]  }       }  }