蓄電池電壓電控系統(tǒng)說明書_第1頁
蓄電池電壓電控系統(tǒng)說明書_第2頁
蓄電池電壓電控系統(tǒng)說明書_第3頁
蓄電池電壓電控系統(tǒng)說明書_第4頁
蓄電池電壓電控系統(tǒng)說明書_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.wd.wd.wd.交通與汽車工程學(xué)院課程設(shè)計說明書課 程 名 稱:汽車電控系統(tǒng)實習(xí)及課程設(shè)計課 程 代 碼:6010319題 目:蓄電池電壓電控電控系統(tǒng)年級/專業(yè)/班:2011級車輛工程汽電2班學(xué) 生 姓 名: 陳然學(xué) 號: 312011080306510開 始 時 間:2013年12月26 日完 成 時 間:2014年1 月6 日課程設(shè)計成績:學(xué)習(xí)態(tài)度及平時成績30技術(shù)水平與實際能力20創(chuàng)新5說明書計算書、圖紙、分析報告撰寫質(zhì)量45總 分100指導(dǎo)教師簽名:年月日目錄 TOC o 1-3 h z u HYPERLINK l _Toc376977235摘要 PAGEREF _Toc37697

2、7235 h - 2 -HYPERLINK l _Toc3769772361 引言 PAGEREF _Toc376977236 h - 3 -HYPERLINK l _Toc3769772371.1 問題的提出 PAGEREF _Toc376977237 h - 3 -HYPERLINK l _Toc3769772381.2任務(wù)與分析 PAGEREF _Toc376977238 h - 3 -HYPERLINK l _Toc3769772392 系統(tǒng)方案設(shè)計 PAGEREF _Toc376977239 h - 3 -HYPERLINK l _Toc3769772402.1 系統(tǒng)設(shè)計方案 PAG

3、EREF _Toc376977240 h - 3 -HYPERLINK l _Toc3769772412.2 系統(tǒng)總體框圖 PAGEREF _Toc376977241 h - 4 -HYPERLINK l _Toc3769772423 系統(tǒng)硬件電路設(shè)計 PAGEREF _Toc376977242 h - 5 -HYPERLINK l _Toc3769772433.1 89C51單片機(jī) PAGEREF _Toc376977243 h - 5 -HYPERLINK l _Toc3769772443.2 LCD12864人機(jī)交互設(shè)備 PAGEREF _Toc376977244 h - 7 -HYPE

4、RLINK l _Toc3769772453.3 ADC0808 AD轉(zhuǎn)換芯片 PAGEREF _Toc376977245 h - 8 -HYPERLINK l _Toc376977246.復(fù)位和控制電路 PAGEREF _Toc376977246 h - 9 -HYPERLINK l _Toc3769772474 系統(tǒng)軟件設(shè)計 PAGEREF _Toc376977247 h - 11 -HYPERLINK l _Toc3769772484.1 proteus軟件環(huán)境介紹 PAGEREF _Toc376977248 h - 11 -HYPERLINK l _Toc3769772494.2 Pr

5、otel軟件環(huán)境介紹 PAGEREF _Toc376977249 h - 12 -HYPERLINK l _Toc3769772504.3系統(tǒng)軟件分析 PAGEREF _Toc376977250 h - 12 -HYPERLINK l _Toc3769772514.4 程序流程圖 PAGEREF _Toc376977251 h - 12 -HYPERLINK l _Toc3769772525 系統(tǒng)調(diào)試過程 PAGEREF _Toc376977252 h - 17 -HYPERLINK l _Toc3769772535.1 Protel電路及調(diào)試結(jié)果 PAGEREF _Toc376977253

6、h - 17 -HYPERLINK l _Toc3769772545.2 Keil軟件程序調(diào)試 PAGEREF _Toc376977254 h - 18 -HYPERLINK l _Toc3769772555.3PROTEUS調(diào)試及仿真電路圖 PAGEREF _Toc376977255 h - 19 -HYPERLINK l _Toc376977256結(jié)論 PAGEREF _Toc376977256 h - 21 -HYPERLINK l _Toc376977257致謝 PAGEREF _Toc376977257 h - 22 -HYPERLINK l _Toc376977258參考文獻(xiàn) PA

7、GEREF _Toc376977258 h - 23 -HYPERLINK l _Toc376977260附錄 PAGEREF _Toc376977260 h - 24 -摘 要蓄電池是汽車啟動時的唯一電源,在汽車發(fā)電機(jī)不工作時,它可以在一段時間內(nèi)向汽車的用電設(shè)備供電12h;在發(fā)電機(jī)正常發(fā)電時,它將發(fā)電機(jī)供給用電器后多余的電能轉(zhuǎn)化成化學(xué)能儲存起來,供下次啟動或其它用電,蓄電池在現(xiàn)代汽車上更是必不可少。本次蓄電池電壓電控系統(tǒng)以AT89C51單片機(jī)為主控芯片、模數(shù)轉(zhuǎn)換芯片使用的是ADC0808、液晶屏LCD12864作為顯示和一些常用元器件完成制作。通過滑動變阻器的滑頭端的滑動改變電壓的輸出來模擬

