守时器这家伙在哪里都会用到,实践工程开发中没有能脱离守时器的。所以把握守时器就尤为重要了,这儿首要说到的是最基本的使用了–用于守时。
LED原理图见《51单片机–流水灯演示》,守时器没有原理图,归于单片机内部资源。
代码如下:
#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() interrupt 1 //中止服务程序
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%6;
jishuNumber++; //计满一次加1
}
以上,完毕。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/259175.html