AVR技术论坛
直播中

lilvt

8年用户 29经验值
私信 关注
[AVR问答]

求大神改一下程序

捕获22.PNG

这是我的一个仿真图,下面是程序,图中的BEEP和FIRE现在是低电平输出,驱动后面的模块开始工作,我要把它改成高电平驱动后面的模块,就是输出高电平开始工作,请问要怎么改。
#include
#define u8  unsigned char
#define u16 unsigned int

#define BEEP_ON (PORTC &= ~(1< #define BEEP_OFF (PORTC |=  (1<
#define FIRE_ON  (PORTC &= ~(1< #define FIRE_OFF (PORTC |=  (1<

void Delay(u16 t)   //不准确延时
{
         u16 x,y;
         for(x=t; x>0; x--)
                 for(y=100; y>0; y--);
}

void GPIO_Init(void)//IO口初始化
{
         DDRC   = (1<          PORTC  = 0XFF;
         DDRD  &= (1<          PORTD != (1< }

int main(void)
{
        GPIO_Init();
        while(1)
        {
       
                 if((PIND&(1<                 {
                         Delay(100);             //软件消抖
                        if((PIND&(1<                         {
                                FIRE_OFF;           //没有火焰   关掉报警、破窗装置
                        BEEP_OFF;                    
                        }
                }
                else        //检测有火焰   打开报警、破窗装置
                {
                        FIRE_ON;
                    BEEP_ON;                       
                }
        }
        return 0;
}

已退回10积分

更多回帖

发帖
×
20
完善资料,
赚取积分