8、蓄電池的電壓,經(jīng)AD采樣單片機(jī)的轉(zhuǎn)換與處理,在液晶屏上顯示蓄電池電壓,并且當(dāng)電壓低于規(guī)定值2V時, 會提醒駕駛員“電壓過低,請充電的顯示條目。并自動關(guān)閉一些多余的負(fù)載。通過仿真說明此系統(tǒng)滿足設(shè)計任務(wù)要求。關(guān)鍵詞:汽車蓄電池;LCD12864;ADC0808芯片;89C51; proteus仿真1 引 言1.1 問題的提出如今汽車行業(yè)的蓬勃開展,各種先進(jìn)技術(shù) 基本上都在汽車上有所應(yīng)用。蓄電池作為汽車的啟動能源和備用動力,汽車上用于蓄電池檢測顯示的設(shè)備要求也越來越高。此次課程設(shè)計題目基于我們所學(xué)過的51系列單片機(jī)的 基本原理,主控制芯片選用的是AT89C51,通過使用KEIL進(jìn)展C語言的編譯用Pr

9、oteus搭建硬件電路進(jìn)展仿真,設(shè)計制作汽車蓄電池電壓電控系統(tǒng)。當(dāng)電壓低于2V將在顯示屏上顯示“電壓過低,請充電并且關(guān)閉一些不重要的附屬用電設(shè)備。1.2任務(wù)與分析本系統(tǒng)使用AT89C51作為主控芯片。在Protel軟件環(huán)境中完成硬件電路板的設(shè)計,使用KEIL軟件進(jìn)展編譯,調(diào)試,最終生成HEX文件。在Proteus中搭建硬件電路,然后將生成的HEX文件導(dǎo)入到主控芯片at89c51中,進(jìn)展仿真測試。通過滑動變阻器的輸出阻值使輸出電壓來模擬蓄電池的電壓,用ADC0808進(jìn)展AD采樣傳輸?shù)絾纹瑱C(jī)中,經(jīng)過單片機(jī)的處理在液晶屏上顯示蓄電池電壓,并且當(dāng)電壓低于規(guī)定值2V時, 會提醒駕駛員“電壓過低,請充電的

10、顯示條目并關(guān)閉一些附屬用電設(shè)備。此次課程設(shè)計的主要難點在于對LCD12864的變成控制其輸出漢字,以及ADC0808的使用及程序控制。2 系統(tǒng)方案設(shè)計2.1 系統(tǒng)設(shè)計方案 通過查閱相關(guān)資料,設(shè)計初期共有二個方案供我選擇,分別是:方案一:為主控芯片采用AT89C51單片機(jī)作,AD轉(zhuǎn)換模塊使用ADC0808芯片,顯示模塊使用LCD1602。 方案二:為主控芯片采用AT89C51單片機(jī)作,AD轉(zhuǎn)換模塊使用ADC0808芯片,顯示模塊使用LCD12864。用電機(jī)控制電器開關(guān),用二極管和揚(yáng)聲器報警。進(jìn)展方案比較,由于要求顯示漢字提示信息,方案二可以準(zhǔn)確的顯示提示信息,最后確定設(shè)計采用第2方案,即系統(tǒng)是由

11、89C51單片機(jī),AD0808芯片,LCD12864液晶顯示器組成。并同時聲光報警。2.2 系統(tǒng)總體框圖電機(jī)控制LCD12864 P1.0-1.7 主控芯片P3.0-3.7AT89C51P0.0-0.7ADC0808滑動變阻器圖1 系統(tǒng)總體框圖通過改變滑動變阻器的阻值改變輸出電壓來模擬蓄電池的電壓,然后使用ADC0808進(jìn)展模數(shù)轉(zhuǎn)換將得到的信號傳入單片機(jī)進(jìn)展處理判斷,當(dāng)電壓低于規(guī)定值2V時, LCD12864顯示“電壓過低,請充電條目和停頓電機(jī)運(yùn)轉(zhuǎn)節(jié)約用電。3 系統(tǒng)硬件電路設(shè)計3.1 89C51單片機(jī) 80C51內(nèi)置中央處理單元、128字節(jié)內(nèi)部數(shù)據(jù)存儲器RAM、32個雙向輸入/輸出(I/O)口

