定时器Nebula Pi评测报告·

Nebula Pi 开发板评测报告(四)——定时器功能测试

ii11nnocent

ii11nnocent

1596 0

51单片机内部有T0和T1两个定时/计数器,可以实现精确时间的定时。采用如下程序可实现LED灯以1Hz的频率进行闪烁:

#include "reg52.h"

sbit LED = P1^0;

void Timer0_Init(void);

void Timer0_Init(void)
{
 TMOD = 0x01;  //工作方式1,16位定时器
 TH0 = 0x4C;   //定时50ms初值高八位
 TL0 = 0x00;   //定时50ms初值低八位
 ET0 = 1;    //开定时器0中断
 EA = 1;     //开总中断
 TR0 = 1;    //开启定时器0
}


void main(void)
{
 Timer0_Init(); //定时器0初始化
 while(1)
 {
  ;       //等待
 }
}

void Timer0() interrupt 1 using 1
{
 static unsigned int i; //计数变量
 i++;
 TH0 = 0x4C;   //重装初值,定时50ms初值高八位
 TL0 = 0x00;   //定时50ms初值低八位
 if( i == 20 )  //i=20时定时了1s
 {
  LED = ~ LED; //LED灯反转  
  i = 0;    //i清零,重新计数
 }
}

程序下载后,P1.0引脚连接的LED等以1Hz的频率进行闪烁。 dingshiqi1hz.mp4

所属系列

从当前文章继续阅读它所在合集中的前后内容。

相关文章

优先推荐同专题、同标签和同作者内容,补足热门文章。

评论 0

登录 后参与评论

评论

成为第一个评论的人