控制工程师论坛

教程与手册

定时计数器T0作定时应用技术(一)

xilinxue
xilinxue

2008-09-20

#include <AT89X51.H>
 
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
                               0x66,0x6d,0x7d,0x07,
                               0x7f,0x6f,0x77,0x7c,
                               0x39,0x5e,0x79,0x71,0x00};
unsigned char second;
unsigned char tcount;
 
void main(void)
{
  TMOD=0x01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  TR0=1;
  ET0=1;
  EA=1;
  tcount=0;
  second=0;
  P0=dispcode[second/10];
  P2=dispcode[second%10];
  while(1);
}
 
void t0(void) interrupt 1 using 0
{
  tcount++;
  if(tcount==20)
    {
      tcount=0;
      second++;
      if(second==60)
        {
          second=0;
        }
      P0=dispcode[second/10];
      P2=dispcode[second%10];             
    }
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
}


 

回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China