[論文]汽車防盜報(bào)警器的論文_第1頁
[論文]汽車防盜報(bào)警器的論文_第2頁
[論文]汽車防盜報(bào)警器的論文_第3頁
[論文]汽車防盜報(bào)警器的論文_第4頁
[論文]汽車防盜報(bào)警器的論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄引言 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)及功能簡述 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 中斷處理過程 3.1.5.3 中斷系統(tǒng)的應(yīng)用 3.2 振動(dòng)傳感器 3.2.1 傳感器的種類、原理和性能 3.2.2 傳感器的選擇 3.2.3 傳感器的安裝要點(diǎn) 3.2.4cla-3 全向

2、振動(dòng)傳感器 4電路原理及設(shè)計(jì)過程 4.1 電路設(shè)計(jì)及原理分析 4.1.1 檢測電路 4.1.2 單片機(jī)控制電路 4.1.3 報(bào)警電路 4.1.4 整體電路和控制程序 1 引言近些年來,隨著社會(huì)經(jīng)濟(jì)的發(fā)展以及工業(yè)發(fā)展的突飛猛進(jìn),人民生活水平也有了顯 著提高,世界的距離也在不斷縮小,隨著交通日益發(fā)達(dá),越來越多的汽車進(jìn)入了人們的日 常生活,隨著科學(xué)技術(shù)的發(fā)展,汽車偷盜技術(shù)越來越高,令人們防不勝防,已對(duì)全世界 造成極大的危害,汽車防盜問題也成了一個(gè)不容忽視的問題,無論是對(duì)汽車制造商還是 社會(huì)保險(xiǎn)業(yè)都具有極其重要的研究價(jià)值,如何制定出更為嚴(yán)范的法規(guī),開發(fā)出更為有效 的汽車防盜裝置,減少車主的損失是今后人

3、們研究的重要課題。我在這次設(shè)計(jì)汽車防盜報(bào)警器時(shí),考慮到了實(shí)際情況,決定采用振動(dòng)傳感器和單片微型 計(jì)算機(jī)組合來實(shí)現(xiàn)。汽車防盜報(bào)警器主要由三部分組成:檢測電路,單片機(jī)處理電路, 報(bào)警電路。當(dāng)有振動(dòng)時(shí),通過振動(dòng)傳感器接受檢測電路發(fā)出信號(hào),經(jīng)過單片微型計(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ì)過程和在系統(tǒng)中所完成的功能。最后,對(duì)電路在調(diào)試的過程中所出現(xiàn)的問題作了必要的描述,同時(shí)分析了它們產(chǎn)生的原

4、因,并適當(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)容 汽車防盜報(bào)警器的設(shè)計(jì):檢測電路、單片機(jī)控制電路、聲光報(bào)警電路(2)畢業(yè)設(shè)計(jì)的要求與數(shù)據(jù)掌握單片機(jī)程序設(shè)計(jì)技術(shù)以及相應(yīng)的仿真、編程技術(shù)。振動(dòng)檢測或紅外檢測。聲光報(bào)警輸出。2. 方案確定隨著微電子技術(shù)的進(jìn)步,汽車防盜技術(shù)己向著自動(dòng)化、智能化方向發(fā)展?,F(xiàn)在已經(jīng)有許多國家的汽車制造商研制出了比較先進(jìn)和實(shí)用性很強(qiáng)

5、的汽車防盜報(bào)警器,例如:美國的鑰匙防盜技術(shù),德國的變密碼防盜技術(shù),澳大利亞的電子追蹤防盜技術(shù),中國的全方位遙控防盜技術(shù)等等,這些都是當(dāng)今世界上比較流行的汽車防盜技術(shù)。但是考慮到實(shí)際情況,由于各方面的條件限制,我做的汽車防盜報(bào)警器不可能達(dá)到 那么高的技術(shù)含量,一方面要考慮自己理論知識(shí)的基礎(chǔ),另一方面又要考慮制作成和制 作所需的時(shí)間,還要考慮元器件的購買問題,最后決定采用的方案是:利用 mcs-51 單片機(jī)完成汽車防盜報(bào)警器的設(shè)計(jì)。主要原因有:(1) 學(xué)習(xí)過有關(guān) mcs-51 單片機(jī)的原理與相關(guān)技術(shù),有一定的理論知識(shí)基礎(chǔ)。(2) 相關(guān)的參考資料比較齊全。(3) 使用的元器件比較普遍。(4) 制作成

