废话扫说少说,上代码,经过开发板测试过。
/***********************************************
功能:实现继电器1S准时切换
************************************************/
#include
typedef unsigned int u16;
typedef unsigned char u8;
sbit Relay =P1^0; //继电器配置IO口
/***********************************************
定时期函数
************************************************/
void Timer0Init(void) //50毫秒@12.000MHz
{
TMOD |= 0x01; //设置定时器模式
TL0 = 0xB0; //设置定时初值
TH0 = 0x3C; //设置定时初值
EA=1;
ET0=1;
TR0 = 1; //定时器0开始计时
}
/***********************************************
主函数
************************************************/
int main()
{
Timer0Init();
while(1)
{
}
}
/***********************************************
中断函数
************************************************/
void Timer0() interrupt 1 //50毫秒@12.000MHz
{
u16 temp;
TL0 = 0xB0; //设置定时初值
TH0 = 0x3C; //设置定时初值
temp++;
if(temp==20)
{
temp=0;
Relay=~Relay; //继电器
}
}
此内容由EEWORLD论坛网友DPJ_PLC原创,如需转载或用于商业用途需征得作者同意并注明出处
|