12、、2個16位定時/計數(shù)器和5個兩級中斷構(gòu)造,一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。此外,80C51還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時鐘振蕩停頓,同時停頓芯片內(nèi)其它功能。80C51有PDIP(40pin)和PLCC(44pin)兩種封裝形式。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。其引腳圖如圖2所示:圖2 AT89C51單片機(jī)引腳圖 89C51單片機(jī)與早期Intel的8051/8751/8031芯片的外部引腳和指令系統(tǒng)完全兼容,只不過用Flash

13、 ROM 替代了ROM/EPROM而已。各引腳的功能如下:VCC:供電電壓。 GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)展校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH

14、編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)展存取時,P2口輸出地址的高八位。在給出地址“1時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)展讀寫時,P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個

15、TTL門電流。當(dāng)P3口寫入“1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想制止ALE的輸出可在SFR8EH地址上置0。此時, ALE只

16、有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE制止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA:當(dāng)/EA保持低電平時,那么在此期間CPU只訪問外部程序存儲器0000H-FFFFH,不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,那么執(zhí)行內(nèi)部程序存儲器中的程序。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。XTAL1:反向振蕩放大器的輸入及內(nèi)部

17、時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.2 LCD12864人機(jī)交互設(shè)備12864 中文 漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置 8192 個中文漢字 16X16 點陣、128個字符 8X16 點陣及 64X256 點陣顯示RAMGDRAM。 主要技術(shù)參數(shù)和顯示特性: 電源:VDD +3.3V+5V(內(nèi)置升壓電路,無需負(fù)壓); 顯示內(nèi)容:128 列 64 行 顯示顏色:黃綠/藍(lán)屏/灰屏 顯示角度:6:00 鐘直視 與MCU 接口:8 位或4 位并行/3 位串行 配置LED 背光 多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等3.3 ADC0808 AD轉(zhuǎn)換

18、芯片本試驗采用的A/D芯片為ADC0808,它是CMOS8位單通道逐次漸近型的模/數(shù)轉(zhuǎn)換器,其規(guī)格及引腳圖如圖3所示,根據(jù)手冊我們可以得到各個引腳的大致功能如下:ADC0808是采樣分辨率為8位的、以逐次逼近原理進(jìn)展模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道 HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=513994&ss_c=ssc.citiao.link t _blank 多路開關(guān),它可以根據(jù) HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=161179&ss_c

19、=ssc.citiao.link t _blank 地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)展A/D轉(zhuǎn)換。ADC0808是ADC0809的簡化版本,功能 基本一樣。一般在硬件仿真時采用ADC0808進(jìn)展A/D轉(zhuǎn)換,實際使用時采用ADC0809進(jìn)展A/D轉(zhuǎn)換。ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它有8路模擬開關(guān)、 HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=70794195&ss_c=ssc.citiao.link t _blank 地址鎖存與 HYPERLINK :/baike.sogou

20、/lemma/ShowInnerLink.htm?lemmaId=1221350&ss_c=ssc.citiao.link t _blank 譯碼器、 HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=106394&ss_c=ssc.citiao.link t _blank 比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器。ADC0808芯片有28條引腳,采用雙列直插式封裝,如以下列圖。各引腳功能如下:15和2628IN0IN7:8路模擬量輸入端。8、14、15和1721:8位數(shù)字量輸出端。22ALE:地址鎖存允許信號,輸入, HYPERLINK

21、 :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=66724504&ss_c=ssc.citiao.link t _blank 高電平有效。6START: A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖至少100ns寬使其啟動脈沖 HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=508772&ss_c=ssc.citiao.link t _blank 上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換。7EOC: A/D轉(zhuǎn)換完畢信號,輸出,當(dāng)A/D轉(zhuǎn)換完畢時,此端輸出一個高電平轉(zhuǎn)換期間一直為低電平

22、。9OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換完畢時,此端輸入一個高電平,才能翻開輸出 HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=7752263&ss_c=ssc.citiao.link t _blank 三態(tài)門,輸出數(shù)字量。10CLK: HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=13756738&ss_c=ssc.citiao.link t _blank 時鐘脈沖輸入端。要求 HYPERLINK :/baike.sogou /lemma/

23、ShowInnerLink.htm?lemmaId=267809&ss_c=ssc.citiao.link t _blank 時鐘頻率不高于640KHZ。12VREF+和16VREF-: HYPERLINK :/baike.sogou /lemma/ShowInnerLink.htm?lemmaId=7547063&ss_c=ssc.citiao.link t _blank 參考電壓輸入端11Vcc:主電源輸入端。13GND:地。2325ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路的通道選擇電源電壓Vcc:6.5V控制端輸入電壓:-0.3V15Vout7為最低位-