6、本比較低廉。(5) 實(shí)用性強(qiáng)。 整個(gè)方案的目的是:利用 mcs-51 單片機(jī)完成汽車防盜報(bào)警器的設(shè)計(jì),包括檢測電路、單片機(jī)控制電路和程序以及報(bào)警電路的設(shè)計(jì)。預(yù)期結(jié)果如下: (1)完成汽車防盜報(bào)警器的設(shè)計(jì):利用振動(dòng)檢測電路來檢測是否有人或物接觸預(yù)警中得汽車,如果有則發(fā)出聲光報(bào)警,如果沒有則保持預(yù)警狀態(tài)。 (2)本設(shè)計(jì)主要由以下幾個(gè)部分組成:檢測電路,單片機(jī)處理電路,報(bào)警電路。使用的主要元器件列表如下:通用單片機(jī) at89c51 一片 振動(dòng)傳感器器 cla-3一個(gè) ttl 非門芯片 74ls04一片 石英晶體振蕩器 12m 一個(gè) 三極管 9012 一個(gè) 獨(dú)立式按鍵 一個(gè) 發(fā)光二極管 一個(gè) 蜂鳴器

7、一個(gè) 電阻 若干 電容 若干3. 芯片及器件介紹31mcs-51 微型計(jì)算機(jī)單片計(jì)算機(jī)即單片機(jī),其全稱為單片微型計(jì)算機(jī)(single-chip microcomputer),亦稱為微控制器(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 基本組成及主要特點(diǎn)mcs-

8、51 系列單片機(jī)基本結(jié)構(gòu)如圖 21 所示。每一片單片機(jī)包括:圖 2-1mcs-51 系列單片機(jī)基本結(jié)構(gòu)(1)中央處理器cpu;(2)128b 內(nèi)部數(shù)據(jù)存儲(chǔ)器 ram,用以存放可以讀、寫的數(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ù)器??梢杂脕韺?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(通用異步接收發(fā)送器)串行 i/o

9、 接口,使得數(shù)據(jù)可以一位一位 在計(jì)算機(jī)與外設(shè)之間傳送,可用于單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;(8)內(nèi)部時(shí)鐘產(chǎn)生電路,但晶振和微調(diào)電容需要外接。振蕩頻率范圍為 1.212mhz。 以上各部分通過內(nèi)部總線相連接。表 21 mcs-51 系列單片機(jī)性能mcs-51 系列單片機(jī)有如下一些特點(diǎn):圖 22 雙列直插式封裝 (1)單5v 供電,40 腳封裝,常見的封裝有兩種,本設(shè)計(jì)使用的 at89c51 的封裝為長形,引腳排列如圖 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è)用戶位可尋址單元。(12)111 條指令,含有乘法指令和除法指令; 3.1.2 mcs-51 內(nèi)部結(jié)構(gòu)及功能簡述mcs-5l 系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖 23 所示:圖 23 mcs-51 系列單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部各基本部件之間通過總線交換信息。所謂總線是信息流通的公共通道,總線上的信息可以同時(shí)輸送給幾個(gè)部件,但不允許幾個(gè)信息同時(shí)輸送

11、給總線,否則將產(chǎn)生信息沖突。總線按傳送信息不同來分,可分為數(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ì)于每一條控制線,其傳送方向是固定的。地址總線用來傳輸 cpu 發(fā)出的地址信息,以選擇需要訪問的存儲(chǔ)器和 i/o 接口電路。地址總線是單向的,只能是 cpu 向外傳送地址信息。單片機(jī)采用上述三組總線的連接方式。(1)微處理器(cpu)微處理器又稱 cpu,是單片機(jī)的控制

