单片机定时器 写法

单片机定时器 写法

  #include <reg52.h>
  uint num ,index;
  uchar char nums[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x84,0xf8,0x80,0x98};
//代表0-9的数码管的16进制值
  void main(){
  num=0;
  index=0;
  TMOD = 0x01;//设置定时器0为工作方式
  TH0 = (65536-50000)/256;//设置高八位 定时为50毫秒
  TL0 = (65536-50000)%256;
  EA=1; //开总中断
  ET0=1; //开启定时器0中断
  TR0 =1;//启动定时器中断
  while(1){
    if(index==20)
    {
    //
    index=0;
    //设置显示
       P0 = nums[num];
    num++;
    if(num>9)
    num=0;
    }
  }

  }
  void  timer0() interrupt 1 //定时器0中断函数
  {
     TH0 = (65536-50000)/256;
  TL0 = (65536-50000)%256;
  index++;
  }

你可能感兴趣的:(单片机定时器 写法)