自動車窗升降控制器的設(shè)計與制作_第1頁
自動車窗升降控制器的設(shè)計與制作_第2頁
自動車窗升降控制器的設(shè)計與制作_第3頁
自動車窗升降控制器的設(shè)計與制作_第4頁
自動車窗升降控制器的設(shè)計與制作_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、江蘇理工學院畢業(yè)設(shè)計說明書(論文) 自動車窗升降控制器的設(shè)計與制作摘 要:車窗是汽車必不可少的重要部件,早期的汽車采用傳統(tǒng)的手動升降車窗。90年代中期以來,汽車車窗控制器的控制技術(shù)發(fā)展迅速,電子模塊控制形式大量應(yīng)用于批量裝車,并設(shè)有安全保護裝置?,F(xiàn)在許多轎車門窗玻璃的升降使用的是價格低廉、性能穩(wěn)定的單片機作為集成模塊控制器進行控制。據(jù)此本次設(shè)計也是以stc89c52rc單片機作為核心控制器,l9110芯片為電機驅(qū)動,帶有溫度檢測以及狀態(tài)顯示的車窗升降控制器。通過5v小功率電機的正反轉(zhuǎn)、停止以及自動上升功能,模擬車窗的升降以及車輛停車熄火時車窗自動關(guān)閉控制功能。采用單片機作控制核心不僅價格低廉而

2、且性能穩(wěn)定,電路簡單。關(guān)鍵詞:單片機;直流電機;車窗升降;溫度檢測design and manufacture of automatic window lift controllerabstract: windows are important and indispensable parts for automobiles, early cars used traditional manually lift window. since the mid 90, rapid development of control technology of automobile window control

3、ler, electronic control module forms widely used in bulk loading, and are equipped with safety devices. now many car window glass lift is used as cheap, stable performance of the single chip microcomputer integrated control module controller. this design is also stc89c52rc scm as the core controller

4、, l9110 chip for motor drive, with temperature detection and state display window lift controller. 5v low power motor reverse, stop, as well as an automatic rise function, when a simulating movements in the car window and vehicle parking stall window closes automatically control functions. using sin

5、gle-chip microcomputer controlled core not only low prices but stable performance, simple circuit.keywords: microcontroller;dc motor ;window lift;temperature detection目 錄第1章 緒論.11.1 選題意義.11.2 自動車窗升降控制器的發(fā)展歷程.11.3 本文主要研究內(nèi)容.2第2章 系統(tǒng)元件選擇與論證.32.1 單片機選擇與論證.32.2 電機驅(qū)動芯片選擇與論證.42.3 溫度傳感器篩選與論證.42.4 顯示器選擇與論證.42.

6、5 系統(tǒng)方案設(shè)計.5第3章 硬件電路設(shè)計.63.1 硬件系統(tǒng)總體設(shè)計.63.2 stc89c52rc微處理器核心電路.63.2.1 stc89c52rc單片機簡介.63.2.2 晶振電路.83.2.3 單片機復位電路.93.2.4 單片機總體硬件電路設(shè)計.93.3 電源輸入電路.103.4 l9110電機驅(qū)動電路.113.4.1 l9110芯片.113.5 1602液晶顯示器電路.123.5.1 1602液晶顯示器.123.5.2 1602lcd電路設(shè)計.143.6 ds18b20數(shù)字溫度傳感器電路.153.6.1 ds18b20的主要特征.153.6.2 工作原理及應(yīng)用.153.6.3 ds

7、18b20數(shù)字溫度傳感器電路設(shè)計.173.7 按鍵模塊設(shè)計.17第4章 軟件程序設(shè)計.184.1 c語言在單片機中的應(yīng)用.184.1.1 文件包含處理.184.1.2 單片機引腳定義.194.2 主程序流程圖設(shè)計.194.3 ds18b20傳感器模塊程序設(shè)計.204.4 lcd1602模塊程序設(shè)計.22第5章 軟硬件調(diào)試.315.1 硬件調(diào)試.315.2 軟件程序調(diào)試.325.3 軟硬件聯(lián)調(diào).32結(jié)語.33參考文獻.34致 謝.36附錄1硬件電路原理圖.37附錄2元器件清單.38附錄3源程序清單.39附錄4硬件實物圖.42江蘇理工學院畢業(yè)設(shè)計說明書(論文)江蘇理工學院畢業(yè)設(shè)計說明書(論文)第1

8、章 緒 論1.1 選題意義車窗是汽車必不可少的重要部件。它不僅可以遮風擋雨,為駕駛?cè)颂峁┳銐虻囊暯莵戆踩男熊嚩艺{(diào)節(jié)車窗的開度可以使車內(nèi)的溫度,濕度和氣壓適應(yīng)駕駛?cè)撕统丝汀.斊嚫咚傩旭倳r,車窗打開必然要提高汽車的風阻系數(shù)1從而使車輛的用油量變多,而且風產(chǎn)生的噪音會對駕駛?cè)撕统丝偷穆犃υ斐梢欢ǖ钠茐?。同時一旦發(fā)生意外打開的車窗也成為隱患,不利于保護乘客。當汽車低速行駛時,車窗的開度需要不斷地調(diào)整來滿足乘坐舒適的需要。鑒于以上原因,車窗的開度不時需要調(diào)節(jié)。為了使車窗可以自由調(diào)節(jié)開度以及操作更加簡便靈活車窗升降控制器就成了控制車窗的關(guān)鍵部件。目前大多數(shù)汽車制造商制造的汽車都會有車窗升降控制器,車

