《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 顯示光電 > 設(shè)計(jì)應(yīng)用 > 基于Proteus的液晶溫度顯示器仿真設(shè)計(jì)
基于Proteus的液晶溫度顯示器仿真設(shè)計(jì)
洪連環(huán) 南昌航空大學(xué)
摘要: 給出了一種基于Proteus7.5仿真實(shí)現(xiàn)的液晶溫度顯示器設(shè)計(jì),。系統(tǒng)硬件電路采用AT89C52單片機(jī)、DS18B20數(shù)字溫度傳感器和LM016L液晶顯示器等主要元件。采用Keil uVision3設(shè)計(jì)系統(tǒng)軟件的C51源程序并調(diào)試,。在Proteus 7.5平臺(tái)上,對系統(tǒng)進(jìn)行了軟硬件仿真,。仿真結(jié)果表明,,該系統(tǒng)的測量和顯示精度達(dá)到了0.1℃。通過Proteus對液晶溫度顯示器的工作狀態(tài)進(jìn)行模擬,,以檢驗(yàn)和評估設(shè)計(jì)的可行性,,縮短了實(shí)際系統(tǒng)開發(fā)周期,降低了開發(fā)成本,,是一種有效可行的仿真方法,。
Abstract:
Key words :

    隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn),,能夠獨(dú)立工作的溫度檢測和顯示系統(tǒng)已經(jīng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測和顯示是基于模擬傳感器和LED顯示技術(shù)的,。傳感器輸出的模擬信號(hào)易受干擾,,在一些溫度范圍內(nèi)線性不好,需要進(jìn)行冷端補(bǔ)償或引線補(bǔ)償,。隨著科學(xué)技術(shù)的發(fā)展,,由單片集成電路構(gòu)成的溫度傳感器的種類越來越多,測量的精度越來越高,,數(shù)字溫度傳感器具有價(jià)格低,、精度高,適于微型封裝,、能工作在寬溫度范圍內(nèi)等優(yōu)點(diǎn),,在很多應(yīng)用中,數(shù)字溫度傳感器正開始替代傳統(tǒng)的模擬溫度傳感器,。另外,,液晶顯示器體積小,便于攜帶,、功耗低,、抗干擾能力強(qiáng)、信息豐富等優(yōu)點(diǎn),,已被廣泛應(yīng)用在儀器儀表和控制系統(tǒng)中,。
    現(xiàn)代電子設(shè)計(jì)手段的發(fā)展,已由傳統(tǒng)的手工設(shè)計(jì)階段發(fā)展到了EDA階段,,再到虛擬設(shè)計(jì)階段,,Proteus軟件就是在這大背景下應(yīng)運(yùn)而生的。Proteus軟件是英國Labcenterelectronics公司研發(fā)的EDA工具軟件,,是目前最流行的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺(tái),,它能完全脫離硬件平臺(tái)進(jìn)行嵌入式虛擬開發(fā),通過各虛擬儀器構(gòu)建硬件電路,,調(diào)試Keil,、ADS等集成開發(fā)環(huán)境中生成的軟件程序,達(dá)到虛擬硬件調(diào)試系統(tǒng)程序的目的,,為后續(xù)實(shí)際軟硬件系統(tǒng)的設(shè)計(jì)提供實(shí)踐理論依據(jù),。

1 硬件電路設(shè)計(jì)
    液晶溫度顯示器的硬件主要有以下部分:溫度檢測部分、單片機(jī)最小系統(tǒng)、顯示電路和鍵盤電路,,如圖1所示,。

a.jpg


    單片機(jī)采用美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS的MCS-51系列單片機(jī)AT89C52,,它片內(nèi)含8 K字節(jié)可重復(fù)擦寫Flash閃速存儲(chǔ)器和256字節(jié)的RAM,片內(nèi)程序存儲(chǔ)器空間能滿足本系統(tǒng)程序存儲(chǔ)之需要,,可省去片外EPROM程序存儲(chǔ)器,,簡化系統(tǒng)的設(shè)計(jì),使電路結(jié)構(gòu)簡潔,。時(shí)鐘電路中的晶振頻率采用12 MHz,,系統(tǒng)復(fù)位采用上電復(fù)位方式。系統(tǒng)的硬件電路如圖2所示,。

b.jpg


    溫度傳感器采用美國Dallas公司生產(chǎn)的單總線(1-wire)數(shù)字溫度傳感器DS18B20,。它的測量溫度范圍為-55~+125℃,在-10~+85℃范圍內(nèi),,精度可達(dá)±0.5℃,,通過編程可以選擇9~12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.062 5℃,。DS18B20耐磨耐碰,,體積小,使用方便,,適用于各種狹小空間,。它只有3個(gè)引腳,2腳DQ是數(shù)字信息輸入/輸出端,,3腳VCC是外部電源輸入端,,1腳GND是電源地。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,,可以提高系統(tǒng)的抗干擾性,。DS18B20的電源供電方式有2種:外部供電方式和寄生電源方式。工作于寄生電源方式時(shí),,VDD和GND均接地,,它在需要遠(yuǎn)程溫度檢測和空間受限的場合特別有用,但是需要強(qiáng)上拉電路,,軟件控制變得復(fù)雜,,同時(shí)芯片的性能也有所降低。因此,,在本設(shè)計(jì)中,,采用外接電源供方式,將DQ與P3.2相連接。
    LM016L是16x2數(shù)碼液晶顯示器,,每行可顯示16個(gè)字符,,共2行。LM016L的控制器為HD44780,,與液晶屏集成在一起,。HD44780的控制端有3個(gè),分別是RS,、讀寫控制端RW和使能信號(hào)E,。RS=0時(shí),配合RW實(shí)現(xiàn)命令讀寫,;RS=1時(shí),,配合RW實(shí)現(xiàn)顯示數(shù)據(jù)的讀寫。本系統(tǒng)中,,單片機(jī)的P0口作為數(shù)據(jù)口,,與LM016L的D0~D7連接,為保證電路能正常顯示,,在P0口與D0~D7之間分別連接8個(gè)上拉電阻,。P2口作為LCD的控制線,P2.0~P2.2分別連接LM016L的RS,、RW和E,,VDD、VSS和VEE分別接電源和地,。
    本顯示器設(shè)置了一個(gè)檢測控制開關(guān)SW1,,它的高低電平信息通過P2.3傳遞給單片機(jī)。當(dāng)單片機(jī)復(fù)位后,,若SW1為ON,,DS18B20檢測溫度信息,經(jīng)過單片機(jī)處理后送LM016L顯示,,工作指示燈LED1亮,;若SW1為OFF,則系統(tǒng)暫停工作,,工作指示燈LED1滅,。當(dāng)溫度傳感器DS18B20有故障無法復(fù)位時(shí),工作指示燈LED1閃爍,。

2 軟件設(shè)計(jì)
    系統(tǒng)在Keil uVision3集成開發(fā)環(huán)境編寫C51程序進(jìn)行軟件開發(fā),,采用模塊化編程方式。在硬件設(shè)計(jì)的基礎(chǔ)上,,根據(jù)DS18B20和LM016L的工作原理,,軟件設(shè)計(jì)主要完成以下任務(wù):初始化DS18B20,,讀/寫DS18B20,讀取DS18B20轉(zhuǎn)換后的溫度值并轉(zhuǎn)換,,初始化LMOl6L,,LM016L顯示溫度值等。以上各個(gè)子任務(wù)分別用相應(yīng)的子程序來實(shí)現(xiàn),,在主程序中有序的調(diào)用各個(gè)子程序模塊,,程序流程圖如圖3所示。

c.jpg


    系統(tǒng)軟件設(shè)計(jì)的重點(diǎn)和難點(diǎn)之一是傳感器輸出信號(hào)的讀取和轉(zhuǎn)換,。單片機(jī)從DS18B20中讀到的溫度值是16位的數(shù)字信息,,其中高5位是表示溫度正負(fù)的符號(hào)位。數(shù)字溫度值的讀取并轉(zhuǎn)換成實(shí)際溫度十進(jìn)制值的子程序流程圖如圖4所示,。

g.jpg


    溫度轉(zhuǎn)換子程序設(shè)計(jì)如下:

e.jpg
f.jpg
    在軟件設(shè)計(jì)時(shí),應(yīng)嚴(yán)格按照DS18B20和LM016L的工作時(shí)序,,設(shè)置好延時(shí)時(shí)間,,否則會(huì)影響系統(tǒng)的實(shí)時(shí)性,即出現(xiàn)溫度顯示輸出變化滯后溫度輸入的變化,。

3 系統(tǒng)仿真
    在Keil uVision3中,,采用C51編寫源程序,在新建項(xiàng)目中選擇AT89C52單片機(jī)作為CPU,,再將編寫好的C語言源程序加載到新建項(xiàng)目中,。在“Project”下拉菜單中,選擇“Options forTarget”對話框,,在對話框中選中“Output”選項(xiàng)卡的“Create HEX File”選項(xiàng),,最后點(diǎn)擊“Itebuild all Target Files”,編譯成功后生成的“*.Hex”文件,。在Proteus ISIS7.5中,,雙擊AT89C52,將可執(zhí)行程序裝載到單片機(jī)中,,如圖5所示,。

h.jpg


    程序?qū)隤roteus后,點(diǎn)擊j.jpg仿真運(yùn)行控制按鈕后,,進(jìn)入仿真調(diào)試狀態(tài),,點(diǎn)擊中的Play鍵k.jpg,進(jìn)行軟,、硬件交互仿真,,如圖6所示。圖6(a)表明,,假如DS18B20檢測到的當(dāng)前溫度是123.9℃,,則經(jīng)過單片機(jī)處理后,,LM016L顯示出當(dāng)前的溫度值123.9℃,工作指示燈亮,。通過調(diào)節(jié)DS18B20模型上的上下標(biāo),,可設(shè)定低于零度的溫度輸入,仿真顯示結(jié)果如圖6(b)所示,。在Proteus仿真狀態(tài)下,,調(diào)節(jié)DS18B20模塊的上下標(biāo)改變溫度的輸入值(-55.0~+125.0 ℃),LM016L的輸出溫度值實(shí)時(shí)跟隨變化,。仿真結(jié)果表明,,該溫度顯示器能準(zhǔn)確的測量并顯示溫度,測量精度到0.1℃,,仿真效果與系統(tǒng)預(yù)期要實(shí)現(xiàn)的一致,。

i.jpg



4 結(jié)束語
    利用功能強(qiáng)大的Proteus軟件提供的元件庫設(shè)計(jì)硬件電路及軟硬件仿真,實(shí)現(xiàn)了液晶溫度顯示器的仿真設(shè)計(jì),。該顯示器電路結(jié)構(gòu)簡潔,,可靠性高,成本低,。通過Proteus的前期仿真提高了液晶溫度顯示器的設(shè)計(jì)效率,,縮短了開發(fā)周期,降低了設(shè)計(jì)成本,,保證了設(shè)計(jì)的合理性和可靠性,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。