單片機(jī)轉(zhuǎn)向燈畢業(yè)設(shè)計(jì)_第1頁
單片機(jī)轉(zhuǎn)向燈畢業(yè)設(shè)計(jì)_第2頁
單片機(jī)轉(zhuǎn)向燈畢業(yè)設(shè)計(jì)_第3頁
單片機(jī)轉(zhuǎn)向燈畢業(yè)設(shè)計(jì)_第4頁
單片機(jī)轉(zhuǎn)向燈畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、鄭州科技學(xué)院本科畢業(yè)設(shè)計(jì)(論文)題目姓名專業(yè)學(xué)號(hào)指導(dǎo)教師鄭州科技學(xué)院電氣工程學(xué)院二零一四年五月摘要本設(shè)計(jì)是設(shè)計(jì)一個(gè)單片機(jī)控制系統(tǒng)。在汽車進(jìn)行左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車、合緊急開關(guān)、??康炔僮鲿r(shí),實(shí)現(xiàn)對(duì)各種信號(hào)指示燈的控制。本設(shè)計(jì)主要是對(duì)單片機(jī)的并行輸入/輸出口電路的應(yīng)用,通過I/O口控制發(fā)光二極管的亮滅閃爍,加上一些復(fù)位電路按鍵電路驅(qū)動(dòng)電路來模擬汽車尾燈的功能。汽車在駕駛時(shí)有左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車、合緊急開關(guān)、??康炔僮?。在左轉(zhuǎn)彎或右轉(zhuǎn)彎時(shí),通過轉(zhuǎn)彎操應(yīng)使左轉(zhuǎn)開關(guān)或右轉(zhuǎn)開關(guān)合上,從而使左頭燈、儀表板左轉(zhuǎn)彎燈、左尾燈或右頭燈、儀表板右轉(zhuǎn)彎燈、右尾燈閃爍;合緊急開關(guān)時(shí)要求前面所述的6個(gè)信號(hào)燈全部閃爍;汽車

2、剎車時(shí),兩個(gè)尾燈點(diǎn)亮;如正當(dāng)轉(zhuǎn)彎時(shí)剎車,則轉(zhuǎn)彎時(shí)原應(yīng)閃爍的信號(hào)燈仍應(yīng)閃爍。以上閃爍,都是頻率為1Hz的低頻閃爍;在汽車??慷?块_關(guān)合上時(shí),左頭燈、右頭燈、左尾燈、右尾燈按頻率為30Hz的高頻閃爍。ABSTRACTthis design is to design a monolithic integrated circuits to control system. in the car to turn left and right, the brakes, to open the door, called for urgent action to implement the various s

3、ignal sign of control. this design is primarily to monolithic integrated circuits of the export of the circuit in parallel lost. i turned around and control of light through And bright, shining out, and some clear, and buttons, the driving circuit circuit to a function of the taillights. the car was

4、 driving up turn left and right, the brakes, to open the door, called an emergency operations. in turn left or right, through the turn should be left or right switch to switch on the left, the dashboard turn left or right and left the taillight the instrument panel lamp, and turning right, the right

5、 rear lights flickered ; switch to the emergency requires that the previous 。The six the light shone in the car braked all ;, two of the taillights like a light ; just round the corner, the corners of the original signal shall be still flickered. the above, are the frequency of the low frequencies 1

6、hz ; in a car and close at the switch when, right and left the taillight, the right rear lights for the frequency of high frequency a 30hz. by doing physical, program, completed the design demands. the design of a monolithic integrated circuits has further the1 緒論1.1 選題背景汽車轉(zhuǎn)向燈是關(guān)系到行車安全的重要因素之一,有相當(dāng)一部分事

7、故是由于駕駛員沒有正確使用轉(zhuǎn)向燈造成的。轉(zhuǎn)向燈在車內(nèi)由駕駛員直接控制,但由于駕駛員有可能在轉(zhuǎn)向、超車、變道時(shí)忘記開啟轉(zhuǎn)向燈,或者完成上述動(dòng)作后忘記關(guān)閉轉(zhuǎn)向燈,這樣便存在很大的安全隱患。電子技術(shù)的發(fā)展經(jīng)歷了很長一段路程,而現(xiàn)在我們使用的微型電子技算機(jī)是超大規(guī)模集成電路所構(gòu)成,它屬于第四代計(jì)算機(jī),而單片機(jī)則是微型計(jì)算機(jī)的一部分。從微型計(jì)算機(jī)問世以來,由于實(shí)際應(yīng)用的需要,微型計(jì)算機(jī)向著兩個(gè)不同的方向發(fā)展:一個(gè)是向高速度、大容量、高性能的高檔微機(jī)方向發(fā)展;另一個(gè)則是向穩(wěn)定可靠、體積小和價(jià)格低的單片機(jī)方向發(fā)展。由于科學(xué)技術(shù)的發(fā)展,由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在能夠使用單片機(jī)通過軟件編程方

8、法實(shí)現(xiàn),單片機(jī)的應(yīng)用改變著控制系統(tǒng)的設(shè)計(jì)方法,通過軟件取代硬件提高了系統(tǒng)性能。單片機(jī)芯片作為控制系統(tǒng)的核心部件,在我們?nèi)粘5纳畹沫h(huán)境中隨處可見,他除了具備通用微機(jī)cpu的數(shù)值計(jì)算功能外,還具有靈活、強(qiáng)大的控制功能,從而實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實(shí)現(xiàn)自動(dòng)控制。單片機(jī)體積小、價(jià)格低、應(yīng)用靈活方便穩(wěn)定可靠,單片機(jī)的應(yīng)用遍及工業(yè)自動(dòng)化和人們的日常生活中,給工業(yè)和人們的生活的各領(lǐng)域帶來了重大技術(shù)革命和技術(shù)進(jìn)步。在任何功能裝置上幾乎都能采用單片機(jī)嵌入到系統(tǒng)中,實(shí)現(xiàn)檢測(cè)、運(yùn)算、控制。同時(shí)單片機(jī)主要面向工業(yè)控制,其工作環(huán)境比較惡劣,如高溫、強(qiáng)電磁干擾,甚至含有腐蝕性氣體,在這一點(diǎn)上,一般的微型