9、窗的升降功能已經(jīng)是汽車的標準功能之一。我相信沒有哪個消費者會購買一款沒有車窗升降功能的汽車。綜上所述,自動車窗升降控制器關(guān)系到駕駛?cè)撕统丝偷氖孢m度和健康,行車安全以及車輛的行駛成本等等。1.2 自動車窗升降控制器的發(fā)展歷程早期的汽車采用傳統(tǒng)的手動升降車窗。歐洲的一些豪華汽車制造商于二十世紀八十年代后期將自動窗戶控制器首次應(yīng)用于他們制造的汽車上,經(jīng)過幾十年的發(fā)展,其應(yīng)用技術(shù)已相當成熟。目前國內(nèi)許多車輛也有這樣的配置,它的設(shè)計思想是將汽車車窗的平常工作狀態(tài)和停止狀態(tài)輸入的模擬信號進行a/d轉(zhuǎn)換,把讀取的數(shù)字信號存儲在存儲器(rom)內(nèi),通過一個特定的微處理器匹配窗戶自動關(guān)閉時與正常工作時信號的差別

10、,再通過程序編寫來控制電機的旋轉(zhuǎn)2。因為整個過程是連續(xù)依次的,可以確保電池沒有在充電狀態(tài)下放電,所以電池和電機能夠高效,安全的工作?,F(xiàn)在通過微控制器控制車窗已經(jīng)普及,實現(xiàn)的功能也多種多樣,我相信將來的車窗控制器會更加人性化,智能化。1.3 本文主要研究內(nèi)容本次設(shè)計是以stc89c52rc單片機為核心控制器,主要研究內(nèi)容如下:(1) 熟悉stc89c52rc單片機的引腳功能及其硬件外圍電路和軟件程序的設(shè)計。(2) 直流電機驅(qū)動芯片l9110的了解,運用以及該芯片電路圖的繪制,lcd1602的運用和溫度傳感器ds18b20的運用。(3) 硬件電路設(shè)計遵循布局合理簡單,易于實現(xiàn),簡單實用的原則,使系

11、統(tǒng)的抗干擾性能以及各項技術(shù)指標都達到設(shè)計要求。(4) 學習,研究高級語言c語言在單片機中的應(yīng)用。(5) 硬件模塊的仿真,軟件程序的調(diào)試以及程序下載到stc89c52rc單片機中運行。第2章 系統(tǒng)元件選擇與論證本次設(shè)計會使用到單片機、傳感器、電機驅(qū)動芯片、led/lcd、獨立按鍵等元件。所以在使用何種型號的元件的問題上有必要進行選擇和論證。所以,系統(tǒng)的元件選擇應(yīng)在順應(yīng)自動車窗升降控制器功能的前提下,以控制器所處的環(huán)境條件為參考,所設(shè)計的各個硬件模塊電路不僅要符合設(shè)計要求的技術(shù)參數(shù)而且要完成相應(yīng)的功能。元器件的選擇不僅要考證其實用性而且要滿足易于購買,參數(shù)合適,性能穩(wěn)定,功耗低,成本低廉的特點3。

12、2.1 單片機選擇與論證從處理能力的角度來看,at系列微控制器分為基本和增強兩個種類。兩種類型的單片機區(qū)分主要是從芯片的末位數(shù)字1和2來判定。若末位數(shù)字是1,就代表該單片機為基本型?;镜膯纹瑱C內(nèi)含4字節(jié)的掩膜rom,128位的ram,2個16位定時器/計數(shù)器,5個中斷源,4個并行口和1個串行口。若末位數(shù)字是2,就代表該單片機為增強型。增強型單片機擁有8字節(jié)掩膜rom,256位的ram,3個16位的定時器/計數(shù)器,6個中斷源,4個并行口和1個串行口4。由以上內(nèi)容可知增強型單片機較基礎(chǔ)型有以下優(yōu)勢:(1) 片內(nèi)rom增加了4kb的存儲空間。(2) 片內(nèi)數(shù)據(jù)存儲器提高了128位的存儲空間,可以處理

13、更多的數(shù)據(jù)。(3) 定時器/計數(shù)器從2個增加到了3個,在串行通信中可以設(shè)置更高的波特率。(4) 中斷增加了1而且增加1個看門狗增強型還在數(shù)據(jù)指針和斷電保護等方面有些進步。(5) 增強型最高時鐘頻率可達33mhz,基礎(chǔ)型大抵只有24mhz5。當前市場上的at89c51已經(jīng)停銷,取代它的是具有isp能力的s系列單片機。相比于c系列s51/52具備系統(tǒng)編程功能(isp)??紤]到夠買器件的價格和難易度,本次設(shè)計選擇購買宏晶科技公司生產(chǎn)的stc89c52rc單片機。2.2 電機驅(qū)動芯片選擇與論證眾所周知單片機是5v供電,工作電流很小。本次設(shè)計購買的直流電機工作電流在1.5a左右,如果直接將直流電機接在單