24、out0為最高位,out7-out0分別接單片機(jī)的P0.0到P0.7端。圖3 ADC0808.復(fù)位和控制電路341復(fù)位電路圖4 復(fù)位電路342電機(jī)控制電路圖5 電機(jī)控制電路343AD采樣電路 圖6 AD采樣電路 4 系統(tǒng)軟件設(shè)計4.1 proteus軟件環(huán)境介紹本系統(tǒng)的硬件設(shè)計首先是在Proteus軟件環(huán)境中仿真實現(xiàn)的。Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動的。針對微處理器的應(yīng)

25、用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試。如果有顯示及輸出,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,還能看到運(yùn)行后輸入輸出的效果。Proteus建設(shè)了完備的電子設(shè)計開發(fā)環(huán)境,尤其重要的是Proteus Lite可以完全免費(fèi),也可以花微缺乏道的費(fèi)用注冊到達(dá)更好的效果。Proteus軟件主要具有以下幾個方面的特點:1、設(shè)計和仿真軟件Proteus 是一個很有用的工具,它可以幫助學(xué)生和專業(yè)人士提高他們的模擬和數(shù)字電路的設(shè)計能力。2、它允許對電路設(shè)計采用圖形環(huán)境,在這種環(huán)境中,可以使用一個特定符號來代替元器件,并完成不會對真實電路造成任何損害的電路仿真操作。3、它可

26、以仿真儀表以及可描述在仿真過程中所獲得的信號的圖表。4、它可以仿真目前流行的單片機(jī),如PICS, ATMEL-AVR, MOTOROLA, 8051 等。5、在設(shè)計綜合性方案中,還可以利用ARES開發(fā)印制電路板。4.2 Protel軟件環(huán)境介紹Protel印制板設(shè)計軟件包是澳大利亞protel technology公司與1990年推出的電子CAD產(chǎn)品,具有方便、易學(xué)、實用、快速以及高速度、高步通率的特點。它采用了分層次下拉窗口菜單構(gòu)造形式,用戶 基本上不需要記背太多的鍵盤命令,用鼠標(biāo)點擊菜單命令就能操作,protel有著很高的自動布線布通率。布通率是電子產(chǎn)CAD產(chǎn)品的一項重要指標(biāo),它反映電子元

27、件在電路圖中連接關(guān)系有多少能在印刷幅員中實現(xiàn)。在設(shè)計常用的單、雙面印制板時只要選擇適當(dāng)?shù)脑季趾筒季€策略方法,protel就可以輕易的到達(dá)98%-100%的布通率。對于極少數(shù)不能布通的定方,protel可以用飛線指示出來,引導(dǎo)用戶用手工方法連通。另外,protel有強(qiáng)大的宏命令設(shè)置功能,利用宏命令功能多定義的熱鍵可以大大提高操作速度。4.3系統(tǒng)軟件分析系統(tǒng)僅由硬件與軟件構(gòu)成的單獨的硬件或軟件是不可能構(gòu)成一個應(yīng)用系統(tǒng)的,硬件與軟件的相互結(jié)合才能構(gòu)成一個完整的應(yīng)用系統(tǒng),硬件是軟件存在的前提與根基;而軟件是硬件的控制者,軟件支配,調(diào)度硬件資源的分配與使用。因此軟件硬件系統(tǒng)在應(yīng)用系統(tǒng)中的地位是同等重

28、要的,系統(tǒng)軟件設(shè)計過程為:通過滑動變阻器的輸出阻值使輸出電壓來模擬蓄電池的電壓,用ADC0808進(jìn)展AD采樣傳輸?shù)絾纹瑱C(jī)中,經(jīng)過單片機(jī)的處理在液晶屏上顯示蓄電池電壓,并且當(dāng)電壓低于規(guī)定值2V時, 會提醒駕駛員“電壓過低,請充電的顯示條目并讓電機(jī)停頓運(yùn)轉(zhuǎn)。4.4 程序流程圖主程序框圖:開場AD模塊初始化液晶初始化讀AD采樣數(shù)據(jù)將數(shù)據(jù)轉(zhuǎn)化為電壓值電壓是否小于2VNY顯示電壓值顯示電壓值電機(jī)停頓運(yùn)轉(zhuǎn)圖7 主程序框圖主程序說明:先將AD和液晶模塊初始化,用滑動變阻器的輸入的改變來電壓以此模擬蓄電池電壓的變化,ADC0808將采集到的模擬信號變換為數(shù)字信號。經(jīng)89C51判斷和處理,要是低于2V,那么給執(zhí)

