自建ISP編程器的溫度報警顯示控制系統(tǒng)的設(shè)計
1 系統(tǒng)的組成
本文引用地址:http://www.butianyuan.cn/article/168641.htm系統(tǒng)主要由單片機、溫度報警模塊、液晶顯示模塊、時鐘模塊、ISP編程器和鍵盤模塊等組成,如圖1所示。
2 系統(tǒng)原理
首先通過ISP編程器將程序下載到單片機系統(tǒng)中,利用溫度報警,液晶顯示和時鐘模塊,通過鍵盤控制或人工控制實現(xiàn)實時的溫度報警控制顯示,實現(xiàn)人機交流。
2.1 數(shù)字溫度傳感器DS18B20
DS8B20可由用戶設(shè)置溫度報警界限,在使用過程中,可由一根I/O數(shù)據(jù)線既供電又傳輸數(shù)據(jù)。它的核心是一個直接數(shù)字化的溫度傳感器,可將-55℃~+125℃之間的溫度值按9、10、11、12位的分辨率進行量化,與之對應(yīng)的溫度增量值分別為0.5℃、0.25℃、0.125℃、0.0625℃,器件上電后的默認值為12位的分辨率。
2.2 液晶顯示模塊YXD1602
此模塊將LCD控制器、驅(qū)動器、RAM、ROM和LCD顯示器整合在一塊PCB板上,YXD1602為兼容的液晶顯示模塊,支持5×7點陣和2行×16字符兩種模式,背光亮度和顯示對比度可調(diào)。這種模塊使用簡單方便,用戶只要向LCM送入相應(yīng)的命令和數(shù)據(jù)就可實現(xiàn)所需要的顯示內(nèi)容,并且它與單片機接口也很簡單。
與數(shù)碼管相比,液晶顯示具有功耗低、抗干擾能力強等有優(yōu)點,因此被廣泛地應(yīng)用在儀器儀表和控制系統(tǒng)中。
2.3 時鐘芯片DS1302
DS1302是一款涓流充電的時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,實時時鐘/日歷電路提供秒、分、時、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM指示決定采用24或12小時格式DS1302與單片機之間能簡單地采用SPI同步串行的方式進行通信,僅需用到三根信號線:RES(復(fù)位),I/O(數(shù)據(jù)線),SCLK(同步串行時鐘)。時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信。DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW。
3 硬件的總體設(shè)計
本系統(tǒng)因無外接存儲RAM,所以各外接器件與單片機AT89S8252的通信均采用I/O口訪問方式。端口分配如下:P0.0~P0.7以及P2.5~P2.7被液晶顯示模塊YXD1602A占用;P2.0~P2.2被時鐘芯片DS1302占用;P2.3口為溫度傳感器的數(shù)據(jù)數(shù)據(jù)輸入輸出口;P2.4為報警發(fā)光二極管占用;P1.0~P1.3為按鍵接口;P1.5~P1.7三個SPI串行外部接口在下載程序時使用。圖2為硬件電路原理圖。
單片機AT89S8252的P0.0~P0.7是“準雙向口”,當它們作為外部輸入線,也就是讀引腳時,要先通過指令,把端口鎖存器置1,然后再實行讀引腳操作,否則就可能讀入出錯。因本設(shè)計中PO 口作為I/O 口使用,所以在它與YXD1602A連接時需外加上拉電阻。具體設(shè)計時使用了4.7kΩ的阻排。
對于液晶顯示模塊YXD1602的引腳3,即液晶顯示驅(qū)動電壓引腳,可根據(jù)實際需求接地或接一個電位器,經(jīng)過試驗本系統(tǒng)中接了一個20kΩ的電位器,可以調(diào)節(jié)驅(qū)動電壓。對于它的引腳16,即背光源正極,可接一個100 Ω的電阻到電源,亦可直接接到電源。本設(shè)計中直接將它接到電源正極,因接100Ω時亮度不夠。
P2.0~P2.2被時鐘芯片DS1302占用,囚DS1302是SPI接口部件,所以只需三根線即可實現(xiàn)通信,使用時在它的引腳8接了一個3.6V的鎳鉻電池,作為備份電源,它采用外部品振,要求為32.768kHz。
P2.3口是溫度傳感器DS18B20的單總線接口,DS18B20可通過總線竊取電源,但在實際應(yīng)用中還是使用了外接電源。因外接電源時,我們可以在總線上掛接多個測溫節(jié)點。
利用單片機SPI接口的在線串行編程功能和計算機的打印機接口可以制作ISP(In-System Programming)編程器,使用ISP編程器通過3個SPI引腳、計算機的打印機接口和相應(yīng)的編程軟件就能將程序下載到芯片中去,這樣就為我們節(jié)省了購買價格昂貴的燒錄器和編程器的費用。下載器的硬件原理如圖3所示。
計算機打印機接口(LPT)是一個并行接口,通常我們認為它只有輸出功能,是用來連接計算機和打印機并輸出數(shù)據(jù)到打印機的。實際上,LPT端口同時具有輸入功能,它也可以作為并行輸入的接口。表1為LPT端口各個引腳功能。
需要用電纜連接計算機的打印機接口和編程器。計算機打印機接口是DB25母頭,編程器與計算機的打印機接口連接端需使用DB25公頭。
按照圖3發(fā)計編程器,引腳2與12、引腳3與11分別短接;引腳6與SPI接口的SCK信號線相接;引腳7與SPI接口的MOSI信號線相接;引腳9與單片機的RST信號線相接;引腳10與SPI接口的MISO信號線相接;最后,引腳18~25全部接地。
同時,為了緩解并行口狀態(tài)線過火的灌電流,在計算機打印機接口和單片機SPI接口之間用74HC244做緩沖。
按照圖3設(shè)計編程器,并輔以相應(yīng)的驅(qū)動軟件PonyProg2000,就可以將目標程序下載到單片機中,從而達到編程的功能。利用 PonyProg2000編程后,有一個編程校驗過程,可以確保程序正確完整地寫入單片機。
5 系統(tǒng)的軟件設(shè)計
系統(tǒng)的軟件設(shè)計,使用單片機C51語言,采用模塊化程序設(shè)計方法,使得程序結(jié)構(gòu)清晰,同時也便于今后進一步擴展系統(tǒng)功能。軟件部分包括:主程序、液晶顯示子程序、溫度傳感器子程序、時鐘子程序,鍵盤子程序等。主程序流程圖如圖4所示。溫度傳感器子程序流程圖如圖5所示。
首先,需進行程序的復(fù)位,接著是LCD的初始化工作。因為液晶顯示器是一個慢顯示的器件,所以在運行顯示程序前必須進行初始化,否則液晶顯示模塊無法正常顯示。進入啟動畫面后,需進行中斷的設(shè)置,包括一個定時中斷和一個外部中斷,外部中斷優(yōu)先級高。然后初始化時鐘,初始化溫度計后就進行溫度的采集,采集時判斷是否中斷運行中斷處理程序。
6 結(jié)束語
本系統(tǒng)制成PCB,經(jīng)實際調(diào)試系統(tǒng)能夠正常高效得達到所需要求。通過單片機對各功能模塊的控制,可以實現(xiàn)將當前溫度、時間通過LCD顯示出來。同時系統(tǒng)在設(shè)計時留有充分的擴展作量,只需要加一些簡單的模塊就可以輕松的實現(xiàn)語音及報警控制。經(jīng)實際應(yīng)用,此系統(tǒng)有很好的實用價值。系統(tǒng)的3D圖如圖6所示,具休硬件實物如圖7所示。
主要特點:(1)采用先進的技術(shù),設(shè)計合理,系統(tǒng)整體結(jié)構(gòu)簡單、操作方便、功耗低、測量精度高,實時性好。(2)系統(tǒng)的軟硬件設(shè)計都采取了抗干擾措施,保證在干擾環(huán)境下都能夠正常工作。(3)數(shù)字溫度傳感器的應(yīng)用,以及LCD顯示都使得系統(tǒng)界面直觀,操作簡單。(4)系統(tǒng)擴展方便,可以輕松擴展其他功能。
led顯示器相關(guān)文章:led顯示器原理
評論