14、片機上會造成動力不足,過小的電流時電機不能轉(zhuǎn)動。這時需要電機驅(qū)動來提供足夠的電流使直流電機能夠正常工作。而且電機工作時會產(chǎn)生擾動,擾動電流會影響控制器件的正常工作甚至遭到損壞。電機驅(qū)動芯片可以很好的解決這個問題6。由于單片機是5v供電而且本次設(shè)計不需要大功率直流電機,所以選擇的是5v供電的小型直流電機。那么,選擇電機驅(qū)動芯片時不需要太大的電壓范圍和工作電流,所以本次設(shè)計選擇了l9110電機驅(qū)動芯片。2.3 溫度傳感器篩選與論證因為本次設(shè)計中有測溫的附加功能,所以需要用到溫度傳感器。溫度傳感器的種類很多,從測量點上看有接觸式和非接觸式兩大類。從溫度傳感器的出現(xiàn)發(fā)展到現(xiàn)在大體包含四個種類:熱電偶、

15、熱敏電阻、電阻溫度傳感器和ic溫度傳感器。這四個種類中的ic溫度傳感器根據(jù)輸出方式的不同又可以分為:模擬輸出和數(shù)字輸出兩種種類7。本次設(shè)計是以單片機為核心控制器的,溫度傳感器的選擇上還是數(shù)字輸出型的ic傳感器更為方便,簡單,對于后續(xù)程序設(shè)計也大大減少了工作量。當前市場上的ic溫度傳感器還是以美國dallas半導體公司的ds18b20傳感器為主。它不僅是數(shù)字輸出型的還是單總線型的,也就是說它與單片機的接口只有一根線,硬件電路十分簡單。2.4顯示器選擇與論證顯示部分可以使用數(shù)碼管或液晶顯示芯片。但是若使用數(shù)碼管的話電路接線太過復雜而且軟件設(shè)計也會大大增加難度,所以這次我選用了1620液晶顯示器。液

16、晶顯示器相比于其他顯示器有很多優(yōu)點:功率小耗能低、小巧玲瓏、可以顯示字符及圖形、厚度小,由于以上優(yōu)點使它在各種儀器儀表和小型低功率系統(tǒng)中大放異彩。液晶顯示器又有字符型和圖形型之分,顧名思義字符型可以顯示字符;圖形型可以顯示圖形。液晶顯示器有單行十六字的;也有兩行十六字的;兩行二十字的8。1620是一種通用模塊。與數(shù)碼管相比該模塊有如下優(yōu)點: 1.位數(shù)多,可顯示32位,32個數(shù)碼管體積相當龐大了 2.顯示內(nèi)容豐富,可顯示所有數(shù)字和大、小寫字母 3. 程序很簡單,如果使用數(shù)碼管動態(tài)顯示,將需要大量的時間來刷新顯示,而1602的自動完成功能。2.5 系統(tǒng)總體方案設(shè)計按下

17、控制開關(guān),控制開關(guān)和溫度傳感器將命令或信號傳送給單片機,單片機接收到信號后通過程序的執(zhí)行再發(fā)出控制命令,電機驅(qū)動電路連接在單片機和電機之間,能夠采集直流電機的電流將其作樣本,把樣本信號傳送給單片機中的ad轉(zhuǎn)換采樣模塊,單片機處理采樣信號后發(fā)出控制指令返回給電機執(zhí)行,電機就可以進行相應(yīng)的動作所以才能控制玻璃的升降運動。液晶顯示器也是通過單片機中的程序執(zhí)行來顯示相應(yīng)的字符。圖2-1 自動車窗升降控制器總體設(shè)計框圖第3章 硬件電路設(shè)計3.1 硬件系統(tǒng)總體設(shè)計本系統(tǒng)的硬件主要由stc89c52rc單片機核心電路、1602液晶顯示器電路、ds18b20數(shù)字溫度傳感器電路、電源電路以及l(fā)9110電機驅(qū)動電

18、路和5v直流電機組成。以下是硬件結(jié)構(gòu)框圖。圖3-1 自動車窗升降控制器硬件結(jié)構(gòu)框圖3.2 stc89c52rc微處理器核心電路3.2.1 stc89c52rc單片機簡介stc89c52rc是宏晶科技生產(chǎn)的最新單片機,該單片機有處理速度快、功率小能耗低、抗擾動性能強的特點。它的控制指令標示符是和傳統(tǒng)at系列8051單片機兼容的。它還有十二時鐘/機器周期和六時鐘/機器周期兩個工作頻率,用戶可以隨意挑選。主要特性如下: (1)5v單片機工作電壓范圍是3.3v到5.5v。(2)其工作頻率范圍為040mhz。(3)擁有片內(nèi)rom8kb,片內(nèi)512bram。(4)共有輸入/輸出口有32個,當清零

