搜档网
当前位置:搜档网 › 单片机延时中断小程序

单片机延时中断小程序


#include
#include


#define uchar unsigned char
#define uint unsigned int
void delayms(uint) ;

void main()
{
P26 = 0; //关闭数码管数据锁存
P25 = 1; //开启LED片选使能
P0 = 0x00;

TMOD=0x01; //设置定时器0,工作方式为1

TH0=(65536-50000)/256; //装初值 ,设中断时间为50ms
TL0= (65536-50000)%256;

EA=1; //开总中断源

ET0=1; //开启定时器0中断


TR0=1; //启动定时器0


while(1)
{


delayms(200);

P00 = 0x01;
delayms(200);
P00 = 0x00;
delayms(200);


}




}


void T0_time()interrupt 1 //定时0方式1

{


TH0=(65536-50000)/256; //装初值 ,设中断时间为50ms
TL0= (65536-50000)%256;
// IAP_CONTR =0x60;

}




//延时函数xms=多少,就是延时多少毫秒


//延时函数xms=多少,就是延时多少毫秒

void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);

}

//延时函数xms=多少,就是延时多少毫秒


相关主题