国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
基于51單片機的煤氣濃度檢測程序Proteus仿真 keil5 C語言編寫
[打印本頁]
作者:
coolice
時間:
2021-7-12 00:47
標題:
基于51單片機的煤氣濃度檢測程序Proteus仿真 keil5 C語言編寫
1. 能夠檢測煤氣的濃度;
2. 液晶LCD1602顯示煤氣的濃度;
3. 超標進行聲光報警。
由于是仿真,煙霧濃度傳感器采用仿真里面的光敏傳感器代替,用ADC0832測電壓值。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
3.gif
(111.09 KB)
下載附件
2021-7-12 00:45 上傳
部分源碼:完整源碼見附件
void init()
{
write_com(0x38); //顯示模式設置:16×2顯示,5×7點陣,8位數據接口
delay(20);
write_com(0x0c); //顯示模式設置
delay(20);
write_com(0x06); //顯示模式設置:光標右移,字符不移
delay(20);
write_com(0x01); //清屏幕指令,將以前的顯示內容清除
delay(20);
}
void dis(uchar k)
{
CO=k;
write_com(0x80); //設置所要顯示字符的位置為第一行第一列
a=0;
for(a=0;a<3;a++) //總共要顯示3個字符,故循環三次。
{
write_data(table[a]);
delay(10);
}
write_com(0x83); //顯示濃度百位
write_data(0x30+CO/100);
delay(10) ;
write_com(0x84); //顯示濃度十位
write_data(0x30+CO/10%10);
delay(10) ;
write_com(0x85); //顯示濃度個位
write_data(0x30+CO%10);
delay(10) ;
write_com(0x86);
write_data('%'); //顯示“%”
delay(10) ;
}
unsigned char ad0832read(bit SGL,bit ODD)
{
unsigned char i=0,value=0,value1=0;
SCL=0;
DO=1;
CS=0; //開始
SCL=1; //第一個上升沿
SCL=0;
DO=SGL;
SCL=1; //第二個上升沿
SCL=0;
DO=ODD;
SCL=1; //第三個上升沿
SCL=0; //第三個下降沿
DO=1;
for(i=0;i<8;i++)
{
SCL=1;
SCL=0; //開始從第四個下降沿接收數據
value<<=1;
if(DO)
value++;
}
for(i=0;i<8;i++)
{ //接收校驗數據
value1>>=1;
if(DO)
value1+=0x80;
SCL=1;
SCL=0;
}
CS=1;
SCL=1;
if(value==value1) //與校驗數據比較,正確就返回數據,否則返回0
return value;
return 0;
}
void main()
……………………
…………限于本文篇幅 余下代碼請下載附件…………
復制代碼
完整源碼和proteus仿真文件:
煤氣泄漏檢測報警器.rar
(51.17 KB, 售價: 2 E幣)
2021-7-12 00:46 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0