標(biāo)題: 51單片機(jī)智能家居系統(tǒng)設(shè)計(jì) 含程序源碼Proteus仿真原理圖 [打印本頁]
作者: 鈷鉻合金 時(shí)間: 2022-5-14 15:09
標(biāo)題: 51單片機(jī)智能家居系統(tǒng)設(shè)計(jì) 含程序源碼Proteus仿真原理圖
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
8%5)X(8@1_4ZIU~I5MJ@4PT.jpg (52.91 KB, 下載次數(shù): 64)
下載附件
2022-5-14 15:11 上傳
所用到的知識(shí)點(diǎn):
1、8位共陰極數(shù)碼管
2、4x4矩陣鍵盤
3、液晶顯示屏LCD1602
4、大型液晶顯示屏 LCD12864
5、實(shí)時(shí)時(shí)鐘芯片 DS1302
6、數(shù)模轉(zhuǎn)換芯片 ADC0832
7、利用I2C進(jìn)行的數(shù)模轉(zhuǎn)換芯片 PCF8591
8、溫度傳感器 DS18B20
9、壓力傳感器 MAX4115
10、光敏電阻 LDR
11、電機(jī)驅(qū)動(dòng)電路
12、三態(tài)輸出移位緩存器 74HC595
13、外部中斷及定時(shí)器
14、雙機(jī)通訊
15、片機(jī)與上位機(jī)通訊 COMPIM
使用說明:
1、用戶輸入正確的密碼,打開門禁之后,LED屏進(jìn)入歡迎界面,
居室內(nèi)各電器自動(dòng)啟動(dòng);
2、密碼鍵盤支持刪除、清空、提示功能;
3、上方的LED屏實(shí)時(shí)顯示萬年歷,包括年月日,周,時(shí)分秒;
4、下方的LED屏實(shí)時(shí)顯示各傳感器檢測到的狀態(tài),
第一行依次顯示當(dāng)前的溫度、煙霧濃度、光照強(qiáng)度;
5、當(dāng)溫度高于40時(shí),將會(huì)自動(dòng)打開風(fēng)扇,
而當(dāng)溫度高于50度時(shí),將會(huì)自動(dòng)報(bào)警;
6、當(dāng)居室內(nèi)光照強(qiáng)度太低時(shí),自動(dòng)打開照明系統(tǒng),
當(dāng)居室內(nèi)光照強(qiáng)度太高時(shí),自動(dòng)關(guān)上窗簾;
7、當(dāng)室內(nèi)煙霧濃度,超過20,自動(dòng)鳴笛報(bào)警,警報(bào)燈閃爍;
8、用戶也可以手動(dòng)打開或者關(guān)上窗簾;
9、家居系統(tǒng)里裝有體重秤,可以隨時(shí)測量體重;
10、網(wǎng)絡(luò)模塊將最新的溫度、光照強(qiáng)度、煙霧濃度發(fā)送到上位機(jī);
一、首先,進(jìn)入系統(tǒng)會(huì)顯示歡迎界面,并輸入密碼;
密碼輸入錯(cuò)誤:會(huì)顯示“請重新輸入”
密碼輸入正確,會(huì)顯示“”歡迎”
ZTWS}`I7N7B%)9XZT3NSQ2Y.png (11.39 KB, 下載次數(shù): 52)
下載附件
2022-5-14 15:13 上傳
二、密碼輸入正確之后
上面的LED顯示當(dāng)前的時(shí)間。下面的LED實(shí)時(shí)顯示各傳感器檢測到的狀態(tài),第一行依次顯示當(dāng)前的溫度、煙霧濃度、光照強(qiáng)度;如果是溫度、光照強(qiáng)度,第二行會(huì)顯示“worming”+數(shù)字,超過這個(gè)數(shù)字會(huì)自動(dòng)報(bào)警;如果是光照強(qiáng)度。第二行會(huì)顯示“NOMNAL”,”TOO HIGH”,”TOO LOW”,分別表示正常,太高,太低。
@7HW~5JX1AL1_`]8Q[PS8J9.png (11.9 KB, 下載次數(shù): 48)
下載附件
2022-5-14 15:14 上傳
三、溫度傳感器模塊,及煙霧檢測模塊
超過40度時(shí),風(fēng)扇慢慢打開。
超過50度時(shí),自動(dòng)報(bào)警。
煙霧濃度超過20時(shí),自動(dòng)報(bào)警。
28F9665233BF4362A778B973466FA17C.jpg (63.59 KB, 下載次數(shù): 44)
下載附件
2022-5-14 15:14 上傳
531D9C963403411BBD8335E8CA6B13D4.jpg (45.61 KB, 下載次數(shù): 54)
下載附件
2022-5-14 15:14 上傳
F88021AB8C764FFABFCC6CE3455D27AA.jpg (57.17 KB, 下載次數(shù): 48)
下載附件
2022-5-14 15:15 上傳
四、光照強(qiáng)度檢測裝置
光照太低時(shí),自動(dòng)打開照明系統(tǒng)
光照太高時(shí)。自動(dòng)關(guān)上窗簾
另外,窗簾也可以手動(dòng)打開、關(guān)閉。
10DF3BA0FCCB457BB4392A64156EB8F8.jpg (52.78 KB, 下載次數(shù): 66)
下載附件
2022-5-14 15:16 上傳
20C47A29A3A7494B84ACFEFC061CFDB2.jpg (76.64 KB, 下載次數(shù): 41)
下載附件
2022-5-14 15:16 上傳
五、體重秤模塊
檢測到當(dāng)前溫度,并顯示出來。
8KZ4Y2Y_PAMZX]HD3~12`PJ.png (13.17 KB, 下載次數(shù): 40)
下載附件
2022-5-14 15:17 上傳
六、上位機(jī)
因?yàn)閱纹瑱C(jī)有了雙機(jī)通信,甲機(jī)已經(jīng)接受了乙機(jī)的數(shù)據(jù),沒有辦法再接收上位機(jī)發(fā)送的數(shù)據(jù),所以上位機(jī)只做了接收功能。
單片機(jī)每秒一次,把當(dāng)前的溫度,煙霧、光強(qiáng)數(shù)據(jù)發(fā)送到上位機(jī)。
I%W4E928_6GR0M`FYLIS0{O.jpg (39.72 KB, 下載次數(shù): 48)
下載附件
2022-5-14 15:18 上傳
單片機(jī)源程序如下:
- #include "main.h"
- #include "ADC0832.h"
- #include "DS18B20.h"
- #include "LCD1602.h"
- #include "74HC595.h"
- #include "PCF8591.h"
- void main()
- {
- time_init();
- fan=0;
- Pcf8591SendByte(0); //使用通道0
- wendu=get_wendu();
- Init1602(); //調(diào)用初始化顯示函數(shù)
- LCD_Write_String(0,4,"WELCOME TO");
- LCD_Write_String(1,2,"My Smart Home");
- while(1)
- {
- if(flag==1)
- break;
- };
- TR0=1;
- wendu=get_wendu(); //初始化時(shí)調(diào)用溫度讀取函數(shù) 防止開機(jī)85°C
-
- guangqiang=getGuangqiang(); //讀取光照值
- yanwu=getYanwu(); //讀取天然氣值*/
-
-
- PW1 = 1;
- PW2 = 1;
-
- Puts_to_SerialPort("溫度 煙霧 光強(qiáng)\r\n");
- while(1)
- {
- tizhong = Pcf8591ReadByte()/2;
- SendTo595(table[tizhong/10]+(table[tizhong%10]<<4));
- delay1ms(1);
- times++;
- if(times==300)
- {
- times=0;
- }
- if(times<=100)
- {
- if(times==1)
- write_com(0x01);//清屏
- LCD_Write_String(0,0,"WenDu:");
- LCD_Write_Char(0,10,wendu/10,2) ;
- write_data('.');
- LCD_Write_Char(0,13,wendu%10,1) ;
-
- LCD_Write_String(1,0,"Worming:");
- LCD_Write_Char(1,10,set_wdHH,2) ;
- }
- else if(times>100&×<=200)
- {
- if(times==101)
- write_com(0x01);//清屏
- LCD_Write_String(0,0,"YanWu:");
- LCD_Write_Char(0,11,yanwu,2) ;
- LCD_Write_String(1,0,"Worming:");
- LCD_Write_Char(1,10,set_yanwu,2) ;
- }
- else if(times>200)
- {
- if(times==201)
- write_com(0x01);//清屏
- LCD_Write_String(0,0,"GuangZhao:");
- LCD_Write_Char(0,11,guangqiang,2) ;
- if(guangqiang>=set_lightL&&guangqiang<=set_lightH)
- LCD_Write_String(1,5,"NORMAL");
- else if(guangqiang<=set_lightL)
- LCD_Write_String(1,5,"TOO LOW");
- else
- LCD_Write_String(1,5,"TOO HIGH");
- }
- }
- }
- void delay(uchar i)
- {
- for(i;i>0;i--);
- }
- void delay_ms(uint cnt)
- {
- unsigned int x;
- for( ; cnt>0; cnt--)
- {
- for(x=500; x>0; x--);
- }
- }
- void delay1ms(int n)
- {
- unsigned char i;
- for(i=124*n;i>0;i--); //延時(shí)124*8+10=1002us
- }
- void Putc_to_SerialPort(uchar c)
- {
- SBUF=c;
- while(TI==0);
- TI=0;
- }
- void Puts_to_SerialPort(uchar *s)
- {
- while(*s!='\0')
- {
- Putc_to_SerialPort(*s);
- s++;
- WDdelay(5);
- }
- }
- /*************定時(shí)器0初始化程序***************/
- void time_init()
- {
- TMOD=0X21; //定時(shí)器0、工作方式1 ,T2工作方式2
- TH0=(65536-1000)/256;
- TL0=(65536-1000)%256;
- EA=1; //開總中斷
- ET0=1; //開定時(shí)器0中斷
- TR0=0; //允許定時(shí)器0定時(shí)
- SCON=0x50; //串口模式1,允許接收
- PCON=0x00; //波特率不倍增
- TH1=0xfd;
- TL1=0xfd;
- TI=RI=0;
- TR1=1;
- ES=1;
-
- EX0=1;
- IT0=1;
- IP=0x02;
- }
- void check()
- {
- if(wendu/10>=set_wdH)
- fan=1;
- else
- fan=0;
- if(guangqiang<=set_lightL)
- DENG=0;
- else
- DENG=1;
-
- if(yanwu>=set_yanwu||wendu/10>=set_wdHH&&wendu/10<=60)
- {
- speaker=0;
- BaoJing=!BaoJing;
- }
- else
- speaker=BaoJing=1;
- if(guangqiang>=set_lightH&&is_cl==1)
- {
- PW1=1;
- PW2=0;
- delay_ms(1000);
- PW1=1;
- PW2=1;
- is_cl=0;
- }
- if(guangqiang<=set_lightH)
- is_cl=1;
- }
- void time0_inter() interrupt 1
- {
- TH0 = (65536-1000)/256;
- TL0 = (65536-1000)%256; // 50ms 12M
-
-
-
- count++;
- if(count>80)
- {
- count = 0;
- ctimes++;
- wendu=get_wendu();
- guangqiang=getGuangqiang();
- yanwu=getYanwu();
- check();
- tizhong = Pcf8591ReadByte()/2;
- }
- if(ctimes==15)
- {
- ctimes=0;
- Putc_to_SerialPort(' ');
- Putc_to_SerialPort(wendu/100+'0');
- Putc_to_SerialPort(wendu/10%10+'0');
- Puts_to_SerialPort(" ");
- Putc_to_SerialPort(yanwu/10+'0');
- Putc_to_SerialPort(yanwu%10+'0');
- Puts_to_SerialPort(" ");
- Putc_to_SerialPort(guangqiang/10+'0');
- Putc_to_SerialPort(guangqiang%10+'0');
- Puts_to_SerialPort("\r\n");
- }
-
- }
- void inter_0() interrupt 0
- {
- PW1 = 1;
- PW2 = 1;
- if(KEY1==0){
- delay(10);
- while(!KEY1);
- //電機(jī)逆時(shí)針轉(zhuǎn)動(dòng),模擬窗簾打開
- PW1 = 1;
- PW2 = 0;
- delay_ms(1000);
- //電機(jī)停止轉(zhuǎn)動(dòng),窗簾打開完成
- PW1 = 1;
- PW2 = 1;
- }
- if(KEY2==0){
- delay(10);
- while(!KEY2);
- //電機(jī)順時(shí)針轉(zhuǎn)動(dòng),模擬窗簾關(guān)閉
- PW1 = 0;
- PW2 = 1;
- delay_ms(1000);
- //電機(jī)停止轉(zhuǎn)動(dòng),窗簾關(guān)閉完成
- PW1 = 1;
- PW2 = 1;
- }
- KEY1=1;
- KEY2=1;
- }
- void Serial_INT() interrupt 4
- {
- if(RI)
- {
- RI=0;
- if(SBUF==1)
- {
- flag=1;
- }
- }
- }
-
復(fù)制代碼
Keil5代碼與Proteus8.8仿真下載:
智能家居.zip
(553.03 KB, 下載次數(shù): 253)
2022-5-14 15:21 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: 木佑111 時(shí)間: 2022-5-20 17:30
學(xué)習(xí)一下,感覺有用
作者: 18455664884 時(shí)間: 2022-5-22 21:08
樓主 仿真圖是不是少了些東西
作者: zyy1100 時(shí)間: 2022-5-23 09:59
labview上位機(jī)不在壓縮包里嗎
作者: Pr1mo 時(shí)間: 2024-4-9 20:12
仿真圖根本沒效果哇
作者: heicad 時(shí)間: 2024-4-9 21:57
打開仿真后需要重新選擇你的hex文件所在的本地目錄,然后運(yùn)行 輸入密a0867128,對應(yīng)源碼中的uint mima[8]={10,0,8,6,7,1,2,8}; 你看我弄的視頻和仿真
-
51hei.gif
(214.15 KB, 下載次數(shù): 50)
下載附件
2024-4-9 21:58 上傳
-
-
智能家居.7z
2024-4-9 22:00 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
147.37 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5
作者: hhdsdy 時(shí)間: 2024-4-9 22:00
不是沒有效果,而是單片機(jī)的程序來源需要重新設(shè)定。
作者: 小碩314 時(shí)間: 2024-4-10 10:51
兩個(gè)壓縮包都下載了,評(píng)論區(qū)的時(shí)間顯示正常,密碼輸入正常,別的沒效果啊
作者: 關(guān)中小河 時(shí)間: 2024-7-6 15:29
這個(gè)算是有難度的資料,初學(xué)者升級(jí)版
作者: 446737937 時(shí)間: 2024-8-20 10:35
大佬除了這個(gè)密碼鎖功能,其他功能如何實(shí)現(xiàn)了
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
av播播|
久久视频一区
|
伊人999|
日韩黄色网址
|
一区二区欧美日韩
|
婷婷激情综合网
|
一区视频
|
在线观看黄色小视频
|
两性午夜视频
|
玖玖视频在线
|
福利视频免费
|
天天做天天爽
|
黄色一节片
|
久久久不卡
|
国产一区二区精品丝袜
|
日韩精品视频在线免费观看
|
久久青草视频
|
少妇网址
|
一区二区三区四区在线
|
国产视频一
|
免费av大片
|
成人午夜在线视频
|
www.青青草.com
|
国产在线视频网站
|
久久激情小说
|
日韩不卡在线观看
|
日日撸夜夜操
|
伊人久久av
|
午夜一区二区三区
|
狠狠干综合网
|
日韩欧美高清视频
|
国产精品一
|
精品日韩在线
|
日本一级一片免费视频
|
一级片免费
|
性视频在线
|
亚洲色欲色欲www在线观看
|
欧美一级在线观看
|
免费中文字幕
|
久久久久久久免费视频
|
黑人巨大精品欧美一区二区
|