新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机 定时器T0方式1 控制流水灯

51单片机 定时器T0方式1 控制流水灯

作者: 时间:2016-11-25 来源:网络 收藏
定时器这家伙在哪里都会用到,实际工程开发中没有能离开定时器的。所以掌握定时器就尤为重要了,这里主要提到的是最基本的使用了--用于定时。

LED原理图见《51单片机--流水灯演示》,定时器没有原理图,属于单片机内部资源。

本文引用地址://m.amcfsurvey.com/article/201611/321308.htm

代码如下:

#include//头文件
#include
#define uint unsigned int//宏定义
uint jishuNumber,aa;//定义jishuNumber为计数器计满次数(本程序20次为1S) aa代表流水号

void main()//主函数入口
{
aa=0xfe;//初始化为点亮第一个LED灯
P1=aa;
//定时器T0方式1初始化(其它通用)
TMOD=0x01;//①TMOD赋值,以确定T0/T1的工作方式
TH0=(65536-46080)/256;//②计算初值,并将初始化值写入TH0/TL0
TL0=(65536-46080)%6;
EA=1;//③开放相应中断
ET0=1;//④TR0/TR1置位,启动相应定时器/计数器
TR0=1;
while(1)
{
if(jishuNumber==20)//如果1S
{
jishuNumber=0;
aa=_crol_(aa,1);//把aa左旋之后赋值给aa
P1=aa;//流水灯点亮
}
}
}
void T0_time_no1()interrupt1//中断服务程序
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%6;
jishuNumber++;//计满一次加1
}


以上,结束。



评论


技术专区

关闭