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