本次實驗設計采用QX—Mini最小系統開發板,DS1302時鐘模塊,LCD12864帶字庫顯示屏,DHT11溫濕度傳感器, MQ-135煙霧傳感器,ADC0832模數轉換器,兩路繼電器、燈泡一個,其中使用Stc89C52作為主控芯片實現實時顯示時鐘,溫濕度顯示,煙霧報警器,時鐘控制系統。 1、上電后12864顯示: 歡迎使用XXXXXX系統 設計人:姓名、班級、學號 2、5秒后進入菜單12864顯示: 0—系統時間設置 (時鐘、日歷等) 1---正常運行 其他設置:菜單號自定 計科班:鐘控開始時間設置:顯示當前時間 鐘控結束時間設置:顯示將要設置的時間 3、正常遠行后12864顯示:(計科、教育)。每2秒切換顯示內容 (1)時鐘顯示:例如:2020年8月27日 星期四 16:30:15 (其它顯示自定義) (2)溫濕度、空氣質量 例如:23℃ 46% (3)特殊值顯示并報警 4、其它顯示個人定義 3. 設計實現的方案上電后lcd12864顯示第一個畫面——愛心(自定義圖標);然后切換下一個畫面——第一行顯示:歡迎使用數顯系統、第二行顯示:設計人:魏明、第三行顯示:專業:計算機科學與技術、第四行顯示:1986000291;然后切換下一個畫面——菜單界面;然后停留在菜單界面等待選擇;在現有的元器件上進行四個模塊的劃分分別如下: 時鐘:顯示實時的時間 溫濕度:顯示相對濕度以及溫度 煙霧報警:空氣污染檢測超過設定值時產生報警 燈控系統:設計一個倒計時,在倒計時完成之前一直亮燈 2、 實驗材料簡介2.1 STC89c52芯片2.2.1 產品簡介 STC89C52RC單片機是宏晶科技推出的新-.代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。 2.2.1 引腳圖 2.2.1 主要特性1.增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統8051. 2.工作電壓: 5.5V~3.3V (5V單片機) /3. 8V~2.0V (3V單片機) 3.工作頻率范圍: 0~40MHz, 相當于普通8051的0~80MHz,實際工作頻率可達48MHz 4.用戶應用程序空間為8K字節5.片上集成512字節RAM 5.通用I/0口(32個) ,復位后為: P1/P2/P3/P4是準雙向口/弱上拉,PO口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/0口用時,需加上拉電阻。 6. ISP (在系統可編程) /IAP (在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3. 0, TxD/P3.1)直接下載用戶程序,數秒即可完成一片 7.具有EEPROM功能 8.具有看門狗功能; 9. 共3個16位定時器/計數器。即定時器T0、T1、T2 10.外部中斷4路,下降沿中斷或低電平觸發電路,PowerDown模式可由外部中斷低電平觸發中斷方式喚醒 11.通用異步串行口(UART) ,還可用定時器軟件實現多個UART 12.工作溫度范圍: -40~+85C (工業級) /0~75C (商業級) 13. PDIP封裝 2.2 LCD12864帶字庫顯示屏2.2.1 產品簡介LCD12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊,其顯示分辨率為128X64, 內置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面。可以顯示8X4行16X16點陣的漢字.也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。 2.2.2 引腳圖
2.2.3 時序圖 2.2.4 指令說明 2.3 DS1302
2.3.1 產品簡介DS1302是美國DALL AS推出的一款高性能、低功耗的日歷時鐘芯片。DS1302是一種串行接口的實時時鐘,芯片內部具有可編程的日歷時鐘和31個字節的靜態RAM,日歷時鐘可以自動進行閏年補償,計時準確,接口簡單,使用方便,工作電壓范圍寬(2.5~5.5V) ,芯片自身還具有對備用電池進行涓流充電功能,可有效延長備用電池的使用壽命。DS1302用于數據記錄,能實現數據與該數據出現的時間同時記錄,因此廣泛應用于測量系統中。 2.3.2 引腳圖各引腳功能為:
VCC1:主電源。 VCC2: 備用電源。當VCC2大于VCC1+0.2V時由VCC2向DS1302供電否則由VCC1向DS1302供電。
SCLK: 串行時鐘輸入端,控制數據輸入與輸出; I/O :雙向輸入線;
CE:使能端,CE為高時允許讀寫DS1302數據,為低時禁止讀寫。 x1和x2:連接晶振。 2.3.3 DS1302寄存器的作用 時鐘日歷寄存器包含在7個讀/寫寄存器內,讀/寫寄存器中的數據是BCD碼。秒寄存器(81h、 80h) 的BIT7定 義為時鐘暫停標志(CH) 。當該位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態;當該位置為0時,時鐘開始運行。 小時寄存器( 85h、 84h)的BIT7用于定義DS1302是運行于12小時模式還是24小時模式,當為1時,選擇12小時模式,此時BIT5為AM/PM位, 在24小時模式時此位為小時數據位。 控制寄存器(8Fh、8Eh)的BIT7是寫保護位(WP),其它7位均為0。在任何對時鐘或RAM讀寫操作之前,WP位必須為0。當WP位為1時,不能對任何時鐘日歷寄存器或RAM進行寫操作。 2.3.4 通訊時序DS1302讀寫數據時序,數據的傳輸是從最低位開始(BITO) 。數據是以位(BIT)為單位依次寫入或讀出,讀寫數據操作中SCLK上升沿時執行寫入數據,下降沿時執行讀出數據。 讀數據: CE端從低到高的一個上升沿開始允許開始讀數據,拉低CE端則禁止讀寫數據;開始的8個SCLK周期,寫命令字節,數據的后8個SCLK周期讀出數據。 寫數據: CE端從低到高的一個上升沿開始允許開始寫數據,拉低CE端則禁止讀寫數據;開始的8個SCLK周期,寫命令字節,數據的后8個SCLK周期寫入數據。 2.4 DHT11溫濕度傳感器2.4.1 產品簡介DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數以程序的形式儲存在0TP內存中,傳感器內:部在檢測信號的處理過程中要調用這些校準系數。單線制串行接口,使系統集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。產品為4針單排引腳封裝。連接方便,特殊封裝形式可根據用戶需求而提供。 2.4.2 引腳圖  2.4.3 時序圖
總線空閑狀態為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必
須大于18毫秒,保證DHT11能檢測到起始信號。 DHT11接收到主機的開始信號后,
等待主機開始信號結束,然后發送80us低電平響應信號.主機發送開始信號結束
后,延時等待20-40us后, 讀取DHT11的響應信號,主機發送開始信號后,可以切換
到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高 
總線為低電平,說明DHT11發送響應信號,DHT11發送響應信號后,再把總線拉高80us,準備發送數據,每一bit數據都以50us低電平時隙開始,高電平的長短定了數據位是0還是1.格式見下面圖示.如果讀取響應信號為高電平,則DHT11沒有響應,請檢查線路是否連接正常.當最后一bit數據傳送完畢后, DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態。 2.5 MQ-135 空氣污染檢測傳感器
2.5.1 產品簡介MQ-135氣體傳感器使用的氣敏材料是在清潔空氣中電導率較低 的二氧化錫(SnO2)。當傳感器所處環境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。MQ氣體傳感器對甲烷的靈敏度高,對丙烷、丁烷也有較好的靈敏度。這種傳感器可檢測多種可燃性氣體,特別是天然氣,是一款適合多種營養的低成本傳感器。 2.5.2 引腳圖2.5.3 特點1、具有信號輸出指示。 2、雙路信號輸出(模擬量輸出及TTL電平輸出) 3、TTL輸出有效信號為低電平。(當輸出低電平時信號燈亮,可直接接單片機) 4、模擬量輸出0~5V電壓,濃度越高電壓越高。 5、對液化氣,天然氣,城市煤氣有較好的靈敏度。 6、具有長期的使用壽命和可靠的穩定性 7、快速的響應恢復特性 8、適用于家庭或工廠的氣體泄漏監測裝置,適宜于液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等監測裝置。 2.6 ADC0832 模數轉換器2.6.1 產品簡介ADC0832是NS (Nati ona1 Semiconductor) 公司生產的串行接口8位A/D轉換器,通過三線接口與單片機連接,功耗低,性能價格比較高,適宜在袖珍式的智能儀器儀表中使用。ADC0832為8位分辨率A/D轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。芯片具有雙數據輸出可作為數據校驗,以減少數據誤差,轉換速度快且穩定性能強。獨立的芯片使能輸入,使多器件連接和處理器控制變得更加方便。通過DI數據輸入端,可以輕易的實現通道功能的選擇。 2.6.2 引腳圖 2.7 兩路繼電器2.7.1 產品簡介1、模塊采用繼電器,常開接口最大負載:交流250V/10A,直流30V/10A 2、采用貼片光耦隔離,驅動能力強,性能穩定;觸發電流5mA 3、模塊工作電壓有5V、9、12V、24V可供選擇;4、模塊可以通過跳線設置高電平或低電平觸發;5、容錯設計,即使控制線斷,繼電器也不會動作;6、電源指示燈(綠色),繼電器狀態指示燈(紅色) 7、接口設計人性化,所有接口均可通過接線端子直接連線引出,非常方便 8、模塊尺寸: 50mm * 41mm* 18.5mm (長*寬*高) 9、設有4個固定螺栓孔,孔3.1mm,間距44.5mm*35.5mm 3、 電路設計3.1 系統總框圖設計3.2 最小系統板總電路圖3.3 顯示模塊電路
4、 程序設計流程5.2 溫濕度程序設計流程圖5、 實物圖
單片機源程序如下:
- /********************************************************************
- 頭文件//用“”,它會在當前目錄文件夾找,找不到才會去系統指定位置去找
- ;用尖括號它回去系統指定的位置去找相應包含的文件
- ***********************************************************************/
- #include"config.h"
- #include"delay.h"
- #include"lcd12864.h"
- #include"viewtime.h"
- #include"ds1302.h"
- #include"key.h"
-
-
- #define uchar unsigned char
- #define uint unsigned int
- /********************************************************************
- * 名稱 :main函數
- * 功能 :
- ***********************************************************************/
- int main(void)
- {
- initina2(); //調用LCD顯示圖片(擴展)初始化程序
- DisplayGraphic(pic1); //顯示圖片1
- delayms(200); //200*10ms就是延時2秒
- initina1(); //調用LCD字庫初始化程序
- delay(200); //大于100uS的延時程序
- lcd_mesg(IC_DAT); ///顯示中文漢字1
- delayms(200);
- initina1(); //調用LCD字庫初始化程序
- delay(200); //大于100uS的延時程序
- lcd_mesg(IC_DAT3); ///顯示中文漢字1
- //定時器2初始化
- while(1)
- {
-
- key();
-
-
- }
-
- return 0;
- }
復制代碼
代碼不完整,求大神看看,附件里面是上面貼的Word文檔:
單片機51hei51hei.zip
(6.42 MB, 下載次數: 47)
2021-3-28 22:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|