9、計(jì)算機(jī)不能夠做到?,F(xiàn)在,雖然單片機(jī)的應(yīng)用很普遍了,但仍有許多項(xiàng)目尚未實(shí)現(xiàn),所以單片機(jī)的應(yīng)用有很大的發(fā)展空間。1.2 研究意義本設(shè)計(jì)的目的在于提供一種汽車轉(zhuǎn)向燈自動(dòng)控制系統(tǒng),從而能夠自動(dòng)開啟和關(guān)閉轉(zhuǎn)向燈,避免了由于人為因素造成的交通事故,提高了駕駛的安全性,同時(shí)本設(shè)計(jì)利用單片機(jī)模擬了汽車在剎車、合緊急開關(guān)、停靠等操作汽車尾燈的功能。單片機(jī)在電子科技中發(fā)展前景很好,成為電子發(fā)展的重要組成部分,學(xué)習(xí)單片機(jī)時(shí)要理論與實(shí)踐同步進(jìn)行,以理論指導(dǎo)實(shí)踐,實(shí)踐驗(yàn)證理論,才更有效率。編程方面,調(diào)試是在軟件上進(jìn)行的,軟件上能編譯成功的程序,下載硬件上可能不會(huì)成功的。在畢業(yè)設(shè)計(jì)過程中,需要網(wǎng)站上收集大量的與課題相關(guān)的

10、資料,了解目前國內(nèi)外與課題相關(guān)的科技發(fā)展趨勢(shì),確定自己的研究方案。還要自己動(dòng)手制作實(shí)物、編寫程序并對(duì)實(shí)物下載程序進(jìn)行硬件的調(diào)試,達(dá)到預(yù)期所需的控制要求和目的,使理論和實(shí)踐完滿的統(tǒng)一。因此還鍛煉了自己的制作能力,提升了綜合素質(zhì)。1.3 研究方法本次單片機(jī)的控制系統(tǒng)以AT89C51為控制器;鍵盤為輸入信號(hào),由于AT89C51本身的功能強(qiáng)大,汽車轉(zhuǎn)向燈的驅(qū)動(dòng)用單片機(jī)的驅(qū)動(dòng)功能來完成。使得單片機(jī)的功能得到了充分的運(yùn)用;并且顯示電路從并行I/O口輸出,由限流電阻和發(fā)光二極管組成,低電平使發(fā)光二極管導(dǎo)通,顯示出相應(yīng)的轉(zhuǎn)向信號(hào);為提升了系統(tǒng)的可靠性,設(shè)計(jì)看門狗電路,防止PC受到干擾而失控,引起程序跑飛,可能

11、會(huì)造成的程序死循環(huán)。掉電保護(hù)電路防止在單片機(jī)工作時(shí)突然掉電而失去方向指示功能。進(jìn)行仿真后,能清晰的看到在控制輸入信號(hào)的狀態(tài)下,相應(yīng)的信號(hào)燈發(fā)出轉(zhuǎn)向的指示信號(hào)。本次設(shè)計(jì)對(duì)汽車轉(zhuǎn)向燈單片機(jī)控制系統(tǒng)地分析與設(shè)計(jì),對(duì)單片機(jī)控制系統(tǒng)進(jìn)行了仿真調(diào)試,達(dá)到了畢業(yè)設(shè)計(jì)預(yù)期目的。第一章 主要芯片及元器件介紹單片機(jī)8051介紹本設(shè)計(jì)設(shè)計(jì)汽車燈控制系統(tǒng)比較簡單,單片機(jī)執(zhí)行的功能不多,在確保實(shí)驗(yàn)功能的情況下,為了降低成本,因此選用性價(jià)比高的80C1單片機(jī)。MCS-51是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列名稱。屬于這一系列的單片機(jī)有多種。8051便是其中一種性價(jià)比高的單片機(jī)。圖2-2 8051 內(nèi)部結(jié)構(gòu)示意圖8051單

12、片機(jī)內(nèi)部結(jié)構(gòu)按其功能部件劃分可以看出由8大部分組成的。這8大部分是: 1、一個(gè)8位中央處理機(jī)CPU。 2、128個(gè)字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM。3、4KB的片內(nèi)程序只讀存儲(chǔ)器ROM或EPROM。4、21個(gè)特殊功能寄存器SFR。 5、4個(gè)8位并行輸入輸出I/O接口: P0口、 P1口、 P2口、 P3口(共32線), 用于并行輸入或輸出數(shù)據(jù)。6、1個(gè)串行I/O接口。 7、2個(gè)16位定時(shí)器/計(jì)數(shù)器。 8、1個(gè)具有5個(gè)中斷源, 可編程為2個(gè)優(yōu)先級(jí)的中斷系統(tǒng)。 它可以接收外部中斷申請(qǐng), 定時(shí)器/計(jì)數(shù)器中斷申請(qǐng)和串行口中斷申請(qǐng)。本設(shè)計(jì)選用的8051單片機(jī)芯片為40個(gè)引腳,它是HMOS工藝制造的芯片,采用雙

13、列直插(DIP)方式封裝。圖2-3 AT89C51芯片1、主電源引腳Vcc和GND VCC(40腳):接+5V電源正端; GND(20腳):接+5V電源地端。 2、外接晶體引腳XTAL1和XTAL2XTAL1(19腳):接外部石英晶體的一端。在單片機(jī)內(nèi)部, 它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;XTAL2(18腳):接外部晶體的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。3、復(fù)位引腳RST/VPD(9腳)RST(RESET)是復(fù)位信號(hào)輸入端,高

14、電平有效。當(dāng)單片機(jī)運(yùn)行時(shí),在此引腳上加上持續(xù)時(shí)間大于兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。在單片機(jī)正常工作時(shí),此腳應(yīng)為0.5V低電平。VPD為本引腳的第二功能,即備用電源的輸入端。當(dāng)主電源VCC發(fā)生故障,降低到某一規(guī)定值的低電平時(shí),將+5V電源自動(dòng)接入RST端,為內(nèi)部RAM提供備用電源,以保證片內(nèi)RAM中的信息不丟失,從而使單片機(jī)在復(fù)位后能繼續(xù)正常運(yùn)行。4、控制引腳(1)ALE/(30腳)當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的

