单片机定时器程序代码(单片机定时器程序)

导读 大家好,我是小典,我来为大家解答以上问题。单片机定时器程序代码,单片机定时器程序很多人还不知道,现在让我们一起来看看吧!#include ...

大家好,我是小典,我来为大家解答以上问题。单片机定时器程序代码,单片机定时器程序很多人还不知道,现在让我们一起来看看吧!

#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:自己把小括号里面的东西加上吧。我忘记是什么了,

本文到此讲解完毕了,希望对大家有帮助。

最新文章