版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單位代碼:分類號(hào):TN本科畢業(yè)論文(設(shè)計(jì))題目:LED數(shù)顯電子溫度計(jì)的設(shè)計(jì)專業(yè):電子信息工程姓名:學(xué)號(hào):指導(dǎo)教師:職稱:畢業(yè)時(shí)間:二零**年六月LED數(shù)顯電子溫度計(jì)的設(shè)計(jì)摘要:本文設(shè)計(jì)了一種利用單片機(jī)實(shí)現(xiàn)對(duì)溫度的智能控制及顯示的方案。本畢業(yè)設(shè)計(jì)主要研究的是高精度的數(shù)字溫度計(jì)的設(shè)計(jì),繼而實(shí)現(xiàn)對(duì)對(duì)象的溫度測(cè)量。測(cè)溫系統(tǒng)主要包括供電電源、數(shù)字溫度傳感器的數(shù)據(jù)采集電路、LED顯示電路、按鍵電路、單片機(jī)主板電路,數(shù)字溫度傳感器的數(shù)據(jù)采集電路與單片機(jī)主板電路是整個(gè)系統(tǒng)的關(guān)鍵。采用溫度傳感器DS18B20對(duì)溫度檢測(cè)的方法及利用軟件實(shí)現(xiàn)對(duì)溫度的智能控制。本系統(tǒng)由液晶顯示器LCD1602顯示實(shí)時(shí)溫度,具有電路結(jié)構(gòu)簡(jiǎn)單、操作容易、硬件少、成本低等特點(diǎn)。高精度數(shù)字溫度計(jì)的測(cè)溫過(guò)程,由數(shù)字溫度傳感器采集所測(cè)對(duì)象的溫度,并將溫度傳輸?shù)絾纹瑱C(jī),最終由液晶顯示器顯示溫度值。該數(shù)顯溫度計(jì)要求測(cè)溫范圍為-55℃~+125℃,精度誤差在0.1關(guān)鍵詞:?jiǎn)纹瑱C(jī);DS18B20;LED顯示ThedesignofLEDdigitaldisplayelectronicthermometerABSTRACTIndailylife,single-chipmicrocomputercontrolhasbroughtpeoplegreatconvenience,thedetectionandcontrolofthetemperatureisalsoextremelyimportant.Therefore,thedesignofthedigitalthermometerhaspracticalsignificanceandawiderangeofapplications.Thisarticledescribesaprogrammerwhichuseamicrocontrollertoachieveanddisplaytherighttemperaturebyintelligentcontrol.Thisprogrammermainlyconsistsbytemperaturecontrolsensors,MCU,LEDdisplaymodulescircuit.Themainaimofthisthesisistodesignhigh-precisiondigitalthermometerandthenrealizetheobjecttemperaturemeasurement.Temperaturemeasurementsystemincludespowersupply,dataacquisitioncircuitofdigitaltemperaturesensor,LEDdisplaycircuit,keypadcircuit,boardwithamicrocontrollercircuit,dataacquisitioncircuitofdigitaltemperaturesensorandboardwithamicrocontrollercircuitisthekeytothewholesystem.Thetemperatureprocessofhigh-precisiondigitalthermometer,fromcollectingthetemperatureoftheobjectbythedigitaltemperaturesensorandthetemperaturetransmittedtothemicrocontroller,andultimatelydisplaytemperaturebytheLED.Thedigitalthermometerrequiresthehighdegreeispositive125andthelowdegreeisnegative55,theerrorislessthan0.1,LEDcanreadthenumber,Thisdigitalthermometercouldreplacethetraditionalmercurialthermometer,canbeusedinfamilyandindustrial,highpracticalvalue.KeyWords:MCU;DS18B20;LEDdisplay目錄1引言 12設(shè)計(jì)方案 13硬件選擇 23.1STC89C52簡(jiǎn)介 23.2DS18B20的選擇 33.2.1DS18B20簡(jiǎn)介 33.2.2主要技術(shù)指標(biāo) 44硬件設(shè)計(jì) 54.1顯示電路 54.2溫度測(cè)試 54.3最小系統(tǒng) 64.3.1復(fù)位電路 64.3.2晶振電路 74.3.3DS18B20的接線說(shuō)明 75.系統(tǒng)程序設(shè)計(jì) 95.1編寫(xiě)語(yǔ)言及開(kāi)發(fā)工具的選擇 95.2主程序流程圖 115.3溫度采集流程圖 115.4顯示流程圖 126原理圖 137總結(jié) 14參考文獻(xiàn) 15致謝 161引言溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常遇到的一個(gè)物理量。測(cè)量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見(jiàn)到的測(cè)量溫度的工具是各種各樣的溫度計(jì),例如,水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。它們常常以刻度的形式表示溫度的高低,人們必須通過(guò)讀取刻度值的多少來(lái)測(cè)量溫度。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)就可以直接測(cè)量溫度,得到溫度的數(shù)字值,既簡(jiǎn)單方便,又直觀準(zhǔn)確。在傳統(tǒng)的溫度測(cè)量系統(tǒng)設(shè)計(jì)中,往往采用模擬技術(shù)進(jìn)行設(shè)計(jì),這樣就不可避免地遇到諸如引線誤差補(bǔ)償、多點(diǎn)測(cè)量中的切換誤差和信號(hào)調(diào)理電路的誤差等問(wèn)題;而其中某一環(huán)節(jié)處理不當(dāng),就可能造成整個(gè)系統(tǒng)性能的下降。隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,特別是大規(guī)模集成電路設(shè)計(jì)技術(shù)的發(fā)展,微型化、集成化、數(shù)字化正成為傳感器發(fā)展的一個(gè)重要方向。美國(guó)Dallas半導(dǎo)體公司推出的數(shù)字溫度傳感器DSl8B20,具有獨(dú)特的單總線接口,僅需要占用一個(gè)通用I/O端口即可完成與微處理器的通信;用戶可編程設(shè)定9~12位的分辨率。以上特性使得DSl8B20非常適用于構(gòu)建高精度、多點(diǎn)溫度測(cè)量系統(tǒng)。本課題設(shè)計(jì)的高精度數(shù)字溫度計(jì)選用DS18B20數(shù)字溫度傳感器,它與單片機(jī)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單、體積小等特點(diǎn),而且一條總線可連接多個(gè)器件,可以構(gòu)成一個(gè)低電壓低功耗的多點(diǎn)數(shù)字測(cè)溫系統(tǒng),十分方便,也適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。2設(shè)計(jì)方案本設(shè)計(jì)以檢測(cè)溫度并顯示溫度為目的,按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)模塊組成:傳感器(采集溫度)、主控器及顯示電路。如圖2-1所示系統(tǒng)以DS18B20為傳感器用以將溫度模擬量轉(zhuǎn)化為電壓數(shù)字量以總線傳入單片機(jī),以STC89C52為主芯片,在主芯片對(duì)DS18B20傳入的溫度值進(jìn)行處理,由單片機(jī)程序控制,將經(jīng)處理后的溫度由LED數(shù)碼管顯示出來(lái)。本系統(tǒng)具有電路簡(jiǎn)潔,性能可靠等特點(diǎn),易于實(shí)現(xiàn)。DS18B20DS18B20STC89S52控制器顯示電路掃描驅(qū)動(dòng)圖2-1系統(tǒng)框圖3硬件選擇3.1STC89C52簡(jiǎn)介STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門(mén)狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz。STC89C52引腳如圖3-1所示:圖3-1STC89C52引腳3.2DS18B20的選擇3.2.1DS18B20簡(jiǎn)介DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號(hào)多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等各種非極限溫度場(chǎng)合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。1:技術(shù)性能描述●獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊?!駵y(cè)溫范圍-55℃~+125℃,固有測(cè)溫誤差●支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過(guò)多,會(huì)使供電電源電壓過(guò)低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定?!窆ぷ麟娫?3~5V/DC(可以數(shù)據(jù)線寄生電源)●在使用中不需要任何外圍元件●測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送●不銹鋼保護(hù)管直徑Φ6●適用于DN15~25,DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫●標(biāo)準(zhǔn)安裝螺紋M10X1,M12X1.5,G1/2”●PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接2應(yīng)用范圍:●該產(chǎn)品適用于冷凍庫(kù),糧倉(cāng),儲(chǔ)罐,電訊機(jī)房,電力機(jī)房,電纜線槽等測(cè)溫和控制領(lǐng)域●軸瓦,缸體,紡機(jī),空調(diào),等狹小空間工業(yè)設(shè)備測(cè)溫和控制?!衿嚳照{(diào)、冰箱、冷柜、以及中低溫干燥箱等?!窆?制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測(cè)溫和控制傳感器原理圖如圖3-2所示:圖3-2傳感器原理圖3.2.2主要技術(shù)指標(biāo)任何引腳相對(duì)于地的電壓-0.5V至+7.0V運(yùn)用溫度-55℃至+貯存溫度-55℃至+焊接溫度260℃4硬件設(shè)計(jì)4.1顯示電路在單片機(jī)系統(tǒng)中,最常用的顯示器有:發(fā)光二極管,簡(jiǎn)稱LED(LightEmittingDiode);液晶顯示器,簡(jiǎn)稱LCD;熒光管顯示器,簡(jiǎn)稱VFD(VacuumFluorscentsDisplay)。其中LED是一種極低功耗顯示器,廣泛應(yīng)用于測(cè)量產(chǎn)品中,由于本課題不需要復(fù)雜的顯示信息,所以選擇的是LED顯示模塊,,可以節(jié)約硬件資源,降低成本。顯示電路遠(yuǎn)離圖如圖4-1所示:圖4-1顯示原理圖4.2溫度測(cè)試溫度傳感器使用了DSl8B20數(shù)字溫度計(jì)提供可選擇的12位(二進(jìn)制)溫度讀數(shù)來(lái)指示周圍環(huán)境的溫度信息。經(jīng)過(guò)單線接口DQ與單片機(jī)進(jìn)行數(shù)據(jù)交互。從主機(jī)CPU到DSl8B20僅需一條數(shù)據(jù)接線(和地線)。DSl8B20的電源可以由數(shù)據(jù)線本身提供而不需要接外部電源。由于每一個(gè)DSl8B20在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè)DSl8B20可以存放在同一條單線總線上實(shí)現(xiàn)多點(diǎn)溫度測(cè)量。溫度傳感器DSl8B20的測(cè)溫范圍從-55攝氏度到+125攝氏度增量值為0.5度可在ls(典型值)內(nèi)把溫度變換成數(shù)字量,因此采用DS18B20實(shí)現(xiàn)溫度補(bǔ)償電路的設(shè)計(jì)。溫度測(cè)試原理圖如圖4-2所示:圖4-2溫度測(cè)試原理圖4.3最小系統(tǒng)單片機(jī)運(yùn)行工作起來(lái),所必需的最基本電路組成(即單片機(jī)最小系統(tǒng))(1)電源電路:向單片機(jī)供電。(2)時(shí)鐘電路:?jiǎn)纹瑱C(jī)工作的時(shí)間基準(zhǔn),決單片機(jī)工作速度。(3)復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過(guò)程。4.3.1復(fù)位電路單片機(jī)系統(tǒng)的復(fù)位電路在這里采用的是上電+按鈕復(fù)位電路形式,其中電阻R采用10KΩ的阻值,電容采用電容值為100μ的電解電容。具體連接電路如圖4-3所示:圖4-3復(fù)位原理圖4.3.2晶振電路STC89C51內(nèi)部有一個(gè)高增益反向放大器,用于構(gòu)成片內(nèi)振蕩器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。在XTAL1和XTAL2兩端跨接晶體或陶瓷諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘發(fā)生器,外接晶振時(shí),C1,C2通常選擇30pF左右;外接陶瓷諧振器時(shí),C1,C2通常選擇47PF。本設(shè)計(jì)實(shí)物的晶振電路原理圖如圖4-4所示:圖4-4晶振原理圖4.3.3DS18B20的接線說(shuō)明獨(dú)特的一線接口,只需要一條口線通信多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用,無(wú)需外部元件,可用數(shù)據(jù)總線供電,電壓范圍為3.0V至5.5V無(wú)需備用電源。測(cè)量溫度范圍為-55°C至+125℃。華氏相當(dāng)于是67°F到257華氏度-10°DS18B20采用一線通信接口。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無(wú)法使用。主要首先提供以下功能命令之一:●讀ROM●ROM匹配●搜索ROM●跳過(guò)ROM這些指令操作作用在沒(méi)有一個(gè)器件的64位光刻ROM序列號(hào),可以在掛在一線上多個(gè)器件選定某一個(gè)器件,同時(shí),總線也可以知道總線上掛有有多少,什么樣的設(shè)備。若指令成功地使DS18B20完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測(cè)溫。測(cè)量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫(xiě)TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。通過(guò)緩存器讀寄存器。所有數(shù)據(jù)的讀,寫(xiě)都是從最低位開(kāi)始。DS18B20有4個(gè)主要的數(shù)據(jù)部件:(1)光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校準(zhǔn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。(2)DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃1、DS18B20的主要特性●單片機(jī)系統(tǒng)的復(fù)位電路在這里采用的是上電+按鈕復(fù)位電路形式,其中電阻R采用10KΩ的阻值,電容采用電容值為10μ的電解電容。具體連接電路如圖所示:適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電●獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊●DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫●DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)●溫范圍-55℃~+125℃,在-10~+85℃●可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃●在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快●測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線總線"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力●負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。5.系統(tǒng)程序設(shè)計(jì)5.1編寫(xiě)語(yǔ)言及開(kāi)發(fā)工具的選擇編寫(xiě)語(yǔ)言我選擇了C語(yǔ)言,C語(yǔ)言有以下優(yōu)點(diǎn):●簡(jiǎn)潔緊湊、靈活方便,C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書(shū)寫(xiě)形式自由,主要用小寫(xiě)字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元?!襁\(yùn)算符豐富,C語(yǔ)言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C語(yǔ)言的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算?!駭?shù)據(jù)結(jié)構(gòu)豐富,C語(yǔ)言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)●C是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化?!馛語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。雖然C語(yǔ)言也是強(qiáng)類型語(yǔ)言,但它的語(yǔ)法比較靈活,允許程序編寫(xiě)者有較大的自由度?!馛語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作由于C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作,因此它既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可用來(lái)寫(xiě)系統(tǒng)軟件?!裆赡繕?biāo)代碼質(zhì)量高,程序執(zhí)行效率高。一般只比匯編程序生成的目標(biāo)代碼效率低10へ20%。C語(yǔ)言適用范圍大,可移植性好,C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng),如DOS、UNIX;也適用于多種機(jī)型。C語(yǔ)言具有強(qiáng)大的繪圖能力,可移植性好,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà),它也是數(shù)值計(jì)算的高級(jí)語(yǔ)言。開(kāi)發(fā)工具我選用KeilC51,KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。KeilC51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51forWindows和forDos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。5.2主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量溫度值。溫度測(cè)量每1S進(jìn)行一次。主流程圖5-1所示:IS到?IS到?初次上電讀出溫度值并顯示發(fā)溫度轉(zhuǎn)換開(kāi)始命令初始化調(diào)用顯示子程序NYYN圖5-1主流程圖5.3溫度采集流程圖采集溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時(shí)須進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。流程圖5-2所示:YY開(kāi)始DS18B20初始化讀取溫度值跳過(guò)ROM命令結(jié)束9字節(jié)是否讀完?N圖5-2DS18B20溫度采集流程圖5.4顯示流程圖開(kāi)始開(kāi)始調(diào)用顯示子程序?qū)⒆x取的溫度值通過(guò)I/O口送到顯示模塊結(jié)束圖5-3顯示流程圖6原理圖圖6-1系統(tǒng)原理圖7總結(jié)經(jīng)過(guò)四年的學(xué)習(xí),終于完成了我的數(shù)顯電子溫度計(jì)的設(shè)計(jì),雖然沒(méi)有完全達(dá)到設(shè)計(jì)要求,但從心底里說(shuō),還是比較高興的。過(guò)程當(dāng)中用到的單片機(jī)作為控制內(nèi)核,四段數(shù)碼管作為顯示部分,及其他電路,共同組成了我的成果數(shù)字溫度計(jì)。首先設(shè)計(jì)的是它的硬件電路,最重要的部分是STC89S52控制內(nèi)核,所有的數(shù)據(jù)處理都是采用的單片機(jī),其次是DS18B20溫度采集電路,其他還有晶振電路,復(fù)位電路,上下限溫度調(diào)整電路。其次我們?cè)O(shè)計(jì)了它的靈魂軟件電路,通過(guò)用匯編語(yǔ)言編程實(shí)現(xiàn)對(duì)器件的控制。從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,不僅使我真正的學(xué)會(huì)了數(shù)字溫度計(jì)的設(shè)計(jì),而且我相信通過(guò)這次的學(xué)習(xí)我能夠達(dá)到舉一反三的效果,同時(shí)這次的不足之處是在有些細(xì)節(jié)方面剛開(kāi)始做的很不詳細(xì),我想原因在于自己平時(shí)對(duì)自己的學(xué)習(xí)要求的不夠嚴(yán)格,才造成遇到一些問(wèn)題顯得驚慌失措,在日后我會(huì)克服這些缺點(diǎn)的。參考文獻(xiàn)[1]李朝青單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版).杭州:北京航空航天大學(xué)出版社,1998[2]李廣弟單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994[3]閻石數(shù)字電子技術(shù)基礎(chǔ)(第三版).北京:高等教育出版社,1989[4]廖常初現(xiàn)場(chǎng)總線概述[J].電工技術(shù),1999.[5]新穎電子模塊應(yīng)用手冊(cè).北京:機(jī)械工業(yè)出版社,2005[6]申忠如申淼譚亞麗編著,MCS-51單片機(jī)原理及系統(tǒng)設(shè)計(jì).西安交通大學(xué)出版社,2008[7]何立民單片機(jī)應(yīng)用技術(shù)選編[M].北京航空航天大學(xué)出版社,2004[8]趙旦峰劉昕.集成溫度傳感器在多點(diǎn)溫度測(cè)量中的應(yīng)用[J]傳感器技術(shù),1997[9]朱家健單片機(jī)與可編程控制器.北京,高等教育出版社,2007[10]張開(kāi)生,郭國(guó)法,MCS-51單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005致謝經(jīng)過(guò)幾個(gè)月的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周的地方,如果沒(méi)有馬惠鋮老師的督促指導(dǎo)。以及一起工作的同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。在這里要感謝馬惠鋮老師,他循循善誘的教導(dǎo)和不拘一格的思路給予我無(wú)盡的啟迪;他嚴(yán)謹(jǐn)細(xì)致,一絲不茍的作風(fēng)一直是我們工作.學(xué)習(xí)中的榜樣;并將積極影響我今后的學(xué)習(xí)和工作。然后要感謝大學(xué)四年來(lái)的所有老師,為我們打下了電子專業(yè)知識(shí)的基礎(chǔ);同時(shí)還要感謝電子0901班所有的同學(xué)們,正是因?yàn)橛心銈兊闹С趾凸膭?lì)。我才能在溫暖的環(huán)境中茁壯成長(zhǎng)并順利完成畢業(yè)設(shè)計(jì)。PAGEPAGE14附錄:程序voidDisplay(){unsignedcharj;for(j=0;j<30;j++){Out=tab[Disbuf[0]];//要顯示的數(shù)據(jù)第一位ls4=0;delay(300);ls4=1;Out=tab[Disbuf[1]];//要顯示的數(shù)據(jù)第二位ls3=0;delay(300);ls3=1;Out=(tab[Disbuf[2]])&0x7f;//要顯示的數(shù)據(jù)第三位,+小數(shù)點(diǎn)ls2=0;delay(300);ls2=1;Out=tab[Disbuf[3]];//要顯示的數(shù)據(jù)第四位ls1=0;delay(300);ls1=1;}}voidconv(void){unsignedcharbdatap;unsignedchartem1,tem2,tem3;p=ALLTEMP;p=p&0x80;p>>=7;if(p==1)//判斷+-溫度{Disbuf[0]=0x0b;//顯示“-”號(hào)ALLTEMP=~ALLTEMP;//取補(bǔ)碼ALLTEMP++;tem2=ALLTEMP/10;tem3=ALLTEMP%10;Disbuf[1]=tem2;if(Disbuf[1]==0)Disbuf[1]=0x0a;//高位0不顯示Disbuf[2]=tem3;Disbuf[3]=0x0c;//'C'}else{tem1=ALLTEMP/100;tem2=(ALLTEMP-tem1*100)/10;tem3=ALLTEMP-tem1*100-tem2*10;Disbuf[0]=tem1;Disbuf[1]=tem2;Disbuf[2]=tem3;if(Disbuf[0]==0){Disbuf[0]=0x0a;//高位0不顯示if(Disbuf[1]==0)Disbuf[1]=0x0a;//高位0不顯示}Disbuf[3]=0x0c;//'C'}}unsignedcharow_reset(void){unsignedcharp;DQ=0;//拉DQ線為低delay(36);//等待DQ=1;//DQ返回高delay(3);//等待p=DQ;//獲得信號(hào)delay(25);//等待結(jié)束時(shí)間片return(p);}//0=找到器件,1=無(wú)器件//從1-wire總線上讀取一個(gè)字節(jié)unsignedcharread_byte(void){unsignedchari;unsignedcharvalue=0;for(i=8;i>0;i--){value>>=1;DQ=0;//拉低DQDQ=1;//返回高DQ=1;if(DQ)value|=0x80;delay(6);//等待讀時(shí)間片}return(value);}//向1-WIRE總線上寫(xiě)一個(gè)字節(jié)voidwrite_byte(charval){unsignedchari;for(i=8;i>0;i--)//寫(xiě)1字節(jié){DQ=0;//拉低DQDQ=val&0x01;delay(2);//等待DQ=1;val=val/2;}delay(5);}charRead_Temperature(void){union{unsignedcharc[2];unsignedintx;}temp;//定義一個(gè)聯(lián)合數(shù)據(jù)類型,便于數(shù)據(jù)處理ow_reset();write_byte(0xCC);//此命令執(zhí)行后的存儲(chǔ)器操作將針對(duì)在線的所有DS1820write_byte(0xBE);//從高速暫存器讀9bits溫度值和CRC值temp.c[1]=read_byte();temp.c[0]=read_byte();ow_reset();write_byte(0xCC);//跳過(guò)ROMwrite_byte(0x44);//轉(zhuǎn)換溫度returntemp.x/16;//保留整度,顯示前要轉(zhuǎn)換其特殊格式!}main(){unsignedchari;//conv();ALLTEMP=Read_Temperature();//讀溫度conv();for(i=0;i<4;i++)Disbuf[i]=0x0a;for(i=0;i<2;i++)Display();ALLTEMP=Read_Temperature();//讀溫度conv();while(1){Display();if(i>2)//由于18B20轉(zhuǎn)換速度限制讀取溫度不能太快,一般要隔2秒讀取一次{//這里采用顯示2次后讀一次數(shù)據(jù)ALLTEMP=Read_Temperature();//讀溫度conv();//轉(zhuǎn)換i=0;}i++;}}aganemploymenttribunalclaiEmloymenttribunalssortoutdisagreementsbetweenemployersandemployees.Youmayneedtomakeaclaimtoanemploymenttribunalif:youdon'tagreewiththedisciplinaryactionyouremployerhastakenagainstyouyouremployerdismissesyouandyouthinkthatyouhavebeendismissedunfairly.Formoreinformu,takeadvicefromone畢業(yè)論文(設(shè)計(jì))題目LED顯示屏控制系統(tǒng)的分析與設(shè)計(jì)前言一、問(wèn)題的提出:用于圖文顯示的LED顯示屏,如果只顯示一些圖形、文字,而對(duì)圖像、動(dòng)畫(huà)以及信息的實(shí)時(shí)顯示要求不高,而且信息的內(nèi)容和屏與屏切換相對(duì)比較穩(wěn)定,不需要固定計(jì)算機(jī)實(shí)時(shí)服務(wù),只需要在控制顯示屏的單片機(jī)中加入存儲(chǔ)塊,實(shí)現(xiàn)信息的保存功能。通過(guò)無(wú)線發(fā)射機(jī)和無(wú)線接收機(jī)進(jìn)行數(shù)據(jù)的傳輸,達(dá)到對(duì)LED顯示屏的控制。二、論文的主要研究?jī)?nèi)容:通過(guò)軟件編輯實(shí)現(xiàn)圖文編輯與傳輸。采用習(xí)慣的Windows窗體,開(kāi)啟文本編輯區(qū),完成圖形和文字的編輯工作。在控制系統(tǒng)中實(shí)現(xiàn)字模的提取與保存,無(wú)需在單片機(jī)中加入漢字庫(kù)。通過(guò)采用PC與無(wú)線發(fā)射機(jī)串行通訊方式,無(wú)線接受機(jī)接收信息發(fā)送給LED顯示屏,從而完成信息的傳輸。通過(guò)對(duì)點(diǎn)陣模塊和控制電路的分析,確定LED顯示屏的部件構(gòu)成;通過(guò)對(duì)單片機(jī)及智能控制模塊的分析,確定LED顯示屏的組成結(jié)構(gòu)和掃描驅(qū)動(dòng)方式,實(shí)現(xiàn)LED顯示屏的顯示。無(wú)線發(fā)射機(jī)硬件控制模塊無(wú)線接收機(jī)硬件控制模塊無(wú)線發(fā)射機(jī)硬件控制模塊無(wú)線接收機(jī)硬件控制模塊RS-232串口通信發(fā)射信息PC機(jī)控制系統(tǒng)單片機(jī)系統(tǒng)LED點(diǎn)陣顯示屏行列掃描驅(qū)動(dòng)四、論文的組織論文分為三個(gè)部分,分別是:系統(tǒng)的控制部分,無(wú)線數(shù)據(jù)傳輸系統(tǒng)部分以及LED顯示屏工作部分。具體組織安排如下:第一部分:LED顯示屏控制系統(tǒng)的分析與設(shè)計(jì)。這一部分主要由司紅君同學(xué)設(shè)計(jì),在這一部分中主要介紹以下內(nèi)容:1、根據(jù)具體應(yīng)用環(huán)境的要求,對(duì)整個(gè)系統(tǒng)進(jìn)行詳細(xì)的分析。主要介紹:1)整體分析。對(duì)軟件的整體結(jié)構(gòu)、框架進(jìn)行分析;2)軟件控制系統(tǒng)分析。在本節(jié)中,對(duì)系統(tǒng)的編輯、保存、預(yù)覽功能進(jìn)行詳細(xì)的分析與設(shè)計(jì);2、核心控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),具體如下:1)編輯功能設(shè)計(jì)與實(shí)現(xiàn);2)字模;3)圖像預(yù)處理的設(shè)計(jì)與實(shí)現(xiàn);4)在核心功能初步實(shí)現(xiàn)的基礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行開(kāi)發(fā)。3、設(shè)備通訊,利用RS-232C串行通信實(shí)現(xiàn)PC機(jī)與無(wú)線傳輸機(jī)之間的數(shù)據(jù)傳輸。第二部分:基于PIC的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)。這一部分主要由王麗霞同學(xué)設(shè)計(jì),在這一部分中主要介紹以下內(nèi)容:1.簡(jiǎn)單介紹PIC系列單片機(jī)。2.無(wú)線數(shù)據(jù)傳輸發(fā)射機(jī)的設(shè)計(jì)1)以PIC16F84芯片為基本部件的無(wú)線數(shù)據(jù)傳輸發(fā)射機(jī)的各部原理2)發(fā)送信機(jī)控制Code碼信號(hào)3)發(fā)送信機(jī)端的程式設(shè)計(jì)框圖3.無(wú)線數(shù)據(jù)傳輸接收機(jī)的設(shè)計(jì)1)高頻放大電路2)遙控接收機(jī)接收編碼ST0、ST1和ST2的原理4.系統(tǒng)的調(diào)試1)發(fā)送信機(jī)的安裝調(diào)試2)接收機(jī)調(diào)測(cè),動(dòng)作確認(rèn)5.小結(jié)第三部分:LED顯示屏工作原理。這一部分主要由鄧成富同學(xué)設(shè)計(jì),在這一部分中主要介紹:1、介紹LED的歷史、現(xiàn)狀及發(fā)展2、單片機(jī)概述及LED顯示屏的系統(tǒng)概述3、根據(jù)設(shè)計(jì)的要求,對(duì)LED顯示屏系統(tǒng)整體結(jié)構(gòu)框架進(jìn)行分析,并介紹工作過(guò)程。1、硬件設(shè)計(jì)。主要完成LED顯示屏的驅(qū)動(dòng)任務(wù),采用MCS51系列單片機(jī)控制,單片機(jī)主要負(fù)責(zé)與上位機(jī)間的通訊接收文件信息并保存,通過(guò)行列驅(qū)動(dòng)器控制完成LED點(diǎn)陣的驅(qū)動(dòng)和控制信號(hào)。2、軟件設(shè)計(jì)。主要介紹LED點(diǎn)陣漢字的顯示原理,并通過(guò)字模提取軟件將16×16點(diǎn)陣的漢字字模轉(zhuǎn)換成8×32的編碼,進(jìn)行編輯語(yǔ)言輸入。目錄前言 1摘要 5第1章緒論 51.1LED顯示屏的研究背景及意義 51.2軟件開(kāi)發(fā)工具C++概述 6第2章LED顯示屏控制系統(tǒng)的系統(tǒng)分析 72.1整體分析 82.2計(jì)算機(jī)軟件模塊分析與設(shè)計(jì) 8第3章串行接口 103.1串行通信的工作原理 103.2RS-232C串行通信簡(jiǎn)介 103.3RS-232C引腳及使用 113.4MAX-232介紹 12第4章軟件控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 134.1編輯功能設(shè)計(jì)與實(shí)現(xiàn) 144.2字模提取 164.3效果添加與預(yù)覽功能的設(shè)計(jì)與實(shí)現(xiàn) 184.4控制系統(tǒng)軟件設(shè)計(jì) 20第5章總結(jié) 26參考文獻(xiàn) 27致謝 28Abstract 29LED顯示屏控制系統(tǒng)的研究與設(shè)計(jì)司紅君南京信息工程大學(xué)電子與信息工程學(xué)院,南京210044摘要:本文根據(jù)LED圖文顯示屏系統(tǒng)的具體要求,通過(guò)查閱資料,分析并歸納出具體設(shè)計(jì)方案。即系統(tǒng)體系結(jié)構(gòu)、系統(tǒng)整體工作流程、軟件控制系統(tǒng)的設(shè)計(jì)以及串行通信設(shè)計(jì)。這個(gè)系統(tǒng)的工作流程是:通過(guò)軟件控制系統(tǒng)提供的編輯工具完成圖文編輯工作,對(duì)編輯的信息實(shí)現(xiàn)字模提取,然后可以根據(jù)系統(tǒng)提供的顯示模式加載顯示效果,確認(rèn)為欲顯示信息后保存文件,然后通過(guò)程序調(diào)用Windows函數(shù),并采用RS-232C串口通信,實(shí)現(xiàn)數(shù)據(jù)到無(wú)線發(fā)射機(jī)的傳輸。本文具體設(shè)計(jì)了三個(gè)模塊:編輯功能模塊,字模提取模塊,效果添加及預(yù)覽模塊。系統(tǒng)是否需要更新以及現(xiàn)有設(shè)計(jì)是否能夠滿足要求都有待于進(jìn)一步的研究。關(guān)鍵詞:LEDC++字模串行通信第1章緒論1.1LED顯示屏的研究背景及意義在當(dāng)今現(xiàn)代信息化社會(huì)的高速發(fā)展過(guò)程中,大屏幕顯示已經(jīng)從公共信息展示等商業(yè)應(yīng)用向消費(fèi)類多媒體應(yīng)用滲透。隨著寬帶網(wǎng)絡(luò)的發(fā)展,數(shù)字化的多媒體內(nèi)容將在信息世界中占據(jù)主流,新型的大屏幕顯示設(shè)備將代替?zhèn)鹘y(tǒng)電視機(jī)成為人們享受信息和多媒體內(nèi)容的中心。與傳統(tǒng)的顯示設(shè)備相比,這種未來(lái)的巨大需求讓大屏幕顯示技術(shù)成為眾人目光的焦點(diǎn):LED顯示屏色彩豐富,顯示方式變化多樣(圖形、文字、三維、二維動(dòng)畫(huà)、電視畫(huà)面等)、亮度高、壽命長(zhǎng),是信息傳播設(shè)施劃時(shí)代的產(chǎn)品。LED顯示屏是集光電子技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理技術(shù)于一體的高技術(shù)產(chǎn)品,可用來(lái)顯示文字、計(jì)算機(jī)屏幕同步的圖形。它以其超大畫(huà)面、超強(qiáng)視覺(jué)、靈活多變的顯示方式等獨(dú)居一格的優(yōu)勢(shì),是目前國(guó)際上使用廣泛的顯示系統(tǒng)。LED顯示屏應(yīng)用廣泛,金融證券、銀行利率、商業(yè)廣告、文化娛樂(lè)等方面,有巨大的社會(huì)效益和豐厚的經(jīng)濟(jì)效益。在其歷史的演變過(guò)程中,出現(xiàn)了多種信息傳播媒體:但就其性能看:如陰級(jí)管(crt)或石英管(dv)大型電視,成本非常昂貴,在不需要超大畫(huà)面且在室內(nèi)使用時(shí)效果尚可;彩色液晶顯示同樣成本昂貴、電路復(fù)雜,面積有限,受視頻角的影響非常大,可視角度很??;影象投影設(shè)備亮度小、清晰度差(畫(huà)面受光不均勻);電視墻表面有分割線,視覺(jué)上有異物感,室外應(yīng)用時(shí)亮度效果差。而LED顯示屏以其受空間限制較小,并可以根據(jù)用戶要求設(shè)計(jì)屏的大小,具有全彩色效果,視角大,可以用于顯示文字、圖案、圖象、動(dòng)畫(huà)、視頻、錄象信號(hào)等各種信息的特點(diǎn)得到了突飛猛進(jìn)的發(fā)展。LED顯示屏的發(fā)展主要經(jīng)歷了三個(gè)階段:1、1990年以前LED顯示屏的成長(zhǎng)時(shí)期。一方面,受LED材料器件的限制,LED顯示屏的應(yīng)用領(lǐng)域沒(méi)有廣泛開(kāi)展;另一方面,顯示屏控制技術(shù)基本上是通訊控制方式,客觀上影響了顯示效果。這一時(shí)期的LED顯示屏在國(guó)外應(yīng)用較廣,國(guó)內(nèi)很少,產(chǎn)品以紅、綠雙基色為主,控制方式為通訊控制,灰度等級(jí)為單點(diǎn)4級(jí)調(diào)灰,成本較高。2、1990-1995年,這一段是LED顯示屏迅速發(fā)展的時(shí)期。進(jìn)入九十年代,全球信息產(chǎn)業(yè)高速增長(zhǎng),信息技術(shù)各個(gè)領(lǐng)域不斷突破,LED顯示屏在LED材料和控制技術(shù)方面也不斷出現(xiàn)新的成果。藍(lán)色LED晶片研制成功,全彩色LED顯示屏進(jìn)入市場(chǎng);電子計(jì)算機(jī)及微電子領(lǐng)域的技術(shù)發(fā)展,在顯示屏控制技術(shù)領(lǐng)域出現(xiàn)了視頻控制技術(shù),顯示屏灰度等級(jí)實(shí)現(xiàn)16級(jí)灰度和64級(jí)灰度調(diào)灰,顯示屏的動(dòng)態(tài)顯示效果大大提高,產(chǎn)品應(yīng)用領(lǐng)域涉及金融證券、體育、機(jī)場(chǎng)、鐵路、車站、公路交通、商業(yè)廣告、郵電電信等諸多領(lǐng)域,特別是1993年證券股票業(yè)的發(fā)展更引發(fā)了LED顯示屏市場(chǎng)的大幅增長(zhǎng)。LED顯示屏在平板顯示領(lǐng)域的主流產(chǎn)品局面基本形成,LED顯示屏產(chǎn)業(yè)成為新興的高科技產(chǎn)業(yè)。3、1995年以來(lái),LED顯示屏的發(fā)展進(jìn)入一個(gè)總體穩(wěn)步提高產(chǎn)業(yè)格局調(diào)整完善的時(shí)期。進(jìn)入新世紀(jì),光電子產(chǎn)業(yè)得到廣泛的重視,中國(guó)加入WTO、北京申奧成功等,成為L(zhǎng)ED顯示屏產(chǎn)業(yè)發(fā)展的契機(jī),LED顯示屏必將得到飛躍發(fā)展[5]。1.2軟件開(kāi)發(fā)工具C++概述C++語(yǔ)言是一種優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,它在C語(yǔ)言的基礎(chǔ)上發(fā)展而來(lái),但它比C語(yǔ)言更容易為人們學(xué)習(xí)和掌握。C++以其獨(dú)特的語(yǔ)言機(jī)制在計(jì)算機(jī)科學(xué)的各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用。面向?qū)ο蟮脑O(shè)計(jì)思想是在原來(lái)結(jié)構(gòu)化程序設(shè)計(jì)方法基礎(chǔ)上的一個(gè)質(zhì)的飛躍,C++完美地體現(xiàn)了面向?qū)ο蟮母鞣N特性。VC++作為一個(gè)面向?qū)ο蟮拈_(kāi)發(fā)工具,而不同于傳統(tǒng)的基于過(guò)程的編程工具,所以在本文中必須明確以下幾個(gè)概念:1、對(duì)象從概念上講,對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體。例如,在一個(gè)學(xué)校管理系統(tǒng)中,像學(xué)生、教師、成績(jī)單等都是對(duì)象,這些對(duì)象對(duì)于實(shí)現(xiàn)系統(tǒng)的完整功能都是必要的。從實(shí)現(xiàn)形式上講,對(duì)象一個(gè)屬性(狀態(tài))和操作(方法或行為)的封裝體。屬性是由對(duì)象中變量的內(nèi)容和值定義的,例如學(xué)生有年齡、性別、入學(xué)日期等屬性。各個(gè)對(duì)象的屬性值互不相同。操作是一系列的實(shí)現(xiàn)步驟,它能夠完成特定的功能,例如對(duì)學(xué)生可以有選對(duì)象實(shí)現(xiàn)了信息隱藏,對(duì)象與外部是通過(guò)操作接口聯(lián)系的,操作的具體實(shí)現(xiàn)外部是不可見(jiàn)的。封裝的目的就是阻止非法的訪問(wèn),操作接口提供了這個(gè)對(duì)象的功能。對(duì)象是通過(guò)消息與另一個(gè)對(duì)象傳遞信息的,每當(dāng)一個(gè)操作被調(diào)用,就有一條消息被發(fā)送到這個(gè)對(duì)象上,消息帶來(lái)將被執(zhí)行的這個(gè)操作的詳細(xì)內(nèi)容。在C++中,向?qū)ο蟀l(fā)送消息就是調(diào)用對(duì)象的成員函數(shù),從而獲取對(duì)象的狀態(tài)信息或是對(duì)對(duì)象的狀態(tài)進(jìn)行修改。2、類類是對(duì)象的模板,它包含所創(chuàng)建對(duì)象的狀態(tài)描述和方法的定義。類的完整定義包含了外部接口和內(nèi)部算法以及數(shù)據(jù)結(jié)構(gòu)的形式。由一個(gè)特定的類所創(chuàng)建的對(duì)象被稱為這個(gè)類的實(shí)例,因此類是對(duì)象的抽象及描述,它是具有共同行為的若干對(duì)象的統(tǒng)一描述體。類是抽象數(shù)據(jù)類型的實(shí)現(xiàn)。一個(gè)類的所有對(duì)象都有相同的數(shù)據(jù)結(jié)構(gòu),并且共享相同的實(shí)現(xiàn)操作的代碼,而各個(gè)對(duì)象有著各自不同的狀態(tài),即私有的存儲(chǔ)。因此,類是所有對(duì)象的共同的行為和不同狀態(tài)的集合體。3、繼承類提供了說(shuō)明一組對(duì)象結(jié)構(gòu)的機(jī)制,再借助于繼承擴(kuò)充類的定義方式,從而體現(xiàn)代碼可重用的優(yōu)越性。繼承提供了創(chuàng)建新類的一種方法,這種方法就是說(shuō),一個(gè)新類可以通過(guò)對(duì)已有類進(jìn)行修改或擴(kuò)充來(lái)滿足新類的要求。新類共享已有類的行為,而自己還具有修改的或額外添加的行為。因此,可以說(shuō)繼承的本質(zhì)特征是行為共享。從一個(gè)類繼承定義的新類將繼承已有類的所有方法和屬性,并且還可以添加所需要的新的方法和屬性。新類被稱為已有類的子類,而已有類稱為父類,又叫基類,新類又叫派生類。面向?qū)ο蟮?個(gè)要素是對(duì)象、類和繼承。在C++中,類是主要的編程對(duì)象,程序員需要設(shè)計(jì)類的成員變量和成員函數(shù),以及類與外界的接口。對(duì)象即類的實(shí)例化,類是對(duì)象的模板。同一個(gè)類的對(duì)象具有相同的行為,但狀態(tài)可以不同。繼承是創(chuàng)建新類的一種重要方法,派生類按照繼承類型的不同可以從基類繼承到不同的成員,同時(shí)派生類還可以添加新的成員,通過(guò)這種繼承和擴(kuò)充得到新的類。第2章LED顯示屏控制系統(tǒng)的系統(tǒng)分析根據(jù)LED顯示屏控制系統(tǒng)的應(yīng)用,本章設(shè)計(jì)了LED圖文顯示屏的體系結(jié)構(gòu)和工作流程。其中軟件系統(tǒng)與無(wú)線傳輸控制硬件主系統(tǒng)之間采用串行通訊方式完成程序下載,實(shí)現(xiàn)文本信息的傳輸。2.1整體分析LED顯示屏系統(tǒng)組成LED圖文顯示屏系統(tǒng)由軟件控制系統(tǒng)、無(wú)線傳輸系統(tǒng)、設(shè)備主控制器、LED顯示點(diǎn)陣、電源等部分組成?;窘Y(jié)構(gòu)如下圖:PC軟件控制系統(tǒng)單片機(jī)各功能模塊 行驅(qū)動(dòng)器 PC軟件控制系統(tǒng)單片機(jī)各功能模塊 行驅(qū)動(dòng)器 LED顯示點(diǎn)陣 列驅(qū)動(dòng)器 無(wú)線發(fā)射機(jī)無(wú)線接受機(jī)系統(tǒng)工作過(guò)程:軟件控制系統(tǒng)主要完成的任務(wù)為圖文編輯、字模提取與保存、圖像預(yù)覽與文件傳輸;無(wú)線傳輸系統(tǒng)主要完成文件信息由PC機(jī)傳輸至LED顯示器,硬件控制系統(tǒng)中LED點(diǎn)陣主要任務(wù)是通過(guò)電流控制完成信息顯示,通過(guò)單片機(jī)的掃描驅(qū)動(dòng)方式的控制對(duì)LED點(diǎn)陣行列驅(qū)動(dòng),實(shí)現(xiàn)設(shè)備的驅(qū)動(dòng)并最終實(shí)現(xiàn)接收的圖文顯示功能。2.2計(jì)算機(jī)軟件模塊分析與設(shè)計(jì)軟件模塊分為編輯部分和控制通訊部分,編輯部分實(shí)現(xiàn)圖文文件的編輯功能,通訊部分通過(guò)RS-232C串口通訊完成文件到單片機(jī)存儲(chǔ)模塊的傳輸。通訊部分將在第三章做詳細(xì)的介紹。系統(tǒng)設(shè)計(jì)采用Windows操作系統(tǒng)下,開(kāi)啟文本編輯窗口,客戶區(qū)內(nèi)像素點(diǎn)采用與實(shí)際LED點(diǎn)陣顯示屏像素點(diǎn)相同,功能類似Word文檔編輯工具,包括編輯模塊、繪圖模塊、文字編輯模塊、顏色控制模塊、顯示效果加載模塊、預(yù)覽模塊、信息下載模塊。1、編輯模塊1)除Windows自生成的剪貼、復(fù)制、粘貼功能,系統(tǒng)加入了撤消、重復(fù)功能。(1)選中撤消功能可以實(shí)現(xiàn)之前編輯工作的一步步取消功能。(2)選中重復(fù)功能可以實(shí)現(xiàn)之前編輯工作的最近的一條操作命令。2)繪圖:包括直線、矩形、橢圓、圓等在內(nèi)的圖形繪制功能。3)文字編輯:包括各種字體、字形、字號(hào)、效果、顏色的文字的編輯,并且根據(jù)應(yīng)用的特殊用途,加入指定位置文字的編輯。(1)選中文字功能,彈出字體選擇框體,可以選擇各種字體的文字進(jìn)行編輯(2)調(diào)出具體文字位置編輯對(duì)話框,輸入文字和要求顯示位置的橫坐標(biāo)和縱坐標(biāo)。4)顏色控制模塊:由于應(yīng)用領(lǐng)域的具體特點(diǎn),主要采用了紅、綠、黃三種顏色,可以實(shí)現(xiàn)顏色控制。2、增添效果模塊:通過(guò)增添顯示效果和傳輸通訊中多屏文件單屏傳送,完善了控制系統(tǒng)的功能。1)普通效果,靜態(tài)的顯示屏幕上的信息2)滾動(dòng)效果,可以實(shí)現(xiàn)從左向右的信息滾動(dòng)顯示,可以與靜態(tài)信息穿插顯示。3)單屏信息傳輸,實(shí)現(xiàn)編輯待傳輸信息的保存。4)多屏信息傳輸,實(shí)現(xiàn)編輯保存好的單屏信息合并保存成一個(gè)文件,大大減少傳輸文件時(shí)的煩瑣。3、圖像預(yù)覽模塊:在文件傳輸之前實(shí)現(xiàn)字模信息的預(yù)覽功能,可以實(shí)現(xiàn)預(yù)覽傳輸前所保存的任何形式的字模信息,并且直接集成到工具欄文件打開(kāi)功能鍵按鈕。1)顯示效果,通過(guò)文件傳輸前的預(yù)覽,可以調(diào)整靜態(tài)與滾動(dòng)顯示效果的排列順序。2)顯示時(shí)間,顯示不同屏幕顯示信息之間的時(shí)間間隔。軟件模塊結(jié)構(gòu)圖如下:控制模塊控制模塊編輯模塊增添效果模塊圖像預(yù)覽模塊設(shè)備通訊模塊文字編輯圖形編輯顏色控制滾動(dòng)效果多屏文件合并顯示效果顯示時(shí)間設(shè)備通訊文件傳輸圖3-2軟件模塊結(jié)構(gòu)圖第3章串行接口3.1串行通信的工作原理在各種單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)中,如智能儀器儀表、各類手持設(shè)備、GPS接收器等,都會(huì)遇到怎樣與PC機(jī)進(jìn)行通訊的問(wèn)題。微機(jī)的主板通過(guò)并行口和串行口等與外設(shè)交換數(shù)據(jù),并行口主要進(jìn)行短距離的數(shù)據(jù)傳送,傳送速率較快,通常用作打印機(jī)的輸出。而長(zhǎng)距離的數(shù)據(jù)傳送只能采用串行口,串行口只需一根數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳送,傳送距離較長(zhǎng),投資較少,但傳送速率較低。因此,在數(shù)據(jù)量不大、傳輸要求不高的情況下,一般都采用串行通訊方式,即通過(guò)與PC機(jī)配置的RS-232標(biāo)準(zhǔn)串行接口COMl,COM2等相連接來(lái)實(shí)現(xiàn)應(yīng)用系統(tǒng)與PC機(jī)之間的數(shù)據(jù)交換。為了能使微機(jī)與單片機(jī)之間能通信,必須遵守相同的通信協(xié)議。由于單片機(jī)的串行口以TTL電平進(jìn)行輸入輸出,而微機(jī)的RS-232接口則采用+12V和的-12V電平方式,與PC機(jī)RS-232標(biāo)準(zhǔn)串行接口的電氣規(guī)范不一致,因此要實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的數(shù)據(jù)通讀,必須進(jìn)行電平轉(zhuǎn)換。一般常用的平轉(zhuǎn)換器件有MC1488,MC1489及MAX232等,但MC1488,MC1489需要+-12V電源,這對(duì)于不具備+-12V電源的單片機(jī)系統(tǒng)是非常不便的,而雙路RS-232收發(fā)器MAX232就是基于這一功能開(kāi)發(fā)的新型器件[4]。3.2RS-232C串行通信簡(jiǎn)介串行通信接口標(biāo)準(zhǔn)經(jīng)過(guò)使用和發(fā)展,目前已經(jīng)有幾種。但都是在RS-232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過(guò)改進(jìn)而形成的。RS-232C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000b/s范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問(wèn)題,如信號(hào)線功能、電器特性都作了明確規(guī)定。由于通行設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用。RS-232C標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C標(biāo)準(zhǔn),其中EIA(ElectronicIndustryAssociation)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(recommededstandard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS-232的最新一次修改(1969在這之前,有RS232B,RS232A)。它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程。RS-232C規(guī)定標(biāo)準(zhǔn)接口有25條線,4條數(shù)據(jù)線、11條控制線、3條定時(shí)線、7條備用和未定義線,常用的只有9根,它們是:(1)聯(lián)絡(luò)控制信號(hào)線:數(shù)據(jù)裝置準(zhǔn)備好(Datasetready-DSR)——有效時(shí)(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。數(shù)據(jù)終端準(zhǔn)備好(Datasetready-DTR)——有效時(shí)(ON)狀態(tài),表明數(shù)據(jù)終端可以使用。這兩個(gè)信號(hào)有時(shí)連到電源上,一上電就立即有效。這兩個(gè)設(shè)備狀態(tài)信號(hào)有效,只表示設(shè)備本身可用,并不說(shuō)明通信鏈路可以開(kāi)始進(jìn)行通信了,能否開(kāi)始進(jìn)行通信要由下面的控制信號(hào)決定。請(qǐng)求發(fā)送(Requesttosend-RTS)——用來(lái)表示DTE請(qǐng)求DCE發(fā)送數(shù)據(jù),即當(dāng)終端要發(fā)送數(shù)據(jù)時(shí),使該信號(hào)有效(ON狀態(tài)),向MODEM請(qǐng)求發(fā)送。它用來(lái)控制MODEM是否要進(jìn)入發(fā)送狀態(tài)。允許發(fā)送(Cleartosend-CTS)——用來(lái)表示DCE準(zhǔn)備好接收DTE發(fā)來(lái)的數(shù)據(jù),是對(duì)請(qǐng)求發(fā)送信號(hào)RTS的響應(yīng)信號(hào)。當(dāng)MODEM已準(zhǔn)備好接收終端傳來(lái)的數(shù)據(jù),并向前發(fā)送時(shí),使該信號(hào)有效,通知終端開(kāi)始沿發(fā)送數(shù)據(jù)線TXD發(fā)送數(shù)據(jù)。這對(duì)RTS/CTS請(qǐng)求應(yīng)答聯(lián)絡(luò)信號(hào)是用于半雙工MODEM系統(tǒng)中發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中作發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中,因配置雙向通道,故不需要RTS/CTS聯(lián)絡(luò)信號(hào),使其變高。接收線信號(hào)檢出(ReceivedLinedetection-RLSD)——用來(lái)表示DCE已接通通信鏈路,告知DTE準(zhǔn)備接收數(shù)據(jù)。當(dāng)本地的MODEM收到由通信鏈路另一端(遠(yuǎn)地)的MODEM送來(lái)的載波信號(hào)時(shí),使RLSD信號(hào)有效,通知終端準(zhǔn)備接收,并且由MODEM將接收下來(lái)的載波信號(hào)解調(diào)成數(shù)字兩數(shù)據(jù)后,沿接收數(shù)據(jù)線RXD送到終端。此線也叫做數(shù)據(jù)載波檢出(DataCarrierdectection-DCD)線。振鈴指示(Ringing-RI)——當(dāng)MODEM收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效(ON狀態(tài)),通知終端,已被呼叫。(2)數(shù)據(jù)發(fā)送與接收線:發(fā)送數(shù)據(jù)(Transmitteddata-TXD)——通過(guò)TXD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。接收數(shù)據(jù)(Receiveddata-RXD)——通過(guò)RXD線終端接收從MODEM發(fā)來(lái)的串行數(shù)據(jù),(DCE→DTE)。(3)地線有兩根線SG,PG——信號(hào)地和保護(hù)地信號(hào)線,無(wú)方向。3.3RS-232C引腳及使用從機(jī)械特性而言,RS-232C包括標(biāo)準(zhǔn)的25針及簡(jiǎn)化的9針引腳排列。實(shí)際上,RS-232C的25條引腳中有許多是很少使用的,要完成最基本的串行通信功能,只需要RXD,TXD和GND即可。表1為常用的9針接口各引腳的信號(hào)功能。引腳信號(hào)信號(hào)源類型描述1DCDDCE控制載波信號(hào)檢測(cè)2RXDDCE數(shù)據(jù)數(shù)據(jù)接收3TXDDTE數(shù)據(jù)數(shù)據(jù)接收4DTRDTE控制數(shù)據(jù)終端準(zhǔn)備好5GND信號(hào)地6DSRDCE控制數(shù)據(jù)設(shè)置準(zhǔn)備好7RTSDTE控制請(qǐng)求發(fā)送8CTSDCE控制清除發(fā)送9RIDCE控制振鈴指示表1從電氣特性而言,RS-232總線的邏輯電平與TTL電平完全不兼容,因此必須進(jìn)行電平轉(zhuǎn)換。目前常使用的電平轉(zhuǎn)換電路為MAX232。3.4MAX-232介紹MAX232是雙路驅(qū)動(dòng)/接收器,內(nèi)部包括電容型的電壓生成器,可以將單5V電源轉(zhuǎn)換成符合EIA/TIA-232-E的電壓等級(jí)。接收器將EIA/TIA-232-E標(biāo)準(zhǔn)的輸入電平轉(zhuǎn)換成SVTTL/CMOS電平。接收器的典型臨界值是1.3V,典型磁滯是0.5V,可以接收+-30V的輸入信號(hào)。驅(qū)動(dòng)器(發(fā)送器)將TTL/CMOS輸入電平轉(zhuǎn)換成EIA/TIA-232-E電平。圖2.4為其管腳分布圖。其特性如下[6]。圖3-1MAX232管腳圖(1)單5V電源(2)LinBiCMOS工藝(3)兩個(gè)驅(qū)動(dòng)器和兩個(gè)接收器(4)+-30V的輸入電平(5)低工作電流:8mA典型值(6)滿足和超過(guò)ANSIEIA/TIA-232-E和ITU推薦標(biāo)準(zhǔn)V.28其工藝技術(shù)如下:(1)兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器(2)+-30V輸入電平(3)低電源電流:典型值是8mA(4)符合甚至優(yōu)于ANSI標(biāo)準(zhǔn)EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn)V.28(5)可與Maxim公司的MAX232互換(6)ESD保護(hù)大于MIL-STD-883(方法3015)標(biāo)準(zhǔn)的2000V注意事項(xiàng):(1)工作溫度(自然通風(fēng))范圍內(nèi)的極限參數(shù)(除非另有說(shuō)明)(2)輸入電源電壓范圍,Vcc-0.3V至6V(3)正輸出電源電壓范圍,VS+Vcc-0.3V至15V(4)負(fù)輸出電源電壓范圍,VS--0.3V至-15V(5)輸入電壓范圍,VI:驅(qū)動(dòng)器-0.3v至Vcc+0.3V(6)接收器+-30V(7)輸出電壓范圍,V0:T10UT,T20UTVS--0.3V至VS++O.3V(8)RlOUT,R20UT-0.3V至Vcc+O.3V(9)短路持續(xù)時(shí)間:T10UT,T20UT未限制(10)工作溫度(自然通風(fēng))范圍,TA:MAX2320℃至70℃(11)MAX232I-40℃至85℃(12)存儲(chǔ)溫度范圍,Tstg-65℃至150℃(13)引線溫度,離外殼1.6mm(1/16英寸),10秒260℃強(qiáng)度超出所列的極限參數(shù)可能導(dǎo)致器件的永久性損壞。這些僅僅是極限參數(shù),并不意味著在極限參數(shù)條件下或在任何其它超出推薦工作條件所示參數(shù)的情況下器件能有效地工作。延長(zhǎng)在極限參數(shù)條件下的工作時(shí)間會(huì)影響器件的可靠性[7]。第4章軟件控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)在LED顯示屏的軟件控制系統(tǒng)中,文本信息的編輯、字模信息的保存、顯示效果的處理、圖像預(yù)覽以及設(shè)備通訊是設(shè)計(jì)的核心上作。下面就這四個(gè)核心功能做詳細(xì)的研究與設(shè)計(jì)。4.1編輯功能設(shè)計(jì)與實(shí)現(xiàn)在LED顯示屏上展現(xiàn)所要顯示的內(nèi)容以及效果,編輯工作是最重要的環(huán)節(jié)之一。本系統(tǒng)在設(shè)計(jì)時(shí)采用VC6.0開(kāi)發(fā)工具,用VC++完成整個(gè)設(shè)計(jì)工作?;贛FCAppWizard建立工程,以單文檔View的形式開(kāi)啟文本區(qū)。下面對(duì)工程進(jìn)行分析和設(shè)計(jì):1、文本區(qū)的開(kāi)啟:由于所應(yīng)用的LED顯示屏的像素點(diǎn)數(shù)量已定,而計(jì)算機(jī)屏幕的分辨率顯然遠(yuǎn)遠(yuǎn)高于顯示屏,這樣造成邏輯坐標(biāo)的不同,即而顯示的圖像會(huì)有扭曲、拉長(zhǎng)甚至失真情況。所以可以通過(guò)選擇開(kāi)啟窗口的計(jì)算機(jī)屏幕像素點(diǎn)與顯示屏像素?cái)?shù)之間恰當(dāng)?shù)谋壤齺?lái)減小誤差?,F(xiàn)在用來(lái)解決此問(wèn)題的方法很多。例如點(diǎn)陣數(shù)據(jù)的壓縮方法,由于在Windows環(huán)境下,系統(tǒng)默認(rèn)的每個(gè)漢字為4000多點(diǎn),而16×16點(diǎn)陣一個(gè)字的大屏幕,每個(gè)漢字為256點(diǎn),所以根據(jù)計(jì)算,可以采用間隔取點(diǎn)的方式,在橫向和縱向每隔12個(gè)點(diǎn)取一個(gè)點(diǎn),每個(gè)漢字256個(gè)點(diǎn)組成的原理來(lái)壓縮數(shù)據(jù)。但為了圖像不失真,本系統(tǒng)采用所開(kāi)啟文本區(qū)與顯示屏像素?cái)?shù)完全相同的方式,從而避免了圓變橢圓,正方形變矩形,甚至連劃斜線時(shí)的斜率也不會(huì)變。CMainFrame::PreCreateWindow函數(shù)用來(lái)設(shè)置整個(gè)窗口的大小,但是窗口外框還包括菜單,工具欄,狀態(tài)欄與客戶區(qū)。而系統(tǒng)定義的文本區(qū)要求精確的clientarea,用于字模信息保存。所以表示客戶區(qū)大小的縱坐標(biāo)要加上狀態(tài)欄與工具欄的高度,甚至菜單與窗口外框的邊緣也要扣除[1]。SetClientSize()//設(shè)置客戶區(qū)大小的函數(shù){CRectrect;CSizewinSize;intcx,cy=0;CControlBar*pBar;pBar=GetControlBar(AFX_IDW_STATUS_BAR);if((pBar!=NULL)&&(pBar->IsWindowVisible())){pBar->GetWindowRect(rect);winSize=rect.Size();cy+=(winSize.cy);}pBar=GetControlBar(AFX_IDW_TOOLBAR);if((pBar!=NULL)&&(pBar->IsWindowVisible())){pBar->GetWindowRect(rect);winSize=rect.Size();cy+=(winSize.Cy*2);}cx=384+(384-m_clientSize.cx);cy+=(192+(192-m_clientSize.cy));GetWindowRect(rect);SetWindowPos(this,rect.left,rect.top,cx,cy,SWP_NOZORDER);}OnViewStatusBar(){CFrameWnd::OnBarCheck(ID_VIEW_STATUS_BAR);SetClientSize();}通過(guò)對(duì)客戶區(qū)的精確控制,可以真正的使文本區(qū)的像素點(diǎn)數(shù)與顯示屏的平面發(fā)光點(diǎn)數(shù)對(duì)應(yīng),而且為了編輯操作過(guò)程中不至于因?yàn)槭д`造成文本區(qū)內(nèi)的象素改變,所以系統(tǒng)限制了窗體最大化控制[3][9]。cs.style&=~WS_MAXIMIZEBOX;//取消最大化使窗體大小固定。2、編輯功能設(shè)計(jì):在控制系統(tǒng)中,把文字與圖形的輸入通通想象成是圖像的編輯,這樣就像在畫(huà)板上一樣,隨心所欲的完成編輯工作。MFC的繪圖都是通過(guò)DeviceContext(它是設(shè)備與數(shù)據(jù)之間的媒介,可以縮寫(xiě)為DC)來(lái)將繪圖輸出到一個(gè)設(shè)備上。DC中存儲(chǔ)設(shè)備的屬性與輸出繪圖的數(shù)據(jù)。在MFC中要輸出繪圖數(shù)據(jù)至一個(gè)設(shè)備上,必須準(zhǔn)備一個(gè)針對(duì)此設(shè)備的DC對(duì)象,它是繼承于CDC的類的對(duì)象。這個(gè)DC對(duì)象可以使用CDC類的一些繪圖函數(shù)(如畫(huà)線、圓、方形等)。每個(gè)DC必須附著一些所謂的GDIobject(GD工對(duì)象,如常見(jiàn)的畫(huà)筆、畫(huà)刷、字形、位圖等畫(huà)圖上具)以配合DC的繪圖函數(shù)。系統(tǒng)通過(guò)編寫(xiě)Line()函數(shù)畫(huà)直線、Rectangle()函數(shù)畫(huà)矩形、Ellipse()函數(shù)畫(huà)橢圓、Circle()函數(shù)完成圖形的編輯[2][3]。需要指出的是將newPen析構(gòu):調(diào)用newPen.DeleteObject)方法。GDI對(duì)象的析構(gòu)很重要,特別是自己創(chuàng)建的對(duì)象,一定要在適當(dāng)?shù)臅r(shí)機(jī)(GDI對(duì)象已經(jīng)不在附著在DC時(shí))去掉。解除附著的方法只有以SelectObject函數(shù)選擇別的新的對(duì)象(舊的對(duì)象會(huì)自動(dòng)被消除)??梢赃x擇MFC預(yù)存的對(duì)象來(lái)解除對(duì)象的依附關(guān)系,因?yàn)镸FC預(yù)存的對(duì)象會(huì)在不用的時(shí)候自動(dòng)析構(gòu)。DeleteObject是CGdiObject類公開(kāi)的成員函數(shù),所以它的子類都可以使用。文字的輸入:通過(guò)CFontDialog類生成一個(gè)選擇字體類型(font)的對(duì)話框。CDC*pDC=GetDC();LOGFONTm_lFont;COLORREFm_cTextColor;CFontmyFont;CFont*pOldFont;CFontDia
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)三段式智能鉛酸電池充電器行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)防爆對(duì)講機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 智慧零售背景下的服務(wù)管理與創(chuàng)新策略匯報(bào)報(bào)告
- 體育賽事居間合同文件樣本
- 智能寵物喂養(yǎng)與營(yíng)養(yǎng)需求分析
- 滑坡防治措施的法律法規(guī)與政策分析
- 文化創(chuàng)意產(chǎn)業(yè)與季節(jié)性美食的結(jié)合策略
- 急診急救技能提升培訓(xùn)計(jì)劃
- 現(xiàn)代教育中如何提高學(xué)校的應(yīng)急管理能力以逃生演習(xí)為例
- 心肺復(fù)蘇術(shù)CPR及家庭急救培訓(xùn)
- 小紅書(shū)食用農(nóng)產(chǎn)品承諾書(shū)示例
- 釘釘OA辦公系統(tǒng)操作流程培訓(xùn)
- 新生兒科年度護(hù)理質(zhì)控總結(jié)
- GB/T 15934-2024電器附件電線組件和互連電線組件
- 《工貿(mào)企業(yè)有限空間作業(yè)安全規(guī)定》知識(shí)培訓(xùn)
- 高層次人才座談會(huì)發(fā)言稿
- 垃圾清運(yùn)公司管理制度(人員、車輛、質(zhì)量監(jiān)督、會(huì)計(jì)管理制度)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- 營(yíng)銷人員薪酬考核方案
- 2024至2030年中國(guó)it外包服務(wù)行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 工程項(xiàng)目計(jì)價(jià)結(jié)算付款情況統(tǒng)計(jì)表
評(píng)論
0/150
提交評(píng)論