[論文]汽車(chē)防盜報(bào)警器的論文.doc
《[論文]汽車(chē)防盜報(bào)警器的論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《[論文]汽車(chē)防盜報(bào)警器的論文.doc(44頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、本科畢業(yè)設(shè)計(jì)(論文) 目錄引言 1任務(wù)指標(biāo)及要求 2方案確定 3芯片及器件介紹 3.1 MCS-51 微型計(jì)算機(jī) 3.1.1MCS-5l 基本組成及主要特點(diǎn) 3.1.2MCS-51 內(nèi)部結(jié)構(gòu)及功能簡(jiǎn)述 3.1.3 工作原理 3.1.4 定時(shí)器 3.1.4.1 定時(shí)器的工作原理 3.1.4.2 定時(shí)計(jì)數(shù)器的控制 3.1.4.3 定時(shí)計(jì)數(shù)器的初始化 3.1.5 單片機(jī)的中斷系統(tǒng) 3.1.5.1AT89C51 的中斷系統(tǒng) 3.1.5.2 中斷處理過(guò)程 3.1.5.3 中斷系統(tǒng)的應(yīng)用 3.2 振動(dòng)傳感器 3.2.1 傳感器的種類(lèi)、原理和性能 3.2.2 傳感器的選擇 3.2.3 傳感器的安裝要點(diǎn) 3.
2、2.4CLA-3 全向振動(dòng)傳感器 4電路原理及設(shè)計(jì)過(guò)程 4.1 電路設(shè)計(jì)及原理分析 4.1.1 檢測(cè)電路 4.1.2 單片機(jī)控制電路 4.1.3 報(bào)警電路 4.1.4 整體電路和控制程序 1 引言近些年來(lái),隨著社會(huì)經(jīng)濟(jì)的發(fā)展以及工業(yè)發(fā)展的突飛猛進(jìn),人民生活水平也有了顯 著提高,世界的距離也在不斷縮小,隨著交通日益發(fā)達(dá),越來(lái)越多的汽車(chē)進(jìn)入了人們的日 常生活,隨著科學(xué)技術(shù)的發(fā)展,汽車(chē)偷盜技術(shù)越來(lái)越高,令人們防不勝防,已對(duì)全世界 造成極大的危害,汽車(chē)防盜問(wèn)題也成了一個(gè)不容忽視的問(wèn)題,無(wú)論是對(duì)汽車(chē)制造商還是 社會(huì)保險(xiǎn)業(yè)都具有極其重要的研究?jī)r(jià)值,如何制定出更為嚴(yán)范的法規(guī),開(kāi)發(fā)出更為有效 的汽車(chē)防盜裝置,
3、減少車(chē)主的損失是今后人們研究的重要課題。我在這次設(shè)計(jì)汽車(chē)防盜報(bào)警器時(shí),考慮到了實(shí)際情況,決定采用振動(dòng)傳感器和單片微型 計(jì)算機(jī)組合來(lái)實(shí)現(xiàn)。汽車(chē)防盜報(bào)警器主要由三部分組成:檢測(cè)電路,單片機(jī)處理電路, 報(bào)警電路。當(dāng)有振動(dòng)時(shí),通過(guò)振動(dòng)傳感器接受檢測(cè)電路發(fā)出信號(hào),經(jīng)過(guò)單片微型計(jì)算機(jī)處理后,輸出報(bào)警信號(hào),再由報(bào)警電路實(shí)現(xiàn)報(bào)警。報(bào)警電路主要由聲光報(bào)警兩個(gè)部分組成。首先是對(duì)這次設(shè)計(jì)能夠采用的方案進(jìn)行了列舉,具體分析了實(shí)際情況后確定了本次設(shè)計(jì)采用的方案。然后,對(duì)所采用的芯片作了介紹。接著,詳細(xì)論述了設(shè)計(jì)中所采用的電路以及它們的設(shè)計(jì)過(guò)程和在系統(tǒng)中所完成的功能。最后,對(duì)電路在調(diào)試的過(guò)程中所出現(xiàn)的問(wèn)題作了必要的描述,
4、同時(shí)分析了它們產(chǎn)生的原因,并適當(dāng)?shù)靥岢隽私鉀Q的辦法以及改進(jìn)方法,并把它們運(yùn)用于實(shí)際電路中,這樣使得電路的整體功能更加突出,更加有實(shí)用價(jià)值??傊?整篇論文的論述是使本次畢業(yè)設(shè)計(jì)所做的課題付諸實(shí)際應(yīng)用時(shí)能產(chǎn)生比較完善的功能,在實(shí)際應(yīng)用中,能發(fā)揮很好的整體效果,有更高的實(shí)用價(jià)值。1.1 任務(wù)指標(biāo)及要求(1)畢業(yè)設(shè)計(jì)的內(nèi)容 汽車(chē)防盜報(bào)警器的設(shè)計(jì):檢測(cè)電路、單片機(jī)控制電路、聲光報(bào)警電路(2)畢業(yè)設(shè)計(jì)的要求與數(shù)據(jù)掌握單片機(jī)程序設(shè)計(jì)技術(shù)以及相應(yīng)的仿真、編程技術(shù)。振動(dòng)檢測(cè)或紅外檢測(cè)。聲光報(bào)警輸出。2. 方案確定隨著微電子技術(shù)的進(jìn)步,汽車(chē)防盜技術(shù)己向著自動(dòng)化、智能化方向發(fā)展。現(xiàn)在已經(jīng)有許多國(guó)家的汽車(chē)制造商研制出
5、了比較先進(jìn)和實(shí)用性很強(qiáng)的汽車(chē)防盜報(bào)警器,例如:美國(guó)的鑰匙防盜技術(shù),德國(guó)的變密碼防盜技術(shù),澳大利亞的電子追蹤防盜技術(shù),中國(guó)的全方位遙控防盜技術(shù)等等,這些都是當(dāng)今世界上比較流行的汽車(chē)防盜技術(shù)。但是考慮到實(shí)際情況,由于各方面的條件限制,我做的汽車(chē)防盜報(bào)警器不可能達(dá)到 那么高的技術(shù)含量,一方面要考慮自己理論知識(shí)的基礎(chǔ),另一方面又要考慮制作成和制 作所需的時(shí)間,還要考慮元器件的購(gòu)買(mǎi)問(wèn)題,最后決定采用的方案是:利用 MCS-51 單片機(jī)完成汽車(chē)防盜報(bào)警器的設(shè)計(jì)。主要原因有:(1) 學(xué)習(xí)過(guò)有關(guān) MCS-51 單片機(jī)的原理與相關(guān)技術(shù),有一定的理論知識(shí)基礎(chǔ)。(2) 相關(guān)的參考資料比較齊全。(3) 使用的元器件比
6、較普遍。(4) 制作成本比較低廉。(5) 實(shí)用性強(qiáng)。 整個(gè)方案的目的是:利用 MCS-51 單片機(jī)完成汽車(chē)防盜報(bào)警器的設(shè)計(jì),包括檢測(cè)電路、單片機(jī)控制電路和程序以及報(bào)警電路的設(shè)計(jì)。預(yù)期結(jié)果如下: (1)完成汽車(chē)防盜報(bào)警器的設(shè)計(jì):利用振動(dòng)檢測(cè)電路來(lái)檢測(cè)是否有人或物接觸預(yù)警中得汽車(chē),如果有則發(fā)出聲光報(bào)警,如果沒(méi)有則保持預(yù)警狀態(tài)。 (2)本設(shè)計(jì)主要由以下幾個(gè)部分組成:檢測(cè)電路,單片機(jī)處理電路,報(bào)警電路。使用的主要元器件列表如下:通用單片機(jī) AT89C51 一片 振動(dòng)傳感器器 CLA-3一個(gè) TTL 非門(mén)芯片 74LS04一片 石英晶體振蕩器 12M 一個(gè) 三極管 9012 一個(gè) 獨(dú)立式按鍵 一個(gè) 發(fā)光
7、二極管 一個(gè) 蜂鳴器 一個(gè) 電阻 若干 電容 若干3. 芯片及器件介紹31MCS-51 微型計(jì)算機(jī)單片計(jì)算機(jī)即單片機(jī),其全稱(chēng)為單片微型計(jì)算機(jī)(Single-Chip Microcomputer),亦稱(chēng)為微控制器(Micro controller),就是將 CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多種接口電路都集成到一塊集成電路芯片上的微型計(jì)算機(jī)。因此,一塊芯片就構(gòu)成了一臺(tái)計(jì)算機(jī)。其特點(diǎn)是體積小、成本低、功能強(qiáng)、功耗低,是微機(jī)應(yīng)用產(chǎn)品化的最佳機(jī)種之一。因而它適合作本設(shè)計(jì)的核心控制器件。單片機(jī)可分為多個(gè)品種及系列,AT89C51 屬于 8 位通用型 51 系列單片機(jī)。3.1.1 MCS-5l 基本
8、組成及主要特點(diǎn)MCS-51 系列單片機(jī)基本結(jié)構(gòu)如圖 21 所示。每一片單片機(jī)包括:圖 2-1MCS-51 系列單片機(jī)基本結(jié)構(gòu)(1)中央處理器CPU;(2)128B 內(nèi)部數(shù)據(jù)存儲(chǔ)器 RAM,用以存放可以讀、寫(xiě)的數(shù)據(jù),如運(yùn)算中間結(jié)果和最終結(jié)果等;(3)4KB 內(nèi)部指令存儲(chǔ)器 ROM,用以存放程序,亦可存放一些原始數(shù)據(jù)和表格;(4)4 個(gè) 8 位輸入/輸出接口 P0、P1、P2、P3。每個(gè)口既可以用作輸入,也可以用作輸出;(5)2 個(gè)定時(shí)器/計(jì)數(shù)器。可以用來(lái)對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)器,并根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制;(6)內(nèi)部中斷控制系統(tǒng);(7)1 個(gè)全雙工 UART(通用異步接
9、收發(fā)送器)串行 I/O 接口,使得數(shù)據(jù)可以一位一位 在計(jì)算機(jī)與外設(shè)之間傳送,可用于單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;(8)內(nèi)部時(shí)鐘產(chǎn)生電路,但晶振和微調(diào)電容需要外接。振蕩頻率范圍為 1.212MHz。 以上各部分通過(guò)內(nèi)部總線相連接。表 21 MCS-51 系列單片機(jī)性能MCS-51 系列單片機(jī)有如下一些特點(diǎn):圖 22 雙列直插式封裝 (1)單5V 供電,40 腳封裝,常見(jiàn)的封裝有兩種,本設(shè)計(jì)使用的 AT89C51 的封裝為長(zhǎng)形,引腳排列如圖 3.2.2 所示;(2)1 個(gè)由運(yùn)算器和控制器組成的 8 位微處理器(CPU);(3)片內(nèi)有振蕩電路和時(shí)鐘電路;(4)4 個(gè) 8 位并行 I/O 接
10、口,既可用作輸入,也可用作輸出;(5)擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的尋址范圍可達(dá)到 64KB;(6)擴(kuò)展片外程序存儲(chǔ)器的尋址范圍可達(dá) 64KB;(7)2個(gè) 16 位定時(shí)/計(jì)數(shù)器;(8)具有 2個(gè)優(yōu)先級(jí)別的 5個(gè)中斷源結(jié)構(gòu);(9)可編程全雙工串行通道;(10)布爾處理器;(11)128 個(gè)用戶(hù)位可尋址單元。(12)111 條指令,含有乘法指令和除法指令; 3.1.2 MCS-51 內(nèi)部結(jié)構(gòu)及功能簡(jiǎn)述MCS-5l 系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖 23 所示:圖 23 MCS-51 系列單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部各基本部件之間通過(guò)總線交換信息。所謂總線是信息流通的公共通道,總線上的信息可以同時(shí)輸送給幾個(gè)部件,但
11、不允許幾個(gè)信息同時(shí)輸送給總線,否則將產(chǎn)生信息沖突??偩€按傳送信息不同來(lái)分,可分為數(shù)據(jù)總線(DB)、控制總線(CB)、地址總 線(AB)。數(shù)據(jù)總線用于CPU、存儲(chǔ)器、輸入/輸出接口之間傳送數(shù)據(jù),如從存儲(chǔ)器取數(shù) 到 CPU,把運(yùn)算結(jié)果從 CPU送到外部設(shè)備等。數(shù)據(jù)總線是雙向的,控制總線是傳送 CPU 發(fā)出的控制信號(hào),也可以是其它部件輸入到微處理器的信息,對(duì)于每一條控制線,其傳送方向是固定的。地址總線用來(lái)傳輸 CPU 發(fā)出的地址信息,以選擇需要訪問(wèn)的存儲(chǔ)器和 I/O 接口電路。地址總線是單向的,只能是 CPU 向外傳送地址信息。單片機(jī)采用上述三組總線的連接方式。(1)微處理器(CPU)微處理器又稱(chēng)
12、CPU,是單片機(jī)的控制和指揮中心,由運(yùn)算器和控制器兩大部分組成。運(yùn)算器運(yùn)算器以算術(shù)邏輯運(yùn)算單元 ALU 為核心,含累加器 A、暫存器 1、暫存器 2、程序狀態(tài)字 PSW、B 寄存器等許多部件。算術(shù)邏輯單元(ALU):它在控制器所發(fā)出內(nèi)部控制信號(hào)作用下,進(jìn)行各種算術(shù)運(yùn)算和邏輯運(yùn)算。如帶進(jìn)位位加法、不帶進(jìn)位位加法、帶借位位減法、加 1、減 1、BCD數(shù)十進(jìn)制調(diào)整、邏輯與、邏輯或、邏輯異或、求補(bǔ)、循環(huán)移位以及數(shù)據(jù)傳送、程序轉(zhuǎn)移等操作,此外,還具有以下功能:在 B寄存器配合下,能完成乘法與除法操作:可進(jìn)行內(nèi)容交換操作;能作比較判斷跳轉(zhuǎn)操作;很強(qiáng)的位操作功能。累加器 A:是最常用的專(zhuān)用寄存器。進(jìn)入 AL
13、U作算術(shù)運(yùn)算和邏輯運(yùn)算的操作數(shù)大多來(lái)自累加器 A,操作的結(jié)果也常送回 A。除此之外,A累加器還經(jīng)常作數(shù)據(jù)傳送的中轉(zhuǎn)站,實(shí)現(xiàn)將一個(gè)存儲(chǔ)單元中的數(shù)送到另一個(gè)存儲(chǔ)單元的任務(wù)。程序狀態(tài)字 PSW:是程序狀態(tài)字寄存器,簡(jiǎn)稱(chēng)程序狀態(tài)字,PSW是一個(gè) 8 位特殊功能寄存器用于存放指令執(zhí)行后結(jié)果的狀態(tài)信息。其各位的含義如圖 24所示,其中 D1 位未定義。圖 24 累加器 A各位的含義8位特殊功能寄存器 B:B 寄存器又稱(chēng)乘法寄存器,它與累加器 A協(xié)同工作,可進(jìn)行乘法操作和除法操作。在乘、除運(yùn)算時(shí),B 寄存器用來(lái)存放其中的一個(gè)操作數(shù),或存放運(yùn)算后的一部分結(jié)果,若不作乘除法運(yùn)算時(shí),則可作為通用寄存器使用。此外,
14、8051 片內(nèi)還有個(gè)布爾處理器(圖中未繪出),它以 PWS中的進(jìn)位標(biāo)志 Cy為其累加器,專(zhuān)門(mén)用于位操作,可執(zhí)行置位、位清零、位取反、位等于 1 轉(zhuǎn)移、位等于0 轉(zhuǎn)移、位等于 1 轉(zhuǎn)移并清零以及位累加器 C 與其它可尋址位之間進(jìn)行信息傳送等位操作,也能使用 C與其它可尋址位之間進(jìn)行邏輯“與”、邏輯“或”操作,結(jié)果存放在進(jìn)位標(biāo)志位 C 中??刂破骺刂破靼ǔ绦蛴?jì)數(shù)器 PC、指令寄存器 IR、指令譯碼器 ID、振蕩器、定時(shí)電路及控制電路等部件,能根據(jù)不同的指令產(chǎn)生相應(yīng)的操作時(shí)序和控制信號(hào)。程序計(jì)數(shù)器 PC:由兩個(gè) 8 位計(jì)數(shù)器 PCH 及 PCL 組成,共 16 位。PC 實(shí)際上是程 序字節(jié)地址計(jì)數(shù)
15、器,PC 中的內(nèi)容是將要執(zhí)行的下一條指令的地址。改變 PC 的內(nèi)容就可改變程序執(zhí)行的方向。PC 可對(duì) 64KB 程序存儲(chǔ)器直接尋址,也可對(duì) 64KB 片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器尋址。指令寄存器 IR 及指令譯碼器 ID:當(dāng) CPU 根據(jù) PC 程序計(jì)數(shù)器的值從指定的存儲(chǔ)單 元中取出選取的指令時(shí),送到指令寄存器 IR,再送到指令譯碼器 ID,由指令譯碼器 ID 對(duì)指令譯碼并送 PLA 邏輯陣列產(chǎn)生一定序列的控制信號(hào),以執(zhí)行指令所規(guī)定的操作。振蕩器及定時(shí)電路:8051 單片機(jī)內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容就可以產(chǎn)生 8051 工作的基本節(jié)拍脈沖。(2)存儲(chǔ)器配置概述MCS-51 單片機(jī),片內(nèi)
16、除了 CPU 之外,還有存儲(chǔ)器。其中,片內(nèi)只讀存儲(chǔ)據(jù)(ROM) 用作程序存儲(chǔ)器,在計(jì)算機(jī)工作時(shí),事先存入已編好的各種程序、常數(shù)、表格;片內(nèi)讀 寫(xiě)存儲(chǔ)器(RAM)又稱(chēng)隨機(jī)存儲(chǔ)器,它的存儲(chǔ)單元的內(nèi)容根據(jù)需要既可隨時(shí)讀出也可寫(xiě) 入,用作數(shù)據(jù)存儲(chǔ)器,存放輸入、輸出數(shù)據(jù)和中間計(jì)算結(jié)果或與外存交換信息,以及 作為堆棧,在必要時(shí)可保存斷點(diǎn)、保存現(xiàn)場(chǎng)。MCS-51 系列單片機(jī)內(nèi)含有的存儲(chǔ)器容量(以 字節(jié)為單位)見(jiàn)表 21。在容量不夠時(shí),可以另外擴(kuò)展片外程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。(3)MCS-51 單片機(jī) I/O 口概述MCS-51 單片微型計(jì)算機(jī)芯片有 4 個(gè) 8 位并行輸入輸出口,分別稱(chēng)為 P0 口、P1
17、 口、 P2 口和 P3 口,每個(gè)口都是 8 位準(zhǔn)雙向口,這 4 個(gè)接口可以并行輸入或輸出 8 位數(shù)據(jù), 也可按位使用,即每一個(gè)根輸入輸出線都能獨(dú)立的用作輸入或輸出;每個(gè)端口都包括一個(gè)數(shù)據(jù)鎖存器(即特殊功能寄存器 P03),個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。作輸出時(shí)數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以緩沖,但這四個(gè)通道的功能并不完全相同。3.1.3 工作原理(1)電源引腳VCC :接十 5V 電源。VSS :接電源地端。(2)外接晶體引腳XTAL1:片內(nèi)反相放大器輸入端。XTAL2:片內(nèi)反相放大器輸出端。外接晶體時(shí),XTAL1 與 XTAL2各接晶體一端,借外接晶體與片內(nèi)反相放大器構(gòu)成振蕩器。MCS-51
18、系列單片機(jī)內(nèi)含有一個(gè)高增益的反相放大器,通過(guò) XTAL1、XTAL2外接作為反饋元件的晶體后,構(gòu)成自激振蕩器,接法如圖 25 所示。圖 25MCS-51 單片機(jī)晶體振蕩器電路晶體呈感性,與 C1、C2 構(gòu)成并聯(lián)諧振電路。振蕩器的振蕩頻率主要取決于晶體;電容對(duì)振蕩頻率有微調(diào)作用,通常取 30pF 左右。電容的安裝位置應(yīng)盡量靠近單片機(jī)芯 片。也可采用片外振蕩器,按不同工藝制造的單片機(jī)芯片接法也不同。電路中的石英晶體又稱(chēng)石英晶體諧振器,是一種用于穩(wěn)定頻率和選擇頻率的電子元 件。石英晶體是一種各向異性的結(jié)晶體,從一塊晶體上按一定的方位角切下薄片稱(chēng)為晶片,然后在晶片的兩個(gè)對(duì)應(yīng)表面上涂敷銀層并裝上一對(duì)金屬
19、板,就構(gòu)成了石英晶體諧振器。石英晶體之所以能做諧振器是基于它的“壓電效應(yīng)”,從物理學(xué)中已知,若在晶片的兩個(gè)極板間加上一電場(chǎng),會(huì)使晶體產(chǎn)生機(jī)械變形;反之,若在極間施加機(jī)械力,又會(huì)在相應(yīng)的方向上產(chǎn)生電場(chǎng),這種現(xiàn)象稱(chēng)為壓電效應(yīng)。如在極板間所加的是交變電壓,就會(huì)產(chǎn)生機(jī)械變形振動(dòng),同時(shí)機(jī)械變形振動(dòng)又會(huì)產(chǎn)生交變電場(chǎng)。一般來(lái)說(shuō),這種機(jī)械振動(dòng)的振幅是比較小的,但振動(dòng)頻率則是很穩(wěn)定的。但當(dāng)外加交變電壓的頻率與晶片的固有頻率(決定于晶片的尺寸)相等時(shí),機(jī)械振動(dòng)的幅度將急劇增加,這種現(xiàn)象稱(chēng)為“壓電 諧振”。石英晶體諧振器的壓電諧振現(xiàn)象可以用圖 26 所示的等效電路來(lái)模擬,等效電路 中的 C0 為切片與金屬板構(gòu)成的靜
20、電電容,L 和 C 分別模擬晶體的質(zhì)量(代表慣性)和彈性,而晶片振動(dòng)時(shí),因摩擦而造成的損耗則用電阻 R來(lái)等效。 (a) 代表符號(hào) (b) 等效電路圖 26 石英晶體諧振器石英晶體的一個(gè)可貴的特點(diǎn)在于它具有很高的質(zhì)量與彈性的比值,因而它的品質(zhì)因數(shù) Q高達(dá) 10000500000 的范圍內(nèi)。由石英諧振器組成的振蕩器,其最大特點(diǎn)是頻率穩(wěn)定度極高,可達(dá) 108/日109/日,甚至更高,如 1011/日。本設(shè)計(jì)中使用的是內(nèi)部時(shí)鐘電路方式,如圖 25 左圖所示。晶體振蕩器與單片機(jī)內(nèi)部時(shí)鐘電路連接,振蕩信號(hào)從 XTAL2端輸入到片內(nèi)的時(shí)鐘發(fā)生器上,時(shí)鐘發(fā)生器是 一個(gè) 2 分頻的觸發(fā)器電路,它將振蕩器的信號(hào)頻
21、率經(jīng) 2 分頻后,向 CPU 提供了兩相時(shí)鐘信號(hào) P1 和 P2,控制單片機(jī)各部件協(xié)調(diào)工作。(3)輸入/輸出引腳 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為 數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0 輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)
22、部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙
23、向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng) P3口寫(xiě)入“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ǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)(4)MCS-51 機(jī)器周期和指令周期晶體振蕩器的振蕩信號(hào)
24、從 XTAL2 端輸入到片內(nèi)的時(shí)鐘發(fā)生器上,如圖 27 所示, 時(shí)鐘發(fā)生器是一個(gè) 2分頻的觸發(fā)器電路,它將振蕩器的信號(hào)頻率經(jīng) 2 分頻后,向 CPU提供了兩相時(shí)鐘信號(hào) P1 和 P2。一個(gè)時(shí)鐘信號(hào)的周期稱(chēng)為一個(gè)機(jī)器狀態(tài)周期,它是振蕩周期的 2 倍,在每個(gè)時(shí)鐘周期的前半周期,相位 1(P1)信號(hào)有效,在每個(gè)時(shí)鐘周期的后半周期,相位 2(P2)信號(hào)有效。即每個(gè)時(shí)鐘周期(又稱(chēng)為狀態(tài)周期)有兩個(gè)節(jié)拍,P1 和 P2, CPU 以?xún)上喙?jié)拍 Pl 和 P2 為基本節(jié)拍,控制單片機(jī)各部件協(xié)調(diào)工作。6 個(gè)時(shí)鐘周期構(gòu)成 1個(gè)機(jī)器周期。CPU 執(zhí)行一條指令的時(shí)間稱(chēng)為指令周期。指令周期以機(jī)器周期為單位的。例如:?jiǎn)沃?/p>
25、期指令是指執(zhí)行一條指令的時(shí)間為 1個(gè)機(jī)器周期, 而雙字節(jié)指令執(zhí)行時(shí)間為 2個(gè)機(jī)器周期。若用 12MHz 晶振,則單周期指令和雙周期指令的執(zhí)行時(shí)間分別為 1 s 和 2 s,乘法指令和除法指令為 4 s。如以 S1,S2S6 表示一個(gè)機(jī)器周期的 6 個(gè)時(shí)鐘周期,以 P1,P2 表示每個(gè)時(shí)鐘周期的 2個(gè)節(jié)拍,則一個(gè)機(jī)器周期依次有 S1P1、S1P2,S2P1、S2P2S6P6 共 12個(gè)振蕩周期。圖 278051 片內(nèi)振蕩器及時(shí)鐘發(fā)生器ALE 脈沖在每個(gè)機(jī)器周期的 S1P2S2P1 和 S4P2S5P1 期間各發(fā)生一次有效。但 當(dāng)對(duì)外部 RAM 進(jìn)行讀/寫(xiě)時(shí),ALE 信號(hào)不是周期性的,但在其它情況
26、下,ALE 信號(hào)是一種周期信號(hào),可以用作其它外部設(shè)備的時(shí)鐘信號(hào)。(5)CPU 取指令、執(zhí)行指令周期時(shí)序 每一條指令的執(zhí)行都包括取指令和執(zhí)行指令兩個(gè)階段。在 8051 指令系統(tǒng)中,其指令有單字節(jié)、雙字節(jié)和多字節(jié)指令,但從指令的執(zhí)行速度來(lái)看,單字節(jié)指令和雙字節(jié)指令都可以是單周期或雙周期,而三字節(jié)指令都是雙周期的,只有乘法指令、除法指令是 4個(gè)機(jī)器周期指令。圖 28 為典型指令執(zhí)行周期的 CPU 時(shí)序,其中圖 28(a)是單字節(jié)單周期指令,圖 28(b)是雙字節(jié)單周期指令。二者都在 S1P2 期間由 CPU 取指令, 即將指令代碼讀入指令寄存器,同時(shí)程序計(jì)數(shù)器 PC 加 1;后者在同個(gè)機(jī)器周期的 S
27、4 再讀第二字節(jié);前者在 S4 雖也讀操作碼,但既是單字節(jié)指令,讀的已是下一條指令, 故讀后丟棄不用,PC 也不加 1,兩種指令在 S6P2 結(jié)束時(shí)都會(huì)完成操作。圖 28(c)是單字節(jié)雙周期指令,圖 28(d)是雙字節(jié)雙周期指令。單字節(jié)雙周期指令,在兩個(gè)機(jī)器周期內(nèi)將 4 次讀操作碼,不過(guò)后 3 次讀后都丟棄不用。(6)外接附加電路MCS-51 單片機(jī)的工作方式大體可以歸納為四種;復(fù)位方式、程序執(zhí)行方式、節(jié)電方式和 EPROM 的編程與校驗(yàn)方式。本設(shè)計(jì)中使用的是復(fù)位方式。MCS-51 系列單片機(jī)的復(fù)位(RST)引腳上只要出現(xiàn) 10ms 以上的高電平,單片機(jī)就實(shí)現(xiàn)復(fù)位。復(fù)位的功能是把程序計(jì)數(shù)器 P
28、C 值初始化為 0000H,使單片機(jī)從 0000H 單元開(kāi)始執(zhí)行程序。除此之外,復(fù)位操作還對(duì)些特殊功能寄存器值也有影響。圖 288051 取指令、執(zhí)行指令周期時(shí)序復(fù)位工作狀態(tài)單片機(jī)在 RST 引腳高電平控制下,特殊功能寄存器和程序計(jì)數(shù)器 PC 復(fù)位后的狀態(tài)如表 22 所示。復(fù)位不影響片內(nèi) RAM 存放的內(nèi)容,控制信號(hào) ALE、PSEN 在復(fù)位有效期間將輸出高電平。表 22 特殊功能寄存器和程序計(jì)數(shù)器 PC 復(fù)位后的狀態(tài)表 22 特殊功能寄存器和程序計(jì)數(shù)器 PC 復(fù)位后的狀態(tài)單片機(jī)的各個(gè)功能模塊由特殊功能寄存器控制,而程序的運(yùn)行由 PC 管理,所以上述的復(fù)位狀態(tài)決定了單片機(jī)的初始狀態(tài)。復(fù)位電路M
29、CS-51 單片機(jī)系統(tǒng)常常有上電復(fù)位和操作復(fù)位兩種方法。上電復(fù)位,是指單片機(jī) 上電瞬間,要在 RST 引腳上出現(xiàn)寬度大于 10ms 的正脈沖,才能使計(jì)算機(jī)進(jìn)入復(fù)位狀態(tài)。 操作復(fù)位是指用戶(hù)按下“復(fù)位”按鈕使單片機(jī)進(jìn)人復(fù)位狀態(tài)。本設(shè)計(jì)使用的是操作復(fù)位方法。復(fù)位是靠外部電路實(shí)現(xiàn)的,圖 29 是上電復(fù)位及按鈕復(fù)位的實(shí)用電路。圖 29 上電復(fù)位及按鈕復(fù)位實(shí)用電路按鈕按下時(shí)RST上出現(xiàn)高電平,實(shí)現(xiàn)了操作復(fù)位,在系統(tǒng)運(yùn)用中,有些外圍芯片也需要復(fù)位。如果這些芯片復(fù)位端的復(fù)位電平與單片機(jī)的一致,則可以與單平機(jī)的復(fù)位腳相連。非門(mén)在這里不僅起到了倒相作用,還增大了驅(qū)動(dòng)能力。電容 Cl、C2起濾波作用,防止干擾竄入復(fù)
30、位端產(chǎn)生誤動(dòng)作。3.1.4 定時(shí)器AT89C51單片機(jī)內(nèi)部設(shè)有兩個(gè)16位可編程的定時(shí)器計(jì)數(shù)器,簡(jiǎn)稱(chēng)定時(shí)器0和定時(shí)器1,分別用T0和Tl表示。它們的工作方式、定時(shí)時(shí)間、量程、啟動(dòng)方式等均可以通過(guò)程序來(lái)設(shè)置和改變。AT89C51單片機(jī)內(nèi)部定時(shí)器的邏輯結(jié)構(gòu)見(jiàn)圖210。它由兩個(gè)特殊功能寄存器TCON和 TMOD及T0、Tl組成。其中TMOD為模式控制寄存器,主要用來(lái)設(shè)置定時(shí)器計(jì)數(shù)器的操作模式;TCOK為控制寄存器,主要用來(lái)控制定時(shí)器的啟動(dòng)與停止。兩個(gè)16位的定時(shí)器計(jì)數(shù)T0和T1均可以分成2個(gè)獨(dú)立的8位計(jì)數(shù)器即TH0、TL0、THl、TLl,它們用于存定時(shí)或計(jì)數(shù)的初值。它們是個(gè)加1的計(jì)數(shù)器。圖2-10A
31、T89C51定時(shí)器邏輯結(jié)構(gòu)框圖3.1.4.1 定時(shí)器的工作原理MCS5l單片機(jī)的兩個(gè)定時(shí)器均有兩種工作方式,即定時(shí)和計(jì)數(shù)工作方式。由TMOD 的D6位和D2位選擇,其中D6位選擇T1的工作方式,D2位選擇T0的工作方式。(1)選擇定時(shí)工作方式時(shí)TMOD的D6或D20,T0或T1工作在定時(shí)方式時(shí),計(jì)數(shù)脈沖輸人信號(hào)是由內(nèi)部時(shí)鐘提供的。每一個(gè)機(jī)器周 期使計(jì)數(shù)器的值加1。每個(gè)機(jī)器周期等于12個(gè)振蕩周期,故計(jì)數(shù)器的計(jì)數(shù)頻率為振蕩器 頻率的l12。例如晶振的頻率fosc12MHz時(shí),則計(jì)數(shù)器的計(jì)數(shù)頻率fcontf112為1MHz。實(shí)質(zhì)上定時(shí)工作方式,就是對(duì)單片機(jī)的機(jī)器周期數(shù)進(jìn)行計(jì)數(shù)。由此可知計(jì)數(shù)器計(jì)數(shù)脈沖
32、的周期:T1fcont1(fosc1l 2)12fosc式中fosc為單片機(jī)振蕩器的頻率, fcont為計(jì)數(shù)脈沖的頻率,等于fosc12。AT89C51單片機(jī)的定時(shí)器用于定時(shí),其定時(shí)的時(shí)間由計(jì)數(shù)初值和選擇的計(jì)數(shù)器的長(zhǎng) 度(如8位、13位或l6位)來(lái)確定。(2)選擇計(jì)數(shù)工作方式時(shí)TMOD的D6或D21T0或T1工作在計(jì)數(shù)方式時(shí),計(jì)數(shù)脈沖來(lái)自相應(yīng)的外部輸入引腳T0或T1,故計(jì)數(shù)方式是用于對(duì)外部事件進(jìn)行計(jì)數(shù)。當(dāng)外部輸入脈沖信號(hào)產(chǎn)生由1至0的跳變時(shí)計(jì)數(shù)器的值加1。 計(jì)數(shù)器在每個(gè)機(jī)器周期的s5P2期間,對(duì)外部脈沖輸入進(jìn)行一次采樣。例如在第一個(gè)機(jī)器 周期中采樣到高電平“1”,而在第二個(gè)機(jī)器周期中采樣到一個(gè)
33、“0”則在緊跟著的再下一個(gè)(第三個(gè))機(jī)器周期的s3P1期間計(jì)數(shù)器加1。由于確認(rèn)一次由l至0的下跳變要花2個(gè)機(jī)器周期,即24個(gè)振蕩器周期,故計(jì)數(shù)器的最高計(jì)數(shù)為fcontfosc124。例如fosc為12MHz,則最高的采樣頻率為12124等于0.5MHz。對(duì)外部脈沖的占空比并沒(méi)有什么限制,但為了確保某一給定的電平在變化之前至少被采樣一次,因此外部計(jì)數(shù)脈沖的高電平和低電乎保持時(shí)間均要求在一個(gè)機(jī)器周期以上。3.1.4.2 定時(shí)計(jì)數(shù)器的控制AT89C51單片機(jī)的定時(shí)器是一種可編程的部件。它的工作方式、操作模式、計(jì)數(shù)初值,啟停操作均要求在定時(shí)器工作之前,CPU必須向它寫(xiě)入一些命令字,下面介紹與定時(shí)器工作
34、有關(guān)的寄存器。(1)模式控制寄存器TMOD TMOD是一個(gè)專(zhuān)用寄存器,用于控制T1和To的操作模式及工作方式,其各位定義如下:GATE:門(mén)控值,用來(lái)控制定時(shí)器啟動(dòng)操作方式。當(dāng) GATE0 時(shí),定時(shí)器只由軟件控制位 TR0 或 TRl 來(lái)控制啟停。TR1 位為 1,定時(shí)器啟動(dòng)開(kāi)始工作;為 0 時(shí),定時(shí)器停止工作。當(dāng) GATE1 時(shí),定時(shí)器的啟動(dòng)要由外部中斷引腳和 TR1 位共同控制。只有當(dāng)外部中斷引腳 INT 0 或 INT1為高時(shí),TR0 或 TRl 置 l 才能啟動(dòng)定時(shí)器工作。C/T :功能選擇位。當(dāng) C/T O 時(shí)設(shè)置為定時(shí)器工作方式;計(jì)數(shù)脈沖由內(nèi)部提供,計(jì)數(shù)周期等于機(jī)器周期。當(dāng) C/T
35、1 時(shí)設(shè)置為計(jì)數(shù)器工作方式,計(jì)數(shù)脈沖為外部引腳 T0 或 T1 的引入的外部脈沖信號(hào)。M1M0:操作模式控制位,2 位可形成 4 種編碼,對(duì)應(yīng)于 4 種操作模式。4 種模式定義如下:M1MO操作模式 功能簡(jiǎn)述0 0模式 0 13 位計(jì)數(shù)器,TL1 只用低 5 位0 1模式 1 16 位計(jì)數(shù)器1 0模式 2 8 位自動(dòng)重裝計(jì)數(shù)器,THi 的值在計(jì)數(shù)中不變中的值自動(dòng)裝入TL1中1 1模式 3 T0 分成 2 個(gè)獨(dú)立的 8 位計(jì)數(shù)器Tl 停止計(jì)數(shù)TMOD 模式控制寄存器不能進(jìn)行位尋址,只能用字節(jié)傳送指令設(shè)置定時(shí)器的工作方式及操作模式,低 4 位用于定義定時(shí)器 0,高 4 位用于定義定時(shí)器 1。系統(tǒng)復(fù)
36、位時(shí) TMOD 各有效位均為 0。模式控制字的設(shè)置舉例:若設(shè)置定時(shí)器 1 為定時(shí)器工作方式,由軟件啟動(dòng)選擇操作模式 2;定時(shí)器 0 為計(jì)數(shù)方式;由軟件啟動(dòng),選擇操作模式 l。則 TMOD 各位設(shè)置為:00l001Ol25H用 MOV TMOD、425H 指令寫(xiě)入 TMOD 中(2)控制寄存器TCONTCON 的作用是用于控制定時(shí)器的啟、停及定時(shí)器的溢出標(biāo)志和外部中斷觸發(fā)方式等。各位定義如下:TFl 和 TF0;分別為定時(shí)器 1 和定時(shí)器 0 溢出標(biāo)志。當(dāng)定時(shí)器計(jì)滿產(chǎn)生溢出時(shí),由硬件自動(dòng)置“1”,并可申請(qǐng)中斷。進(jìn)人中斷服務(wù)程序后,由硬件自動(dòng)清 0。達(dá)兩位也可作為程序查詢(xún)的標(biāo)志位,在查詢(xún)方式下應(yīng)由
37、軟件來(lái)清 0。TRl 和 TR0:為定時(shí)器 1 和定時(shí)器 0 的啟動(dòng)控制位。當(dāng)由軟件使 TRi 清 0 而停止定時(shí)器的工作。定時(shí)器啟動(dòng)時(shí)該位應(yīng)置“1”。IEl 和 IE0:為外部中斷 1 INT1和外部 0 INT 0 的中斷請(qǐng)求標(biāo)志位。當(dāng)外部中斷源有請(qǐng)求時(shí)其對(duì)應(yīng)的中斷標(biāo)志位置“l(fā)”。其復(fù)位由觸發(fā)方式來(lái)設(shè)置。IT1 和 IT0:為外部中斷 1 和外部中斷。的觸發(fā)方式選擇位。IT1 設(shè)置為“0”時(shí)為電平觸發(fā)方式;設(shè)置為“1”時(shí)為邊沿觸發(fā)方式。TCON 中低 4 位是與外部中斷有關(guān)的位,高 4 位為定時(shí)器控制位。它是一個(gè)可以進(jìn) 行位尋址的寄存器。當(dāng)系統(tǒng)復(fù)位時(shí)所有位均為 0。若要啟動(dòng)定時(shí)器可以使用位
38、操作指令 SETBTR1 來(lái)啟動(dòng)。3.1.4.3 定時(shí)計(jì)數(shù)器的初始化由于定時(shí)器的功能是由軟件來(lái)設(shè)置的所以一般在使用定時(shí)計(jì)效器前均要對(duì)其進(jìn) 行初始化。(1)確定工作方式、操作模式、啟動(dòng)控制方式寫(xiě)入 TM0D 寄存器。 (2)設(shè)置定時(shí)或計(jì)數(shù)據(jù)的初值可直接按初值寫(xiě)人 TH0、TL0 或 THl、TLl 中。16位計(jì)數(shù)初值必須分兩次寫(xiě)入對(duì)應(yīng)的計(jì)數(shù)器。(3)根據(jù)要求是否采用中斷方式直接對(duì) IE 位賦值。開(kāi)放中斷時(shí),對(duì)應(yīng)位置 1P采用程序查詢(xún)方式 IE 位應(yīng)清 0 進(jìn)行中斷屏蔽。(4)啟動(dòng)定時(shí)器工作一一可使用 SETB TR1 啟動(dòng)。若第一步設(shè)置為軟啟動(dòng),即 GATE 設(shè)置為 0 時(shí),以上指令執(zhí)行后,定時(shí)
39、器即可開(kāi)始工作。若 CATE 設(shè)置為 1 時(shí),還必須由 外部中斷引腳 INTi 共同控制,只有當(dāng) INTi 為引腳電平為高時(shí),以上指令執(zhí)行后定時(shí)器 方可啟動(dòng)工作。定時(shí)器一旦啟動(dòng)就按規(guī)定的方式定時(shí)或計(jì)數(shù)。(5)計(jì)數(shù)初值的計(jì)算 定時(shí)或計(jì)數(shù)方式下計(jì)數(shù)初值如何確定,定時(shí)器選擇不同助工作方式,不同的操作模式其計(jì)數(shù)初值均不相同。若設(shè)最大計(jì)數(shù)值為 M,各操作模式下的 M 值為:模式 0:M=2138192模式 1:M21665536 模式 2:M28256模式 3:M256,定時(shí)器 T0 分成 2 個(gè)獨(dú)立的 8 位計(jì)數(shù)器,所以 TH0、TL0的M 均為2569。因?yàn)?MCS51 的兩個(gè)定時(shí)器均為加 l 計(jì)數(shù)
40、器,當(dāng)加到最大值(00H 或 0000H)時(shí)產(chǎn)生溢 出,將 TF 位置 1可發(fā)出溢出中斷,因此計(jì)數(shù)器初值 X 的計(jì)算式為;XM-計(jì)數(shù)值,式 中的 M 由操作模式確定,不同的操作模式計(jì)數(shù)器的長(zhǎng)不相同,故 M 值也不相同。 因此式中的計(jì)數(shù)值與定時(shí)器的工作方式有關(guān)。計(jì)數(shù)工作方式時(shí) 計(jì)數(shù)工作方式時(shí),計(jì)數(shù)脈沖由外部引入,是對(duì)外部脈沖進(jìn)行計(jì)數(shù),因此計(jì)數(shù)值根據(jù)要求確定。其計(jì)數(shù)初值;xM 一計(jì)數(shù)值 例如:某工序要求對(duì)外部脈沖信號(hào)計(jì) 100 次,xM 一 100定時(shí)工作方式時(shí) 定時(shí)工作方式時(shí),因?yàn)橛?jì)數(shù)脈沖由內(nèi)部供給,是對(duì)機(jī)器周期進(jìn)行計(jì)數(shù),故計(jì)數(shù)脈沖頻率為 fCONTfOSC112、計(jì)數(shù)周期 T1fCONT12f
41、OSC,定時(shí)工作方式的計(jì)數(shù)初值 x等于:XM 一計(jì)數(shù)值MtTM 一(fOSCt)12式中:fOSC 為振蕩器的振蕩頻率,t 為要求定時(shí)的時(shí)間。3.1.5單片機(jī)的中斷系統(tǒng)中斷技術(shù)是計(jì)算機(jī)中一項(xiàng)很重要的技術(shù),中斷系統(tǒng)由硬件和軟件組成。3.1.5.1 AT89C51 的中斷系統(tǒng)(1)中斷系統(tǒng)的組成AT89C51 系列單片機(jī)有 5 個(gè)中斷源,可分為 2 個(gè)中斷優(yōu)先級(jí),即高優(yōu)先級(jí)和低優(yōu)先級(jí);每一個(gè)中斷源的優(yōu)先級(jí)都可以由程序來(lái)設(shè)定。AT89C51 的中斷系統(tǒng)組成見(jiàn)圖 215 所示。 它由 4 個(gè)與中斷有關(guān)的特殊功能寄存器 (TCON、SCON 的相關(guān)位作中斷源的標(biāo)志位),中斷允許控制寄存器 IE 和中斷順
42、序查詢(xún)邏輯等組成。圖 2-15 AT89C51 的中斷系統(tǒng)中斷順序查詢(xún)邏輯亦稱(chēng)硬件查詢(xún)邏輯,5個(gè)中斷源的中斷請(qǐng)求是否會(huì)得到響應(yīng),要受中斷允許寄存器匯各位的控制,它們的優(yōu)先級(jí)分別由 IP 各位來(lái)確定;同一優(yōu)先級(jí)內(nèi)的各中斷源同時(shí)請(qǐng)求中斷時(shí)就由內(nèi)部的硬件查詢(xún)邏輯來(lái)確定響應(yīng)次序;不同的中斷源有不同的中斷矢量。(2)中斷源及中斷人口由圖 27 可知 AT89C51 單片機(jī)有 5 個(gè)中斷源:2 個(gè)外部輸人中斷源 INT 0(P3.2) 和 INT1 (P3,3) ;3 個(gè)內(nèi)部中斷源 T0 和 T1 的溢出中斷源及串行口發(fā)送接收中斷源。其中斷請(qǐng)求信號(hào)的產(chǎn)生如下述: INT 0 和 INT1:外部中斷 0 和
43、外部中斷 1其中斷請(qǐng)求信號(hào)分別由 P3.2,P3.3 引 腳輸入。請(qǐng)求信號(hào)的有效電平由 IT0 和 IT1 設(shè)置,一旦輸入信號(hào)有效,則將 TCON 中的 IE0 或 IE1 標(biāo)志位置 1,可向 CPU 申請(qǐng)中斷。TF0 和 TF1:定時(shí)器 0 和定時(shí)器 1 的溢出中斷。當(dāng) T0 或 T1 計(jì)數(shù)器加 l 計(jì)數(shù)產(chǎn)生 溢出時(shí),則將 TCON 中的 TF0 或 TF1 置位,向 CPU 申請(qǐng)中斷。RI 和 TF1:串行口的接收和發(fā)送中斷。當(dāng)串行口接收或發(fā)送完一幀數(shù)據(jù)時(shí),將 TCON 中的 RI 或 TI 位置 1,向 CPU 申請(qǐng)中斷。當(dāng)某中斷源的中斷請(qǐng)求被 CPU 響應(yīng)之后,CPU 將自動(dòng)把此中斷源
44、的中斷人口地址(又稱(chēng)中斷矢量地址)裝入 PC,中斷服務(wù)程序即從此地址開(kāi)始執(zhí)行。因此一般在此地址單元中存放一條絕對(duì)跳轉(zhuǎn)指令,可以跳至用戶(hù)安排的中斷服務(wù)程序的人口處。AT89C51 單片機(jī)各中斷源的矢量地址是固定的。見(jiàn)表 23。表 2-3 單片機(jī)中斷源的矢量地址表中斷源矢量地址自然優(yōu)先級(jí)TNTO 外部中斷 0 中斷0003H最高 最低T0 定時(shí)器 0 中斷000BHTNT1 外部中斷 1 中斷0013HT1 定時(shí)器 1 中斷002BHR1 或 T1 串行口中斷0023H(3)中斷控制部分的功能AT89C51 單片機(jī)中斷控制部分由 4 個(gè)專(zhuān)用寄存器組成,它們的功能分述如下:中斷請(qǐng)求標(biāo)志:5 個(gè)中斷源
45、的外部中斷和定時(shí)器中斷請(qǐng)求標(biāo)志位設(shè)置在定時(shí)控制寄存器 TCON(是一 個(gè)特殊功能寄存器)中,其各位的定義及標(biāo)志位和建立 2.1 節(jié)中已述,在此僅說(shuō)明一下 TCON 的 ITO 和 IT1 位,它們是外部中斷的觸發(fā)方式設(shè)置位,決定外部中斷的復(fù)位方法。 外部中斷的復(fù)位方式為:當(dāng) IT0 時(shí),外部中斷為電平觸發(fā)方式,該方式下 CPU 每個(gè)機(jī) 器周期的 S5P2 期間對(duì) TNT 引腳采樣,若測(cè)得為低電平,則認(rèn)為有中斷申請(qǐng),隨即使 IE 標(biāo)志位置位;若測(cè)得為高電平,認(rèn)為無(wú)中斷申請(qǐng)或中斷申請(qǐng)已撤除,隨即清除 IE 標(biāo)志位。在電平觸發(fā)方式中,CPU 響應(yīng)中斷后不能自動(dòng)清除 IE 標(biāo)志位,也不能由軟件清除 I
46、E 標(biāo)志,所以在中斷返回前必須撤消 TNT 引腳上的低電平,否則將再次中斷造成出錯(cuò)。若 IT1 時(shí),外部中斷設(shè)置為邊沿觸發(fā)方式。CPU 在每個(gè)機(jī)器周期的 S5P2 期間采樣 而引腳,若在連續(xù)兩個(gè)機(jī)器周期采樣到先高后低的電平變化,則將 IE 標(biāo)志位置“1”此 標(biāo)志一直保持到 CPU 響應(yīng)中斷時(shí),才由硬件自動(dòng)清除。在邊沿觸發(fā)方式中,為保證 CPU 在兩個(gè)機(jī)器周朗內(nèi)檢測(cè)到由高至低的負(fù)跳變,輸入高電平和低電平的持續(xù)時(shí)間起碼要保 持 12 個(gè)振蕩器周期即一個(gè)機(jī)器周期的時(shí)間。TCON 的其它位在此不再重述。串行口的中斷請(qǐng)求標(biāo)志由串行口控制寄存器 SCON 的 D0 和 D1 位來(lái)設(shè)置。RI(SCON.0)
47、 為接收中斷標(biāo)志位;TI(SCON.1)為發(fā)送中斷標(biāo)志位。其中斷申請(qǐng)信號(hào)的產(chǎn)生過(guò)程為:發(fā)送過(guò)程:當(dāng) CPU 將一個(gè)數(shù)據(jù)寫(xiě)入發(fā)送緩沖器 SBUF 時(shí),就啟動(dòng)發(fā)送,每發(fā)送完一 幀數(shù)據(jù)。由硬件自動(dòng)將 TI 位置位。但 CPU 響應(yīng)中斷時(shí),并不能清除 TI 位,所以必須由軟件清除。接收過(guò)程:在串行口允許接收時(shí)即可串行接收數(shù)據(jù),當(dāng)一幀數(shù)據(jù)接收完畢,由硬 件自動(dòng)將則位置位。同樣 CPU 響應(yīng)中斷時(shí)不能清除 RI 位,必須由軟件清除。AT89C51 單片機(jī)系統(tǒng)復(fù)位后TCON 和 SCON 中各位均清 0,應(yīng)用時(shí)要注意各位的初始 狀態(tài)。中斷開(kāi)放和屏蔽AT89C51 單片機(jī)中,設(shè)有一個(gè)專(zhuān)用寄存器 IE 稱(chēng)為中斷
48、允許寄存器,其作用是用來(lái)對(duì)各中斷源進(jìn)行開(kāi)放或屏蔽的控制。其各位的定義如下:IP.7 和 IP.6 保留位PT2IP5 位為定時(shí)器 2 優(yōu)先級(jí)設(shè)定位,僅適用于 52 子系列單片機(jī)。PT21 時(shí), 設(shè)定為高優(yōu)先級(jí),否則為低優(yōu)先級(jí)。PsIP.4 位為串行口優(yōu)先級(jí)設(shè)定位。PS1 時(shí),串行口為高優(yōu)先級(jí)否則為低優(yōu)先級(jí)。PT1IP3 位為定時(shí)器 l 優(yōu)先級(jí)設(shè)定位。PT11 時(shí),T1 為高優(yōu)先級(jí),否則為低先級(jí)。PX1IP.2 位為外部中斷 1 優(yōu)先級(jí)設(shè)定位。PX11 時(shí),外部中斷 l 為高優(yōu)先級(jí),否則為低優(yōu)先級(jí)。PT0IP.1 位為定時(shí)器 0 優(yōu)先級(jí)設(shè)定位。PT01 時(shí),T0 為高優(yōu)先級(jí),否則為低優(yōu)先級(jí)。PX
49、0IP.0 位為外部中斷 0 優(yōu)先級(jí)設(shè)定位。PXO1 時(shí),外部中斷 o 為高優(yōu)先級(jí),否 則為低優(yōu)先級(jí)。當(dāng)系統(tǒng)復(fù)位后IP 各位均為 0,所有中斷源設(shè)置為低優(yōu)級(jí)中斷。IP也是可進(jìn)行字節(jié)尋址和位尋址的專(zhuān)用寄存器。(4)優(yōu)先級(jí)結(jié)構(gòu)靠設(shè)置 IP 寄存器把各中斷源的優(yōu)先級(jí)分為高低 2 級(jí),它們遵循 2 條基本原則;較低優(yōu)先級(jí)中斷可以被較高優(yōu)先級(jí)中斷所中斷,反之不能。一種中斷(不管是什么優(yōu)先級(jí))一旦得到響應(yīng),與它同級(jí)的中斷不能再中斷它。為了實(shí)現(xiàn)這 2 條規(guī)則,中斷系統(tǒng)內(nèi)部包含 2 個(gè)不可尋址的“優(yōu)先級(jí)激活”觸發(fā)器。其中一個(gè)指示較高優(yōu)先級(jí)的中斷正在得到服務(wù),所有后來(lái)的中斷都被阻斷。另一個(gè)觸發(fā)器指示較低優(yōu)先級(jí)的
50、中斷正在得到服務(wù),所有同級(jí)的中斷都被阻斷,但不阻斷高優(yōu)先級(jí)的中斷。其中一個(gè)指示較高優(yōu)先級(jí)的中斷正在得到服務(wù),所有后來(lái)的中斷都被阻斷。另一個(gè)觸發(fā)器指示較低優(yōu)先級(jí)的中斷正在得到服務(wù),所有同級(jí)的中斷都被阻斷,但不阻斷高優(yōu)先級(jí)的中斷。當(dāng) CPU 同時(shí)收到幾個(gè)同一優(yōu)先級(jí)的中斷請(qǐng)求時(shí),圓一個(gè)的請(qǐng)求將得到服務(wù)取決于內(nèi)部的硬件查詢(xún)順序,CPU 將按自然優(yōu)先級(jí)順序確定該響應(yīng)四個(gè)中斷請(qǐng)求。其自然優(yōu)先級(jí)由硬件形成,排列如表 2-4:表 2-4 自然優(yōu)先級(jí)中斷源同級(jí)自然優(yōu)先級(jí)外部中斷 0最高級(jí)最低級(jí)定時(shí)器 0 中斷外部中斷 1定時(shí)器 1 中斷串行口中斷定時(shí)器 2 中斷最低級(jí)(52 系列單片機(jī)中)在每一個(gè)機(jī)器周期中,C
51、PU 對(duì)所有中斷源都順序地檢查一遍,這樣到任一機(jī)器周期的 S6 狀態(tài),可找到所有已激活的中斷請(qǐng)求,并排好了優(yōu)先權(quán)。在下一個(gè)機(jī)器周期的 S1狀態(tài),只要不受阻斷就開(kāi)始響應(yīng)其中最高優(yōu)先級(jí)的中斷請(qǐng)求。若發(fā)生下列情況,中斷響 應(yīng)會(huì)受到阻斷:同級(jí)或高優(yōu)先級(jí)的中斷正在進(jìn)行中;現(xiàn)在的機(jī)器周期還不是執(zhí)行指令的最后一個(gè)機(jī)器周期,即正在執(zhí)行的指令還沒(méi)完 成前不響應(yīng)任何中斷;正在執(zhí)行的是中斷返回指令 RETI 或是訪問(wèn)專(zhuān)用寄存器 IE 或 IP 的指令,換而言 之,在 RETI 或者讀寫(xiě) IE 或 IP 之后,不會(huì)馬上響應(yīng)中斷請(qǐng)求,至少要在執(zhí)行其它一條指令之后才會(huì)響應(yīng)。若存在上述任一種情況,中斷查詢(xún)結(jié)果就被取消。否則
52、,在緊接著的下一個(gè)機(jī)器周 期,中斷查詢(xún)結(jié)果變?yōu)橛行А?.1.5.2 中斷處理過(guò)程中斷處理過(guò)程可分為三個(gè)階段:即中斷響應(yīng)、中斷處理相中斷返回。由于各計(jì)算機(jī) 系統(tǒng)的中斷系統(tǒng)硬件結(jié)構(gòu)不同,中斷響應(yīng)的方式就有所不同。在此說(shuō)明 AT89C51 單片機(jī) 的中斷處理過(guò)程。(1)中斷響應(yīng)中斷響應(yīng)條件CPU 響應(yīng)中斷的條件有:一有中斷源發(fā)出中斷請(qǐng)求;二中斷總允許位 EA1,即 CPU 開(kāi)中斷;三申請(qǐng)中斷的中斷源的中斷允許位為 1,即沒(méi)有被屏蔽。以上條件滿足,一般 CPU 會(huì)響應(yīng)中斷,但在上一節(jié)中所述的中斷受阻斷的情況下, 本次的中斷請(qǐng)求 CPU 不會(huì)響應(yīng)。中斷響應(yīng)的過(guò)程如果中斷響應(yīng)條件滿足,而且不存在中斷受阻的情況下,則 CPU 將響應(yīng)中斷。在此情況下,CPU 首先使被響應(yīng)中斷的相應(yīng)“優(yōu)先級(jí)激活”觸發(fā)器置位,以阻斷同級(jí)和低級(jí)的中斷。然后根據(jù)中斷源的類(lèi)別,在硬件的控制下內(nèi)部自動(dòng)形成長(zhǎng)調(diào)用指令(LCALL),此指令的作用將自動(dòng)把斷點(diǎn)壓人堆棧,但不自動(dòng)保存 PSW 的內(nèi)容。然后將對(duì)應(yīng)的中斷源的矢量地址裝入程序計(jì)數(shù)器 PC,使程序轉(zhuǎn)向該中斷的矢量地址,以轉(zhuǎn)至中斷服務(wù)程序?qū)?應(yīng)的入口地址。在 AT89C5
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語(yǔ)一年級(jí)上冊(cè)Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認(rèn)識(shí)線段課件
- 患者病情評(píng)估培訓(xùn)完整
- 早產(chǎn)兒的護(hù)理教學(xué)
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級(jí)科學(xué)上冊(cè)課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細(xì)部處理龍湖
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟(jì)的發(fā)展
- 如何繪制出高品質(zhì)的學(xué)科思維導(dǎo)圖
- 美國(guó)癲癇學(xué)會(huì)驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設(shè)計(jì)理論及方法課件
- (課件)正弦定理公開(kāi)課