12、和指揮中心,由運(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:是最常用的專用寄存器。進(jìn)入 alu作算術(shù)運(yùn)算和邏輯運(yùn)算

13、的操作數(shù)大多來自累加器 a,操作的結(jié)果也常送回 a。除此之外,a累加器還經(jīng)常作數(shù)據(jù)傳送的中轉(zhuǎn)站,實(shí)現(xiàn)將一個(gè)存儲(chǔ)單元中的數(shù)送到另一個(gè)存儲(chǔ)單元的任務(wù)。程序狀態(tài)字 psw:是程序狀態(tài)字寄存器,簡稱程序狀態(tài)字,psw是一個(gè) 8 位特殊功能寄存器用于存放指令執(zhí)行后結(jié)果的狀態(tài)信息。其各位的含義如圖 24所示,其中 d1 位未定義。圖 24 累加器 a各位的含義8位特殊功能寄存器 b:b 寄存器又稱乘法寄存器,它與累加器 a協(xié)同工作,可進(jìn)行乘法操作和除法操作。在乘、除運(yùn)算時(shí),b 寄存器用來存放其中的一個(gè)操作數(shù),或存放運(yùn)算后的一部分結(jié)果,若不作乘除法運(yùn)算時(shí),則可作為通用寄存器使用。此外,8051 片內(nèi)還有個(gè)布

14、爾處理器(圖中未繪出),它以 pws中的進(jìn)位標(biāo)志 cy為其累加器,專門用于位操作,可執(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ù)器,pc 中的內(nèi)容是將

15、要執(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)除了 cpu 之外,還

16、有存儲(chǔ)器。其中,片內(nèi)只讀存儲(chǔ)據(jù)(rom) 用作程序存儲(chǔ)器,在計(jì)算機(jī)工作時(shí),事先存入已編好的各種程序、常數(shù)、表格;片內(nèi)讀 寫存儲(chǔ)器(ram)又稱隨機(jī)存儲(chǔ)器,它的存儲(chǔ)單元的內(nèi)容根據(jù)需要既可隨時(shí)讀出也可寫 入,用作數(shù)據(jù)存儲(chǔ)器,存放輸入、輸出數(shù)據(jù)和中間計(jì)算結(jié)果或與外存交換信息,以及 作為堆棧,在必要時(shí)可保存斷點(diǎn)、保存現(xiàn)場。mcs-51 系列單片機(jī)內(nèi)含有的存儲(chǔ)器容量(以 字節(jié)為單位)見表 21。在容量不夠時(shí),可以另外擴(kuò)展片外程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。(3)mcs-51 單片機(jī) i/o 口概述mcs-51 單片微型計(jì)算機(jī)芯片有 4 個(gè) 8 位并行輸入輸出口,分別稱為 p0 口、p1 口、 p2 口和 p

17、3 口,每個(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 系列單片機(jī)內(nèi)含有一個(gè)高

18、增益的反相放大器,通過 xtal1、xtal2外接作為反饋元件的晶體后,構(gòu)成自激振蕩器,接法如圖 25 所示。圖 25mcs-51 單片機(jī)晶體振蕩器電路晶體呈感性,與 c1、c2 構(gòu)成并聯(lián)諧振電路。振蕩器的振蕩頻率主要取決于晶體;電容對(duì)振蕩頻率有微調(diào)作用,通常取 30pf 左右。電容的安裝位置應(yīng)盡量靠近單片機(jī)芯 片。也可采用片外振蕩器,按不同工藝制造的單片機(jī)芯片接法也不同。電路中的石英晶體又稱石英晶體諧振器,是一種用于穩(wěn)定頻率和選擇頻率的電子元 件。石英晶體是一種各向異性的結(jié)晶體,從一塊晶體上按一定的方位角切下薄片稱為晶片,然后在晶片的兩個(gè)對(duì)應(yīng)表面上涂敷銀層并裝上一對(duì)金屬板,就構(gòu)成了石英晶體諧

19、振器。石英晶體之所以能做諧振器是基于它的“壓電效應(yīng)”,從物理學(xué)中已知,若在晶片的兩個(gè)極板間加上一電場,會(huì)使晶體產(chǎn)生機(jī)械變形;反之,若在極間施加機(jī)械力,又會(huì)在相應(yīng)的方向上產(chǎn)生電場,這種現(xiàn)象稱為壓電效應(yīng)。如在極板間所加的是交變電壓,就會(huì)產(chǎn)生機(jī)械變形振動(dòng),同時(shí)機(jī)械變形振動(dòng)又會(huì)產(chǎn)生交變電場。一般來說,這種機(jī)械振動(dòng)的振幅是比較小的,但振動(dòng)頻率則是很穩(wěn)定的。但當(dāng)外加交變電壓的頻率與晶片的固有頻率(決定于晶片的尺寸)相等時(shí),機(jī)械振動(dòng)的幅度將急劇增加,這種現(xiàn)象稱為“壓電 諧振”。石英晶體諧振器的壓電諧振現(xiàn)象可以用圖 26 所示的等效電路來模擬,等效電路 中的 c0 為切片與金屬板構(gòu)成的靜電電容,l 和 c 分

20、別模擬晶體的質(zhì)量(代表慣性)和彈性,而晶片振動(dòng)時(shí),因摩擦而造成的損耗則用電阻 r來等效。 (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)頻率經(jīng) 2 分頻后,向

21、cpu 提供了兩相時(shí)鐘信號(hào) p1 和 p2,控制單片機(jī)各部件協(xié)調(diào)工作。(3)輸入/輸出引腳 p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫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門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在fla

22、sh編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“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)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出

23、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ǔ)器讀選通)(4)mcs-51 機(jī)器周期和指令周期晶體振蕩器的振蕩信號(hào)從 xtal2 端輸入