15、1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。為本引腳的第二功能。在對(duì)片內(nèi)EPROM型單片機(jī)編程寫入時(shí),此引腳作為編程脈沖輸入端。(2)(29腳)程序存儲(chǔ)器允許輸出控制端。在單片機(jī)訪問外部程序存儲(chǔ)器時(shí),此引腳輸出的負(fù)脈沖作為讀外部程序存儲(chǔ)器的選通信號(hào)。此引腳接外部程序存儲(chǔ)器的(輸出允許)端。端可以驅(qū)動(dòng)8個(gè)TTL型負(fù)載。3)/VPP(31腳)功能為

16、內(nèi)外程序存儲(chǔ)器選擇控制端。當(dāng)端為高電平時(shí),單片機(jī)訪問內(nèi)部程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)保持低電平時(shí),則只訪問外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器。VPP為本引腳的第二功能。在對(duì)EPROM型單片機(jī)8751片內(nèi)EPROM固化編程時(shí),用于施加較高編程電壓的輸入端,對(duì)于89C51則VPP編程電壓為+12V或+5V。5、I/O口線引腳排列(1)P0口8位、漏極開路的雙向I/O口。也即地址/數(shù)據(jù)總線復(fù)位口。P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每個(gè)腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻態(tài)輸入。P0能夠用于外部程序

17、數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P0口也可作為通用I/O使用,變成準(zhǔn)雙向口。當(dāng)作為普通輸入時(shí),應(yīng)將輸出鎖存器置1。P0口可驅(qū)動(dòng)8個(gè)TTL負(fù)載。(2)P1口8位、準(zhǔn)雙口I/O,具有內(nèi)部上拉電阻。P1口是為用戶準(zhǔn)備的I/O雙向口。在編程和校檢時(shí),可用做輸入低8位地址;用做輸入時(shí),應(yīng)先將輸出鎖存器置1;對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可做輸出口。做輸出口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。P1口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。P1口的

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

19、,具有內(nèi)部上拉電阻。P3口管腳是8個(gè)內(nèi)部帶上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一

20、些控制信號(hào)。80C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。CD4060介紹CD4060由一振蕩器和14級(jí)二進(jìn)制串行計(jì)數(shù)器位組成,振蕩器的結(jié)構(gòu)可以是RC或晶振電路,RESET為高電平時(shí),計(jì)數(shù)器清零且振蕩器使用無效。所有的計(jì)數(shù)器位均為主從觸發(fā)器。在CP1(和CP0)的下降沿計(jì)數(shù)器以二進(jìn)制進(jìn)行計(jì)數(shù)。在時(shí)鐘脈沖線上使用斯密特觸發(fā)器對(duì)時(shí)鐘上升和下降時(shí)間無限制。CD4060的引腳功能圖如圖所示:C

21、D4060引腳功能圖CD4060B典型振蕩器連接:上圖-RC振蕩器 下圖-晶體振蕩器2 汽車轉(zhuǎn)向燈單片機(jī)控制系統(tǒng)工作原理2.1 汽車轉(zhuǎn)向燈工作原理由定時(shí)器/計(jì)數(shù)器與中斷系統(tǒng)的聯(lián)合組成控制系統(tǒng)的工作原理。如汽車上有一個(gè)轉(zhuǎn)向控制桿,其中有三個(gè)位置:中間位置,汽車不轉(zhuǎn)向;向上,汽車左轉(zhuǎn);向下汽車右轉(zhuǎn)。轉(zhuǎn)向時(shí),規(guī)定左右尾燈、左右頭燈儀表板上2個(gè)指示燈相應(yīng)地發(fā)出閃爍信號(hào)。應(yīng)急開關(guān)合上時(shí), 6個(gè)信號(hào)燈都應(yīng)閃爍。汽車剎車時(shí),2個(gè)尾燈發(fā)出不閃爍信號(hào)。如正當(dāng)轉(zhuǎn)向時(shí)剎車,轉(zhuǎn)向時(shí)原應(yīng)閃爍的信號(hào)仍應(yīng)閃爍。它們都是頻率為1Hz低頻閃爍,在汽車??慷?块_關(guān)合上時(shí),左頭燈、右頭燈、左尾燈、右尾燈按頻率為30Hz的高頻閃爍

22、。由上所述,各種情況作操作時(shí),信號(hào)燈應(yīng)輸出信號(hào)列于表2.1。表2.1 汽車駕駛操縱與信號(hào)駕 駛 操 作輸 出 信 號(hào)儀表板左轉(zhuǎn)向燈儀表板右轉(zhuǎn)向燈左頭燈右頭燈左尾燈右尾燈左轉(zhuǎn)向(合上左轉(zhuǎn)開關(guān))閃爍閃爍閃爍右轉(zhuǎn)向(合上右轉(zhuǎn)開關(guān))閃爍閃爍閃爍合緊急開關(guān)閃爍閃爍閃爍閃爍閃爍閃爍剎車(合上剎車開關(guān))亮亮左轉(zhuǎn)向時(shí)剎車閃爍閃爍閃爍亮右轉(zhuǎn)向時(shí)剎車閃爍閃爍亮閃爍剎車,并合緊急開關(guān)閃爍閃爍閃爍閃爍亮亮左轉(zhuǎn)向時(shí)剎車,并合緊急開關(guān)閃爍閃爍閃爍閃爍閃爍亮右轉(zhuǎn)向時(shí)剎車,并合緊急開關(guān)閃爍閃爍閃爍閃爍亮閃爍??浚ê贤?块_關(guān))30Hz閃爍30Hz閃爍30Hz閃爍30Hz閃爍2.2 單片機(jī)系統(tǒng)的工作原理及設(shè)計(jì)中斷系統(tǒng)中斷技術(shù)是為

23、使單片機(jī)具有對(duì)外部或內(nèi)部隨機(jī)發(fā)生的事件實(shí)時(shí)處理而設(shè)置的,中斷功能的存在,很大程度上提高了單片機(jī)處理外部或內(nèi)部事件的能力。中斷是指CPU在處理某一事件A時(shí),發(fā)生了另一事件B,請(qǐng)求CPU迅速去處理(中斷發(fā)生);CPU暫時(shí)停止當(dāng)前的工作(中斷響應(yīng)),轉(zhuǎn)去處理事件B(中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),單片機(jī)在執(zhí)行程序時(shí),中斷隨時(shí)可能發(fā)生,但無論何時(shí)發(fā)生,只要一旦發(fā)生,單片機(jī)將立即暫時(shí)當(dāng)前程序,去處理中斷程序。單片機(jī)在執(zhí)行程序時(shí)其流程圖如圖2.1所示。中斷的開啟與關(guān)閉、設(shè)置啟動(dòng)哪一個(gè)中斷等都是由單片機(jī)內(nèi)部的一些特殊功能寄存器來決定的。80C5

