813【畢設課設】基於微控制器智慧燈光光控照明系統設計
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
智慧光控照明系統設計原理:
本系統採用STC89C52系列的微控制器為核心,利用BH1750感測器測量實時光照強度,並將亮度的模擬訊號轉化成數字訊號,大大減少了系統的結構。其特點是有兩種模式,為手動和自動兩種模式。在自動模式下,根據微控制器1獲得感測器測得的光照強度資料,傳送給微控制器2,自動調節燈泡的亮暗強度;在手動模式下,由人機對話,人工控制燈泡亮暗程度,實現了多功能智慧控制系統。
智慧光控照明系統框圖:
自動光亮調節、照明系統功能介紹:
系統設有7個按鍵:
按鍵1:模式; 按鍵2:顯示 ; 按鍵3:設定;
按鍵4:加 按鍵5:減 ; 按鍵6:置零; 按鍵7:復位
系統設有3個指示燈,分別為設定指示燈、模式指示燈和電源指示燈,同時還帶有蜂鳴器報警系統;
系統由主機根據測得的光照強度,通過微控制器串列埠,實現兩個微控制器的資料傳輸,再由從機根據主機傳輸的資料,控制小電燈泡模擬的照明裝置工作模式,照明裝置工作模式有5種,每種的亮暗程度不一樣;
系統根據光照強度,劃分了5個檔次:
0<光照強度≤4檔上限,為4檔;
4檔上限<光照強度≤3檔上限,為3檔;
3檔上限<光照強度≤2檔上限,為2檔;
2檔上限<光照強度≤1檔上限,為1檔;
1檔上限<光照強度,為0檔;
系統預設:4檔上限=100;3檔上限=200;2檔上限=300;1檔上限=400;
通電後,電源指示燈亮,主機系統初始化顯示,初始化完後顯示感測器BH1750測得的實時光照強度,並根據測得的光照強度,傳送資料給從機,由從機控制小燈泡亮暗程度;
系統設有兩種工作模式:分別是手動模式和自動模式,模式的切換是由按鍵1“模式”鍵來控制,系統預設初始模式是自動模式;
自動模式:在自動模式下,模式指示燈不亮,系統是根據測得的光照強度來控制燈泡的亮暗程度,在自動模式下,數碼管顯示的是測得的光照強度,按“顯示”鍵,切換到顯示當前的燈泡的亮度檔數,顯示一段時間後,自動跳回顯示測得的光照強度;
手動模式:在手動模式下,模式指示燈點亮,按“加”或“減”來控制燈泡的亮暗程度,在手動模式下,數碼管顯示當前的燈泡的亮度檔數,按“顯示”鍵,切換到顯示測得的光照強度,顯示一段時間後,自動跳回顯示當前的燈泡的亮度檔數;
在兩種模式下按下“設定”鍵,進入設定模式,設定指示燈亮,按“加”或“減”可以調整4檔上限的值,其他3個檔限也依此自加或自減,在任意模式下,按下“置零”,檔限都恢復初始值,再次按下“設定”,退出設定模式,回到原來模式;
當檢測到的光照強度大於1000時,蜂鳴器報警提示;
#include<reg51.h> #include<intrins.h> sbit shuju1=P2^3; //資料串列埠1 sbit shuju2=P2^2; //資料串列埠2 sbit shuju3=P2^1; //資料串列埠3 sbit shuju4=P2^0; //資料串列埠4 sbit dengpao=P1^6; //燈泡驅動 void delay_nms(unsigned int k); int i,j,q; void main() { P1=0x00; i=100; TMOD=0X02; TH0=256-10; TL0=256-10; EA=1;ET0=1;TR0=1; while(1) { if(shuju1==0) i=40; else if(shuju2==0) i=65;