29、行器也就是LCD12864發(fā)出指令。讓其顯示“電壓過低,請充電字樣并控制電機(jī)停頓運(yùn)轉(zhuǎn)。要是判定結(jié)果蓄電池電壓大于2V,那么返回,繼續(xù)執(zhí)行監(jiān)控。數(shù)據(jù)轉(zhuǎn)換子程序:開場I=(x*15)%255)*200/51本來應(yīng)該是 (x*15)%255)*1000/255會出現(xiàn)溢出提取每一位數(shù)字用于顯示完畢圖8 數(shù)據(jù)子程序框圖數(shù)據(jù)轉(zhuǎn)換說明:電壓實際是浮點數(shù),這個電壓實際是指AD轉(zhuǎn)化完成后得到的二進(jìn)制數(shù)據(jù),電壓的范圍定位0到15V。那么得到的真實電壓應(yīng)該是dianya*15整除255得到整數(shù)局部,對255取余再乘1000對255取余,得到小數(shù)局部增量型PID算法程序流程圖開場計算控制參數(shù)q0,q1,q2設(shè)初值en

30、=0讀取采樣值cn計算偏差值en-rn-cn計算控制量增量u=q0*en+q1*en-1+q2*en-2輸出u為下一時刻做準(zhǔn)備en en-1 en-1en-2完畢圖9 增量型PID算法程序流程圖濾波子程序流程開場:將AD采樣值賦給Get用本次采樣值減去上次采樣值得變化量XX是否大于最大允許差值NY電壓取上次采樣值電壓取本次采樣值將Get賦給getI進(jìn)展數(shù)據(jù)更新完畢圖10 濾波子程序流程圖濾波程序說明濾波的作用 其功能就是得到一個特定頻率或消除一個特定頻率,利用這個特性可以將通過濾波器的一個方波群或復(fù)合噪波,而得到一個特定頻率的正弦波,也就是輸入信號。如何濾波如程序圖當(dāng)中所說,將AD采集到的數(shù)據(jù)

31、附給一個值,再將這個值與AD采集到的下一個數(shù)據(jù)相比較,如果差值在允許范圍內(nèi),那么說明電壓值有效,傳遞給下一個單元進(jìn)展處理。如果在允許范圍外,那么說明電壓值無效。本次的差值X定義為-10X10。延時子程序框圖 圖11 延時子程序框圖說明:該程序使用的是雙重循環(huán)進(jìn)展軟件延時,當(dāng)外重循環(huán)進(jìn)展1次內(nèi)重循環(huán)進(jìn)展100次,假設(shè)該函數(shù)傳入的實參為1,那么該程序延時為1ms,因此該程序的實際延時為:實參*1ms.LCD12864顯示子程序流程圖:開場初始化LCD寫數(shù)據(jù)到LCD進(jìn)展查表顯示漢字與數(shù)字復(fù)位 圖12LCD12864顯示子程序流程圖5 系統(tǒng)調(diào)試過程當(dāng)軟件硬件已經(jīng)環(huán)境搭建好了以后,接下來的工作就是進(jìn)展軟

32、件與硬件系統(tǒng)的調(diào)試工作,再對程序調(diào)試過程中所遇見的一些問題就行調(diào)試,修改軟件硬件系統(tǒng)。5.1 Protel電路及調(diào)試結(jié)果1在Protel 99 SE中,對硬件電路圖進(jìn)展ERC電氣規(guī)那么檢查。 圖 13protel原理圖5.2 Keil軟件程序調(diào)試程序經(jīng)過調(diào)試顯示“0錯誤,0警告。表示程序調(diào)試通過,生成了HEX文件。如 圖13圖14 程序調(diào)試結(jié)果5.3PROTEUS調(diào)試及仿真電路圖5.3.1 PROTEUS調(diào)試仿真圖建設(shè) :系統(tǒng)采用Proteus軟件進(jìn)展仿真,使用軟件自帶的元器件進(jìn)展仿真。圖15為蓄電池電壓電控系統(tǒng)的最小系統(tǒng)圖。圖15 主控芯片仿真系統(tǒng)采用滑動變阻器來模擬蓄電池的輸入電壓,通過改

33、變滑片的位置將輸出不同的電壓。然后使用Proteus中自帶的電壓表與LCD液晶顯示屏進(jìn)展比對,檢驗該系統(tǒng)是否滿足要求。圖16 系統(tǒng)檢測系統(tǒng) 系統(tǒng)采用LCD12864液晶屏作為顯示器件,其具體的仿真連接圖如下圖17 系統(tǒng)的顯示器件圖5.3.2 PROTEUS仿真圖Proteus仿真調(diào)試結(jié)果:不同的輸入電壓所對應(yīng)的顯示情況不同,調(diào)節(jié)滑動變阻器改變其輸入電壓,使其輸入電壓為1.647V,單片機(jī)通過對AD采樣的結(jié)果進(jìn)展處理,再液晶顯示屏上顯示當(dāng)前的電壓值。由于此時的電壓低于設(shè)定值2V所以,此時顯示器有提示信息“電壓過低,請充電字樣并中斷了電機(jī)的運(yùn)轉(zhuǎn)。如Proteus仿真圖1所示圖18Proteus仿真

