版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
○○A基礎(chǔ)理論●B應(yīng)用研究○C調(diào)查報告○D其他本科生畢業(yè)設(shè)計水位測量儀的液晶顯示電路設(shè)計二級學(xué)院:信息科學(xué)與技術(shù)學(xué)院專業(yè):電氣工程及其自動化完成日期:2015年5月24日
目錄1引言 12系統(tǒng)的整體方案設(shè)計 12.1功能要求 12.2設(shè)計要求 12.3系統(tǒng)基本方案選擇和論證 22.4單片機芯片的選擇方案論證 23系統(tǒng)的硬件設(shè)計 33.1電路設(shè)計框圖 33.1.1主控制器芯片AT89C52概述 33.2液晶屏1602的簡單介紹 43.2.1液晶屏1602的簡要概述 43.2.2液晶屏1602的使用具體 53.3系統(tǒng)功能電路 93.3.1最小工作系統(tǒng)原理 93.3.2蜂鳴器報警電路原理 103.3.3電機驅(qū)動電路原理 113.3.4按鍵功能電路原理 123.3.5液晶1602顯示功能電路圖 133.3.6系統(tǒng)總體原理圖設(shè)計 144系統(tǒng)的軟件設(shè)計 144.1PWM調(diào)速控制概述 144.1.1PWM脈寬調(diào)制簡介 144.1.2PWM調(diào)節(jié)的具體過程 144.2系統(tǒng)程序的設(shè)計 154.2.1程序設(shè)計步驟 154.2.2程序流程圖 164.3程序源代碼 185調(diào)試 186總結(jié) 18參考文獻 19附錄 21致謝水位測量儀的液晶顯示電路設(shè)計摘要:液晶屏可以顯示所要顯示的內(nèi)容,使儀器的操作更加方便,在目前新型的儀器中得到了廣泛的應(yīng)用。在對壓力容器液位的顯示電路中,采用液晶屏作為它的顯示器。本設(shè)計首先介紹了Philips公司生產(chǎn)的單片機AT89C52和LCD1602顯示的內(nèi)部結(jié)構(gòu)和工作原理,并對單片機和液晶顯示器之間的接口電路進行了設(shè)計。對于液晶顯示器的控制,采用匯編語言對液晶顯示程序進行了設(shè)計和編制,實現(xiàn)對其的控制。由試驗可知,該液晶顯示器通過單片機的控制能夠進行可靠的工作,同時具有操作簡單、顯示內(nèi)容豐富等特點。關(guān)鍵詞:單片機控制;水位檢測;LCD1602顯示;PWM電機調(diào)速DesignofliquidcrystaldisplaycircuitforwaterlevelmeterAbstract:TouchscreenLCDcanshowthecontentsindetails.Therefore,thescreenLCDiswidelyusedinmanyequipmentsatpresent.ThepaperintroducethatthescreenLCDisusedinwaterlevelmeasurementsystemtoshowthemeasurementresults.ThepaperdescribetheprinciplesofMCU(AT89C52)andLCD1602atfirst,thenintroducetheinterfacecircuitbetweenMCU(AT89C52)andLCD.Besidesthecircuitdesign,theprogramiscompiledtocontroltheLCD.Fromtheresultsoftest,itcanbeshownthattheMCUcancontrolthescreenLCDreliably.Thewholesystemhasmanygoodcharacters,suchasoperatingconvenientlyandshowingmoremeasurementinformation.KeyWords:SCMcontrol;waterdetection;LCD1602display;PWMmotorspeed1引言水塔是在日常生活和工業(yè)應(yīng)用中經(jīng)常見到的蓄水裝置,通過對其水位的控制對外供水以滿足需要,其水位控制具有普遍性。在工業(yè)和我們的日常生活中,對水位的監(jiān)測是非常必要的。大到對江河,水庫等的水位,特別在洪災(zāi)或者旱災(zāi)的時候,需要及時得到第一手數(shù)據(jù);小到對水箱,熱水器水位等家用貯水容器的監(jiān)測,可以減少很多危險和不必要的損。因此不僅應(yīng)控制水倉水位在一定的范圍之內(nèi),同時要保持一定的上下限,超過了限度則報警,從而給其排水。目前,控制水塔水位方法較多,其中較為常用的是由單片機控制實現(xiàn)自動運行,使水塔內(nèi)水位保持恒定,以保證連續(xù)正常地供水。實際供水過程中要確保水位在允許的范圍內(nèi)浮動,應(yīng)采用水位傳感器測量水位變化,從而控制電動機,保證水位正常。因此,這里給出以AT89C52單片機為核心器件的水塔水位檢測控制系統(tǒng),該系統(tǒng)能實現(xiàn)水塔水位檢測、LCD1602顯示當(dāng)前水位功能以及蜂鳴器鳴笛報警,手動按鍵調(diào)整PWM電機調(diào)速功能,實現(xiàn)過低警戒水位報警、過低警戒水位處理的系統(tǒng)要求。2系統(tǒng)的整體方案設(shè)計2.1功能要求實際供水過程中要確保水位在允許的范圍內(nèi)浮動,應(yīng)采用水位傳感器測量水位變化,從而控制電動機,保證水位正常。因此,這里給出以AT89C52單片機為核心器件的水塔水位檢測控制系統(tǒng),該系統(tǒng)能實現(xiàn)水塔水位檢測、LCD1602顯示當(dāng)前水位功能以及蜂鳴器鳴笛報警,手動按鍵調(diào)整PWM電機調(diào)速功能,實現(xiàn)過低和正常警戒水位報警、過低和正常警戒水位處理的系統(tǒng)要求。2.2設(shè)計要求按下電源按鈕后,燈會閃爍幾下,然后是常亮狀態(tài),蜂鳴器會響。電機不會轉(zhuǎn)的,此時系統(tǒng)在待機狀態(tài),且為正常狀態(tài)。要先選擇好電機的抽水速度是哪個檔位,共有4個檔位。檔位越高,速度越快。在電機轉(zhuǎn)的時候,按下選擇檔位,電機立馬會停止的,這個是一個軟件安全冗余的設(shè)計理念。電機在水位模擬傳感器端口(低水位)按下后,說明水位太低,電機轉(zhuǎn)動,此時蜂鳴器會響一下,燈會閃爍幾下,以此表示報警,并且液晶也會顯示水位太低。當(dāng)水位模擬傳感器端口(正常水位)按下后,說明水位已經(jīng)到正常狀態(tài),電機停轉(zhuǎn),此時蜂鳴器也會響一下,燈一樣會閃爍,以此表示報警,且液晶屏也會顯示水位正常。而PWM速度調(diào)整就是檔位的選擇,必須在電機停止的狀態(tài)下去選擇電機輸出的速度。2.3系統(tǒng)基本方案選擇和論證此系統(tǒng)可以采用多種的方式設(shè)計,能采用液罐液壓檢測的方式來做,這樣的設(shè)計理念的前提必須是一個液壓的封閉系統(tǒng),這樣才能有精確的壓力值傳送,保證系統(tǒng)的穩(wěn)定性。但是目前很多用到的水塔水位控制系統(tǒng)都不是封閉的水罐,所以這個方案有一定局限性。而采用特殊的水位傳感器,就可以克服上述的困難。因為液位檢測器可以很精確的檢測到液位系統(tǒng),同樣達到預(yù)期的目的,且系統(tǒng)的應(yīng)用面很廣,而且系統(tǒng)的安全性能很好,因此我們采取檢測液位作為系統(tǒng)的設(shè)計思想。2.4單片機芯片的選擇方案論證目前市場上的單片機的種類有很多種,最多的51單片機、avr單片機,和Msp430,以及PIC單片機,但是由于單片機的種類很多,功能各不一樣,我們不需要多先進,功能多強大的單片機,我們設(shè)計的要求就是夠用即可,因此我們選用目前市場上用到比較多的、且可以滿足系統(tǒng)設(shè)計要求的51單片機。而AT89C52是一個低電壓,高性能CMOS
8位單片機,片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。因此采用AT89C52。顯示模塊是系統(tǒng)的人機交互模塊,增加了顯示模塊增加了系統(tǒng)的交互性。目前市場上用到的顯示模塊有很多種,有數(shù)碼管顯示,還有液晶顯示,因為數(shù)碼管只是顯示數(shù)字,不能顯示字符,而此系統(tǒng)需要用到顯示當(dāng)前的水位狀態(tài)。這樣就必須要用到字符顯示的液晶顯示器,液晶顯示器也有很多種,但根據(jù)系統(tǒng)的需要我們選用的是LCD1602,很大程度上增加了系統(tǒng)的人機交互功能,讓使用者可以得到更多系統(tǒng)工作的信息,更方便的使用此系統(tǒng)。3系統(tǒng)的硬件設(shè)計3.1電路設(shè)計框圖系統(tǒng)的總體框圖主要由主控芯片基本電路、按鍵電路、電動機和蜂鳴器驅(qū)動電路、液晶顯示電路組成。除主控芯片電路外,其他的都是外圍功能性電路。蜂鳴器和電動機電路驅(qū)動原理基本相同,都為三極管驅(qū)動電路,按鍵電路為平常的獨立按鍵電路,液晶電路參考設(shè)計手冊既可。電路設(shè)計框圖如圖3-1所示:圖1電路設(shè)計框圖3.1.1主控制器芯片AT89C52概述AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。1、兼容MCS51指令系統(tǒng)2、8kB可反復(fù)擦寫(大于1000次)FlashROM;3、32個雙向I/O口;4、256x8bit內(nèi)部RAM;5、3個16位可編程定時/計數(shù)器中斷;6、時鐘頻率0-24MHz;7、2個串行中斷,可編程UART串行通道;8、2個外部中斷源,共8個中斷源;9、2個讀寫中斷口線,3級加密位;10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。圖2AT89C52的引腳圖說明3.2液晶屏1602的簡單介紹3.2.1液晶屏1602的簡要概述液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。字符型液晶顯示模塊是一類專用于顯示字母、數(shù)字、符號等的點陣型液晶顯示模塊。aa字符型液晶顯示驅(qū)動控制器廣泛應(yīng)用于字符型液晶顯示模塊上。目前最常用的字符型液晶顯示驅(qū)動控制器是HD44780U,也出現(xiàn)使用HD667O1或HD66702等字符型液晶顯示驅(qū)動控制器單片控制的字符型液晶顯示模塊。液晶顯示驅(qū)動器為HD44100及其替代品。字符型液晶顯示模塊在世界上是比較通用的,而且接口格式也是比較統(tǒng)一的,其主要原因可能是各制造商所采用的模塊控制器都是HD44780U及其兼容品,不管它的顯示屏的尺寸如何,它的操作指令及其形成的模塊接口信號定義都是兼容的。所以會使用一種字符型液晶顯示模塊,就會通曉所有的字符型液晶顯示模塊。3.2.2液晶屏1602的使用具體(一)指令詳細解釋如下:1清屏(ClearDisplay)格式0000000101H該指令完成下列功能:將空碼(20H)寫入DDRAM的全部80個單元內(nèi);將地址指針計數(shù)器AC清零,光標(biāo)或閃爍歸home位;2歸home位(Returnhome)格式0000001002H該指令將地址指針計數(shù)器AC清零如果畫面已滾動,則撤消滾動效果,將畫面拉回到home位。3輸入方式設(shè)置(EnterModeSet)格式000001I/DS04H07H該指令的功能在于設(shè)置了顯示字符的輸入方式,即在計算機讀/寫DDRAM或CGRAM后,地址指針計數(shù)器AC的修改方式,反映在顯示效果上,當(dāng)寫入一個字符后畫面或光標(biāo)的移動。該指令的兩個參數(shù)位1/D和S確定了字符的輸入方式。I/D表示當(dāng)計算機讀/寫DDRAM或CGRAM的數(shù)據(jù)后,地址指針計數(shù)器AC的修改方式,由于光標(biāo)位置也是由AC值確定,所以也是光標(biāo)移動的方式。I/D=0AC為減1計數(shù)器,光標(biāo)左移一個字符位。I/D=1AC為加1計數(shù)器,光標(biāo)右移一個字符位。S表示在寫入字符時,是否允許顯示畫面的滾動。S=0禁止?jié)L動。S=1允許滾動。S=1且I/D=O顯示畫面向右滾動一個字符位。S=1且I/D=1顯示畫面向左滾動一個字符位。4顯示狀態(tài)設(shè)置(Displayon/offControl)格式00001DCB08H0FH該指令控制著畫面,光標(biāo)及閃爍的開關(guān)。該指令有三個狀態(tài)位D、C、B,這三個狀態(tài)位分別控著畫面,光標(biāo)和閃爍的顯示狀態(tài)。D畫面顯示狀態(tài)位C光標(biāo)顯示狀態(tài)位。B閃爍顯示狀態(tài)位。當(dāng)B=l時為閃爍啟用,B=0時為閃爍禁止。5光標(biāo)或畫面滾動(CursorOrPictureShift)格式0001S/CR/L00執(zhí)行該指令將產(chǎn)生畫面或光標(biāo)向左或向右滾動一個字符位。光標(biāo)的滾動功能可以用于搜尋需要修改的顯示字符。該指令有兩個參數(shù)位:1.S/C滾動對象的選擇S/C=l畫面滾動S/C=0光標(biāo)滾動2.R/L滾動方向的選擇R/L=l向右滾動R/L=0向左滾動該指令與輸入方式設(shè)置指令都可以產(chǎn)生光標(biāo)或畫面的滾動,區(qū)別在于該指令專用于滾動功能,執(zhí)行一次,顯示呈現(xiàn)一次滾動效果;而輸入方式設(shè)置指令僅是完成了一種字符輸入方式的設(shè)置,僅在計算機對DDRAM等進行操作時才能產(chǎn)生滾動的效果。6工作方式設(shè)置(FunctionSet)格式001DLNF00該指令設(shè)置了控制器的工作方式,包括有控制器與計算機的接口形式和控制器顯示驅(qū)動的占空比系數(shù)等。該指令有三個參數(shù)DL,N和F.它們的作用是:DL設(shè)置控制器與計算機的接口形式。接口形式體現(xiàn)在數(shù)據(jù)總線長度上。DL=1設(shè)置數(shù)據(jù)總線為8位長度,即DB7~DBO有效。DL=0設(shè)置數(shù)據(jù)總線為4位長度,即DB7~DB4有效。在該方式下8位指令代碼和數(shù)據(jù)將按先高4位后低4位的順序分兩次傳輸。N設(shè)置顯示的字符行數(shù)。N=0為一行字符行。N=1為兩行字符行。F設(shè)置顯示字符的字體。F=0為5×7點陣字符體。F=1為5×10點陣字符體。7CGRAM地址設(shè)置(SetCGRAMAddress)格式01A5A4A3A2A1A0該指令將6位的CGRAM地址寫入地址指針計數(shù)器AC內(nèi),隨后計算機對數(shù)據(jù)的操作是對CGRAM的讀/寫操作。8DDRAM地址設(shè)置(SetDDRAMAddress)格式1A6A5A4A3A2A1A0該指令將7位的DDRAM地址寫入地址指針計數(shù)器AC內(nèi),隨后計算機對數(shù)據(jù)的操作是對DDRAM的讀/寫操作。9讀“忙”標(biāo)志和地址指針值(ReadBusyFlagandAddress)格式BFAC6AC5AC4AC3AC2AC1AC0計算機對指令寄存器通道讀操作(RS=0,R/W=l)時,將讀出此格式的“忙”標(biāo)志BF值和7位地址指針計數(shù)器AC的當(dāng)前值。計算機隨時都可以對HD44780U讀“忙”操作。BP值反映HD4478OU的接口狀態(tài)。計算機在對HD44780U每次操作時首先都要讀BF值判斷HD44780U的當(dāng)前接口狀態(tài),僅有在BF=01時計算機才可以向HD44780U寫指令代碼或顯示數(shù)據(jù)和從HD44780U讀出顯示數(shù)據(jù)。計算機讀出的地址指針計數(shù)器AC當(dāng)前值可能是DDRAM地址也可能是CGRAM的地址,這取決于最近一次計算機向AC寫入的是哪類地址[17]。10寫數(shù)據(jù)(WriteDatatoCGorDDRAM)計算機向數(shù)據(jù)寄存器通道寫入數(shù)據(jù),HD44780U根據(jù)當(dāng)前地址指針計數(shù)器AC值的屬性及數(shù)值將該數(shù)據(jù)送入相應(yīng)的存儲器內(nèi)的AC所指的單元里。在寫人數(shù)據(jù)后地址指針計數(shù)器AC將根據(jù)最近設(shè)置的輸入方式自動修改。由此可知,計算機在寫數(shù)據(jù)操作之前要作兩項工作,其一是設(shè)置或確認地址計數(shù)器AC值的屬性及數(shù)值,以保證所寫數(shù)據(jù)能夠正確到位;其二是設(shè)置或確認輸入方式,以保證連續(xù)寫入數(shù)據(jù)時AC值的修改方式符合要求。11讀數(shù)據(jù)(ReadDatafromCGorDDRAM)在HD44780U的內(nèi)部運行時序的操作下,地址指針計數(shù)器AC的每一次修改,包括新的AC值的寫入,光標(biāo)滾動位移所引起的AC值的修改或由計算機讀寫數(shù)據(jù)操作后所產(chǎn)生的AC值的修改,HD44780U都會把當(dāng)前AC所指單元的內(nèi)容送到接口部數(shù)據(jù)輸出寄存器內(nèi),供計算機讀取[19]。計算機的讀數(shù)據(jù)是從數(shù)據(jù)寄存器通道中數(shù)據(jù)輸出寄存器讀取當(dāng)前所存放的數(shù)據(jù)。所以計算機在首次讀數(shù)據(jù)操作之前需要重新設(shè)置一次地址指針AC值,或用光標(biāo)滾動指令將地址指針計數(shù)器AC值修改到所需的地址上,然后進行的讀數(shù)據(jù)操作將能獲得所需的數(shù)據(jù)。在讀取數(shù)據(jù)后地址指針計數(shù)器AC將根據(jù)最近設(shè)置的輸入方式自動修改。由此可知,計算機在讀數(shù)據(jù)操作之前要作兩項工作,其一是設(shè)立或確認地址計數(shù)器AC值的屬性及數(shù)值,以保證所讀數(shù)據(jù)的正確性。3.3系統(tǒng)功能電路3.3.1最小工作系統(tǒng)原理圖3最小系統(tǒng)原理圖此圖是單片機工作的最小系統(tǒng)原理圖,在這個電路中又可以分為復(fù)位電路和晶振電路,如圖3和圖4所示:圖4復(fù)位電路復(fù)位電路可以分為上電復(fù)位和手動按鍵復(fù)位兩種。手動按鍵復(fù)位的原理是,在系統(tǒng)正常工作的過程中可以手動觸動按鍵使單片機復(fù)位。具體原理是,按下S1按鍵,因此5V電壓經(jīng)過一個200歐姆的電阻分壓后加到系統(tǒng)的RST上,手動按鍵按下到抬起的過程足以使系統(tǒng)復(fù)位。圖5晶振電路在設(shè)計單片機系統(tǒng)電路時,晶振電路時不可缺失的,在計算機系統(tǒng)中,所有的工作都是一個節(jié)拍下同步工作,這是才不會出現(xiàn)沖突。時鐘的快慢決定了系統(tǒng)的工作效率,我們所說的計算機的主頻就是指系統(tǒng)時鐘的頻率,而在計算機系統(tǒng)中,系統(tǒng)的時鐘是有晶振電路來提供的??梢哉f晶振電路時單片機的心臟,18,19號引腳接的是11.0592M的晶振。3.3.2蜂鳴器報警電路原理圖6蜂鳴器報警功能電路蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。壓電式蜂鳴器需要比較高的電壓才能有足夠的音壓,一般建議為9V以上。電磁式蜂鳴器:用1.5V就可以發(fā)出85dB以上的音壓了,唯消耗電流會大大的高于壓電式蜂鳴器,電路中的電壓低,而采用壓電式蜂鳴器。1.蜂鳴器發(fā)聲元件,在其兩端施加直流電壓或者方波就可以發(fā)聲。2.續(xù)流二極管蜂鳴器本質(zhì)上是一個感性元件,其電流不能瞬變,因此必須有一個續(xù)流二極管提供續(xù)流。否則,在蜂鳴器兩端會產(chǎn)生幾十伏的尖峰電壓,可能損壞驅(qū)動三極管,并干擾整個電路系統(tǒng)的其它部分。3.三極管濾波電容C1的作用是濾波,濾除蜂鳴器電流對其它部分的影響,也可改善電源的交流阻抗。蜂鳴器報警功能電路使用的是三極管8550驅(qū)動,三極管8550是PNP三極管,射極接電源+5V,基極通過一個電阻連接到P1.0口,集電極接蜂鳴器,三極管Q1起開關(guān)作用,,當(dāng)P1.0為高電平時,三極管截止,蜂鳴器沒有不響,當(dāng)P1.0為低電平時,而三極管導(dǎo)通,蜂鳴器發(fā)出響聲。3.3.3電機驅(qū)動電路原理圖7電機驅(qū)動電路對于單向的電機驅(qū)動,只要用一個大功率三極管或場效應(yīng)管或繼電器直接帶動電機即可,而這次電路中電機驅(qū)動電路和蜂鳴器的電路基本相同,同樣使用8550三極管驅(qū)動,三極管的基極接P1.1,當(dāng)P1.1為高電平時,電機不轉(zhuǎn)動,當(dāng)P1.1為低電平時,電機轉(zhuǎn)動。需要調(diào)速,可以使用三極管,場效應(yīng)管等開關(guān)元件實現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速。(4.1PWM介紹)3.3.4按鍵功能電路原理圖8按鍵功能電路按鍵功能電路里面有兩種按鍵,一種按鍵是模仿水塔水位開關(guān)的功能按鈕,一種是電機PWM輸出的調(diào)整按鈕。原理是通過一個10k的電阻接到+5v電源線上,當(dāng)按鍵沒有按下時,按鍵沒有導(dǎo)通,所以沒有電流,但對于連到引腳上的那一端來講是高電平。當(dāng)按鍵按下時,因為電路導(dǎo)通,有電流流過,和單片機引腳接觸的那一端接地,所以是低電平。因此能檢測到信號的變化,交給程序處理后做出相關(guān)的動作。3.3.5液晶1602顯示功能電路圖圖9液晶1602顯示電路圖液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領(lǐng)域。液晶1602從左到右依次有16根引腳,每個引腳定義不同。第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負極。有三根控制引線和八根信號線,必須注意的一點是3號引腳是背光電源指示端。背光電阻選擇的不同有不同的結(jié)果。我們這里選擇2.7k電阻做為背光電阻。3.3.6系統(tǒng)總體原理圖設(shè)計系統(tǒng)總體原理圖即是這些功能電路的組合,主要包括最小系統(tǒng)電路、按鍵電路、電機和蜂鳴器驅(qū)動電路、液晶電路組成,還包括一個按鍵指示燈。詳細電路見附錄一。4系統(tǒng)的軟件設(shè)計C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進行位(bit)一級的操作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,形成了多種版本的C語言。4.1PWM調(diào)速控制概述4.1.1PWM脈寬調(diào)制簡介脈寬調(diào)制(PWM)是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。而言之,PWM是一種對模擬信號電平進行數(shù)字編碼的方法。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。4.1.2PWM調(diào)節(jié)的具體過程脈沖寬度調(diào)制(PWM)是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。這種微處理器要求在軟件中完成以下工作:1、設(shè)置提供調(diào)制方波的片上定時器/計數(shù)器的周期。2、在PWM控制寄存器中設(shè)置接通時間。3、設(shè)置PWM輸出的方向,這個輸出是一個通用I/O管腳。4、啟動定時器。5、使能PWM控制器。4.2系統(tǒng)程序的設(shè)計4.2.1程序設(shè)計步驟程序設(shè)計就是用計算機所能接受的語言把所需解決問題的步驟逐一描述出來,也就是編制計算機的程序,在設(shè)計應(yīng)用系統(tǒng)時,軟件的編制是重要環(huán)節(jié)。軟件的質(zhì)量直接影響整個系統(tǒng)功能的實現(xiàn)。應(yīng)用程序的設(shè)計因系統(tǒng)而異,但程序設(shè)計總是有共同特點及其規(guī)律的。在編寫程序時,采取如下幾個步驟:(1)分析問題,明確所要解決問題的要求。(2)定程序框圖。(3)合理分配系統(tǒng)資源。(4)根據(jù)程序的流程圖和指令系統(tǒng)編寫出程序。(5)程序調(diào)試。(6)程序優(yōu)化。4.2.2程序流程圖PWM調(diào)速按鍵調(diào)整子程序PWM調(diào)速按鍵調(diào)整子程序檢測是否有按鍵按下YN延時15ms,確定有按鍵按下N檢測哪一個按鍵按下先停止電機,PWM速度增加液晶屏顯示速度值增加先停止電機,PWM速度減少液晶屏顯示速度值減少減按鍵加按鍵圖10PWM按鍵調(diào)整子程序流程圖停止電機,燈閃爍幾下,蜂鳴器響幾聲,液晶顯示正常停止電機,燈閃爍幾下,蜂鳴器響幾聲,液晶顯示正常檢測模擬水塔水位正常按鍵開始系統(tǒng)初始化,燈閃爍,蜂鳴器響一聲,液晶顯示進入主程序等待狀態(tài)顯示速度啟動電機,燈閃爍幾下,蜂鳴器響,液晶顯示低水位檢測模擬水塔水位按鍵檢測模擬水塔水位低按鍵NYNYPWM按鍵調(diào)制子程序NYPWM調(diào)速按鍵選擇電機的轉(zhuǎn)速圖11程序總體流程圖在進入PWM按鍵子程序后,首先要做的事是先檢測是否確定有按鍵按下,這個過程延時15ms,在確認有按鍵按下后,判斷是哪一個按鍵按下,如果是速度加按鍵按下,電機不管在什么狀態(tài),都是首先停止,然后是調(diào)整PWM調(diào)制時間,液晶屏顯示速度增加,按下減按鍵,也是先停止電機,調(diào)整PWM調(diào)制時間,液晶屏顯示速度減少。具體流程圖如圖11所示。當(dāng)系統(tǒng)按下電源開關(guān),且確定有電源存在時候,系統(tǒng)進入初始化狀態(tài),燈會閃爍、蜂鳴器響一聲、液晶初始化,初始化完以后,進入PWM按鍵調(diào)速選擇,如有按鍵按下,進入PWM按鍵調(diào)整子程序,若沒有,進入主程序等待狀態(tài),檢測水塔水位的液位狀態(tài),當(dāng)模擬液位低水位按鍵按下后,電機以顯示速度啟動,模擬抽水過程,此時蜂鳴器報警,燈閃爍,且液晶會顯示水位過低狀態(tài)。當(dāng)模擬水位正常按鍵按下后,電機停止轉(zhuǎn)動,蜂鳴器報警、液晶顯示當(dāng)前正常狀態(tài),然后程序進入循環(huán),繼續(xù)檢測模擬水位狀態(tài)按鍵。具體流程圖的如圖4-2所示。4.3程序源代碼程序源代碼使用C語言編寫,使用C語言編寫程序效率高,調(diào)用方便。程序主要由LCD1602液晶驅(qū)動子程序,電機PWM調(diào)速功能子程序、按鍵掃描子程序等功能程序組成,詳細源代碼見附錄二。5調(diào)試本系統(tǒng)的調(diào)試主要分為程序調(diào)試、電路調(diào)試等兩大部分。兩個部分交替聯(lián)合進行,這樣有利于問題的分析和解決,不會造成問題的積累,而且不會因為一個小問題而進行整體電路的檢查,從而可以節(jié)約大量的調(diào)試時間。軟件編程中,首先編寫單元模塊的程序,并且在電路上調(diào)試成功問題,即可以做系統(tǒng)整體程序的調(diào)試。聯(lián)機調(diào)試是最重要的一部分,同時也是本設(shè)計成功的關(guān)鍵。6總結(jié)根據(jù)設(shè)計的結(jié)果和實驗的分析可知:1.利用液晶顯示器不僅可以顯示內(nèi)容。2.對單片機和液晶顯示器的連接,能對液晶顯示內(nèi)容進行可靠直觀。3液晶水位測量顯示功能強大,能實時監(jiān)測水位,提供可靠數(shù)據(jù)。4液晶水位測量顯示操作簡單,顯示內(nèi)容豐富。參考文獻[1]陳學(xué)煌,馬俊.電子自旋共振儀中嵌入單片機測控系統(tǒng)的設(shè)計[J].傳感器技術(shù),2005,24(12):61-63.[2]王建新,楊世鳳,史永江.系統(tǒng)測試中的軟件抗干擾技術(shù)[J].國外電子測量技術(shù),2005,24(10):18-20.[3]李剛民,曹巧媛.單片機原理及使用技術(shù)[M].北京:高等教育出版社,2005,24(22):62-63.[4]徐愛鈞.8051單片機實踐教程[M].北京:電子工業(yè)出版社,2006,24(10):21-23.[5]胡漢才.單片機原理及其接口技術(shù)[M].2版.北京:清華大學(xué)出版社,2004,22(11):17-20.[6]周潤景.PROTEUS入門實用教程[M].北京:機械工業(yè)出版社,2007,24(10):24-26.[7]徐模輝.Protues單片機仿真中的uC/OS-II移植[J].單片機與嵌入式系,2007(10):74-76.[8]丁元杰.單片微機原理及應(yīng)用.機械工業(yè)出版社,2000:81-88.[9]騰召勝,羅隆福.智能檢測系統(tǒng)與數(shù)據(jù)融合.機械工業(yè)出版社,2009(11):68-70.[10]孫虎章.自動控制原理.中央廣播電視大學(xué)出版社,1999(10):34-66.[11]劉國榮.單片微型計算機技術(shù).機械工業(yè)出版社,2003(24):70-26.[12]張迎新.單片微型計算機原理.應(yīng)用及接口技術(shù).國防工業(yè)出版社,2006(50):71-76.[13]房小翠.單片機實用系統(tǒng)設(shè)計技術(shù).國防工業(yè)出版社,2009(14):44-46.[14]何立民.單片機應(yīng)用系統(tǒng)設(shè)計.北航出版社,2010(33):24-26.[15]曹琳琳.單片機原理及接口技術(shù).國防科技大學(xué)出版社,2006(55):84-86.[16]Intel.MicrocontrollerHandbook,2008(12):24-26.[17]ATMEL.CORPORATION.AT90S8515.REV72001,2009(22):36-39.[18]JoeCampbell.串行通信C程序指南[M].北京:清華大學(xué)出版社.1995,31-32.[19][德]克勞斯·貝伊特.電子元件[M].北京:北京科技出版設(shè),2008(12):44-46.[20]超星數(shù)字圖書館..[21]中國電子網(wǎng)..[22]《軟件世界》雜志:.附錄附圖A仿真準(zhǔn)備附錄B仿真成功附錄C程序源代碼#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharsbitled=P0^1;//led燈顯示,低電平亮sbitspeaker=P1^0;//蜂鳴器,低電平報警sbitlcd_rs=P0^7;//1602數(shù)據(jù)選擇命令端sbitlcd_rw=P0^6; //1602讀寫選擇端sbitlcd_enable=P0^5;//1602使能端定義sbitkey_up=P3^0;//pwm速度調(diào)整端口,電機速度加一sbitkey_down=P3^1; //pwm速度調(diào)整端口,電機速度減一sbitmonter=P1^1;//電機驅(qū)動端口,pwm控制輸出sbitwater_normal=P1^6;//水位過高傳感器模擬按鍵端口,低電平報警sbitwater_low=P1^7;//水位過低傳感器模擬按鍵端口,低電平報警ucharcodepwm_t[]={45,90,100,130};//模式下的pwm值,人為已經(jīng)設(shè)定的時間是100,可以調(diào)整上限值uintmodel=1,pwmT=150,time_count=0;voidkey_scan();//按鍵掃描函數(shù)voidcheck_water_level();//檢測水位是否正常函數(shù)voiddelay(uintz) //延時函數(shù){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//*******************1602液晶顯示函數(shù)************************// voidlcd_write_comd(ucharcomd) //1602寫指令函數(shù){lcd_rs=0;//選擇指令lcd_rw=0;//選擇寫 delay(5); P2=comd;//取命令delay(8); lcd_enable=1;//使能有效 delay(8); lcd_enable=0;}voidlcd_write_data(uchardate)//1602寫數(shù)據(jù)函數(shù){ lcd_rs=1; //選擇數(shù)據(jù)lcd_rw=0; //選擇寫操作 delay(5); P2=date; //取數(shù)據(jù)操作 delay(8); lcd_enable=1; //使能有效 delay(8); lcd_enable=0;}voidlcd_set_xy(ucharx,uchary)//定位具體位置{uintaddress;if(y==1)address=0x80+x; //第一行的位置 else address=0xc0+x; //第二行的位置 lcd_write_comd(address);}voidlcd_write_char(ucharx,uchary,uchardate) //寫一個字符函數(shù){ lcd_set_xy(x,y); //設(shè)定位置 lcd_write_data(date); //寫入數(shù)據(jù)}voidlcd_write_string(ucharx,uchary,uchar*s) //寫一個字符串函數(shù){ lcd_set_xy(x,y); //設(shè)定位置while(*s) //循環(huán)寫入數(shù)據(jù) { lcd_write_data(*s); s++; } }//********電機PWM調(diào)速函數(shù)及程序主函數(shù)*******//voidinit() //初始化函數(shù){ uchari,count=25; led=1; //開機led燈閃爍for(i=0;i<15;i++){ led=~led; delay(count); count=count+5; }led=0; lcd_write_comd(0x38);//設(shè)置16*2行顯示,5*7點陣,8位數(shù)據(jù)接口lcd_write_comd(0x0c);//開顯示lcd_write_comd(0x01);//清屏lcd_write_comd(0x80);//設(shè)定初始位置lcd_write_string(0,1,"WaterLev:Normal");lcd_write_string(0,0,"MonterSpeed:1");speaker=0; //蜂鳴器鳴響一聲delay(1000);speaker=1; TMOD=0X02; //定時0,定時時間為150us,工作在方式2TH0=(256-150)%256; TL0=TH0;EA=1; //開總中斷ET0=1; //開定時器0的中斷TR0=0; //定時器0不啟動}voidmain()//主函數(shù){init();while(1) { key_scan(); check_water_level();//檢測水位是否正常函數(shù) }}voidtimre_0()interrupt1 //定時器0的中斷子函數(shù){time_count++;if(time_count==pwmT) //和PWM脈寬的時間比較,時間到了定時器清零,重新開始{time_count=0;}if(time_count<pwm_t[model-1]) //當(dāng)計數(shù)器在PWM定制時間內(nèi)的時候,輸出相關(guān)的pwm控制信號{ monter=0; }
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)茶青采購協(xié)議范例一
- 個人承包車輛運輸協(xié)議合同模板
- 2025年度新能源儲能技術(shù)研發(fā)與應(yīng)用合作協(xié)議4篇
- 專業(yè)無人機航拍拍攝合同文檔2024版版B版
- 2025年度智能廠區(qū)綜合環(huán)境管理服務(wù)合同4篇
- 個人保險理賠服務(wù)合同(2024版)3篇
- 二零二五年度廠房出租合同附設(shè)備故障應(yīng)急響應(yīng)及維修服務(wù)協(xié)議3篇
- 2025年新型智能化廠房土地購置與使用權(quán)合同4篇
- 2025年新型廠房設(shè)備購置及安裝服務(wù)協(xié)議4篇
- 2025年度二零二五智能家居攤位租賃及智慧城市建設(shè)合同4篇
- 使用錯誤評估報告(可用性工程)模版
- 公司章程(二個股東模板)
- GB/T 19889.7-2005聲學(xué)建筑和建筑構(gòu)件隔聲測量第7部分:樓板撞擊聲隔聲的現(xiàn)場測量
- 世界奧林匹克數(shù)學(xué)競賽6年級試題
- 藥用植物學(xué)-課件
- 文化差異與跨文化交際課件(完整版)
- 國貨彩瞳美妝化消費趨勢洞察報告
- 云南省就業(yè)創(chuàng)業(yè)失業(yè)登記申請表
- UL_標(biāo)準(zhǔn)(1026)家用電器中文版本
- 國網(wǎng)三個項目部標(biāo)準(zhǔn)化手冊(課堂PPT)
- 快速了解陌生行業(yè)的方法論及示例PPT課件
評論
0/150
提交評論