求单片机定时器简单程序(C语言)详解。不胜感激~

求单片机定时器简单程序(C语言)详解。不胜感激~,第1张

定时器0中断做流水灯,程序如下:#include<reg52.h>#include<intrins.h>//包含_crol_()循环左移函数

unsigned char temp,countvoid init() //初始化函数{ TMOD=0x01//设置定时器0为工作方式1 TH0=(65536-50000)/256//装初值,高8位 TL0=(65536-50000)%256//装初值,低8位 EA=1//开总中断 ET0=1//开定时器0中断 TR0=1//启动定时器0 temp=0xfecount=0//记数值清0}void main(){ init()while(1){ P1=temp}}void timer0() interrupt 1 using 1 //定时器0中断函数{ TH0=(65536-50000)/256//重装初值,同上 TL0=(65536-50000)%256count++//计数值加1 if(count==10)//500ms{ count=0//计数值清0 temp=_crol_(temp,1)循环左移一位}

10ms的中断,定时器0,工作方式1,启用定时器中断。

#include <reg51.h>

void InitTimer0(void)

{

TMOD = 0x01

TH0 = 0x0D8

TL0 = 0x0F0

EA = 1

ET0 = 1

TR0 = 1

}

void main(void)

{

InitTimer0()

}

void Timer0Interrupt(void) interrupt 1

{

TH0 = 0x0D8

TL0 = 0x0F0

//add your code here!

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11311722.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存