当水流量小于2L/min时发出报警,不要求显示流量。
#include<avr/io.h>
#include<avr/interrupt.h>
#define F_CPU 12000000
#include <util/delay.h>
#define BUZZ PA6
int main(void)
{
unsigned int i;
DDRB = 0x00;
PORTB=0xff;
DDRA |= 0xff;
PORTA &= 0x00;
while(1)
{
if(PINB & (1 << 6))
{
for(i = 0;i < 5000;i ++)
{
PORTA &= ~(1 << BUZZ); //PA6输出低电平
_delay_us(500); //延时完成一次脉冲上半周期
PORTA |= (1 << PA6); //PA6输出高电平,
_delay_us(500); //延时完成一次脉冲下半周期
}
}
_delay_ms(5000);
以上是某人的光电传感器的报警程序,也许对各位有参考作用。
(当光电开关接通时不报警,断开时报警。)
用的水流量传感器是这个http://item.taobao.com/item.htm?id=4555776393
怎么修改以上的程序,才能对水流量报警呢? 什么单片机,A/D转换的真没学过这东西,拜托大哥们了! |