24、到片內(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)的周期稱為一個(gè)機(jī)器狀態(tài)周期,它是振蕩周期的 2 倍,在每個(gè)時(shí)鐘周期的前半周期,相位 1(p1)信號(hào)有效,在每個(gè)時(shí)鐘周期的后半周期,相位 2(p2)信號(hào)有效。即每個(gè)時(shí)鐘周期(又稱為狀態(tài)周期)有兩個(gè)節(jié)拍,p1 和 p2, cpu 以兩相節(jié)拍 pl 和 p2 為基本節(jié)拍,控制單片機(jī)各部件協(xié)調(diào)工作。6 個(gè)時(shí)鐘周期構(gòu)成 1個(gè)機(jī)器周期。cpu 執(zhí)行一條指令的時(shí)間稱為指令周期。指令周期以機(jī)器周期為單位的。例如:單周期指令是指執(zhí)行一條指令

25、的時(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)行讀/寫時(shí),ale 信號(hào)不是周期性的,但在其它情況下,ale 信號(hào)是一種

26、周期信號(hào),可以用作其它外部設(shè)備的時(shí)鐘信號(hào)。(5)cpu 取指令、執(zhí)行指令周期時(shí)序 每一條指令的執(zhí)行都包括取指令和執(zhí)行指令兩個(gè)階段。在 8051 指令系統(tǒng)中,其指令有單字節(jié)、雙字節(jié)和多字節(jié)指令,但從指令的執(zhí)行速度來看,單字節(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ī)器周期的 s4 再讀第二字節(jié);前者

27、在 s4 雖也讀操作碼,但既是單字節(jié)指令,讀的已是下一條指令, 故讀后丟棄不用,pc 也不加 1,兩種指令在 s6p2 結(jié)束時(shí)都會(huì)完成操作。圖 28(c)是單字節(jié)雙周期指令,圖 28(d)是雙字節(jié)雙周期指令。單字節(jié)雙周期指令,在兩個(gè)機(jī)器周期內(nèi)將 4 次讀操作碼,不過后 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ù)器 pc 值初始化為 000

28、0h,使單片機(jī)從 0000h 單元開始執(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ù)位電路mcs-51 單片機(jī)系統(tǒng)

29、常常有上電復(fù)位和操作復(fù)位兩種方法。上電復(fù)位,是指單片機(jī) 上電瞬間,要在 rst 引腳上出現(xiàn)寬度大于 10ms 的正脈沖,才能使計(jì)算機(jī)進(jìn)入復(fù)位狀態(tài)。 操作復(fù)位是指用戶按下“復(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ù)位腳相連。非門在這里不僅起到了倒相作用,還增大了驅(qū)動(dòng)能力。電容 cl、c2起濾波作用,防止干擾竄入復(fù)位端產(chǎn)生誤動(dòng)作。3.1

