核心電路設(shè)計與論證 方案一:采用AT89C51單片機設(shè)計的水溫控制器,AT89C51運算速度高,外圍擴展電路容易,軟件編程簡單容易,功耗低,體積小,成本低。 方案二:采用FPGA,它的名稱是現(xiàn)場可編程門列陣,它是集成度最高的一種電路,一些較為復雜的數(shù)學式子和邏輯運算都可以通過它來完成,運算精度高?赏ㄟ^EDA軟件進行仿真。 本系統(tǒng)選用方案一作為設(shè)計方案。在水溫控制系統(tǒng)中穩(wěn)定性好,且制作成本較低,符合設(shè)計要求。 2.2 顯示模塊論證方案一:用四位數(shù)碼管顯示,需要數(shù)碼管驅(qū)動電路,需要占用8條數(shù)據(jù)線和4條地址線,共12個引腳。顯示內(nèi)容較少,而且需要選擇動態(tài)掃描方式。 方案二:選用LCD1602顯示密碼。顯示內(nèi)容豐富,可以顯示字符,程序配套,易于編程,8條數(shù)據(jù)線和rw讀寫、en片選、rs數(shù)據(jù)/命令選擇線,共需11個引腳,無驅(qū)動電路。 綜上所述,選擇方案二顯示。 2.3 溫度檢測電路模塊方案一:采用溫度傳感器AD590,AD590檢測輸出的信號是模擬信號,因此需要變成數(shù)字信號,需要A/D轉(zhuǎn)換電路。 方案二:采用DS18B20。DS18B20將半導體溫敏器件、A/D轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上。測溫范圍為-55℃~+125℃,測溫精度為士0.5℃。 方案二與方案一相比,設(shè)計電路簡單,無需進行A/D轉(zhuǎn)換,所以選擇方案二。 綜上,本文采用AT89C51單片機位主控元件,LCD1602液晶屏顯示方式,以溫度傳感器DS18B20為溫度檢測電路,加上按鍵電路對溫度值設(shè)定以及加熱電路,構(gòu)成一個安全可靠的水溫控制系統(tǒng)。
2.4總體設(shè)計本設(shè)計采用以AT89C51單片機控制方案。 利用單片機靈活的編程設(shè)計和豐富的I/O端口,及其控制的準確性,不但能實現(xiàn)基本的溫度顯示與檢測功能,還能根據(jù)實際需要添加鍵盤控制電路、加熱功能。系統(tǒng)結(jié)構(gòu)框圖如圖2.1所示。
圖2.1系統(tǒng)結(jié)構(gòu)框圖
第3章 單元電路設(shè)計
3.1按鍵控制模塊本設(shè)計中共設(shè)置了3個按鍵,分別為溫度設(shè)置按鍵、加溫度按鍵、減溫度按鍵。如圖3.1所示,為按鍵控制電路。從上到下分別為按鍵K1、K2、K3 ,K1為溫度設(shè)置按鍵,K2為加溫度按鍵,K3為減溫度按鍵。通過溫度設(shè)置按鍵K1、K2、K3可以設(shè)置溫度,在液晶屏上顯示出來,并且可根據(jù)設(shè)置的溫度與實際溫度進行大小比較,進而控制加熱電路。
圖3.1 按鍵控制電路 3.2顯示模塊本設(shè)計采用LCD1602作為顯示裝置,LCD1602顯示屏具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點,因此,在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用,現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機應(yīng)用設(shè)計中最常用的信息顯示器件了?梢燥@示兩行,每行16個字符,采用單+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。 如圖3.2所示,為LCD1602液晶顯示電路。其中液晶屏的RS、RW、EN引腳分別接到單片機的2.2、2.1、2.0引腳,D0~D7引腳分別與單片機的P0.0~P0.7口相接。RP1為電阻排,上拉電壓。LCD1602在運行時顯示兩行字,第一行顯示字為英文字母“Temperture”,第二行的顯示為溫度值。
圖3.2 顯示電路 3.3溫度檢測模塊連續(xù)3次輸入密碼錯誤將產(chǎn)生報警,通過蜂鳴器來實現(xiàn)報警功能。每當有按鍵按下時,蜂鳴器都會鳴叫一聲。當密碼輸入正確,順利開鎖時,發(fā)光二極管就會被點亮,上鎖時,二極管熄滅。電路圖如圖3.3所示。
圖3.3 溫度檢測電路 3.4加熱模塊當設(shè)置溫度高于當前溫度傳感器DS18B20檢測到的溫度時,單片機AT89C51的P1.6引腳會輸出低電平,使繼電器開關(guān)閉合,加熱電路接通。加熱電路如圖3.4所示。
圖3.4 加熱電路 3.5單片機最小系統(tǒng)AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能 CMOS8 位微處理器,俗稱單片機。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的AT89C51 是一種高效微控制器。單片機 XIAL1 和XIAL2 別接 30PF 的電容,中間再并聯(lián)一個12MHz的晶振,形成單片機的晶振電路。由AT89C51,晶振電路和復位電路共同組成了單片機最小系統(tǒng),如圖3.5所示,單片機最小系統(tǒng)電路圖。
圖3.5 單片機最小系統(tǒng)電路圖
第4章 系統(tǒng)軟件設(shè)計
4.1 主程序的設(shè)計本設(shè)計第一次進入此系統(tǒng)的時候,開始會進行初始化操作,首先由溫度傳感器DS18B20開始檢測溫度,然后在液晶屏LCD上顯示檢測到的溫度,當有按鍵按下時,系統(tǒng)會對設(shè)置的溫度進行檢測,并與實際溫度比較大小,判斷是否開啟加熱電路。具體流程如圖4.1所示。
圖4.1 主程序流程圖 4.2 DS18B20程序設(shè)計DS18B20溫度傳感器程序的主要功能包括初始化,數(shù)據(jù)讀取與寫入數(shù)據(jù),執(zhí)行完一系列的命令后返回。如圖4.2所示,為DS18B20程序設(shè)計圖。
圖4.2 DS18B20程序設(shè)計圖 主要代碼是: 4.3 按鍵程序設(shè)計 開始的時候,系統(tǒng)會判斷是否有按鍵按下,如果沒有按鍵按下,系統(tǒng)會返回,若有按鍵按下,系統(tǒng)會判斷,加溫度按鍵和減溫度按鍵,然后根據(jù)要求判斷是否啟動加熱電路。具體流程如4.3所示。
圖4.3 按鍵程序流程圖
第5章 系統(tǒng)仿真與調(diào)試使用Proteus繪制原理圖,然后將Keil生成的hex程序文件載入到單片機中,點擊運行: 如圖5.1所示,為常溫時顯示溫度圖。常溫時溫度傳感器檢測到的溫度,顯示在液晶屏LCD1602上。 圖5.1 常溫時顯示溫度 如圖5.2 所示,為常溫時,溫度傳感器檢測溫度的仿真圖。 圖5.2 溫度傳感器檢測溫度 2.按鍵控制仿真 當設(shè)置溫度高于傳感器檢測到的溫度時,系統(tǒng)會啟動加熱電路。用燈泡代替加熱器,燈泡發(fā)光,說明加熱器在工作,燈泡不發(fā)光,說明加熱器未工作。如圖5.3所示,為設(shè)置溫度為95℃時的仿真圖,圖5.4為設(shè)置溫度后,加熱電路加熱時的仿真圖。
圖5.3 設(shè)置升溫仿真圖 圖5.4 加熱電路開啟加熱 溫度低于傳感器檢測到的溫度時,加熱電路自動關(guān)閉,如圖5.4所示,為設(shè)置降溫仿真圖,如圖5.5所示,為加熱電路關(guān)閉加熱。 圖5.4 設(shè)置降溫仿真圖 圖5.5 加熱電路關(guān)閉加熱 
為了防止有人不勞而獲,源程序就不分享了,附件只有仿真圖:
仿真圖.7z
(230.15 KB, 下載次數(shù): 52)
2020-7-8 21:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|