34、圖1然后調(diào)節(jié)滑動變阻器使其輸出的電壓大于2V,此時顯示器顯示當(dāng)前的電壓值但提示信息將消失。電機(jī)處于運(yùn)轉(zhuǎn)狀態(tài)。如Proteus仿真圖2所示圖19Proteus仿真圖2結(jié) 論本此次設(shè)計過程中,我請教了相關(guān)的教師與同學(xué)以及在網(wǎng)上查閱相關(guān)的資料,使得我對單片機(jī)的 基本原理與應(yīng)用,控制程序的編寫于調(diào)試有了更為深刻的認(rèn)識。通過此次課程設(shè)計我不僅完成了教師要求的內(nèi)容還了解了89C51的構(gòu)造和用法。此外,設(shè)計中所涉及到的元器件還有:電容、電阻、液晶顯示器、ADC0808等,我通過查閱相關(guān)元器件的作用及工作原理。在此次課程設(shè)計中我深刻地體會到了自身所學(xué)自識得嚴(yán)重缺乏,許多理論上的東西跟實際還是有很大差距的,這也

35、是一個鍛煉自身能力的時機(jī)。只有不斷地迫使自己去學(xué)習(xí)一些東西,這樣才能夠在以后的工作學(xué)習(xí)中走得更遠(yuǎn)。致 謝歷時將近半個多月的時間終于將這篇說明書寫完,在課程設(shè)計過程中遇到了無數(shù)的困難和障礙,都在同學(xué)和教師的幫助下度過了。尤其要強(qiáng)烈感謝我的課程設(shè)計指導(dǎo)教師趙玲教師,她對我進(jìn)展了無私的指導(dǎo)和幫助, HYPERLINK :/zhidao.baidu /search?word=%E4%B8%8D%E5%8E%8C%E5%85%B6%E7%83%A6&fr=qb_search_exp&ie=utf8 t _blank 不厭其煩的幫助進(jìn)展課程設(shè)計的修改和改進(jìn)。趙教師是一個擁有豐富的專業(yè)知識,嚴(yán)謹(jǐn)治學(xué)態(tài)度,精

36、益求精作風(fēng)的教師,他的嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實無華、平易近人的人格魅力對我影響深遠(yuǎn)。感謝我的同學(xué)和朋友,在我寫論文的過程中給予我了很多有用的素材,還在說明書的撰寫和排版過程中提供熱情的幫助。由于我的能力水平有限,所完成的課程設(shè)計難免有缺乏之處,懇請各位教師和同學(xué)批評和指正。參考文獻(xiàn)1?Protel99SE EDA 技術(shù)及應(yīng)用?徐崢穎編著,北京:機(jī)械工業(yè)出版社,20052?單片機(jī)系統(tǒng)的protues設(shè)計與仿真?張靖武編著,北京:電子工業(yè)出版社,20073?單片機(jī)原理及接口技術(shù)?李朝青編著,北京:北京航空航天大學(xué)出版社,20054?MCS-51單片機(jī)應(yīng)用開發(fā)實用子程序?邊春遠(yuǎn)編著,北京:

37、人民郵電出版社,20055 劉守義編著.單片機(jī)應(yīng)用技術(shù)M.西安:西安電子科技大學(xué)出版社,2002.6 韓志軍編著.單片機(jī)應(yīng)用系統(tǒng)設(shè)計M.北京:機(jī)械工業(yè)出版社,2005.7 張毅剛,劉喜元編著.新編MCS-51單片機(jī)應(yīng)用設(shè)計M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003.8 唐嵐編著.汽車測試技術(shù)M.北京:機(jī)械工業(yè)出版社,2006.附錄圖20圖程序代碼:#include #include #define uchar unsigned char#define uint unsigned int#define lcm P1 sbit p_csl=P04;sbit p_csr=P03;sbit p_di=

38、P02;sbit p_rw=P01;sbit p_e=P00;sbit p_rst=P07;sbit ad_INTR=P34;sbit ad_RD=P35;sbit ad_WR=P36;sbit P3_1=P31;sbit P3_0=P30;uchar code HZ;uchar code Ez;uint shi,ge,xiao1,xiao2,xiao3,get,get_l;uint dianya;void delay(uint k);void wcode(uchar c,uchar csl,uchar csr);void wdata(uchar c,uchar csl,uchar csr);

