×
嵌入式 > 技术百科 > 详情

掌握单片机的精髓-定时器

发布时间:2020-06-12 发布时间:
|

问题描述:

单片机的精华资源不多,今天练习掌握它的定时器硬件资源

硬件环境:

89C58RD+单片机(共三个定时器T0、T1、T2)


 

 目标是这样的:定时器定时1秒后闪灭led,使用的是定时器内部中断

代码如下:

 

#include

sbit led = P1^0;

unsigned int int_count = 0;

void internal_int() interrupt 1 // time0 overflow
{
 int_count ++;
    //TH0=(8192-5000)/32;  //分别得到高8位和低8位   
    //TL0=(8192-50000)2;
 if(int_count == 20)
 {
  led = ~ led;
  int_count = 0;
 }
}

void init(void)
{  
  led = 0;
  TMOD=0x00;     
  TH0=(65536-50000)/256;  //分别得到高8位和低8位   
  TL0=(65536-50000)%6;
  IE = 0x82;
  TR0=1;    // 计数器T0运行,timer run 
    
}

 


void main()
{
 init();
 while(1);
}

哈哈 成功了




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
德州仪器推出稳压误差仅为1%的无电容LDO产品