19、后為:p14口是準雙向口,p0口是集電極開路輸出,當p0口接上拉電阻起輸入/輸出口作用,當p0口不接上拉電阻時作總線擴展用。(5)isp/iap,與普通的單片機不同的是它可以直接通過預留的引腳下載軟件,不需要編程器和仿真器節(jié)省了很多資源。(6)擁有3個16位定時器/計數(shù)器。 (7)它擁有四個外部中斷源,時鐘下降沿觸發(fā)中斷并進入掉電模式9。·  圖3-2 stc89c52rc引腳圖stc89s52rc引腳功能說明:vcc:電源gnd:接地p0口:p0口可以作一個八位漏極開路的雙向i/o口使用或者作為低八位地址/數(shù)據(jù)總線使用。當p0口作雙向i/o口時,每個口能驅(qū)動八個

20、肖特基門。當調(diào)用外部存儲器時,p0口開始作為低八位地址總線,然后再作為雙向數(shù)據(jù)總線使用,這時需要外接一個地址鎖存器。在這個分時復用的情況下,p0具有內(nèi)部上拉電阻。p1口:p1口和p2口在數(shù)據(jù)輸入功能上相同。對p1端口寫“1”時,其中內(nèi)部的上拉電阻把端口的電平拉高,這時p1口承擔著輸入口的作用。當作其作為輸入口使用時,內(nèi)部的高電平電阻和外部的低電平引腳產(chǎn)生壓降,這個壓降便輸出了一個電流。此外,p1.0和p1.2引腳具有復用功能,當作觸發(fā)輸入和外部計數(shù)輸入時它們可以單獨作為定時器/計數(shù)器2(p1.0/t2)和定時器/計數(shù)器2(p1.1/t2ex)。p2口:p2口和p1口在數(shù)據(jù)輸入功能相同。但p2口

21、在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,p2口送出高八位地址。在使用八位地址訪問外部數(shù)據(jù)存儲器功能時,p2口的內(nèi)容被鎖存在整個訪問期間都不會改變。p3口:p3口和p1口一樣有一般i/o口所具有的功能和特點,但它也有一些復用功能。如p3.0:rxd(串行輸入口),p3.1:txd(串行輸出口),p3.2:外部中斷0,p3.3:外部中斷1,p3.4:定時器0的外部輸入,p3.5:定時器1的外部輸入,p3.6:外部存貯器的數(shù)據(jù)寫選通,p3.7:存貯器數(shù)據(jù)的外部讀選通。rst:復位端口。晶振工作時,在rst端口不間斷給出兩個時鐘周期的高電平單片機就會清零。看門狗計時完成后,rst腳輸出

22、96個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認狀態(tài)下,復位高電平有效。ea/vpp:片外程序存儲器訪問許可/編程電壓輸入引腳。在這個引腳上電平是零還是一決定了該引腳執(zhí)行那個存儲器里的程序。如果引腳上的電位是“1”,單片機從片內(nèi)rom的0000h單元開始執(zhí)行到ffffh單元;如果引腳上的電位是“0”,單片機只從片外程序存儲器中的初始單元開始運行程序。用戶對單片機片內(nèi)flash進行并行編程時,此引腳會接收到十二伏的編程電壓。xtal1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端10。3.2.2 晶振

23、電路微處理器的正常運行需要矩形脈沖信號來提供其內(nèi)部各種微操作的時間準則。時鐘信號的產(chǎn)生通常有兩種,一種是內(nèi)部振蕩方式另一種是外部振蕩方式。由于單片機內(nèi)部自帶振蕩器反向放大器,為了電路簡單此處選擇采用內(nèi)部振蕩方式。內(nèi)部振蕩方式是在xtal1和xtal2之間接一個石英晶體或陶瓷振蕩器11,分別在兩端接上一個電容來穩(wěn)定振蕩頻率。晶振電路相當于一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò)。在這個網(wǎng)絡(luò)中有兩個諧振點,串聯(lián)諧振是諧振頻率較低的點,并聯(lián)諧振是諧振頻率較高的點。因為晶體自己本身的物理特點使串聯(lián)諧振和并聯(lián)諧振的差別不是很明顯即頻率大致相同,在這個極小的差距內(nèi),晶振就相當于一個電感。晶振可以選用

24、12mhz。單片機處理速度取決于最小系統(tǒng)的晶振頻率,因此為了有更快的處理速度可以采用更高頻率的晶振12。晶振負載電容一般使用15 30pf,為了減少寄生電容,晶振和電容要盡可能靠近,單片機和晶振間也要盡可能近。這個取值是數(shù)據(jù)手冊推薦的經(jīng)驗值。3.2.3 單片機復位電路單片機在啟動時都需要復位,來使單片機及各個部分都在初始時的工作狀態(tài)。在單片機處在平時的工作狀態(tài)和振蕩器的穩(wěn)定狀態(tài)的時候,只需要在第9引腳rst接個2毫秒的高電平就使單片機復位。上電復位只需要在復位端口上接個電容和電源,下端連接一個電阻和接地。在上電位復位操作的過程中,上電操作的時候,復位電路經(jīng)電容來給復位端提供高電壓,這高電壓會跟