39、void set_statrline(uchar i);void set_xy(uchar x,uchar y);void dison_off(uchar o);void reset();void lcd_init(void);void lw(uchar x,uchar y,uchar dd);/寫數(shù)據(jù)函數(shù)void disp_Hz(uchar xx,uchar yy,uchar n,uchar fb);/顯示漢字void disp_Ez(uchar xx,uchar yy,uchar n,uchar fb);void data_change(uint x);/數(shù)據(jù)轉(zhuǎn)化將AD得到的數(shù)據(jù)按位轉(zhuǎn)化為

40、數(shù)字方便顯示void Tdelay(unsigned int i);void get0808();void Tdelay(unsigned int i) while(i-);void get0808() ad_WR=0;Tdelay(5) ;ad_INTR=0;Tdelay(5) ;ad_INTR=1;Tdelay(5) ;ad_WR=1;Tdelay(5);P1=0 xff ; ad_WR=0;Tdelay(5);ad_RD=0;Tdelay(5); get=P2;Tdelay(5);ad_RD=1;Tdelay(5);ad_WR=1;void delay(uint k)uint i; fo

41、r(;k0;k-) for(i=0;i124;i+) ; void lcd_busy(void)p_di=0; p_rw=1; lcm=0 xff; while(1) p_e=1; if(lcm0 x80) break; p_e=0; p_e=0;void wcode(uchar c,uchar csl,uchar csr)p_csl=csl; p_csr=csr; lcd_busy(); p_di=0; p_rw=0; lcm=c;/將變量C賦予LCM p_e=1; p_e=0;void wdata(uchar c,uchar csl,uchar csr)/c表示的是要寫的數(shù)據(jù)8個二進(jìn)制位p

42、_csl=csl; p_csr=csr; lcd_busy(); p_di=1; p_rw=0; lcm=c;/將變量C賦予LCM p_e=1; p_e=0;void set_startline(uchar i)i=0 xc0+i; wcode(i,1,1);void set_xy(uchar x,uchar y)x=x+0 x40; y=y+0 xb8; wcode(x,1,1); wcode(y,1,1);void dison_off(uchar o)o=o+0 x3e; /o為1為開,為0是關(guān) wcode(o,1,1);void reset() delay(100); p_rst=0;

43、delay(20); p_rst=1; delay(20);void lcd_init(void)uchar x,y; reset(); dison_off(0); for(y=0;y8;y+) for(x=0;x=64) set_xy(x-64,y); wdata(dd,0,1);/寫右半屏 else set_xy(x,y); wdata(dd,1,0); void disp_Hz(uchar xx,uchar yy,uchar n,uchar fb)/xx為該行第xx個字,共8字,yy為第幾行,共8行,n為字庫中第N個字。uchar i,dx; for(i=0;i16;i+) dx=HZ2

44、*i+n*32; if(fb) dx=255-dx;/反白顯示lw(xx*16+i,yy,dx);dx=HZ(2*i+1)+n*32;if(fb) dx=255-dx;lw(xx*16+i,yy+1,dx); void disp_Ez(uchar xx,uchar yy,uchar n,uchar fb)/顯示數(shù)字或英語 uchar i,dx; for(i=0;i10 & x-10) dianya=get_l;else dianya=get;get_l=get;void data_change(uint x)uint i,j;i=(x*15)/255;j=(x*15)%255)*200/51;

45、/本來應(yīng)該是 (x*15)%255)*1000/255 會出現(xiàn)溢出shi=i/10;ge=i%10;xiao1=j/100;xiao2=j%100/10;xiao3=j%100%10;void main() uchar loop,j; uchar fb=0;P3_1=0; lcd_init();for(loop=0;loop8;loop+)/行1 disp_Hz(loop,0,loop,fb); while(1) get0808();filter(); data_change(dianya);fb=0;if(shi=0&ge=9) P3_1=1; P3_0=1; else P3_1=0;P3_

46、0=1; if(shi) disp_Ez(4,4,shi,fb);else disp_Ez(4,4,12,fb); disp_Ez(5,4,ge,fb);disp_Ez(6,4,10,fb);disp_Ez(7,4,xiao1,fb);disp_Ez(8,4,xiao2,fb); disp_Ez(9,4,xiao3,fb);disp_Ez(10,4,11,fb); if(dianya=34)j+;if(j=5)fb=1;if(j=10) j=0;for(loop=0;loop8;loop+)/行1 disp_Hz(loop,6,loop+8,fb); elsefb=0;for(loop=0;l

47、oop16;loop+)/行1 disp_Ez(loop,6,12,fb); uchar code HZ=0 x00,0 x00,0 x40,0 x40,0 x42,0 x44,0 x44,0 x44,0 x58,0 x44,0 x40,0 x44,0 x40,0 x44,0 x7F,0 x44,0 x40,0 x44,0 x40,0 x44,0 x50,0 x44,0 x48,0 x44,0 xC6,0 xFF,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*當(dāng),0*/0 x08,0 x00,0 x08,0 x00,0 xE8,0 xFF,0 x29,0 x09,

