AVR控制继电器

来源:互联网 发布:状态机编程 编辑:程序博客网 时间:2024/05/02 02:51
/*********/
时间:2014年5月19日
作者:fengjianxin
/*********/
#include<avr/io.h>
#include<util/delay.h>
#define uchar unsigned char


#define AnJian_P_H PORTB |= _BV(PB4)
#define AnJian_D_L DDRB  &= ~_BV(PB4)


#define JiDian_H    PORTC |= _BV(PC1)//继电器控制端口
#define JiDian_P    PORTC ^= _BV(PC1)
#define Jidian_PI() (PINB & _BV(PB4))//开关控制端口
#define JiDian_D_H  DDRC  |= _BV(PC1)


void Init()
{
    AnJian_D_L;//输入
    AnJian_P_H;//内部上拉电阻上拉


    JiDian_D_H;//PC1作为输出
    JiDian_H;  //关闭继电器



int main()
{
    Init();
    while(1)
    {
        if(!Jidian_PI())
        {
            while(!Jidian_PI());
               JiDian_P; 
              _delay_ms(30);
        }
    }    
0 0
原创粉丝点击