24、1的中斷系統(tǒng)有5個(gè)中斷源(8052有 6個(gè)),2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的。同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如表2.2所示。中斷源中斷標(biāo)志中斷服務(wù)程序入口優(yōu)先級(jí)順序外部中斷0()IE00003H高定時(shí)器/計(jì)數(shù)器0(T0)TF0000BH外部中斷1()IE10013H定時(shí)器/計(jì)數(shù)器1(T1)TF1001BH串行口RI或TI0023H低表2.2 各中斷源響應(yīng)優(yōu)先級(jí)及中斷服務(wù)程序入口表單片機(jī)使用中斷功能時(shí),通常需要設(shè)置兩個(gè)與中

25、斷有關(guān)的寄存器:中斷允許寄存器IE和中斷優(yōu)先級(jí)寄存器IP。(1) 中斷允許控制寄存器(IE)。中斷允許寄存器用來設(shè)定各個(gè)中斷源的打開和關(guān)閉,IE在特殊功能寄存器中,字節(jié)地址為A8H,位地址(由低位到高位)分別是A8HAFH,該寄存器可進(jìn)行位尋址,即可對(duì)該寄存器的每一位進(jìn)行單獨(dú)操作。單片機(jī)復(fù)位時(shí)IE全部被清零。各位定義如表2.3所示。表2.3 IE各位定義位序B7B6B5B4B3B2B1B0位符號(hào)EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8HIE寄存器中與定時(shí)器/計(jì)數(shù)器有關(guān)的位置介紹:EA-中斷允許總控制位EA=1,打開全局中斷控制,在此條件下,由各個(gè)中斷控制位確定相

26、應(yīng)中斷的打開或關(guān)閉。EA=0,關(guān)閉全部中斷。ES-串行口中斷允許控制位ES=0 關(guān)閉外部中斷ES=1 打開外部中斷ET0和ET1-定時(shí)器/計(jì)數(shù)器中斷允許控制位ET0(ET1)=0 關(guān)閉定時(shí)器/計(jì)數(shù)器中斷ET0(ET1)=1 打開定時(shí)器/計(jì)數(shù)器中斷EX0和EX1-外部中斷允許控制位EX0(EX1)=0 關(guān)閉外部中斷EX0(EX1)=1 打開外部中斷“”表示無效位。(2) 中斷優(yōu)先級(jí)寄存器IP。中斷優(yōu)先級(jí)寄存器在特殊功能寄存器中,字節(jié)地址為B8H,位地址(由低位到高位)分別是B8HBFH,該寄存器可進(jìn)行位尋址。IP用來設(shè)定各個(gè)中斷源屬于兩級(jí)中斷中的哪一級(jí)。單片機(jī)復(fù)位時(shí)IE全部被清0。各位定義如表2

27、.4所示。表2.3 IP各位定義位序B7B6B5B4B3B2B1B0位符號(hào)PSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8HIP中相應(yīng)位被置1時(shí),相應(yīng)的中斷定義為高優(yōu)先級(jí)中斷;相應(yīng)位被清0時(shí),相應(yīng)的中斷定義為低優(yōu)先級(jí)中斷。在51單片機(jī)系列中,高優(yōu)先級(jí)中斷能夠打斷低優(yōu)先級(jí)中斷形成中斷嵌套,同優(yōu)先級(jí)中斷之間,或低級(jí)對(duì)高級(jí)中斷則不能形成中斷嵌套。中斷技術(shù)的重要作用有如下四點(diǎn):第一,高速CPU和低速外設(shè)之間的配合。利用中斷方式進(jìn)行的I/O口操作,在宏觀上可以看成CPU和外設(shè)的并行工作,提高了單片機(jī)的利用率;。第二,實(shí)現(xiàn)故障的緊急處理。當(dāng)外設(shè)發(fā)生故障時(shí),可以利用中斷系統(tǒng)請(qǐng)求CPU及時(shí)處理這

28、些故障,從而使系統(tǒng)可靠性提高。第三,可以實(shí)現(xiàn)實(shí)時(shí)控制,CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng)。第四,便于人機(jī)聯(lián)系。操作人員可以利用鍵盤等實(shí)現(xiàn)中斷,完成人工介入。定時(shí)器和計(jì)數(shù)器信號(hào)的控制是定時(shí)器與中斷系統(tǒng)的聯(lián)合使用得以實(shí)現(xiàn)。單片機(jī)的控制系統(tǒng)應(yīng)用中,定時(shí)器是必需的,在汽車轉(zhuǎn)向燈的控制中也是必不可少。定時(shí)有三種選擇方法。(1)軟件的定時(shí)它是靠執(zhí)行一個(gè)循環(huán)程序以進(jìn)行時(shí)間的延遲。軟件定時(shí)的優(yōu)點(diǎn)是時(shí)間精確,且不需外加硬件電路。但它要占用CPU的時(shí)間,降低利用率,因此軟件定時(shí)的時(shí)間不能太長。此外,軟件定時(shí)方法有時(shí)候無法使用。(2)硬件的定時(shí)時(shí)間較長的定時(shí),常使用硬件電路完成。硬件定時(shí)方法

29、的優(yōu)點(diǎn)是定時(shí)功能全部由硬件電路完成,不需要占CPU的時(shí)間。用元件參數(shù)來調(diào)節(jié)定時(shí)時(shí)間,這方面使用上不夠靈活方便。(3)可編程定時(shí)器的定時(shí)它是通過對(duì)系統(tǒng)時(shí)鐘脈沖的計(jì)數(shù)來實(shí)現(xiàn)的。計(jì)數(shù)值由程序設(shè)定,改變計(jì)數(shù)值,同時(shí)也改變了定時(shí)時(shí)間,用起來既靈活且方便。此外,采用計(jì)數(shù)方法實(shí)現(xiàn)定時(shí),可編程定時(shí)器都兼有計(jì)數(shù)功能,能對(duì)外來脈沖進(jìn)行計(jì)數(shù)。在AT89C51單片機(jī)內(nèi)部共有2個(gè)可編程的定時(shí)器和計(jì)數(shù)器,稱定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1,其實(shí)質(zhì)就是加1計(jì)數(shù)器,這兩個(gè)計(jì)數(shù)器分別由TH0,TL0和TH1,TL1四個(gè)8位的寄存器單元組成,即每個(gè)計(jì)數(shù)器都是16位的計(jì)數(shù)器,最大的計(jì)數(shù)量時(shí)65536。TMOD是定時(shí)器/計(jì)數(shù)器的工

