51单片机基于7289可调电子时钟程序问题

[复制链接]
2977|3
 楼主| 机电一小厮 发表于 2011-8-25 13:45 | 显示全部楼层 |阅读模式
先看部分程序
void main(void)
{
zlg7289Init();               /*  初始化7279     */
TMOD=0x01;//使用定时器T0
EA=1;//开总中断
ET0=1;//允许T0中断
TH0=(65536-50000)/256;//定时器高八位赋值
TL0=(65536-50000)%256;//定时器低八位赋值
int_time=0;    //中断计数变量初始化
second=0;      //秒计数变量初始化
minute=0;     //分钟计数变量初始化
hour=0;       //小时计数变量初始化
TR0=1;//启动定时器T0
   
while (1) {
//   
    zlg7289Download(0,0,0,hour/10);//显示
    zlg7289Download(0,1,0,hour%10);
    __delayNuS (10);
    zlg7289Download(0,2,0,10);
    zlg7289Download(0,3,0,minute/10);
    zlg7289Download(0,4,0,minute%10);
    __delayNuS (10);
    zlg7289Download(0,5,0,10);
    zlg7289Download(1,6,0,second/10);
    zlg7289Download(1,7,0,second%10);
   
   }
   
}
/***************************************************************************************************
                                函数功能:定时器中断服务子程序
*******************************************************************************************************/
void interserve(void) interrupt 1
{  TR0=0;//关闭定时器T0
int_time++;
  if(int_time==20)
   {
    int_time=0;
    second++;
   }
  if(second==60)
   {
    second=0;
    minute++;
   }
  if(minute==60)
   {
    minute=0;
    hour++;
   }
   
     key_scan();
  
     
            //执行键盘扫描
  TH0=(65536-50000)/256;//定时器高八位重新赋值
     TL0=(65536-50000)%256;//定时器低八位重新赋值
    TR0=1;//启动定时器T0
}
 楼主| 机电一小厮 发表于 2011-8-25 13:45 | 显示全部楼层
上面的程序中,数码管可以计时,只是按按键没有反应,如果把主函数while(1)中的程序放到中断里,按键便可以调时钟了,想问下为什么这样,如果不把那段显示程序放到中断里该如何弄,谢谢。。。
 楼主| 机电一小厮 发表于 2011-8-25 13:45 | 显示全部楼层
键盘扫描函数
void key_scan(void)
{
        if(KEY!=0xff)
                {
                a= zlg7289Key();         
         

        if(a==0)
                 hour++;
         if(a==1)
                 minute++;
         if(a==2)
                 second++;
         if(a==3)
                 {
                         second=0;
                        minute=0;
                        hour=0;        
                }
                }
}
 楼主| 机电一小厮 发表于 2011-8-25 13:46 | 显示全部楼层
大家凑合看吧,把程序都弄来太乱了,谢谢指教。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部