标题: 用定时器实现1S准时切换 [打印本页]

作者: jubaolun    时间: 2017-3-14 11:20
标题: 用定时器实现1S准时切换
废话扫说少说,上代码,经过开发板测试过。
/***********************************************
功能:实现继电器1S准时切换
************************************************/

#include <STC89C5xRC.H>

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;   //继电器


        }
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1