30、作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。其具體結(jié)構(gòu)如圖2.1所示。圖2.1 定時(shí)器/記數(shù)器的結(jié)構(gòu)定時(shí)器/計(jì)數(shù)器計(jì)數(shù)功能和定時(shí)功能:(1)計(jì)數(shù)器功能計(jì)數(shù)是指對(duì)外部事件進(jìn)行計(jì)數(shù)。它的發(fā)生以輸入脈沖表示,計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外來的脈沖進(jìn)行計(jì)數(shù)。AT89C51芯片有T0(P3.4)和T1(P3.5)兩個(gè)信號(hào)引腳,是這兩個(gè)計(jì)數(shù)器的計(jì)數(shù)輸入端。外部輸入的脈沖在負(fù)跳變時(shí)有效,進(jìn)行計(jì)數(shù)器加1(加法計(jì)數(shù))。當(dāng)加到計(jì)數(shù)器全為1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器清零,同時(shí)計(jì)數(shù)器的溢出使TCON寄存器中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)器/計(jì)數(shù)器中斷允許

31、時(shí)),表示計(jì)數(shù)值已滿。AT89C51在每個(gè)機(jī)器周期的S5P2拍節(jié)對(duì)外部計(jì)數(shù)脈沖進(jìn)行采樣。當(dāng)某一個(gè)機(jī)器周期采樣為高電平,而下一個(gè)機(jī)器周期采樣為低電平,這樣就是一個(gè)有效的計(jì)數(shù)脈沖,則計(jì)數(shù)器加1,更新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。由于檢測(cè)一個(gè)從10的下降沿需要2個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。計(jì)數(shù)脈沖頻率不能高于振蕩脈沖頻率的1/24。當(dāng)晶振頻率為12MHz時(shí),最高計(jì)數(shù)頻率不超過1/2MHz,即計(jì)數(shù)脈沖的周期要大于2us。 (2)定時(shí)器功能實(shí)際也是通過計(jì)數(shù)器來實(shí)現(xiàn)的,但此時(shí)的計(jì)數(shù)脈沖來自單片機(jī)的內(nèi)部,由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來,也即每個(gè)機(jī)器

32、周期計(jì)數(shù)器加1。一個(gè)機(jī)器周期等于12個(gè)振蕩脈沖周期,因此計(jì)數(shù)頻率為振蕩頻率的1/12。單片機(jī)采用12MHz晶體,計(jì)數(shù)頻率為1MHz。每us計(jì)數(shù)器加1。由此可見,由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值。根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以反過來按定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的預(yù)置值。在計(jì)數(shù)器計(jì)數(shù)滿回零時(shí)能自動(dòng)產(chǎn)生溢出中斷請(qǐng)求,一次計(jì)數(shù)完成。T1、T2的最大計(jì)數(shù)值65536-1,需65535個(gè)脈沖才能把它們從全“0”狀態(tài)變?yōu)槿?”狀態(tài)。輸一個(gè)脈沖,計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器各位全為1時(shí),再去輸一個(gè)脈沖,計(jì)數(shù)器各位就變?yōu)槿?,發(fā)出溢出信號(hào),使標(biāo)志置1,此時(shí)向CPU申請(qǐng)中斷,執(zhí)行相應(yīng)的中斷程序

33、。2.2.4 定時(shí)初始化單片機(jī)在使用時(shí),通常要對(duì)定時(shí)器/計(jì)數(shù)器控制寄存器(TCON)、工作方式控制寄存器(TMOD)和中斷允許控制寄存器(IE)進(jìn)行設(shè)置。(1) 定時(shí)器/計(jì)數(shù)器控制寄存器(TCON)。定時(shí)器/計(jì)數(shù)器控制寄存器在特殊功能寄存器中,字節(jié)地址為88H,位地址(由低位到高位)分別是88H8FH,該寄存器可進(jìn)行位尋址。TCON寄存器用來控制定時(shí)器的啟動(dòng)與停止,標(biāo)志定時(shí)器溢出和中斷情況。單片機(jī)復(fù)位時(shí)TCON全部被清零,各位定義如表2.1所示。其中,TF1、TR1、TF0和TR0位用于定時(shí)器/計(jì)數(shù)器;IE1、IT1、IE0和IT0位用于外部中斷。表2.1 TCON各位定義位序B7B6B5B4

34、B3B2B1B0位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTF1(TCON.7):定時(shí)器1溢出中斷請(qǐng)求標(biāo)志位。當(dāng)定時(shí)器1計(jì)數(shù)滿溢出時(shí),由硬件自動(dòng)置TF1為1,并且申請(qǐng)中斷。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。T1工作時(shí),CPU可隨時(shí)查詢TF1的狀態(tài)。所以,TF1可用作查詢測(cè)試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):定時(shí)器1運(yùn)行控制位。TR1由軟件置1或清0控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。由軟件清0關(guān)閉定時(shí)器1。當(dāng)GATE=1,且INT1為高電平時(shí),TR1置1定時(shí)器開始工作;當(dāng)GA

35、TE=0時(shí),TR1置1啟動(dòng)定時(shí)器1。TF0(TCON.5):T0溢出中斷請(qǐng)求標(biāo)志位,其功能及操作方法與TF1類同。TR0(TCON.4):T0運(yùn)行控制位,其功能及操作方法與TR1類同。IE1(TCON.3):外部中斷1請(qǐng)求標(biāo)志位。當(dāng)IT1=0時(shí),為電平觸發(fā)方式,每個(gè)機(jī)器周期的S5P2采樣INT1引腳,若INT1腳為低電平,則置1,否則IE1清0.當(dāng) =1時(shí),為跳變沿觸發(fā)方式,當(dāng)?shù)谝粋€(gè)機(jī)器周期采樣到為低電平時(shí),則IE1置1。IE1=1,表示外部中斷1正向CPU申請(qǐng)中斷。當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí),該位由硬件清0。IT1(TCON.2):外部中斷1觸發(fā)方式選擇位。IT1=0時(shí),為電平觸發(fā)