25、著電容的作用而逐漸減弱。為了保證系統(tǒng)可靠地復位,高電平必須持續(xù)足夠長的時間。復位電路使用的是十千歐的電阻和十微法的電容。在這樣的參數(shù)下只需要0.1s的時間就能夠使電容充電的容量達到電源電壓的0.7倍。在微控制器運行0.1s中,電容的電壓在03.5v增0加。此時十千歐電阻兩端的電壓從51.5v反而在減少。所以在0.1s內(nèi),rst引腳所接收到的電壓是5v1.5v。在5v正常工作的51單片機中小于1.5v的電壓信號為低電平信號,而大于1.5v的電壓信號為高電平信號。所以在開機0.1s內(nèi),單片機系統(tǒng)自動復位(rst引腳接收到的高電平信號時間為0.1s左右)13。上電復位電路的原理是單片機rst引腳接收

26、到2us以上的高電平信號,只要保證電容的充放電時間大于2us,即可實現(xiàn)復位,所以電路中的電容值是可以改變的14。3.2.4 單片機總體硬件電路設(shè)計這部分是本系統(tǒng)的核心部分,提供了一個讓單片機能夠正常工作的最小電路。其中,上電復位電路是實現(xiàn)單片機的上電復位功能(本電路不含手動復位按鈕,斷電開機等于復位)。軟件程序下載接口是現(xiàn)有的不需要購買編程器,stc89c52rc單片機擁有下載程序的專用接口。晶振電路是給單片機提供振蕩信號的,而晶振旁的兩個電容則是晶振的負載電容。單片機的p0口與其他接口不同,p0口是集電極開漏輸出,原本就是低電平不能滿足外圍電路工作需求即沒有高電平的驅(qū)動能力。為了給單片機外部

27、電路一個高電平來驅(qū)動相應(yīng)的功能模塊需要加裝一些電阻。這些電阻接在電源正極和單片機對應(yīng)的p0口上,該電阻就叫上拉電阻。圖3-3 stc89c52rc單片機電路3.3 電源輸入電路圖3-4 電源輸入電路本部分是用于電源輸入的,其中104電容起到的是去除干擾的作用,而220uf電解電容是用于穩(wěn)定輸入電源用的。vcc即提供到系統(tǒng)各處的5v電壓,通過限流電阻和電源燈實現(xiàn)電源接通的指示。3.4 l9110電機驅(qū)動電路3.4.1 l9110芯片l9110是電機驅(qū)動芯片。它是兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片集成電路之中,使外圍器件成本降低,整機可靠性提高。該芯片有兩個 ttl/cmo

28、s兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能直接驅(qū)動電機的正反向運動,它具有較大的電流驅(qū)動能力,每通道能通過 750800ma 的持續(xù)電流,峰值電流能力可達 1.52.0a; 同時它具有較低的輸出飽和壓降; 內(nèi)置的鉗位二極管能釋放感性負載的反向沖擊電流,使它在驅(qū)動繼電器、直流電機、步進電機或開關(guān)功率管的使用上安全可靠。l9110被廣泛應(yīng)用于玩具汽車電機驅(qū)動、步進電機驅(qū)動和開關(guān)功率管等電路上15。它具有以下特點: 低靜態(tài)工作電流;寬電源電壓范圍;2.5v-12v;電流輸出能力為每通道800ma;較低的飽和壓降;ttl/cmos輸出電平兼容,可直接連cpu;輸出內(nèi)置鉗位二極管,適用于感性負載

29、;控制和驅(qū)動集成于單片ic之中;具備管腳高壓保護功能;工作溫度:0-80。 圖3-5 電機驅(qū)動電路l9110的電機芯片根據(jù)數(shù)據(jù)手冊中規(guī)定的操作時序,由ib和ia引腳共同決定轉(zhuǎn)動狀態(tài),從而使l9110電機驅(qū)動芯片的oa和ob引腳分別輸出不同的電平組合而驅(qū)動電機進行正轉(zhuǎn)或反轉(zhuǎn)。l9110電機的3和4引腳都是接入vcc即5v的電源。電機上并聯(lián)的104電容是吸收電機運轉(zhuǎn)過程中發(fā)出的干擾,以免影響整體電路的穩(wěn)定性。3.5 1602液晶顯示器電路3.5.1 1602液晶顯示器(1)液晶顯示的原理液晶顯示原理是液晶的物理性質(zhì)的使用,電壓控制顯示區(qū)域,區(qū)域電壓的不同就可以顯示圖形及字符。市場上銷售的液晶顯示器

30、在個人電腦、智能手機、電視機、數(shù)字攝影機等眾多領(lǐng)域都有應(yīng)用。(2)液晶顯示器的分類目前液晶顯示器在市場上有各種各樣的型號及種類,如果按照其顯示器的工作方式分,可分為段式、字符式、點陣式等。lcd不僅擁有顯示黑白、彩色等各種顏色的能力,還有可以根據(jù)外界光強調(diào)整灰度的功能。如果根據(jù)驅(qū)動方式來分,可分為靜態(tài)驅(qū)動,單純矩陣驅(qū)動和有源矩陣驅(qū)動三種。圖3-6 1602液晶顯示器引腳圖引腳接口說明如表3-1所示:表3-1 引腳接口說明表編號符號引腳說明編號符號引腳說明1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫選擇13d6數(shù)

