一、設計目的
使用單片機設計智能臺燈對于提高學生的單片機應用能力具有較強的意義。通過該設計,可以鞏固所學的單片機理論知識,培養學生硬件和軟件的設計能力,從而促進學生所掌握的理論知識向實踐應用的改變。
二、設計要求
(1)熟悉51單片機集成開發環境,運用C語言編寫工程文件; (2)熟練應用所選用單片機的內部結構、資源,以及軟硬件調試設備的基本方法; (3)自行構建基于單片機的最小系統,完成相關硬件電路的設計實現; (4)掌握智能臺燈的原理和實現方法。
三、設計內容
(1) 可以通過按鍵切換控制模式,有自動模式和手動模式可選;
(2) 自動模式下,可根據空間環境的光線強度大小,調節臺燈的亮度。并且
1分鐘檢測不到有人,直接熄滅臺燈,達到節能的效果;
(3) 手動模式下,可通過按鍵增加或減少亮度;
開題報告
方案設計
整個系統以STC89C52單片機為核心器件,配合電阻電容晶振等器件,構成單片機的最小系統。其它個模塊圍繞著單片機最小系統展開。其中包括,照明設備采用USB小燈進行模擬,使得設計在外形上更加美觀,在USB小燈內部,是6顆白色的LED燈;光照強度采集模塊,是使用光敏電阻+ADC0832方案;人體感應采用紅外熱釋傳感器,該傳感器靈敏度高,操作控制簡單;指示燈模塊由一顆綠色的小燈構成,指示燈亮時是自動模式,熄滅時是手動模式;按鍵模塊由3個按鍵組成,包括模式切換按鍵、亮度減少按鍵和亮度增加按鍵;
設計功能
1、上電之后,綠色的 LED 燈點亮,代表當前是自動控制模式。
2、通過按鍵 1,可以在手動模式(綠燈滅)和自動模式(綠燈亮)之間來回切換。
3、在手動模式下,可以通過按鍵 2 降低亮度,按鍵 3 增加亮度。
4、在自動模式下,首先要檢測到有人,才進行亮度的自動控制,否則臺燈熄滅。可以擋住光敏電阻的光線,或用手電筒來照射光敏電阻,模擬光照的變化,從而就可以 看到臺燈的亮度會隨著環境中的光照強度的改變而改變,效果是光照越弱,臺燈越亮。如果人體傳感器 1 分鐘檢測不到有人,臺燈就會自動熄滅。
5、無論是自動模式還是手動模式,都是把亮度分為 10 個等級的。
6、注意,人體感應檢測功能只在自動模式下有效。
原理圖設計
源代碼
#include#include #define uchar unsigned char // 以后unsigned char就可以用uchar代替 #define uint unsigned int // 以后unsigned int 就可以用uint 代替 sbit LED = P1^0; // 模式指示燈,亮是自動模式,滅是手動模式 sbit Lamp = P1^4; // 臺燈控制引腳 sbit Key1 = P1^1; // 按鍵1,模式切換按鍵 sbit Key2 = P1^2; // 按鍵2,亮度減少按鍵 sbit Key3 = P1^3; // 按鍵3,亮度增加按鍵 sbit ADC_CS = P2^3; // ADC0832的CS引腳 sbit ADC_CLK = P2^0; // ADC0832的CLK引腳 sbit ADC_DAT = P2^1; // ADC0832的DI/DO引腳 sbit Module = P2^2; // 人體紅外檢測模塊 uchar gCount=0; // 全局計數變量 uchar gIndex; // 亮度變量,0是最暗,9是最亮,一共10檔 uint gTime=0; // 計時變量,用于計時多久沒檢測到有人 /*********************************************************/ // 毫秒級的延時函數,time是要延時的毫秒數 /*********************************************************/ void DelayMs(uint time) { uint i,j; for(i=0;i
-
單片機
+關注
關注
6057文章
44807瀏覽量
644172 -
51單片機
+關注
關注
276文章
5707瀏覽量
125777 -
C語言
+關注
關注
180文章
7626瀏覽量
139552 -
智能臺燈
+關注
關注
9文章
85瀏覽量
21415
原文標題:【畢業設計】基于51單片機的智能臺燈設計(任務書、原理圖、PCB、源代碼、參考論wen)
文章出處:【微信號:精通單片機與嵌入式,微信公眾號:精通單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦

一種基于51單片機的智能臺燈設計
如何去實現一種基于51單片機的智能臺燈設計
基于51單片機的智能臺燈設計

50-基于51單片機的智能臺燈設計

評論