【電氣工程及其自動化】水位測量儀的液晶顯示電路設計_第1頁
【電氣工程及其自動化】水位測量儀的液晶顯示電路設計_第2頁
【電氣工程及其自動化】水位測量儀的液晶顯示電路設計_第3頁
【電氣工程及其自動化】水位測量儀的液晶顯示電路設計_第4頁
【電氣工程及其自動化】水位測量儀的液晶顯示電路設計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本科生畢業(yè)設計(設計)水位測量儀的液晶顯示電路設計二級學院信息科學與技術學院專業(yè)電氣工程及其自動化完成日期2015年5月24日A基礎理論B應用研究C調(diào)查報告D其他目錄1引言12系統(tǒng)的整體方案設計121功能要求122設計要求123系統(tǒng)基本方案選擇和論證224單片機芯片的選擇方案論證23系統(tǒng)的硬件設計331電路設計框圖3311主控制器芯片AT89C52概述332液晶屏1602的簡單介紹4321液晶屏1602的簡要概述4322液晶屏1602的使用具體533系統(tǒng)功能電路9331最小工作系統(tǒng)原理9332蜂鳴器報警電路原理10333電機驅(qū)動電路原理11334按鍵功能電路原理12335液晶1602顯示功能電路圖13336系統(tǒng)總體原理圖設計144系統(tǒng)的軟件設計1441PWM調(diào)速控制概述14411PWM脈寬調(diào)制簡介14412PWM調(diào)節(jié)的具體過程1442系統(tǒng)程序的設計15421程序設計步驟15422程序流程圖1643程序源代碼185調(diào)試186總結18參考文獻19附錄21致謝水位測量儀的液晶顯示電路設計摘要液晶屏可以顯示所要顯示的內(nèi)容,使儀器的操作更加方便,在目前新型的儀器中得到了廣泛的應用。在對壓力容器液位的顯示電路中,采用液晶屏作為它的顯示器。本設計首先介紹了PHILIPS公司生產(chǎn)的單片機AT89C52和LCD1602顯示的內(nèi)部結構和工作原理,并對單片機和液晶顯示器之間的接口電路進行了設計。對于液晶顯示器的控制,采用匯編語言對液晶顯示程序進行了設計和編制,實現(xiàn)對其的控制。由試驗可知,該液晶顯示器通過單片機的控制能夠進行可靠的工作,同時具有操作簡單、顯示內(nèi)容豐富等特點。關鍵詞單片機控制;水位檢測;LCD1602顯示;PWM電機調(diào)速DESIGNOFLIQUIDCRYSTALDISPLAYCIRCUITFORWATERLEVELMETERABSTRACTTOUCHSCREENLCDCANSHOWTHECONTENTSINDETAILSTHEREFORE,THESCREENLCDISWIDELYUSEDINMANYEQUIPMENTSATPRESENTTHEPAPERINTRODUCETHATTHESCREENLCDISUSEDINWATERLEVELMEASUREMENTSYSTEMTOSHOWTHEMEASUREMENTRESULTSTHEPAPERDESCRIBETHEPRINCIPLESOFMCUAT89C52ANDLCD1602ATFIRST,THENINTRODUCETHEINTERFACECIRCUITBETWEENMCUAT89C52ANDLCDBESIDESTHECIRCUITDESIGN,THEPROGRAMISCOMPILEDTOCONTROLTHELCDFROMTHERESULTSOFTEST,ITCANBESHOWNTHATTHEMCUCANCONTROLTHESCREENLCDRELIABLYTHEWHOLESYSTEMHASMANYGOODCHARACTERS,SUCHASOPERATINGCONVENIENTLYANDSHOWINGMOREMEASUREMENTINFORMATIONKEYWORDSSCMCONTROLWATERDETECTIONLCD1602DISPLAYPWMMOTORSPEED1引言水塔是在日常生活和工業(yè)應用中經(jīng)常見到的蓄水裝置,通過對其水位的控制對外供水以滿足需要,其水位控制具有普遍性。在工業(yè)和我們的日常生活中,對水位的監(jiān)測是非常必要的。大到對江河,水庫等的水位,特別在洪災或者旱災的時候,需要及時得到第一手數(shù)據(jù);小到對水箱,熱水器水位等家用貯水容器的監(jiān)測,可以減少很多危險和不必要的損。因此不僅應控制水倉水位在一定的范圍之內(nèi),同時要保持一定的上下限,超過了限度則報警,從而給其排水。目前,控制水塔水位方法較多,其中較為常用的是由單片機控制實現(xiàn)自動運行,使水塔內(nèi)水位保持恒定,以保證連續(xù)正常地供水。實際供水過程中要確保水位在允許的范圍內(nèi)浮動,應采用水位傳感器測量水位變化,從而控制電動機,保證水位正常。因此,這里給出以AT89C52單片機為核心器件的水塔水位檢測控制系統(tǒng),該系統(tǒng)能實現(xiàn)水塔水位檢測、LCD1602顯示當前水位功能以及蜂鳴器鳴笛報警,手動按鍵調(diào)整PWM電機調(diào)速功能,實現(xiàn)過低警戒水位報警、過低警戒水位處理的系統(tǒng)要求。2系統(tǒng)的整體方案設計21功能要求實際供水過程中要確保水位在允許的范圍內(nèi)浮動,應采用水位傳感器測量水位變化,從而控制電動機,保證水位正常。因此,這里給出以AT89C52單片機為核心器件的水塔水位檢測控制系統(tǒng),該系統(tǒng)能實現(xiàn)水塔水位檢測、LCD1602顯示當前水位功能以及蜂鳴器鳴笛報警,手動按鍵調(diào)整PWM電機調(diào)速功能,實現(xiàn)過低和正常警戒水位報警、過低和正常警戒水位處理的系統(tǒng)要求。22設計要求按下電源按鈕后,燈會閃爍幾下,然后是常亮狀態(tài),蜂鳴器會響。電機不會轉的,此時系統(tǒng)在待機狀態(tài),且為正常狀態(tài)。要先選擇好電機的抽水速度是哪個檔位,共有4個檔位。檔位越高,速度越快。在電機轉的時候,按下選擇檔位,電機立馬會停止的,這個是一個軟件安全冗余的設計理念。電機在水位模擬傳感器端口(低水位)按下后,說明水位太低,電機轉動,此時蜂鳴器會響一下,燈會閃爍幾下,以此表示報警,并且液晶也會顯示水位太低。當水位模擬傳感器端口(正常水位)按下后,說明水位已經(jīng)到正常狀態(tài),電機停轉,此時蜂鳴器也會響一下,燈一樣會閃爍,以此表示報警,且液晶屏也會顯示水位正常。而PWM速度調(diào)整就是檔位的選擇,必須在電機停止的狀態(tài)下去選擇電機輸出的速度。23系統(tǒng)基本方案選擇和論證此系統(tǒng)可以采用多種的方式設計,能采用液罐液壓檢測的方式來做,這樣的設計理念的前提必須是一個液壓的封閉系統(tǒng),這樣才能有精確的壓力值傳送,保證系統(tǒng)的穩(wěn)定性。但是目前很多用到的水塔水位控制系統(tǒng)都不是封閉的水罐,所以這個方案有一定局限性。而采用特殊的水位傳感器,就可以克服上述的困難。因為液位檢測器可以很精確的檢測到液位系統(tǒng),同樣達到預期的目的,且系統(tǒng)的應用面很廣,而且系統(tǒng)的安全性能很好,因此我們采取檢測液位作為系統(tǒng)的設計思想。24單片機芯片的選擇方案論證目前市場上的單片機的種類有很多種,最多的51單片機、AVR單片機,和MSP430,以及PIC單片機,但是由于單片機的種類很多,功能各不一樣,我們不需要多先進,功能多強大的單片機,我們設計的要求就是夠用即可,因此我們選用目前市場上用到比較多的、且可以滿足系統(tǒng)設計要求的51單片機。而AT89C52是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8KBYTES的可反復擦寫的FLASH只讀程序存儲器和256BYTES的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS51指令系統(tǒng),片內(nèi)置通用8位中央處理器和FLASH存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應用。因此采用AT89C52。顯示模塊是系統(tǒng)的人機交互模塊,增加了顯示模塊增加了系統(tǒng)的交互性。目前市場上用到的顯示模塊有很多種,有數(shù)碼管顯示,還有液晶顯示,因為數(shù)碼管只是顯示數(shù)字,不能顯示字符,而此系統(tǒng)需要用到顯示當前的水位狀態(tài)。這樣就必須要用到字符顯示的液晶顯示器,液晶顯示器也有很多種,但根據(jù)系統(tǒng)的需要我們選用的是LCD1602,很大程度上增加了系統(tǒng)的人機交互功能,讓使用者可以得到更多系統(tǒng)工作的信息,更方便的使用此系統(tǒng)。3系統(tǒng)的硬件設計31電路設計框圖系統(tǒng)的總體框圖主要由主控芯片基本電路、按鍵電路、電動機和蜂鳴器驅(qū)動電路、液晶顯示電路組成。除主控芯片電路外,其他的都是外圍功能性電路。蜂鳴器和電動機電路驅(qū)動原理基本相同,都為三極管驅(qū)動電路,按鍵電路為平常的獨立按鍵電路,液晶電路參考設計手冊既可。電路設計框圖如圖31所示圖1電路設計框圖311主控制器芯片AT89C52概述AT89C52有40個引腳,32個外部雙向輸入/輸出I/O端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和FLASH存儲器結合在一起,特別是可反復擦寫的FLASH存儲器可有效地降低開發(fā)成本。1、兼容MCS51指令系統(tǒng)2、8KB可反復擦寫大于1000次)FLASHROM;3、32個雙向I/O口;4、256X8BIT內(nèi)部RAM;5、3個16位可編程定時/計數(shù)器中斷;6、時鐘頻率024MHZ;7、2個串行中斷,可編程UART串行通道;8、2個外部中斷源,共8個中斷源;9、2個讀寫中斷口線,3級加密位;10、低功耗空閑和掉電模式,軟件設置睡眠和喚醒功能;11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應不同產(chǎn)品的需求。圖2AT89C52的引腳圖說明32液晶屏1602的簡單介紹321液晶屏1602的簡要概述液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。字符型液晶顯示模塊是一類專用于顯示字母、數(shù)字、符號等的點陣型液晶顯示模塊。AA字符型液晶顯示驅(qū)動控制器廣泛應用于字符型液晶顯示模塊上。目前最常用的字符型液晶顯示驅(qū)動控制器是HD44780U,也出現(xiàn)使用HD667O1或HD66702等字符型液晶顯示驅(qū)動控制器單片控制的字符型液晶顯示模塊。液晶顯示驅(qū)動器為HD44100及其替代品。字符型液晶顯示模塊在世界上是比較通用的,而且接口格式也是比較統(tǒng)一的,其主要原因可能是各制造商所采用的模塊控制器都是HD44780U及其兼容品,不管它的顯示屏的尺寸如何,它的操作指令及其形成的模塊接口信號定義都是兼容的。所以會使用一種字符型液晶顯示模塊,就會通曉所有的字符型液晶顯示模塊。322液晶屏1602的使用具體一指令詳細解釋如下1清屏(CLEARDISPLAY)格式0000000101H該指令完成下列功能將空碼(20H)寫入DDRAM的全部80個單元內(nèi);將地址指針計數(shù)器AC清零,光標或閃爍歸HOME位;2歸HOME位(RETURNHOME)格式0000001002H該指令將地址指針計數(shù)器AC清零如果畫面已滾動,則撤消滾動效果,將畫面拉回到HOME位。3輸入方式設置(ENTERMODESET)格式000001I/DS04H07H該指令的功能在于設置了顯示字符的輸入方式,即在計算機讀寫DDRAM或CGRAM后,地址指針計數(shù)器AC的修改方式,反映在顯示效果上,當寫入一個字符后畫面或光標的移動。該指令的兩個參數(shù)位1D和S確定了字符的輸入方式。ID表示當計算機讀寫DDRAM或CGRAM的數(shù)據(jù)后,地址指針計數(shù)器AC的修改方式,由于光標位置也是由AC值確定,所以也是光標移動的方式。ID0AC為減1計數(shù)器,光標左移一個字符位。ID1AC為加1計數(shù)器,光標右移一個字符位。S表示在寫入字符時,是否允許顯示畫面的滾動。S0禁止?jié)L動。S1允許滾動。S1且IDO顯示畫面向右滾動一個字符位。S1且ID1顯示畫面向左滾動一個字符位。4顯示狀態(tài)設置(DISPLAYON/OFFCONTROL)格式00001DCB08H0FH該指令控制著畫面,光標及閃爍的開關。該指令有三個狀態(tài)位D、C、B,這三個狀態(tài)位分別控著畫面,光標和閃爍的顯示狀態(tài)。D畫面顯示狀態(tài)位C光標顯示狀態(tài)位。B閃爍顯示狀態(tài)位。當BL時為閃爍啟用,B0時為閃爍禁止。5光標或畫面滾動(CURSORORPICTURESHIFT)格式0001S/CR/L00執(zhí)行該指令將產(chǎn)生畫面或光標向左或向右滾動一個字符位。光標的滾動功能可以用于搜尋需要修改的顯示字符。該指令有兩個參數(shù)位1SC滾動對象的選擇SCL畫面滾動SC0光標滾動2RL滾動方向的選擇RLL向右滾動RL0向左滾動該指令與輸入方式設置指令都可以產(chǎn)生光標或畫面的滾動,區(qū)別在于該指令專用于滾動功能,執(zhí)行一次,顯示呈現(xiàn)一次滾動效果;而輸入方式設置指令僅是完成了一種字符輸入方式的設置,僅在計算機對DDRAM等進行操作時才能產(chǎn)生滾動的效果。6工作方式設置(FUNCTIONSET)格式001DLNF00該指令設置了控制器的工作方式,包括有控制器與計算機的接口形式和控制器顯示驅(qū)動的占空比系數(shù)等。該指令有三個參數(shù)DL,N和F它們的作用是DL設置控制器與計算機的接口形式。接口形式體現(xiàn)在數(shù)據(jù)總線長度上。DL1設置數(shù)據(jù)總線為8位長度,即DB7DBO有效。DL0設置數(shù)據(jù)總線為4位長度,即DB7DB4有效。在該方式下8位指令代碼和數(shù)據(jù)將按先高4位后低4位的順序分兩次傳輸。N設置顯示的字符行數(shù)。N0為一行字符行。N1為兩行字符行。F設置顯示字符的字體。F0為57點陣字符體。F1為510點陣字符體。7CGRAM地址設置(SETCGRAMADDRESS)格式01A5A4A3A2A1A0該指令將6位的CGRAM地址寫入地址指針計數(shù)器AC內(nèi),隨后計算機對數(shù)據(jù)的操作是對CGRAM的讀寫操作。8DDRAM地址設置(SETDDRAMADDRESS)格式1A6A5A4A3A2A1A0該指令將7位的DDRAM地址寫入地址指針計數(shù)器AC內(nèi),隨后計算機對數(shù)據(jù)的操作是對DDRAM的讀寫操作。9讀“忙”標志和地址指針值(READBUSYFLAGANDADDRESS)格式BFAC6AC5AC4AC3AC2AC1AC0計算機對指令寄存器通道讀操作(RS0,RWL)時,將讀出此格式的“忙”標志BF值和7位地址指針計數(shù)器AC的當前值。計算機隨時都可以對HD44780U讀“忙”操作。BP值反映HD4478OU的接口狀態(tài)。計算機在對HD44780U每次操作時首先都要讀BF值判斷HD44780U的當前接口狀態(tài),僅有在BF01時計算機才可以向HD44780U寫指令代碼或顯示數(shù)據(jù)和從HD44780U讀出顯示數(shù)據(jù)。計算機讀出的地址指針計數(shù)器AC當前值可能是DDRAM地址也可能是CGRAM的地址,這取決于最近一次計算機向AC寫入的是哪類地址17。10寫數(shù)據(jù)(WRITEDATATOCGORDDRAM)計算機向數(shù)據(jù)寄存器通道寫入數(shù)據(jù),HD44780U根據(jù)當前地址指針計數(shù)器AC值的屬性及數(shù)值將該數(shù)據(jù)送入相應的存儲器內(nèi)的AC所指的單元里。在寫人數(shù)據(jù)后地址指針計數(shù)器AC將根據(jù)最近設置的輸入方式自動修改。由此可知,計算機在寫數(shù)據(jù)操作之前要作兩項工作,其一是設置或確認地址計數(shù)器AC值的屬性及數(shù)值,以保證所寫數(shù)據(jù)能夠正確到位;其二是設置或確認輸入方式,以保證連續(xù)寫入數(shù)據(jù)時AC值的修改方式符合要求。11讀數(shù)據(jù)(READDATAFROMCGORDDRAM)在HD44780U的內(nèi)部運行時序的操作下,地址指針計數(shù)器AC的每一次修改,包括新的AC值的寫入,光標滾動位移所引起的AC值的修改或由計算機讀寫數(shù)據(jù)操作后所產(chǎn)生的AC值的修改,HD44780U都會把當前AC所指單元的內(nèi)容送到接口部數(shù)據(jù)輸出寄存器內(nèi),供計算機讀取19。計算機的讀數(shù)據(jù)是從數(shù)據(jù)寄存器通道中數(shù)據(jù)輸出寄存器讀取當前所存放的數(shù)據(jù)。所以計算機在首次讀數(shù)據(jù)操作之前需要重新設置一次地址指針AC值,或用光標滾動指令將地址指針計數(shù)器AC值修改到所需的地址上,然后進行的讀數(shù)據(jù)操作將能獲得所需的數(shù)據(jù)。在讀取數(shù)據(jù)后地址指針計數(shù)器AC將根據(jù)最近設置的輸入方式自動修改。由此可知,計算機在讀數(shù)據(jù)操作之前要作兩項工作,其一是設立或確認地址計數(shù)器AC值的屬性及數(shù)值,以保證所讀數(shù)據(jù)的正確性。33系統(tǒng)功能電路331最小工作系統(tǒng)原理圖3最小系統(tǒng)原理圖此圖是單片機工作的最小系統(tǒng)原理圖,在這個電路中又可以分為復位電路和晶振電路,如圖3和圖4所示圖4復位電路復位電路可以分為上電復位和手動按鍵復位兩種。手動按鍵復位的原理是,在系統(tǒng)正常工作的過程中可以手動觸動按鍵使單片機復位。具體原理是,按下S1按鍵,因此5V電壓經(jīng)過一個200歐姆的電阻分壓后加到系統(tǒng)的RST上,手動按鍵按下到抬起的過程足以使系統(tǒng)復位。圖5晶振電路在設計單片機系統(tǒng)電路時,晶振電路時不可缺失的,在計算機系統(tǒng)中,所有的工作都是一個節(jié)拍下同步工作,這是才不會出現(xiàn)沖突。時鐘的快慢決定了系統(tǒng)的工作效率,我們所說的計算機的主頻就是指系統(tǒng)時鐘的頻率,而在計算機系統(tǒng)中,系統(tǒng)的時鐘是有晶振電路來提供的??梢哉f晶振電路時單片機的心臟,18,19號引腳接的是110592M的晶振。332蜂鳴器報警電路原理圖6蜂鳴器報警功能電路蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。壓電式蜂鳴器需要比較高的電壓才能有足夠的音壓,一般建議為9V以上。電磁式蜂鳴器用15V就可以發(fā)出85DB以上的音壓了,唯消耗電流會大大的高于壓電式蜂鳴器,電路中的電壓低,而采用壓電式蜂鳴器。1蜂鳴器發(fā)聲元件,在其兩端施加直流電壓或者方波就可以發(fā)聲。2續(xù)流二極管蜂鳴器本質(zhì)上是一個感性元件,其電流不能瞬變,因此必須有一個續(xù)流二極管提供續(xù)流。否則,在蜂鳴器兩端會產(chǎn)生幾十伏的尖峰電壓,可能損壞驅(qū)動三極管,并干擾整個電路系統(tǒng)的其它部分。3三極管濾波電容C1的作用是濾波,濾除蜂鳴器電流對其它部分的影響,也可改善電源的交流阻抗。蜂鳴器報警功能電路使用的是三極管8550驅(qū)動,三極管8550是PNP三極管,射極接電源5V,基極通過一個電阻連接到P10口,集電極接蜂鳴器,三極管Q1起開關作用,,當P10為高電平時,三極管截止,蜂鳴器沒有不響,當P10為低電平時,而三極管導通,蜂鳴器發(fā)出響聲。333電機驅(qū)動電路原理圖7電機驅(qū)動電路對于單向的電機驅(qū)動,只要用一個大功率三極管或場效應管或繼電器直接帶動電機即可,而這次電路中電機驅(qū)動電路和蜂鳴器的電路基本相同,同樣使用8550三極管驅(qū)動,三極管的基極接P11,當P11為高電平時,電機不轉動,當P11為低電平時,電機轉動。需要調(diào)速,可以使用三極管,場效應管等開關元件實現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速。(41PWM介紹)334按鍵功能電路原理圖8按鍵功能電路按鍵功能電路里面有兩種按鍵,一種按鍵是模仿水塔水位開關的功能按鈕,一種是電機PWM輸出的調(diào)整按鈕。原理是通過一個10K的電阻接到5V電源線上,當按鍵沒有按下時,按鍵沒有導通,所以沒有電流,但對于連到引腳上的那一端來講是高電平。當按鍵按下時,因為電路導通,有電流流過,和單片機引腳接觸的那一端接地,所以是低電平。因此能檢測到信號的變化,交給程序處理后做出相關的動作。335液晶1602顯示功能電路圖圖9液晶1602顯示電路圖液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領域。液晶1602從左到右依次有16根引腳,每個引腳定義不同。第1腳VSS為地電源。第2腳VDD接5V正電源。第3腳VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。第6腳E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳D0D7為8位雙向數(shù)據(jù)線。第15腳背光源正極。第16腳背光源負極。有三根控制引線和八根信號線,必須注意的一點是3號引腳是背光電源指示端。背光電阻選擇的不同有不同的結果。我們這里選擇27K電阻做為背光電阻。336系統(tǒng)總體原理圖設計系統(tǒng)總體原理圖即是這些功能電路的組合,主要包括最小系統(tǒng)電路、按鍵電路、電機和蜂鳴器驅(qū)動電路、液晶電路組成,還包括一個按鍵指示燈。詳細電路見附錄一。4系統(tǒng)的軟件設計C語言是一種結構化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復雜的數(shù)據(jù)結構。它還可以直接訪問內(nèi)存的物理地址,進行位BIT一級的操作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,形成了多種版本的C語言。41PWM調(diào)速控制概述411PWM脈寬調(diào)制簡介脈寬調(diào)制PWM是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。而言之,PWM是一種對模擬信號電平進行數(shù)字編碼的方法。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。412PWM調(diào)節(jié)的具體過程脈沖寬度調(diào)制(PWM)是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。這種微處理器要求在軟件中完成以下工作1、設置提供調(diào)制方波的片上定時器/計數(shù)器的周期。2、在PWM控制寄存器中設置接通時間。3、設置PWM輸出的方向,這個輸出是一個通用I/O管腳。4、啟動定時器。5、使能PWM控制器。42系統(tǒng)程序的設計421程序設計步驟程序設計就是用計算機所能接受的語言把所需解決問題的步驟逐一描述出來,也就是編制計算機的程序,在設計應用系統(tǒng)時,軟件的編制是重要環(huán)節(jié)。軟件的質(zhì)量直接影響整個系統(tǒng)功能的實現(xiàn)。應用程序的設計因系統(tǒng)而異,但程序設計總是有共同特點及其規(guī)律的。在編寫程序時,采取如下幾個步驟(1)分析問題,明確所要解決問題的要求。(2)定程序框圖。(3)合理分配系統(tǒng)資源。(4)根據(jù)程序的流程圖和指令系統(tǒng)編寫出程序。(5)程序調(diào)試。(6)程序優(yōu)化。422程序流程圖PWM調(diào)速按鍵調(diào)整子程序檢測是否有按鍵按下YN延時15MS,確定有按鍵按下N檢測哪一個按鍵按下先停止電機,PWM速度增加液晶屏顯示速度值增加先停止電機,PWM速度減少液晶屏顯示速度值減少減按鍵加按鍵圖10PWM按鍵調(diào)整子程序流程圖停止電機,燈閃爍幾下,蜂鳴器響幾聲,液晶顯示正常檢測模擬水塔水位正常按鍵開始系統(tǒng)初始化,燈閃爍,蜂鳴器響一聲,液晶顯示進入主程序等待狀態(tài)顯示速度啟動電機,燈閃爍幾下,蜂鳴器響,液晶顯示低水位檢測模擬水塔水位按鍵檢測模擬水塔水位低按鍵NYNYPWM按鍵調(diào)制子程序NYPWM調(diào)速按鍵選擇電機的轉速圖11程序總體流程圖在進入PWM按鍵子程序后,首先要做的事是先檢測是否確定有按鍵按下,這個過程延時15MS,在確認有按鍵按下后,判斷是哪一個按鍵按下,如果是速度加按鍵按下,電機不管在什么狀態(tài),都是首先停止,然后是調(diào)整PWM調(diào)制時間,液晶屏顯示速度增加,按下減按鍵,也是先停止電機,調(diào)整PWM調(diào)制時間,液晶屏顯示速度減少。具體流程圖如圖11所示。當系統(tǒng)按下電源開關,且確定有電源存在時候,系統(tǒng)進入初始化狀態(tài),燈會閃爍、蜂鳴器響一聲、液晶初始化,初始化完以后,進入PWM按鍵調(diào)速選擇,如有按鍵按下,進入PWM按鍵調(diào)整子程序,若沒有,進入主程序等待狀態(tài),檢測水塔水位的液位狀態(tài),當模擬液位低水位按鍵按下后,電機以顯示速度啟動,模擬抽水過程,此時蜂鳴器報警,燈閃爍,且液晶會顯示水位過低狀態(tài)。當模擬水位正常按鍵按下后,電機停止轉動,蜂鳴器報警、液晶顯示當前正常狀態(tài),然后程序進入循環(huán),繼續(xù)檢測模擬水位狀態(tài)按鍵。具體流程圖的如圖42所示。43程序源代碼程序源代碼使用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)試是最重要的一部分,同時也是本設計成功的關鍵。6總結根據(jù)設計的結果和實驗的分析可知1利用液晶顯示器不僅可以顯示內(nèi)容。2對單片機和液晶顯示器的連接,能對液晶顯示內(nèi)容進行可靠直觀。3液晶水位測量顯示功能強大,能實時監(jiān)測水位,提供可靠數(shù)據(jù)。4液晶水位測量顯示操作簡單,顯示內(nèi)容豐富。參考文獻1陳學煌,馬俊電子自旋共振儀中嵌入單片機測控系統(tǒng)的設計J傳感器技術,2005,24(12)61632王建新,楊世鳳,史永江系統(tǒng)測試中的軟件抗干擾技術J國外電子測量技術,2005,24(10)18203李剛民,曹巧媛單片機原理及使用技術M北京高等教育出版社,2005,242262634徐愛鈞8051單片機實踐教程M北京電子工業(yè)出版社,2006,24(10)21235胡漢才單片機原理及其接口技術M2版北京清華大學出版社,2004,22(11)17206周潤景PROTEUS入門實用教程M北京機械工業(yè)出版社,2007,24(10)24267徐模輝PROTUES單片機仿真中的UC/OSII移植J單片機與嵌入式系,2007(10)74768丁元杰單片微機原理及應用機械工業(yè)出版社,200081889騰召勝,羅隆福智能檢測系統(tǒng)與數(shù)據(jù)融合機械工業(yè)出版社,2009(11)687010孫虎章自動控制原理中央廣播電視大學出版社,1999(10)346611劉國榮單片微型計算機技術機械工業(yè)出版社,2003(24)702612張迎新單片微型計算機原理應用及接口技術國防工業(yè)出版社,2006(50)717613房小翠單片機實用系統(tǒng)設計技術國防工業(yè)出版社,2009(14)444614何立民單片機應用系統(tǒng)設計北航出版社,2010(33)242615曹琳琳單片機原理及接口技術國防科技大學出版社,2006(55)848616INTELMICROCONTROLLERHANDBOOK,2008(12)242617ATMELCORPORATIONAT90S8515REV72001,2009(22)363918JOECAMPBELL串行通信C程序指南M北京清華大學出版社1995,313219德克勞斯貝伊特電子元件M北京北京科技出版設,2008(12)444620超星數(shù)字圖書館HTTP/WWWSSREADERCOMCN21中國電子網(wǎng)HTTP/WWW21ICCOM22軟件世界雜志HTTP/WWWSOFTWAREWORLDCOMCN附錄附圖A仿真準備附錄B仿真成功附錄C程序源代碼INCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARSBITLEDP01/LED燈顯示,低電平亮SBITSPEAKERP10/蜂鳴器,低電平報警SBITLCD_RSP07/1602數(shù)據(jù)選擇命令端SBITLCD_RWP06/1602讀寫選擇端SBITLCD_ENABLEP05/1602使能端定義SBITKEY_UPP30/PWM速度調(diào)整端口,電機速度加一SBITKEY_DOWNP31/PWM速度調(diào)整端口,電機速度減一SBITMONTERP11/電機驅(qū)動端口,PWM控制輸出SBITWATER_NORMALP16/水位過高傳感器模擬按鍵端口,低電平報警SBITWATER_LOWP17/水位過低傳感器模擬按鍵端口,低電平報警UCHARCODEPWM_T45,90,100,130/模式下的PWM值,人為已經(jīng)設定的時間是100,可以調(diào)整上限值UINTMODEL1,PWMT150,TIME_COUNT0VOIDKEY_SCAN/按鍵掃描函數(shù)VOIDCHECK_WATER_LEVEL/檢測水位是否正常函數(shù)VOIDDELAYUINTZ/延時函數(shù)UINTX,YFORXZX0XFORY110Y0Y/1602液晶顯示函數(shù)/VOIDLCD_WRITE_COMDUCHARCOMD/1602寫指令函數(shù)LCD_RS0/選擇指令LCD_RW0/選擇寫DELAY5P2COMD/取命令DELAY8LCD_ENABLE1/使能有效DELAY8LCD_ENABLE0VOIDLCD_WRITE_DATAUCHARDATE/1602寫數(shù)據(jù)函數(shù)LCD_RS1/選擇數(shù)據(jù)LCD_RW0/選擇寫操作DELAY5P2DATE/取數(shù)據(jù)操作DELAY8LCD_ENABLE1/使能有效DELAY8LCD_ENABLE0VOIDLCD_SET_XYUCHARX,UCHARY/定位具體位置UINTADDRESSIFY1ADDRESS0X80X/第一行的位置ELSEADDRESS0XC0X/第二行的位置LCD_WRITE_COMDADDRESSVOIDLCD_WRITE_CHARUCHARX,UCHARY,UCHARDATE/寫一個字符函數(shù)LCD_SET_XYX,Y/設定位置LCD_WRITE_DATADATE/寫入數(shù)據(jù)VOIDLCD_WRITE_STRINGUCHARX,UCHARY,UCHARS/寫一個字符串函數(shù)LCD_SET_XYX,Y/設定位置WHILES/循環(huán)寫入數(shù)據(jù)LCD_WRITE_DATASS/電機PWM調(diào)速函數(shù)及程序主函數(shù)/VOIDINIT/初始化函數(shù)UCHARI,COUNT25LED1/開機LED燈閃爍FORI0I15ILEDLEDDELAYCOUNTCOUNTCOUNT5LED0LCD_WRITE_COMD0X38/設置162行顯示,57點陣,8位數(shù)據(jù)接口LCD_WRITE_COMD0X0C/開顯示LCD_WRITE_COMD0X01/清屏LCD_WRITE_COMD0X80

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論