30、.4 定時(shí)器at89c51單片機(jī)內(nèi)部設(shè)有兩個(gè)16位可編程的定時(shí)器計(jì)數(shù)器,簡稱定時(shí)器0和定時(shí)器1,分別用t0和tl表示。它們的工作方式、定時(shí)時(shí)間、量程、啟動(dòng)方式等均可以通過程序來設(shè)置和改變。at89c51單片機(jī)內(nèi)部定時(shí)器的邏輯結(jié)構(gòu)見圖210。它由兩個(gè)特殊功能寄存器tcon和 tmod及t0、tl組成。其中tmod為模式控制寄存器,主要用來設(shè)置定時(shí)器計(jì)數(shù)器的操作模式;tcok為控制寄存器,主要用來控制定時(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-10at89c51定時(shí)器邏輯

31、結(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ù)脈沖的周期:t1fcont

32、1(fosc1l 2)12fosc式中fosc為單片機(jī)振蕩器的頻率, fcont為計(jì)數(shù)脈沖的頻率,等于fosc12。at89c51單片機(jī)的定時(shí)器用于定時(shí),其定時(shí)的時(shí)間由計(jì)數(shù)初值和選擇的計(jì)數(shù)器的長 度(如8位、13位或l6位)來確定。(2)選擇計(jì)數(shù)工作方式時(shí)tmod的d6或d21t0或t1工作在計(jì)數(shù)方式時(shí),計(jì)數(shù)脈沖來自相應(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è)“0”則在緊跟著的再下

33、一個(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ì)外部脈沖的占空比并沒有什么限制,但為了確保某一給定的電平在變化之前至少被采樣一次,因此外部計(jì)數(shù)脈沖的高電平和低電乎保持時(shí)間均要求在一個(gè)機(jī)器周期以上。3.1.4.2 定時(shí)計(jì)數(shù)器的控制at89c51單片機(jī)的定時(shí)器是一種可編程的部件。它的工作方式、操作模式、計(jì)數(shù)初值,啟停操作均要求在定時(shí)器工作之前,cpu必須向它寫入一些命令字,下面介紹與定時(shí)器工作有關(guān)的寄存器。(1)模

34、式控制寄存器tmod tmod是一個(gè)專用寄存器,用于控制t1和to的操作模式及工作方式,其各位定義如下:gate:門控值,用來控制定時(shí)器啟動(dòng)操作方式。當(dāng) gate0 時(shí),定時(shí)器只由軟件控制位 tr0 或 trl 來控制啟停。tr1 位為 1,定時(shí)器啟動(dòng)開始工作;為 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 1 時(shí)設(shè)置為計(jì)數(shù)器工作

35、方式,計(jì)數(shù)脈沖為外部引腳 t0 或 t1 的引入的外部脈沖信號(hào)。m1m0:操作模式控制位,2 位可形成 4 種編碼,對(duì)應(yīng)于 4 種操作模式。4 種模式定義如下:m1mo操作模式 功能簡述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ù)位時(shí) tmod 各有效

36、位均為 0。模式控制字的設(shè)置舉例:若設(shè)置定時(shí)器 1 為定時(shí)器工作方式,由軟件啟動(dòng)選擇操作模式 2;定時(shí)器 0 為計(jì)數(shù)方式;由軟件啟動(dòng),選擇操作模式 l。則 tmod 各位設(shè)置為:00l001ol25h用 mov tmod、425h 指令寫入 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á)兩位也可作為程序查詢的標(biāo)志位,在查詢方式下應(yīng)由軟件來清 0。trl

37、和 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ā)方式來設(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í)器可以使用位操作指令 setbtr

38、1 來啟動(dòng)。3.1.4.3 定時(shí)計(jì)數(shù)器的初始化由于定時(shí)器的功能是由軟件來設(shè)置的所以一般在使用定時(shí)計(jì)效器前均要對(duì)其進(jìn) 行初始化。(1)確定工作方式、操作模式、啟動(dòng)控制方式寫入 tm0d 寄存器。 (2)設(shè)置定時(shí)或計(jì)數(shù)據(jù)的初值可直接按初值寫人 th0、tl0 或 thl、tll 中。16位計(jì)數(shù)初值必須分兩次寫入對(duì)應(yīng)的計(jì)數(shù)器。(3)根據(jù)要求是否采用中斷方式直接對(duì) ie 位賦值。開放中斷時(shí),對(duì)應(yīng)位置 1p采用程序查詢方式 ie 位應(yīng)清 0 進(jìn)行中斷屏蔽。(4)啟動(dòng)定時(shí)器工作一一可使用 setb tr1 啟動(dòng)。若第一步設(shè)置為軟啟動(dòng),即 gate 設(shè)置為 0 時(shí),以上指令執(zhí)行后,定時(shí)器即可開始工作。若 c