36、方式,引腳上低電平有效。IT1=1時(shí),為跳變沿觸發(fā)方式,引腳上的電平從高到低的負(fù)跳變有效。IE0(TCON.1):外部中斷0請(qǐng)求標(biāo)志,其功能及操作方法與IE1類同。IT0(TCON.0):外部中斷0觸發(fā)方式選擇位,其功能及操作方法與IT1類同。(2) 工作方式控制寄存器(TMOD)定時(shí)器/計(jì)數(shù)器工作方式寄存器在特殊功能寄存器中,字節(jié)地址為89H,不可進(jìn)行位尋址。TMOD用來確定定時(shí)器的工作方式及功能選擇,它的低半字節(jié)設(shè)置定時(shí)器/計(jì)數(shù)器0,高半字節(jié)設(shè)置定時(shí)器/計(jì)數(shù)器1。單片機(jī)復(fù)位時(shí)TMOD全部被清零。各位定義如表2.2所示。表2.2 TMOD各位定義位序B7B6B5B4B3B2B1B0位符號(hào)GA

37、TEC/M1M0GATEC/M1M0其中:GATE-門控制位。GATE0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATA1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。 C/-定時(shí)方式或計(jì)數(shù)模式選擇位。 C/=0 定時(shí)工作方式;C/=1 計(jì)數(shù)工作方式 M1M0-工作方式選擇位。每個(gè)定時(shí)器/計(jì)數(shù)器都有四種工作方式,它們由M1M0進(jìn)行設(shè)置,對(duì)應(yīng)關(guān)系如表2.3所示。表2.3 定時(shí)器/計(jì)數(shù)器的四種工作方式M1M0工作方式00方式0,為13位定時(shí)器/計(jì)數(shù)器01方式1,為16位定時(shí)器/計(jì)數(shù)器10方式2,8位初值自動(dòng)重裝的8位

38、定時(shí)器/計(jì)數(shù)器11方式3,僅適用于T0,分成兩個(gè)8位計(jì)數(shù)器,TI停止計(jì)數(shù)本設(shè)計(jì)采用的是定時(shí)器0的工作方式1,由TL0寄存器作為低8位、TH0寄存器作為高8位,組成了16位加1計(jì)數(shù)器,其邏輯結(jié)構(gòu)框圖如圖2.2所示。圖2.2 定時(shí)器0方式1邏輯結(jié)構(gòu)框圖分析上面的邏輯圖,當(dāng)GATE=0,TR0=1時(shí),TL0便在機(jī)器周期的作用下開始加1計(jì)數(shù),當(dāng)TL0計(jì)滿后向TH0進(jìn)一位,直到把TH0也計(jì)滿,此時(shí)計(jì)數(shù)器溢出,置TF0為1,接著向CPU進(jìn)行中斷處理。在這種情況下,只要TR0為1,那么計(jì)數(shù)器就不會(huì)停止。接下來計(jì)算定時(shí)器的初值。定時(shí)器一旦啟動(dòng),它便在原來的數(shù)值上開始加1計(jì)數(shù),設(shè)機(jī)器周期為Tcy,定時(shí)器產(chǎn)生一次

39、中斷的時(shí)間為t,那么需要計(jì)數(shù)的個(gè)數(shù)N=t/Tcy,裝入TH0和TL0中的數(shù)分別為TH0=(65536-N)/256 , TL0=(65536-N)%256要計(jì)算機(jī)器周期Tcy,就需要知道系統(tǒng)時(shí)鐘頻率,本設(shè)計(jì)采用單片機(jī)的時(shí)鐘頻率為12MHz,機(jī)器周期1us。注意在用工作方式1時(shí),我們必須要重新裝載初值。第四章 控制系統(tǒng)的硬件設(shè)計(jì)4.1 單片機(jī)控制系統(tǒng)電路圖4.1.1 汽車轉(zhuǎn)向燈單片機(jī)控制系統(tǒng)框圖汽車轉(zhuǎn)向燈單片機(jī)控制系統(tǒng)電路是由單片機(jī)AT89C51、復(fù)位、電源、時(shí)鐘、LED顯示電路、按鍵電路、看門狗電路和掉電保護(hù)電路構(gòu)成。電源電路給控制相關(guān)電路提供所需電源;復(fù)位電路供上電時(shí)復(fù)位用。時(shí)鐘電路用來產(chǎn)生

40、時(shí)鐘脈沖信號(hào),供單片機(jī)工作使用;通過并行I/O口構(gòu)成鍵盤和顯示電路,當(dāng)單片機(jī)處于死循環(huán)時(shí),看門狗電路自動(dòng)使單片機(jī)復(fù)位,當(dāng)電源故障時(shí),掉電保護(hù)電路自動(dòng)切換至備用電源端為單片機(jī)提供電源,提高了系統(tǒng)的可靠性。汽車轉(zhuǎn)向燈單片機(jī)控制系統(tǒng)框圖如圖4.1所示。圖4.1 汽車轉(zhuǎn)向燈單片機(jī)控制系統(tǒng)框圖4.2 單片機(jī)控制系統(tǒng)功能模塊的設(shè)計(jì)4.2.1 電源電路電源電路中可選電子管穩(wěn)壓電路、三極管穩(wěn)壓電路、可控硅穩(wěn)壓電路,集成穩(wěn)壓電路等;根據(jù)調(diào)整元件與向載連接方法,可分為并聯(lián)型和串聯(lián)型;根據(jù)調(diào)整元件工作狀態(tài)不同,可分為線性和開關(guān)穩(wěn)壓電路。單片機(jī)系統(tǒng)中使用的集成電路器件大多數(shù)在5V電源電壓工作。隨著集成制造技術(shù)的發(fā)展以

41、及數(shù)字式電子元器件的微小型化,集成電路元器件采用更先進(jìn)精細(xì)的制造工藝,在減小集成芯片幾何尺寸的同時(shí),降低工作電壓。本設(shè)計(jì)采用LM7805三端集成穩(wěn)壓器完成直流電源的轉(zhuǎn)換,由汽車12V電壓轉(zhuǎn)換為單片機(jī)系統(tǒng)正常工作需要的5V電壓。電路如圖4.2所示。12PWRCON1D7IN4001C1100U/25VC01104Vout3Vin1GND2U2LM7805C02104+12V 圖4.3 直流穩(wěn)壓電源電路圖4.2.2 時(shí)鐘電路單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一是外

