注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
DPJ_PLC的个人空间 https://home.eeworld.com.cn/space-uid-782120.html [收藏] [复制] [分享] [RSS]
日志

用定时器实现1S准时切换

已有 924 次阅读2017-5-31 11:40 |个人分类:单片机

废话扫说少说,上代码,经过开发板测试过。
/***********************************************
功能:实现继电器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;   //继电器


        }
}


此内容由EEWORLD论坛网友DPJ_PLC原创,如需转载或用于商业用途需征得作者同意并注明出处

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章