31、據(jù)6e使能信號14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光源負極第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:vl是用來調(diào)整液晶顯示器對比度的端口,如果該引腳是高電平那么對比度最小,如果是低電平對比度那么最高,不過對比度太高會產(chǎn)生重影不利于顯示。第3腳能外接一個十千歐的電位器用來調(diào)整lcd的對比度。第4腳:rs為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:r/w為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當rs和r/w共同為低電平時可以寫入指令或者顯示地址,當rs為低電平r/w為高電平時可以讀忙信號,當rs為高電平r/w為低

32、電平時可以寫入數(shù)據(jù)16。第6腳:e端為使能端,端口工作在下降沿,即下降沿時液晶電路運行指令。第714腳:d0d7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負極。3.5.2 1602lcd電路設(shè)計 圖3-7 1602lcd電路圖lcd電路原理圖的設(shè)計主要是控制寄存器選擇端、讀寫信號選擇端及使能端的狀態(tài),雙向數(shù)據(jù)線與單片機的雙向i/o口之間的連接,另外就是液晶顯示器的背光電源與驅(qū)動電源之間的連接以及對比度調(diào)節(jié)了。3.6 ds18b20數(shù)字溫度傳感器電路3.6.1 ds18b20的主要特征 最近美國的dallas半導體公司發(fā)布了一款改進型的智能溫度傳感器那就是ds18b20溫度傳感器。

33、它是環(huán)境控制,設(shè)備或過程控制,溫度類消費電子產(chǎn)品。傳統(tǒng)的熱敏電阻等元件測溫后的值并不是溫度值而是電阻值要想知道具體的溫度還需要將電阻值換算成溫度值這樣一來就特備麻煩。但是本次設(shè)計使用的傳感器就沒有這樣復雜,它可以直接測出被測物體的溫度,并且用戶可以根據(jù)實際需求自行編程改變其數(shù)值讀數(shù)方式。由ds18b20測量物體的溫度是以數(shù)字信號在單總線中傳送的,大大提高了測量的準確度減少了外部的擾動,對于一些控制環(huán)境比較差的場所該傳感器也能夠精確無誤的測量。該傳感器的工作電壓在3v到5v之間,使系統(tǒng)設(shè)計更加靈活、方便17。其特征可概括如下:1、獨特的單線接口僅需要一個端口引腳進行通信;3、采用了3線制與單片機

34、相連,減少了外部硬件電路;4、零待機功耗;5、可通過數(shù)據(jù)線供電,電壓范圍在3.0v-5.5v;6、用戶可定義的非易失性溫度報警設(shè)置;7、對超溫和搜索命令識別有報警功能; 8、當正負極接反時,傳感器不會因反向電流作用而損壞,只是停止工作而已。9、全數(shù)字溫度轉(zhuǎn)換及輸出。 10、擁有十二位分辨率,測量精度可達正負零點五攝氏度,精度非常高。 11、檢測溫度范圍是零下五十五度到一百二十五度。 12、64 位光刻 rom,內(nèi)置產(chǎn)品序列號,方便多機掛接。 13、多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。3.6.2 工作原理及應(yīng)用ds18b20 的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。它有溫度檢

35、測和數(shù)據(jù)處理兩個部分,而且這兩個部分是在一個工作周期中完成的。ds18b20作為一個溫度傳感器其的內(nèi)部數(shù)據(jù)和程序存儲器資源也很充足。ds18b20 共有三種形態(tài)的存儲器資源,它們分別是:(1)rom只讀存儲器,它擁有64位的存儲空間用來儲存 ds18b20的程序代碼,開始的八位是單線系列編碼(ds18b20 的編碼是19h) ,后面四十八位是芯片獨一無二的序列號,最后八位是以上五十六的位的 crc碼(冗余校驗)。芯片在出廠時的設(shè)置用戶不能自行隨意改動。 (2)ram 數(shù)據(jù)暫存器,ds18b20 內(nèi)部ram共9kb。暫存器顧名思義就是內(nèi)部運算輸入/輸出數(shù)據(jù)暫時存放的地方,這些數(shù)據(jù)不能永久保存在芯

36、片中,芯片掉電時會自動丟失。前兩個字節(jié)單元存放的是被測物體溫度翻譯后的數(shù)據(jù)代碼信息,第三、四個字節(jié)是用戶非易失性存儲器(常用于溫度報警值儲存)的鏡像。在上電復位后非易失性存儲器中的信息被清空。第五個字節(jié)則是用戶的第三個非易失性存儲器的鏡像。第六、七、八字節(jié)為計數(shù)寄存器,這三個字節(jié)是內(nèi)部運算結(jié)果和溫度值轉(zhuǎn)化的臨時存儲單元。另外這三個字節(jié)還可以提高溫度檢測的分辨率。最后一個字節(jié)為前八個字節(jié)的冗余校驗碼18。(3)eeprom 非易失性存儲器。它和ram有本質(zhì)區(qū)別,保存在eprom中的數(shù)據(jù)不易丟失,適合將一些需要長時間不需改動的數(shù)據(jù)存放其中。如上下限溫度報警值和校驗數(shù)據(jù)。ds18b20中共三位非易失

