




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