42、部時(shí)鐘方式,另一種是內(nèi)部時(shí)鐘方式。1、外部時(shí)鐘方式多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)間時(shí)鐘信號(hào)的同步,常引入統(tǒng)一的外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖。將外部震蕩器的信號(hào)接至XTAL2內(nèi)部時(shí)鐘發(fā)生器的輸入端,而內(nèi)部反向發(fā)大器的輸入端XTAL1應(yīng)接地, XTAL2的邏輯電平不是TTL電平,所以需要外接一個(gè)上拉電阻。因?yàn)檎麄€(gè)電路只用一塊單片機(jī),不涉及時(shí)刻信號(hào)同步問題,所以此種電路我們不選用。2、內(nèi)部時(shí)鐘方式在MCS-51系列單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片外部XTAL1和 XTAL2之間跨接晶體振蕩器

43、和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。外接晶體(石英或陶瓷,陶瓷的精度不高,但價(jià)格便宜)振蕩器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。電路中的電容 C1和C2典型值通常選擇為30pF左右。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)對(duì)振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性有一定的影響。晶振的振蕩頻率的范圍通常是在1.2MHz12MHz之間。晶振的頻率越高,則系統(tǒng)的時(shí)鐘頻率也就越高,單片機(jī)的運(yùn)行速度也就越快。但反過來運(yùn)行速度對(duì)存儲(chǔ)器的速度要求就高,對(duì)印制電路板的工藝要求就越高,即要求線間的寄生電容要小;晶振和電容盡可能安裝的與單片機(jī)靠近,以減少寄

44、生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性好的NPO高頻電容。本設(shè)計(jì)采用單片機(jī)內(nèi)部晶振。如圖4.5所示。圖4.5 時(shí)鐘振蕩電路4.2.3 復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只要給RESET引腳加上2個(gè)機(jī)器周期以上的高電平信號(hào),就可以使MCS-51單片機(jī)復(fù)位。復(fù)位的主要功能是把PC初始化為0000H,使MCS-51單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài),為了擺脫死鎖狀態(tài),通過按復(fù)位鍵重新啟動(dòng),或通過看門狗電路自動(dòng)重啟單片機(jī)。51單片機(jī)的片內(nèi)復(fù)位結(jié)構(gòu)如圖4.6所示。單片機(jī)的復(fù)位引腳通過一個(gè)

45、斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個(gè)及其周期的S5P2,斯密特觸發(fā)器的輸出電平有復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需的信號(hào)。RST復(fù)位電路斯密特觸發(fā)器圖4.6 8051的片內(nèi)復(fù)位結(jié)構(gòu)復(fù)位電路通常采用上電復(fù)位和按鍵復(fù)位兩種方式。按鍵手動(dòng)復(fù)位又分按鍵脈沖電平復(fù)位和按鍵電平復(fù)位兩種。其中電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)。按鍵脈沖復(fù)位是利用RC分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。在按鍵電平復(fù)位和按鍵脈沖復(fù)位兩種簡單的復(fù)位電路中,干擾易串入復(fù)位端,在大多數(shù)情況下,不會(huì)造成單片機(jī)的錯(cuò)誤復(fù)位,但會(huì)引起內(nèi)部寄存器錯(cuò)誤復(fù)位,這里可在復(fù)位端引腳上接一個(gè)去藕電容。需說明

46、的是,如復(fù)位電路中R、C的值選擇不當(dāng),使復(fù)位時(shí)間過長,單片機(jī)將處于循環(huán)復(fù)位狀態(tài)。上電復(fù)位電路是通過電路的電容充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。本設(shè)計(jì)采用上電復(fù)位電路如圖4.7所示。圖4.7 上電復(fù)位電4.2.4 鍵盤接口電路的設(shè)計(jì)常用的鍵盤接口分為矩陣式鍵盤接口和獨(dú)立式按鍵接口。矩陣式鍵盤適合于按鍵數(shù)量較多的場(chǎng)合,它由行線和列線組成,按鍵位于行列的交叉點(diǎn)上,可以節(jié)省很多的I/O口線。按鍵設(shè)置在行、列交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上。平時(shí)無按鍵按下時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的的

47、列線電平?jīng)Q定。列電平如果為低,則行線電平為低;列電平如果為高,則行線電平也為高。這是識(shí)別矩陣鍵盤按鍵是否被按下的關(guān)鍵所在。由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號(hào)配合起來并作適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。獨(dú)立式按鍵就是各按鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會(huì)影響其他輸入線上的工作狀態(tài)。因此,通過檢測(cè)輸入線的電平狀態(tài)可以很容易判斷哪個(gè)按鍵被按下了。獨(dú)立式按鍵電路配置很靈活,軟件簡單。但每個(gè)按鍵需占用一根輸入口線,在按鍵輸入數(shù)量較多時(shí),需要較多的輸入口線且電路結(jié)構(gòu)繁雜,故此種鍵盤適用于

48、按鍵較少或操作速度較高的場(chǎng)合。本設(shè)計(jì)選用獨(dú)立式鍵盤,如圖4.9所示,單片機(jī)引腳作為輸入使用,首先置“1”。當(dāng)鍵沒有被按下時(shí),單片機(jī)引腳上為高電平;而當(dāng)鍵被按下去后,引腳接地,單片機(jī)引腳上為低電平。對(duì)于這種接法,程序可以采用不斷查詢的方法,其功能就是:檢測(cè)是否有鍵閉合,判斷鍵號(hào)并轉(zhuǎn)入相應(yīng)的鍵處理。S5SW-PBS4SW-PBS3SW-PBS2SW-PBS5S4S3S2S1SW-PBS1圖4.9 獨(dú)立式鍵盤原理圖4.2.5 信號(hào)燈電路LED具有二極管的單向?qū)щ姷奶匦?,?dāng)外加正向電壓使得正向電流滿足一定條件時(shí)就能夠正常發(fā)光。LED導(dǎo)通后,其導(dǎo)通壓降一般在1.7V左右,在LED電路中串聯(lián)一個(gè)1K的電阻