48、0 x2E,0 x49,0 x28,0 x89,0 xE8,0 x7F,0 x08,0 x00,0 x08,0 x00,0 xC8,0 x0F,0 x0C,0 x40,0 x0B,0 x80,0 xE8,0 x7F,0 x08,0 x00,0 x08,0 x00,0 x00,0 x00,/*前,1*/0 x12,0 x00,0 x12,0 x00,0 x12,0 xFA,0 x52,0 xAA,0 x77,0 xAB,0 x52,0 xAB,0 xD2,0 xAA,0 xDA,0 xFA,0 x52,0 xAA,0 x52,0 xAA,0 x37,0 xAA,0 x92,0 xAA,0 x12

49、,0 xFB,0 x12,0 x06,0 x12,0 x00,0 x00,0 x00,/*蓄,2*/0 x00,0 x00,0 x00,0 x00,0 xF8,0 x1F,0 x88,0 x08,0 x88,0 x08,0 x88,0 x08,0 x88,0 x08,0 xFF,0 x7F,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 xF8,0 x9F,0 x00,0 x80,0 x00,0 xF0,0 x00,0 x00,/*電,3*/0 x10,0 x04,0 x60,0 x04,0 x02,0 x7E,0 xCC,0 x01,0 x

50、80,0 x00,0 x80,0 x00,0 xFC,0 x3F,0 x40,0 x40,0 x20,0 x40,0 xFF,0 x4F,0 x10,0 x40,0 x08,0 x44,0 xF8,0 x47,0 x00,0 x40,0 x00,0 x78,0 x00,0 x00,/*池,4*/0 x00,0 x00,0 x00,0 x00,0 xF8,0 x1F,0 x88,0 x08,0 x88,0 x08,0 x88,0 x08,0 x88,0 x08,0 xFF,0 x7F,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 xF8,0

51、x9F,0 x00,0 x80,0 x00,0 xF0,0 x00,0 x00,/*電,5*/0 x00,0 x80,0 x00,0 x60,0 xFE,0 x1F,0 x02,0 x40,0 x82,0 x40,0 x82,0 x40,0 x82,0 x40,0 x82,0 x40,0 xFA,0 x7F,0 x82,0 x40,0 x82,0 x40,0 x82,0 x44,0 x82,0 x58,0 x82,0 x40,0 x02,0 x40,0 x00,0 x00,/*壓,6*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x36,0 x00,0 x36,0 x00,

52、0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*:,7*/0 x00,0 x00,0 x00,0 x00,0 xF8,0 x1F,0 x88,0 x08,0 x88,0 x08,0 x88,0 x08,0 x88,0 x08,0 xFF,0 x7F,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 x88,0 xF8,0 x9F

53、,0 x00,0 x80,0 x00,0 xF0,0 x00,0 x00,/*電,0*/0 x00,0 x80,0 x00,0 x60,0 xFE,0 x1F,0 x02,0 x40,0 x82,0 x40,0 x82,0 x40,0 x82,0 x40,0 x82,0 x40,0 xFA,0 x7F,0 x82,0 x40,0 x82,0 x40,0 x82,0 x44,0 x82,0 x58,0 x82,0 x40,0 x02,0 x40,0 x00,0 x00,/*壓,1*/0 x40,0 x00,0 x40,0 x40,0 x42,0 x20,0 xCC,0 x1F,0 x00,0 x

54、20,0 x08,0 x40,0 x48,0 x40,0 x88,0 x41,0 x08,0 x40,0 x08,0 x48,0 x08,0 x50,0 xFF,0 x4F,0 x08,0 x40,0 x08,0 x40,0 x08,0 x40,0 x00,0 x00,/*過,2*/0 x00,0 x01,0 x80,0 x00,0 x60,0 x00,0 xF8,0 xFF,0 x07,0 x00,0 x00,0 x00,0 xFC,0 xFF,0 x84,0 x40,0 x84,0 x20,0 x84,0 x00,0 xFE,0 x41,0 x82,0 x8E,0 x83,0 x30,0

55、x82,0 x40,0 x80,0 xF8,0 x00,0 x00,/*低,3*/0 x00,0 x00,0 x00,0 x00,0 x00,0 x58,0 x00,0 x38,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/*,,4*/0 x40,0 x00,0 x42,0 x00,0 xCC,0 x7F,0 x00,0 x20,0 x00,0 x10,0 x44,0 x00,0 x54,0 xFF,0 x54,0 x15,0 x54,0 x15,0 x7F,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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論