基于AT89C51单片机烟雾传感器
Posted 徐景祥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AT89C51单片机烟雾传感器相关的知识,希望对你有一定的参考价值。
#include <reg51.h> #include <stdio.h> #define uchar unsigned char //宏定义无符号字符型 #define uint unsigned int //宏定义无符号整型 sbit ST=P3^0; //A/D启动转换信号 sbit OE=P3^1; //数据输出允许信号 sbit EOC=P3^2; //A/D转换结束信号 sbit CLK=P3^3; //时钟脉冲 uint i,j,AD0809; //定义数据类型 //延时子函数 void delay() { i = 1000; while(i--); } /************************************************************************* CLK振荡信号 **************************************************************************/ void timer0( ) interrupt 1 //定时器0工作方式1 { TH0=(65536-2)/256; //重装计数初值 TL0=(65536-2)%256; //重装计数初值 CLK=!CLK; //取反 } /************************************************************************* 主函数 **************************************************************************/ void main() { TMOD=0X01; //定时器中断0 CLK=0; //脉冲信号初始值为0 TH0=(65536-2)/256; //定时时间高八位初值 TL0=(65536-2)%256; //定时时间低八位初值 EA=1; //开CPU中断 ET0=1; //开T/C0中断 TR0=1; while(1) //无限循环 { ST=0; //使采集信号为低 ST=1; //开始数据转换 ST=0; //停止数据转换 while(!EOC); //等待数据转换完毕 OE=1; //允许数据输出信号 AD0809=P1; //读取数据 OE=0; //关闭数据输出允许信号 if(AD0809>=251) //电压显示不能超过5V { AD0809=250; P2 = 0xE0;//报警闪烁LED灯 delay(); P2 =~0xE0; delay(); P0 = ~0x06;//数码管报警显示1 delay(); P0 = ~0x00; delay(); } } }
以上是关于基于AT89C51单片机烟雾传感器的主要内容,如果未能解决你的问题,请参考以下文章
stc12c5a60s2的单片机与at89c51单片机有啥区别论文上面要用
求stc89C52型单片机与DS18B20传感器和MQ-2烟雾传感器电路连接图以及原理
AT89C51单片机进行多机通信等问题求教大神!!明天考试!!在线高分求高人