大家好,我是小典,我来为大家解答以上问题。单片机定时器程序代码,单片机定时器程序很多人还不知道,现在让我们一起来看看吧!
#include <reg52.h>
#define uchar unsigned char //类型重定义
#define uint unsigned int
#define ulong unsigned long //类型重定义
sbit led=P0^0;
sbit K_1= P2^0; //按键
ulong num;
void delay(uint xms) //ms级延时子程序
{ uint x,y;
for(x=xms;x>0;x--)
for(y=130;y>0;y--);}
//=================================================
void main()
{
led=1; //上电初始化,led灯不亮
delay(100);
TMOD=0x01; //设定定时器0为工作方式1
TH0=(65536-50000)/256; //装载初始值,12MHZ晶振50ms数为50000
TL0=(65536-50000)%256; //
(开启总中断允许);
(开启定时器中断允许);
while(1)
{
if(K_1==0)
{
while(K_1==0);
TR0=1; //启动定时器0 */
led=0; //按键1按下时灯亮
}
if(num==200)
{num=0;
(关闭定时器0);
led=1; //200*50ms后灯灭
}
}
void interrupt_timer0(void) interrupt 1
{
(关闭T0中断);
TH0=(65536-50000)/256; //装载初始值,12MHZ晶振50ms数为50000
TL0=(65536-50000)%256; //
num++;
(开启T0中断);
}
PS:自己把小括号里面的东西加上吧。我忘记是什么了,
本文到此讲解完毕了,希望对大家有帮助。