亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機可燃氣體報警系統設計
[打印本頁]
作者:
fxyz
時間:
2020-6-13 13:31
標題:
單片機可燃氣體報警系統設計
可燃氣體報警系統整體設計框圖如圖1所示,主控制器由不間斷電源UPS供電。當空氣中的可燃氣體濃度達到或超過設定值時,一般設定高限為20%LEL,高高限為40%LEL,檢測電路即產生與空氣中被測氣體濃度成線性關系的“氣——電”信號,再對該信號(模擬信號)進行分析處理,通過A/D轉化變為數字信號傳至控制器。最后由單片機驅動LED數碼管觸摸屏的彩色液晶顯示屏,顯示氣體濃度值,最后由蜂鳴器完成報警過程。經延時、判斷,確認為事故泄漏后,發出聲光報警,啟動應急處理程序,關閉燃氣管道電磁閥,切斷進口氣源,啟動通風換氣設備(軸流風機)進行排氣。當氣體濃度降低到安全點后,關閉通風換氣設備,停止報警,打開氣體管道電磁閥,達到安全保護目的。 并且系統具有自診斷功能,若檢測到氣敏元件損壞,系統關閉閥門,并啟動故障報警信號,黃色報警燈閃亮,提示用戶更換氣敏傳感器。并考慮了要實現現場氣體濃度顯示,超限預警及自動處理等功能。
51hei.png
(28.45 KB, 下載次數: 88)
下載附件
2020-6-13 15:05 上傳
可燃氣體報警器設計框圖如圖2所示。當環境中有可燃氣體存在時,傳感器將會產生一定的電壓變化ΔV,考慮到安裝的需要,處理器與可燃氣體傳感器會有一段距離,所以將電壓信號ΔV轉化成4~20mA電流信號,為保證檢測到的信號有較遠的傳輸距離,此電流通過采樣電阻,最后通過A/D轉化電路,將模擬信號轉化為數字信號,通過數碼顯示管顯示出來。
51hei.png
(20.72 KB, 下載次數: 75)
下載附件
2020-6-13 15:05 上傳
可燃氣體報警系統中的核心元件是傳感器。在初次使用時,對傳感器需進行調零,以便使數碼管顯示的氣體濃度為0%,當環境中存在可燃氣體時,差分放大電路將傳感器生成的電壓信號百度ΔV轉化為4~20mA電流信號,然后送至單片機采樣端口。
檢測電路由補償元件和檢測元件配對組成電橋的兩個臂,遇到可燃氣體時,檢測元件電阻升高,橋路輸出電壓變量,此變量與氣體濃度成正比增大,補償元件起參比及溫度補償作用,其特點是橋路輸出電壓呈線性,具有良好的重復性、響應速度快,元件工作穩定、可靠,本文在設計系統,采用MC102作為氣體傳感器,它對1%濃度的甲烷,其靈敏度為20-40mA。
三、程序實現
3.1程序實現時應考慮的問題
控制器設計
1.控制器設計框圖
主控制器是設計的難點,也是系統的最主要部分。一方面:實時的顯示濃度信息,判斷接受數據,進行聲光報警,連鎖控制閥門和排風設備的動作;另一方面:及時響應顯示終端,實現查詢、設定等功能,同時還要實現故障自診斷功能。主控制器主要包括通訊模塊、人機界面、存儲、打印、報警,電源等功能模塊。智能顯示終端通過串口通訊方式,用32KB的EEPROM存儲系統參數及歷史記錄等關機保存數據,用32KB的RAM存儲實時濃度信息。24V到5V電壓轉化通過電源電路部分實現。同時也檢測市電、備電及充電狀況等,其主控制器結構圖如圖3。
#include<reg51.h> //包含單片機寄存器的頭文件
#include<intrins.h> //包含_nop_()函數定義的頭文件
unsigned char flag=0; //緊急報警標示位
unsigned char flag1=0; //傳感器檢測報警標示位
unsigned int after_AD_val=0; //儲存濃度數值范圍是100-10000
unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f共陰極
unsigned int TIME_1;
sbit CS=P1^0; //將CS位定義為P3.4引腳0xc0,
sbit CLK=P1^1; //將CLK位定義為P1.0引腳
sbit DIO=P1^2; //將DIO位定義為P1.1引腳
sbit K1=P2^4;
sbit LED1=P2^0; //警情指示燈
sbit LED2=P2^1; //正常指示燈
sbit BEEP=P2^2;
sbit wei1=P3^0;
sbit wei2=P3^1;
sbit wei3=P3^2;
sbit wei4=P3^3;
unsigned int wan,qian,bai,shi,ge;
void delay1ms()
{
unsigned char i,j;
for(i=0;i<10;i++)
for(j=0;j<33;j++)
;
}
void delay2ms()
{
unsigned char i,j;
for(i=0;i<120;i++)
for(j=0;j<33;j++)
;
}
void delaynms(unsigned char n)
{
unsigned char i;
for(i=0;i<n;i++)
delay1ms();
}
void key()
{
if(K1==0)
{
delaynms(5);
if(K1==0)
{
while(!K1);
flag++;
if(flag==2)
flag=0;
}
}
}
/*****************************************************
函數功能:報警子程序
*****************************************************/
void baojing()
{
if(flag==1||flag1==1)
{
LED2=1;
LED1=0;
BEEP=0;
delaynms(10);
BEEP=1;
delaynms(10);
}
if(flag==0&&flag1==0)
{
LED2=0;
LED1=1;
BEEP=1;
}
}
void display()
{
//unsigned sel;
wan=after_AD_val/10000;
qian=(after_AD_val/1000)%10;
bai=(after_AD_val/100)%10;
shi=(after_AD_val/10)%10;
ge=after_AD_val%10;
//sel=0x01;
//P0=table[wan];
// P3=sel;
// delaynms(3);
//P3=0x00;
//sel=sel<<1;
P0=table[qian];
wei1=1;
delaynms(1);
wei1=0;
//sel=sel<<1;
P0=table[bai];
wei2=1;
delaynms(3);
wei2=0;
//sel=sel<<1;
P0=table[shi];
wei3=1;
delaynms(3);
wei3=0;
//sel=sel<<1;
P0=table[ge];
wei4=1;
delaynms(3);
wei4=0;
//sel=sel<<1;
}
/*****************************************************
函數功能:將模擬信號轉換成數字信號
***************************************************/
unsigned int A_D()
{
unsigned char i,dat;
CS=1; //一個轉換周期開始
CLK=0; //為第一個脈沖作準備
CS=0; //CS置0,片選有效
DIO=1; //DIO置1,規定的起始信號
CLK=1; //第一個脈沖
CLK=0; //第一個脈沖的下降沿,此前DIO必須是高電平
DIO=1; //DIO置1, 通道選擇信號
CLK=1; //第二個脈沖,第2、3個脈沖下沉之前,DI必須跟別輸入兩位數據用于選擇通道,這里選通道CH0
CLK=0; //第二個脈沖下降沿
DIO=0; //DI置0,選擇通道0
CLK=1; //第三個脈沖
CLK=0; //第三個脈沖下降沿
DIO=1; //第三個脈沖下沉之后,輸入端DIO失去作用,應置1
CLK=1; //第四個脈沖
for(i=0;i<8;i++) //高位在前
{
CLK=1; //第四個脈沖
CLK=0;
dat<<=1; //將下面儲存的低位數據向右移
dat|=(unsigned char)DIO; //將輸出數據DIO通過或運算儲存在dat最低位
}
CS=1; //片選無效
return dat; //將讀書的數據返回
}
/*****************************************************
函數功能:警情檢測子程序
*****************************************************/
unsigned int jq()
{
unsigned int AD_val; //儲存A/D轉換后的值
AD_val=A_D(); //進行A/D轉換
if(AD_val>=30)
flag1=1;
else
flag1=0;
after_AD_val=(9900/256)*AD_val+100;
return AD_val;
}
/*****************************************************
函數功能:主函數
***************************************************/
void timer1() interrupt 3
{
TH1=(65536-65535)/256;
TL1=(65536-65535)%256;
TIME_1++;
if(TIME_1 > 8)
{TIME_1=0;
jq();
}
}
main(void)
{
LED2=1;
LED1=1;
BEEP=1;
EA=1;
TMOD=0X10;
TH1=(65536-60000)/256;
TL1=(65536-60000)%256;
ET1=1;
TR1=1;
while(1)
{
//jq();
display();
key();
baojing();
}
}
復制代碼
Word格式文檔51黑下載地址:
設計1.doc
(718.89 KB, 下載次數: 54)
2020-6-13 13:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hei團團
時間:
2020-6-20 02:22
好資料,51黑有你更精彩!!!
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1