37、性存儲器,并在數(shù)據(jù)暫存器中都存在鏡像,這些鏡像可以方便使用者調(diào)取使用,大大簡化了設(shè)計。 lsb位置/清除增加計數(shù)器1斜率累加器計數(shù)比較器溫度寄存器減到0預置計數(shù)器2減到0停止預置低溫度系數(shù)晶振高溫度系數(shù)晶振圖3-8 ds18b20測溫原理3.6.3 ds18b20數(shù)字溫度傳感器電路設(shè)計ds18b20數(shù)字溫度傳感器使用單總線協(xié)議傳輸,第二個引腳dq接的是單片機的p2.4引腳。為了增強穩(wěn)定性排除外部干擾,在dq引腳處做上拉電阻處理,電阻阻值為4.7k。第一腳是vcc引腳,第三腳是gnd引腳。圖3-9 ds18b20數(shù)字溫度傳感器電路設(shè)計3.7 按鍵模塊設(shè)計 本次設(shè)計用到了四個按鍵,其中一個用來模擬

38、汽車車窗的行程開關(guān),另外三個采用獨立按鍵,如圖3-10所示s1為上升按鈕,s2為下降按鈕,s3為一鍵升降按鈕。這三個獨立按鍵分別連接在stc89s52rc的p1.13接口上。采用該此種接法電路簡單易于檢查錯誤,軟件程序編寫方便快捷也可節(jié)省單片機資源。圖3-10 按鍵模塊電路如上圖所示s1為上升按鍵,用來控制電機正轉(zhuǎn);s2為下降按鈕鍵,用來控制電機反轉(zhuǎn);s3為自動上升按鍵,用來模擬汽車停車落鎖信號以控制電機連續(xù)正轉(zhuǎn)。當車窗上升到一定高度(車窗觸碰到行程開關(guān),即模擬行程開關(guān)的按鍵按下時)直流電機停止轉(zhuǎn)動。第4章 軟件程序設(shè)計本次設(shè)計的自動車窗升降控制器是由單片機做核心控制器的所以必須要有程序來控制

39、硬件的動作。因此軟件設(shè)計業(yè)應(yīng)當是和硬件電路模塊設(shè)計對應(yīng)的。把整個系統(tǒng)分為幾個模塊分別進行編寫、調(diào)試、運行。最后在用一個主程序把各個模塊連接起來,實現(xiàn)最終的功能。模塊化設(shè)計使主程序變得簡單、清晰明了,使閱讀和維護程序變得容易。模塊化設(shè)計就像組裝一臺計算機一樣,事先生產(chǎn)好各個部件,最后組裝計算機時直接把做好的部件裝上就好了這樣使程序設(shè)計難度降低,思路更清晰,調(diào)試更方便同時增強了程序的可移植性。單片機已經(jīng)出現(xiàn)了幾十年最初的匯編語言也正在被高級語言取代,由于匯編語言復雜難以理解,目前已有大多數(shù)的人已經(jīng)習慣使用高級語言開發(fā),其中主要是以c語言為主,現(xiàn)在許多單片機制造廠家都開發(fā)了c語言開發(fā)環(huán)境19。4.1

40、 c語言在單片機中的應(yīng)用4.1.1 文件包含處理文件包含其實是一個載體文件,此文件定義了一些常用函數(shù)和數(shù)據(jù)接口聲明。簡單來說就是將一個模塊裝載到另一個模塊中,這樣就可以在總模塊中調(diào)用子模塊的端口等。如下面一句程序:#include “reg51.h”這里程序中包含reg51.h文件。為了要確定使用的是stc89c52rc微處理器的端口而不是其它變量,此句程序即通知c編譯器實現(xiàn)這樣的目的。若開啟 reg51.h 能夠看到以下的內(nèi)容:/* byte register */sfr p0 = 0x80;sfr p1 = 0x90;sfr p2 = 0xa0;sfr p3 = 0xb0;sfr psw

41、= 0xd0;sfr acc = 0xe0;等上述的p1p3等就是單片機中的i/o口,這里的賦值語句規(guī)定了符號名與地址的對應(yīng)關(guān)系。如sfr p2 = 0xa0; 0xa0是對p2口地址的定義,p2端口地址為0xa0(0xa0是十六進制數(shù)的方法,c語言相當于匯編語言寫的a0h)20。sfr是單片機中的特殊功能寄存器,而在標準c語言中并沒有sfr關(guān)鍵字,為何sfr可以直接出現(xiàn)在c語言程序中呢?特殊功能寄存器能直接接入單片機是因為keil提供了一種新的關(guān)鍵字,它的使用方法是:sfrt變量名=地址值。4.1.2 單片機引腳定義在 c語言里,引腳的定義不能直接引用單片機中的符號。比如直接寫p2.1就是錯