49、限制通過LED的電流,防止因電流過大而燒壞LED。本設(shè)計(jì)中將LED與89C51單片機(jī)的P1腳相連,電路如圖4.10所示,通過控制AT89C51單片機(jī)的P1口高低電平的變化來控制相應(yīng)發(fā)光二極管的亮滅,從而實(shí)現(xiàn)信號(hào)燈的指示作用。D1LEDD2LEDD3LEDD4LEDD5LEDD6LEDR11KR21KR31KR41KR51KR61KVCCL1L2L3R1R2R3圖4.11 信號(hào)燈電路4.2.6 看門狗電路單片機(jī)應(yīng)用系統(tǒng)的抗干擾技術(shù)以及其受干擾后的自我恢復(fù),在硬件和軟件等方面可以采用多種方法。 這些方法相互結(jié)合,配合使用,有效地提高了系統(tǒng)的可靠性與抗干擾性。 看門狗(Watch 

50、;Dog Timer,簡稱為WDT)技術(shù)就是最常見的抗干擾技術(shù)??撮T狗WDT有硬件看門狗和軟件看門狗之分,無論是硬件看門狗還是軟件看門狗實(shí)際上都是一個(gè)可清零的定時(shí)計(jì)數(shù)器。如果該定時(shí)計(jì)數(shù)器用MCU芯片外部電路實(shí)現(xiàn),則為硬件看門狗,如果該定時(shí)計(jì)數(shù)器用MCU芯片內(nèi)部定時(shí)器/計(jì)數(shù)器實(shí)現(xiàn),則稱為軟件看門狗。 本設(shè)計(jì)采用基于CD4060的硬件看門狗電路,如圖4.12所示,下面介紹電路的組成及其工作原理。看門狗電路由14位二進(jìn)制計(jì)數(shù)器CD4060和三極管Q1、Q2組成。Q29014CQ19012GR72KR82KR910KR104K7R11300C2100U/25VC03104+5VWG電壓輸入Q

51、121Q132Q143Q64Q55Q76Q47GND8VCC16Q1015Q814Q913RST12CINR11COUR10COUC9U3CD4060R1210KR1347KC04103(M)C05103R14100KR153KC310U/16VZD15V6+12VMCWG圖4.12 看門狗電路單片機(jī) AT89C51的CPU向看門狗電路發(fā)送喂狗信號(hào)正脈沖,由P1.7口(MC)輸出,在兩個(gè)正脈沖間隔內(nèi),P1.7保持為低電平。14位二進(jìn)制計(jì)數(shù)器CD4060的計(jì)數(shù)脈沖由其內(nèi)部振蕩器和外接阻容元件R12、C04組成的電路產(chǎn)生,R13用于改善振蕩器的穩(wěn)定性,R13一般取2倍的R12到10倍的R12之間。

52、振蕩周期為 T0SC=2.2*R12*C04=2.2*104*104*10(-12)=0.22ms;振蕩器產(chǎn)生的計(jì)數(shù)脈沖(矩形波)可以直接引出,同時(shí)還可以從CD4060的10個(gè)輸出端Q4Q10和Q12Q14得到不同分頻系數(shù)的方波輸出。Q13輸出端的周期大致為0.9s。如果CD4060得不到CPU通過P1.7口發(fā)送來的喂狗信號(hào)正脈沖,則CD4060的輸出端Q13在0.9s內(nèi)將產(chǎn)生一個(gè)完整周期的方波信號(hào),單片機(jī)AT89C51正常工作時(shí),只要在0.45s內(nèi)從P1.7口送出一個(gè)正脈沖,便可及時(shí)清零看門狗,輸出端Q13就不會(huì)產(chǎn)生定時(shí)溢出信號(hào),從而使看門狗電路對(duì)單片機(jī)系統(tǒng)不起作用。當(dāng)單片機(jī)工作不正常時(shí),P

53、1.7口輸出就會(huì)失常,從而CD4060的Q13口就會(huì)輸出周期0.9s的方波信號(hào),當(dāng)輸出為高電平時(shí),Q1截止,Q2導(dǎo)通,電源停止對(duì)系統(tǒng)供電,單片機(jī)系統(tǒng)停止工作,0.45s后CD4060的輸出為高電平,此時(shí)Q1導(dǎo)通,Q2截止,+5V電壓通過Q1為單片機(jī)供電,同時(shí)為單片機(jī)上電復(fù)位電路供電,單片機(jī)復(fù)位,P1.7口輸出喂狗信號(hào),清零CD4060的輸出,系統(tǒng)工作恢復(fù)正常。4.2.7 掉電保護(hù)電路當(dāng)在單片機(jī)系統(tǒng)失去+5V電源時(shí),單片機(jī)會(huì)停止工作,時(shí)鐘會(huì)停止往前走,這種結(jié)果會(huì)造成系統(tǒng)失去驅(qū)動(dòng)LED燈的方向指示作用,為了保證單片機(jī)在主電壓失去時(shí)仍然能夠保持運(yùn)行,嘗試?yán)酶呻姵貙?duì)單片機(jī)系統(tǒng)繼續(xù)進(jìn)行供電。 單片機(jī)本

54、身能夠順利實(shí)施“掉電保護(hù)”的內(nèi)部條件,單片機(jī)允許在電壓低至 2V 甚至更加小一些的電壓供電時(shí)。仍然可以保證其最基本的運(yùn)行(對(duì)外部輸入輸出功能將會(huì)失效或者停止)。電池在主電源失去時(shí),對(duì)單片機(jī)的繼續(xù)運(yùn)行提供能源。當(dāng)電池經(jīng)過保護(hù)時(shí)間的使用之后,就需要補(bǔ)充電能,以便下一次保護(hù)時(shí)能夠有效地投入保護(hù)工作。所以,又有一個(gè)如何給電池充電的問題。即電池在主電源正常供電時(shí),需要由主電源對(duì)其進(jìn)行充電;當(dāng)主電源失去時(shí),又由電池放電以保持單片機(jī)系統(tǒng)的運(yùn)行。本設(shè)計(jì)的掉電保護(hù)電路如圖4.13所示。+12VBT15V6D8IN4148R181K5ZD25V6R191KD9IN4148K1+5VNC+12V圖4.13 單片機(jī)掉電保護(hù)電路當(dāng)主電源正常時(shí),單片機(jī)由VCC電源供電

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論