39、ate 設(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ù)器,當(dāng)加到最大值(00

40、h 或 0000h)時(shí)產(chǎn)生溢 出,將 tf 位置 1可發(fā)出溢出中斷,因此計(jì)數(shù)器初值 x 的計(jì)算式為;xm-計(jì)數(shù)值,式 中的 m 由操作模式確定,不同的操作模式計(jì)數(shù)器的長不相同,故 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ù)周期 t1fcont12fosc,定時(shí)工作方式的

41、計(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í)都可以由程序來設(shè)定。at89c51 的中斷系統(tǒng)組成見圖 215 所示。 它由 4 個(gè)與中斷有關(guān)的特殊功能寄存器 (tcon、scon 的相關(guān)位作中斷源的標(biāo)志位),中斷允許控制寄存器 ie 和中斷順序查詢邏輯等組成。圖

42、2-15 at89c51 的中斷系統(tǒng)中斷順序查詢邏輯亦稱硬件查詢邏輯,5個(gè)中斷源的中斷請(qǐng)求是否會(huì)得到響應(yīng),要受中斷允許寄存器匯各位的控制,它們的優(yōu)先級(jí)分別由 ip 各位來確定;同一優(yōu)先級(jí)內(nèi)的各中斷源同時(shí)請(qǐng)求中斷時(shí)就由內(nè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 和外部中斷 1其中斷請(qǐng)求

43、信號(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、斷矢量地址)裝入 pc,中斷服務(wù)程序即從此地址開始執(zhí)行。因此一般在此地址單元中存放一條絕對(duì)跳轉(zhuǎn)指令,可以跳至用戶安排的中斷服務(wù)程序的人口處。at89c51 單片機(jī)各中斷源的矢量地址是固定的。見表 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è)專用寄存器組成,它們的功能分述如下:中斷請(qǐng)求標(biāo)志:5 個(gè)中斷源的外部中斷和定時(shí)器中斷

45、請(qǐng)求標(biāo)志位設(shè)置在定時(shí)控制寄存器 tcon(是一 個(gè)特殊功能寄存器)中,其各位的定義及標(biāo)志位和建立 2.1 節(jié)中已述,在此僅說明一下 tcon 的 ito 和 it1 位,它們是外部中斷的觸發(fā)方式設(shè)置位,決定外部中斷的復(fù)位方法。 外部中斷的復(fù)位方式為:當(dāng) it0 時(shí),外部中斷為電平觸發(fā)方式,該方式下 cpu 每個(gè)機(jī) 器周期的 s5p2 期間對(duì) tnt 引腳采樣,若測得為低電平,則認(rèn)為有中斷申請(qǐng),隨即使 ie 標(biāo)志位置位;若測得為高電平,認(rèn)為無中斷申請(qǐng)或中斷申請(qǐng)已撤除,隨即清除 ie 標(biāo)志位。在電平觸發(fā)方式中,cpu 響應(yīng)中斷后不能自動(dòng)清除 ie 標(biāo)志位,也不能由軟件清除 ie 標(biāo)志,所以在中斷返

46、回前必須撤消 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)檢測到由高至低的負(fù)跳變,輸入高電平和低電平的持續(xù)時(shí)間起碼要保 持 12 個(gè)振蕩器周期即一個(gè)機(jī)器周期的時(shí)間。tcon 的其它位在此不再重述。串行口的中斷請(qǐng)求標(biāo)志由串行口控制寄存器 scon 的 d0 和 d1 位來設(shè)置。ri(scon.0) 為接收中斷標(biāo)志位;t

47、i(scon.1)為發(fā)送中斷標(biāo)志位。其中斷申請(qǐng)信號(hào)的產(chǎn)生過程為:發(fā)送過程:當(dāng) cpu 將一個(gè)數(shù)據(jù)寫入發(fā)送緩沖器 sbuf 時(shí),就啟動(dòng)發(fā)送,每發(fā)送完一 幀數(shù)據(jù)。由硬件自動(dòng)將 ti 位置位。但 cpu 響應(yīng)中斷時(shí),并不能清除 ti 位,所以必須由軟件清除。接收過程:在串行口允許接收時(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)。中斷開放和屏蔽at89c51 單片機(jī)中,設(shè)有一個(gè)專用寄存器 ie 稱為中斷允許寄存器,其作用是用來對(duì)各中斷源進(jìn)行開放或屏蔽的控制。其各位的定義如下: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è)定位

溫馨提示

  • 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)論