欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)危險(xiǎn)氣體檢測儀程序
[打印本頁]
作者:
12323ff
時(shí)間:
2019-5-9 20:17
標(biāo)題:
單片機(jī)危險(xiǎn)氣體檢測儀程序
程序設(shè)計(jì)
IMG_2305.JPG
(2 MB, 下載次數(shù): 47)
下載附件
2019-5-9 20:14 上傳
單片機(jī)源程序如下:
//程序頭函數(shù)
#include <reg52.h>
//顯示函數(shù)
#include <display.h>
//宏定義
#define uint unsigned int
#define uchar unsigned char
#define Data_ADC0809 P1
//管腳聲明
sbit LED_R= P2^2;//紅燈
sbit FENG = P2^5;//蜂鳴器
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^6;
sbit OE=P3^2;
//按鍵
sbit Key1=P2^6; //取消按鍵
bit bdata flag; //報(bào)警標(biāo)志位
uchar set;
//函數(shù)聲明
extern uchar ADC0809();
extern void Key();
//酒精含量變量
uchar temp=0;
uchar BJ=30; //報(bào)警值
void init() //初始化函數(shù)
{
TMOD=0x01; //工作方式
TL0=0xb0;
TH0=0x3c; //賦初值(12MHz晶振的50ms)
EA=1; //打開中斷總開關(guān)
ET0=1; //打開中斷允許開關(guān)
TR0=1; //打開定時(shí)器開關(guān)
}
void main() //主函數(shù)
{
Init1602();//初始化顯示
init(); //初始化定時(shí)器
while(1) //進(jìn)入循環(huán)
{
temp=ADC0809(); //讀取酒精濃度值
if(set==0) //只有在非設(shè)置狀態(tài)時(shí),
Display_1602(temp,BJ); //才刷新顯示實(shí)時(shí)濃度值
if(temp<BJ&&set==0) //非設(shè)置時(shí)當(dāng)濃度值小于報(bào)警值時(shí)
{
flag=0; //報(bào)警標(biāo)志位置0,不報(bào)警
}
else if(temp>BJ&&set==0) //非設(shè)置時(shí)當(dāng)濃度值大于報(bào)警值時(shí)
{
flag=1; //報(bào)警標(biāo)志位置1
}
Key(); //掃描按鍵
}
}
//ADC0809讀取信息
uchar ADC0809()
{
uchar temp_=0x00;
//初始化高阻太
OE=0;
//轉(zhuǎn)化初始化
ST=0;
//開始轉(zhuǎn)換
ST=1;
ST=0;
//外部中斷等待AD轉(zhuǎn)換結(jié)束
while(EOC==0)
//讀取轉(zhuǎn)換的AD值
OE=1;
temp_=Data_ADC0809;//將0809的數(shù)值讀入單片機(jī)
OE=0;
return temp_; //返回讀到的數(shù)據(jù)
}
void Key() //按鍵函數(shù)
{
if(Key1==0) //設(shè)置鍵按下時(shí)
{
while(Key1==0); //檢測按鍵是否釋放
FENG=1; //蜂鳴器不響
flag=0; //停止報(bào)警
TR0=0; //定時(shí)器停止
}
}
void time1_int(void) interrupt 1 //定時(shí)器函數(shù)
{
uchar count;
TL0=0xb0;
TH0=0x3c; //重新賦初值
count++; //計(jì)時(shí)變量加
if(count==10)//定時(shí)器定時(shí)是50ms,此處計(jì)數(shù)10次,正好是500ms,用于報(bào)警時(shí) 燈亮和蜂鳴器響
{
if(flag==0) //報(bào)警標(biāo)志為0時(shí)
{
LED_R=1; //紅燈滅
FENG=1; //蜂鳴器不響
}
if(flag==1) //報(bào)警標(biāo)志位為1時(shí)
{
LED_R=0; //紅燈亮
FENG=0; //蜂鳴器響
}
}
if(count==20) //計(jì)數(shù)到20時(shí),正好是1000ms,就是1s,這里就是讓燈滅,蜂鳴器不響,從而做出閃爍的效果
{
count=0; //計(jì)到1s時(shí),將count清零,準(zhǔn)備重新計(jì)數(shù)
if(flag==0)
{
LED_R=1;
FENG=1;
}
if(flag==1)
{
LED_R=1;
FENG=1;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
程序設(shè)計(jì).zip
(46.41 KB, 下載次數(shù): 38)
2019-5-9 20:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
為了通過
時(shí)間:
2019-5-30 10:04
電路圖什么樣子啊?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1