鹽城市亭湖高級中學 卜敏玥
鹽城工學院電氣工程學院 陸廣平
設計分為無線發送和無線接收模塊,無線發送模塊通過對溫度傳感器的數據實時采集,同時將結果通過4位動態數碼管顯示,并利用無線模塊發送溫度數據。無線接收模塊接收發送模塊傳來的溫度數據,同時將溫度數據通過液晶屏顯示,并與設定的溫度值進行比較,實現遠程監控。發送和接收模塊的框圖如圖1所示。

圖1 發送和接收模塊框圖

圖2 單片機最小系統圖
單片機的最小系統模塊包括5v電源電路,晶振電路和復位電路三個部分,5v電源電路直接以USB供電,晶振電路選用12MHz晶振和兩個30pf的瓷片電容,設計的復位電路包括上電復位和按鍵復位,最小系統電路如圖2所示。
溫度數據采集電路如圖3所示。溫度傳感器DS18B20是單條信號線,這根信號線既可傳輸時鐘,又可以傳輸數據,信號線并通過4.7KΩ連到5v電源端。測溫模塊通過單片機的P3.2口讀取溫度傳感器的溫度值,實現對溫度數據的采集并及時儲存數據,采集的數據為無線發送模塊做準備。

圖3 溫度檢測電路

圖4 無線模塊電路圖
無線發送模塊和接收模塊的電路都是將引腳CE、引腳CSN、引腳SCK、引腳MOSI、引腳MISO、引腳IRQ相對應的與單片機引腳 P1.0、引腳P1.1、引腳P1.2、引腳P1.3、引腳P1.4、引腳P1.5相連接。發送和接收模塊的電路設計如圖4所示。
系統中發射模塊的顯示部分是4位共陰極數碼管顯示溫度值,接收模塊的顯示部分是LCD1602顯示溫度值,發射模塊的溫度值用數碼管顯示,主要是和接收端的溫度顯示比較,看無線模塊接收的溫度數據是否正常,而接收端用液晶顯示,可以顯示更多的信息。發送和接收端的顯示電路如圖5和6所示。發送端模塊選用了4個S8550PNP三極管,4個S8550PNP的基極B端分別通過1KΩ電阻與單片機的P2.0、P2.1、P2.2、P2.3相連,發射極E端分別連接4個數碼管的位選端,集電極都接地,當P2.0~P2.3中的某位為0,選中對應的數碼管。接收端設計中選用了液晶LCD1602,它的RS、EN、D0~D7分別與單片機的P2.0、P2.1、P0.0~P0.7相連。

圖5 發送端的顯示電路

圖6 接收端的顯示電路
發送模塊的設計相當于是無限循環的系統,發送模塊程序設計首先需要初始化無線發送模塊,要使無線模塊與單片機進行通訊,需要初始化設置無線模塊的寄存器、單片機里的SFR特殊功能寄存器和DS18B20溫度傳感器,通過SPI總線實現對無線模塊的工作狀態控制,延時一會兒進行溫度轉換,讀取溫度數據,處理溫度數據,通過無線模塊發送溫度數據的循環工作,在數碼管上顯示溫度值模塊流程圖如圖7(a)所示。

圖7 系統流程圖
接收模塊系統的設計同樣是在大循環里,需要設置無線模塊在接收的工作狀態下,系統實時接收發送模塊傳來的溫度數據,如果無線模塊的有效地址被接收到,將數據存在堆棧段,根據狀態寄存器的高低電平判斷是否讀取溫度數據。首先需要設置無線模塊的端口,初始化無線模塊,延時一會兒,循環接收溫度數據值,接收的數據存在單片機的P0寄存器,并在液晶上顯示,接收端流程圖如圖7(b)所示。
上位機軟件是通過VC語言編寫成的,將編寫好的程序安裝好,然后進行顯示界面的調試。上位機系統將采集到的溫度信息通過溫度刻度和具體數值兩種方式實時地顯示出來,可以方便數據的讀取。在點擊開始采集按鈕前必須要先上位機進行參數的設置,參數設置后,可以點擊開始采集按鈕來進行溫度的采集,讀取溫度數值,上位機上還有暫停采集和退出按鈕,實現對溫度的遠程監控,當監測到的溫度數據高于或者低于設定值,進行報警并將信息傳給主機單片機。
系統使用無線數據傳輸模塊實現主從機的通訊,將主機的溫度數據通過無線模塊傳給從機,并且傳給上位機。通過主機上數碼管顯示的溫度值和從機在液晶上顯示的數據和上位機受到的數據進行比較,接線簡單,能更準確的實時檢測溫度和傳輸溫度數據,適用于許多不同的環境,測溫準確度高。
對所測溫度進行報警,通過監控實現對溫度的實時監控,系統所實現的是一對一的溫度數據無線傳輸和功能,可以將測溫的遠程監控系統設計成多點溫度控制,提高系統的功能,上位機將無線發送模塊采集到的溫度數據通過接收模塊傳到串口進行實時觀測,實現對溫度數據的遠程監控和實時觀測,也可以由上位機發送命令給發送和接收模塊,實時處理結果。
[1]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2014,11.
[2]譚浩強.C程序設計(第三版)[M].北京:清華大學出版社,2005,07.
[3]張蘭紅,鄒華,等.單片機原理及應用[M].北京:機械工業出版社,2012,07.
[4]湯嘉立,楊后川.51單片機C語言輕松入門[M].北京:電子工業出版社,2016,01.
[5]薛小鈴,劉志群,賈俊榮.51單片機開發實戰精講-從模塊到項目[M].北京:清華大學出版社,2015,01.