42、誤的。因為p2.1是一個不合法的c語言的變量名,c編譯器并不能識別,所以不能使用原來的標號需要重新定義,這里修改的變量名為p1_0,用關(guān)鍵字sbit來定義,對sbit使用如下:第一種方法:sbit位變量名地址值第二種方法:sbit位變量名sfr名稱變量位地址值第三種方法:sbit位變量名sfr地址值變量位地址值4.2 主程序流程圖設(shè)計圖4-1 主程序流程圖4.3 ds18b20傳感器模塊程序設(shè)計ds18b20溫度傳感器是與微控制器之間的連接只有一根線即單總線系統(tǒng)。軟件程序設(shè)計是實現(xiàn)硬件功能的基礎(chǔ)。溫度傳感器整體功能是測溫并將數(shù)據(jù)傳送出去但要完成這項功能必須要軟件程序的設(shè)計。當單片機作為主要控制

43、器時,必須由用戶自己在單總線協(xié)議的基礎(chǔ)上21,用c語言寫的程序,提高了軟件設(shè)計的難點。為了確保數(shù)據(jù)不受干擾,無錯誤地傳送,必須保證任何時刻單總線上僅有一個控制命令或數(shù)據(jù)在傳輸。處理次序操作時,一般有以下四個過程:(1)初始化;(2)傳送程序儲存器命令;(3)傳送ram命令;(4)數(shù)據(jù)交換22。 通過上述四個可知一根總線上所有操作都從初始化開始的。初始化時鐘信號是由脈沖組成的。該脈沖可以是復位脈沖或是應(yīng)答脈沖。/*ds18b20初始化23函數(shù)*/void init_ds18b20(void) unsigned char x=0; dq = 1; /dq復位 delay_18b20(8)

44、; /做一點延時 dq = 0; /單片機dq拉低了 delay_18b20(80); /做精確延時,延時時間大于480us dq = 1; /拉高總線 delay_18b20(14); x=dq; /稍微延遲如果x = 0是成功地如果x = 1的初始化失敗 delay_18b20(20);/*ds18b20讀一個字節(jié)*/ unsigned char readonechar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-) dq = 0; / 脈沖信號 dat>>=1; /數(shù)據(jù)右移一位 dq = 1;

45、/ 給脈沖信號 if(dq) dat|=0x80; /位或,取高位 delay_18b20(4); return(dat);/*ds18b20寫一個字節(jié)*/ void writeonechar(unsigned char dat) unsigned char i=0; for (i=8; i>0; i-) dq = 0; dq = dat&0x01; /取最低位 delay_18b20(5); dq = 1; /上升沿將數(shù)據(jù)輸入 dat>>=1; /*讀取ds18b20當前溫度*/ char neg_flag; /負號記錄變量 unsigned int readtem

46、p(void)unsigned char a=0;unsigned char b=0;unsigned char t=0; unsigned int tvalue; /溫度值 ea=0;init_ds18b20();writeonechar(0xcc); / 跳過讀序號列號的操作writeonechar(0x44); /轉(zhuǎn)換溫度delay_18b20(100); / 延時init_ds18b20();writeonechar(0xcc); /跳過讀序號列號的操作writeonechar(0xbe); /讀取溫度寄存器等(共可讀個寄存器)前兩個就是溫度delay_18b20(100); / 延時

47、a=readonechar(); /讀取溫度值低位b=readonechar(); /讀取溫度值高位ea=1; tvalue=b; tvalue <<= 8;/將溫度值左移位,騰出低八位空間 tvalue = tvalue | a;/將低位并到溫度值的低八位上(剛已經(jīng)騰出來了)tvalue = tvalue*(0.625); /按照數(shù)據(jù)手冊分辨率,將溫度值乘以分辨率得出真實溫度值,本值的個位即小數(shù)位return(tvalue);/返回真實溫度值 #endif4.4 lcd1602模塊程序設(shè)計要編寫1602液晶顯示器模塊的程序需要了解其內(nèi)部運算器的十一個控制命令,這十一個命令包含及實

48、現(xiàn)了1602液晶模塊所有的邏輯或運算操作。 指令1:將光標重置到初始單元00h,指令代碼:01h。指令2:將光標返回初始單元00h。 指令3:光標和顯示模式設(shè)置 i/d:光標移動方向由高低電平?jīng)Q定,高電平右移,低電平左移 s:液晶顯示器上的字符或圖形是否需要移動,同樣是由高低電平?jīng)Q定的。高電平表示需要移動,低電平則表示不需要移動。 指令4:顯示開關(guān)控制。 d:決定整個液晶顯示器工作狀態(tài),由高低電平?jīng)Q定。高電平?jīng)Q定整體開,低電平?jīng)Q定整體關(guān)。 c:決定是否有光標,也由高低電平?jīng)Q定。高電平?jīng)Q定有光標,低電平?jīng)Q定無光標 b:決定是否有光標閃爍,還是由高低電平?jīng)Q定。高電平閃爍,低電平不閃爍。 指令5:光標或顯示移動選擇 s/c:高低電平?jīng)Q定是移動文字還是移動光標。高電平移動文字,低電平移動光標。指令6:功能設(shè)置命令 dl高電平時為4位總線,低電平時為8位總線 n:低電平時為單行顯示,高電平時雙行顯示 f:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。 指令7:配置ram地址。 指令8:配置ddram地址。

溫馨提示

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

評論

0/150

提交評論