成人教育-應(yīng)用電子專業(yè)畢業(yè)論文_第1頁
成人教育-應(yīng)用電子專業(yè)畢業(yè)論文_第2頁
成人教育-應(yīng)用電子專業(yè)畢業(yè)論文_第3頁
成人教育-應(yīng)用電子專業(yè)畢業(yè)論文_第4頁
成人教育-應(yīng)用電子專業(yè)畢業(yè)論文_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 畢 業(yè) 設(shè) 計 題 目: 十字路口交通燈設(shè)計十字路口交通燈設(shè)計 院 (系): 成人教育學(xué)院 專 業(yè): 應(yīng)用電子技術(shù) 學(xué)生姓名: 鄭鳴原 班 級: 2013 應(yīng)用電子技術(shù) 學(xué) 號: 2013088621101 指導(dǎo)教師: 2016 年 1 月 10 日摘 要本系統(tǒng)主要由 51 單片機,顯示模塊,鍵盤模塊,語音模塊,傳感器模塊,恒流源模塊,穩(wěn)壓源模塊等組成。該系統(tǒng)可以設(shè)定每只路燈的開關(guān)燈時間,還可以通過傳感器來識別外部環(huán)境的明暗變化和有無物體通過,來自動控制路燈的開關(guān),并且路燈的亮度可以通過自制可調(diào)恒流源按需要進行自動調(diào)節(jié);同時系統(tǒng)還能檢測路燈是否發(fā)生故障,若發(fā)生故障則及時報警并顯示故障路燈的地

2、址編號。關(guān)鍵詞: 單片機;交通燈;控制器目目 錄錄1 1 單片機概述單片機概述 .1 12 2 芯片簡介芯片簡介 .1 12.1 MSC-51 芯片簡介 .12.2 8255 芯片簡介 .52.3 74LS373 簡介 .63 3 系統(tǒng)硬件設(shè)計系統(tǒng)硬件設(shè)計 .6 63.1 交通管理的方案論證 .63.2 系統(tǒng)硬件設(shè)計 .74 4控制器的軟件設(shè)計控制器的軟件設(shè)計 .9 94.1 每秒鐘的設(shè)定 .94.2 計數(shù)器硬件延時 .94.3 軟件延時.104.4 時間及信號燈的顯示.114.5 程序設(shè)計.12參考文獻參考文獻 .1919致致 謝謝 .2020 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 1 -引

3、言 在當(dāng)今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常最有效的手段。但這一技術(shù)在 19 世紀(jì)就已出現(xiàn)了。1858 年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868 年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止” ,綠色表示“注意” 。1869 年 1 月 2 日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914 年始安裝于紐約市 5 號大街的一座高塔

4、上。紅燈亮表示“停止” ,綠燈亮表示“通行” 。1918 年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968 年,聯(lián)合國道路交通和道路標(biāo)志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)

5、彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。1 單片機概述 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和 I/O 接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制

6、系統(tǒng)。 單片機經(jīng)過 1、2、3、3 代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的 CPU 功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 2 -2 芯片簡介2.1 MSC-51 芯片簡介MCS-51 單片機內(nèi)部結(jié)構(gòu) 8051 是 MCS-51 系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。 8051 單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器中央處理器: 中央處理器(C

7、PU)是整個單片機的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理8 位二進制數(shù)據(jù)或代碼,CPU 負責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器數(shù)據(jù)存儲器(RAM(RAM) 8051 內(nèi)部有 128 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 RAM 只有 128 個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖 2.1 8051 內(nèi)部結(jié)構(gòu)程序存儲器(ROM):8051 共有 4096 個 8 位掩膜 ROM,用于存放用戶

8、程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8051 有兩個 16 位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 3 -并行輸入輸出(I/O)口:8051 共有 4 組 8 位 I/O 口(P0、 P1、P2 或 P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051 內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng)中斷系統(tǒng):8051 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有 2 級的優(yōu)先級別選擇。時鐘

9、電路時鐘電路:8051 內(nèi)置最高頻率達 12MHz 的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051 單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL 的 MCS-51 系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品 16 位的 MCS-96 系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是 MCS-51 系列單片機的內(nèi)部結(jié)構(gòu)示意圖 2。圖 2.2 MCS-51 系列單片機的內(nèi)部結(jié)構(gòu)MCS-51 的引腳說明:MCS-

10、51 系列單片機中的 8031、8051 及 8751 均采用 40Pin 封裝的雙列直接 DIP 結(jié) 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 4 -構(gòu),右圖是它們的引腳配置,40 個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共 32 個 I/O 口,中斷口線與 P3 口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51 的引腳說明:MCS-51 系列單片機中的 8031、8051 及 8751 均采用 40Pin 封裝的雙列直接 DIP 結(jié)構(gòu),右圖是它們的引腳配置,40 個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4 組 8 位共 32 個 I/O 口,

11、中斷口線與 P3 口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖 3 圖 2.3 引腳的功能Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng) 8051 通電,時鐘電路開始工作,在 RESET 引腳上出現(xiàn) 24 個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器 PC指向 0000H,P0-P3 輸出口全部為高電平,堆棧指針寫入 07H,其它專用寄存器被清“0” 。RESET 由高電平下降為低電平后,系統(tǒng)即從 0000H 地址開始執(zhí)行程序。然而,初始復(fù)位不改變 RAM(包括工作寄存器 R0-R7)的狀態(tài),8051 的初始態(tài)。8051 的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖

12、4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部 RAM的數(shù)據(jù)不丟失。圖 4 Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE 端將有一個 1/6 時鐘頻率的正脈沖信號,這個 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 5 -信號可以用于識別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE 會跳過一個脈沖。如果單片機是 EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC 的 16 位地址數(shù)據(jù)將

13、出現(xiàn)在 P0 和 P2 口上,外部程序存儲器則把指令數(shù)據(jù)放到 P0 口上,由 CPU 讀入并執(zhí)行。Pin31:EA/Vpp 程序存儲器的內(nèi)外部選通線,8051 和 8751 單片機,內(nèi)置有 4kB 的程序存儲器,當(dāng) EA 為高電平并且程序地址小于 4kB 時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過 4kB 地址則讀取外部指令數(shù)據(jù)。如 EA 為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的 8031,EA 端必須接地。在編程時,EA/Vpp 腳還需加上 21V 的編程電壓。2.2 8255 芯片簡介8255 可編程并行接口芯片簡介: 8255 可編程并行接口芯片有三個

14、輸入輸出端口,即 A 口、B 口和 C 口,對應(yīng)于引腳 PA7PA0、PB7PB0 和 PC7PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常 A口、B 口作為輸入輸出的數(shù)據(jù)端口。C 口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成 4 位的端口,每個端口包含一個 4 位鎖存器。它們分別與端口 A配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。8255 可編程并行接口芯片方式控制字格式說明:8255 有兩種控制命令字;一個是方式選擇控制字;另一個是 C 口按位置位復(fù)位控制字。其中 C 口按位置位復(fù)位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述,需要時用戶可自行查找有關(guān)資料。方

15、式控制字格式說明如表 1: D7:設(shè)定工作方式標(biāo)志,1 有效。 D6、D5:A 口方式選擇 0 0 方式 0 0 1 方式 1 1 方式 2 D4:A 口功能 (1=輸入,0=輸出) D3:C 口高 4 位功能 (1=輸入,0=輸出)D7D6D5D4D3D2D1D0 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 6 - D2:B 口方式選擇 (0=方式 0,1=方式 1) D1:B 口功能 (1=輸入,0=輸出)D0:C 口低 4 位功能 (1=輸入,0=輸出) 8255 可編程并行接口芯片工作方式說明: 方式方式 0 0:基本輸入輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸

16、出可被鎖存,輸入不能鎖存。 方式方式 1 1:選通輸入輸出方式。這時 A 口或 B 口的 8 位外設(shè)線用作輸入或輸出,C口的 4 條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號和中斷請求信號。 方式方式 2 2 :雙向總線方式。只有 A 口具備雙向總線方式,8 位外設(shè)線用作輸入或輸出,此時 C 口的 5 條線用作通訊聯(lián)絡(luò)信號和中斷請求信號。2.3 74LS373 簡介74LS373 是一種帶三態(tài)門的 8D 鎖存器,其管腳示意圖如下示:其中:1D-8D 為 8 個輸入端。 1Q-8Q 為 8 個輸出端。 LE 為數(shù)據(jù)打入端:當(dāng) LE 為“1”時,鎖存器輸出 狀態(tài)同輸入狀態(tài);當(dāng) LE 由“1”變“0”時,數(shù)據(jù)

17、打入鎖存器 OE 為輸出允許端:當(dāng) OE=0 時,三態(tài)門打開; 當(dāng) OE=1 時,三態(tài)門關(guān)閉,輸出高阻。3 系統(tǒng)硬件設(shè)計3.1 交通管理的方案論證東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表 2。表 3.1 指示燈燃亮的方案 60S5S80S5S東西道紅燈亮黃燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮黃燈亮 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 7 -表 2 說明: (1)當(dāng)東西方

18、向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時間為 60 秒。(2)黃燈閃爍 5 秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。 (3)當(dāng)東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過,行人通行。時間為 80 秒。 東西方向車流大 通行時間長。(4)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。(5)此表可根據(jù)車流量動態(tài)設(shè)定紅綠燈初始值。3.2 系統(tǒng)硬件設(shè)計選用設(shè)備 8031 單片機一片選用設(shè)備:8031 彈片機一片,8255 并行通用接口芯片一片,74LS07 兩片,MAX692看門狗一片,共陰極的七

19、段數(shù)碼管兩個雙向晶閘管若干,7805 三端穩(wěn)壓電源一個,紅、黃、綠交通燈各兩個,開關(guān)鍵盤、連線若干。3 32 21 1 系統(tǒng)總框圖如下:系統(tǒng)總框圖如下:圖 3.1 系統(tǒng)總框圖系統(tǒng)總框圖3 32 22 2 交通燈硬件線路圖交通燈硬件線路圖 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 8 -P1_0 (TIM2)2P1_1 (TIM2EX)3P1_24P1_35P1_46P1_5 (MOSI)7P1_6 (MISO)8P1_7 (SCK)9RESET10P3_0 (RXD)11P3_1 (TXD)13P3_2 (INT0)14P3_3 (INT1)15P3_4 (TIM0)16P3_5 (TIM1)17P

20、3_6 ( WR )18P3_7 ( RD )19X2 (OUT)20X1 (IN)21GND22P2_0 (A8)24P2_1 (A9)25P2_2 (A10)26P2_3 (A11)27P2_4 (A12)28P2_5 (A13)29P2_6 (A14)30P2_7 (A15)31PSEN32ALE / PROG33VPP / EA35P0_7 (AD7)36P0_6 (AD6)37P0_5 (AD5)38P0_4 (AD4)39P0_3 (AD3)40P0_2 (AD2)41P0_1 (AD1)42P0_0 (AD0)43VCC44NC12NC23NC34NC1AT89S52-24JI0

21、.43Kwhiteblack0.1K0.1K5V1211.0592MHz30pF30pFS10.3K22uF5VS24.3K123456781615141312111090.3K123456781615141312111090.3K123456781615141312111095VD27O15O39GND10O515D38O412O719D03D718D514O02D413D14VCC20D617OE1O26LE11O616SN74LS373N5VRED1GREEN2YELLOW2RED2YELLOW1GREEN10.3KA11A26f2g3e4d5c8DP7b9a10f2g3e4d5c8DP

22、7b9a101OE11A121A241A361A48GND101Y4121Y3141Y2161Y118VCC202Y432Y352Y272Y192A1112A2132A3152A4172OE195V5V31245678910111213141516171819204039383736353433323130292827262524232221PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PB3PB4PB5PB6PB7VccD7D6D5D4D3D2D1D0RESETWRPA7PA6PA5PA482555VA11A26RED5VVC

23、C 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 9 -3 32 23 3 系統(tǒng)工作原理系統(tǒng)工作原理(1)開關(guān)鍵盤輸入交通燈初始時間,通過 8051 單片機 P1 輸入到系統(tǒng) (2) 由 8051 單片機的定時器每秒鐘通過 P0 口向 8255 的數(shù)據(jù)口送信息,由 8255的 PA 口顯示紅、綠、黃燈的燃亮情況;由 8255 的 PC 口顯示每個燈的燃亮?xí)r間。 (3)8051 通過 設(shè)置 各個信號等的燃亮?xí)r間、通過 8031 設(shè)置,綠、紅時間分別為 60 秒、80 秒循環(huán)由 8051 的 P0 口向 8255 的數(shù)據(jù)口輸出。(4) 通過 8051 單片機的 P3.0 位來控制系統(tǒng)是工作或設(shè)置初值,當(dāng).牌

24、位 0 就對系統(tǒng)進行初始化,為 1 系統(tǒng)就開始工作。(5)紅燈倒計時時間,當(dāng)有車輛闖紅燈時,啟動蜂鳴器進行報警,3S 后然后恢復(fù)正常。(6)增加每次綠燈時間車流量檢測的功能,并且通過查詢 P2.0 端口的電平是否為低,開關(guān)按下為低電平,雙位數(shù)碼管顯示車流量,直到下一次綠燈時間重新記入。(7)綠燈時間倒計時完畢,重新循環(huán)。4控制器的軟件設(shè)計4.1 每秒鐘的設(shè)定 延時方法可以有兩種一中是利用 MCS-51 內(nèi)部定時器才生溢出中斷來確定 1 秒的時間,另一種是采用軟延時的方法。4.2 計數(shù)器硬件延時4.2.14.2.1 計數(shù)器初值計算計數(shù)器初值計算 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到

25、 TH 和 TL 中的。他是以加法記數(shù)的,并能從全 1 到全 0 時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為 C 和計數(shù)初值設(shè)定為 TC 可得到如下計算通式: TC=M-C式中,M 為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式 0 時 M 為 213 ;在方式1 時 M 的值為 216;在方式 2 和 3 為 284.2.24.2.2 計算公式計算公式 T=(MTC)T計數(shù) 或T計數(shù)T計數(shù)是單片機時鐘周期的倍;為定時初值如單片機的主脈沖頻率為,經(jīng)過分頻方式213微秒毫秒方式216微秒毫秒 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 10 -顯然秒鐘已經(jīng)超過了計數(shù)器的最大

26、定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題4.2.34.2.3 秒的方法秒的方法我們采用在主程序中設(shè)定一個初值為的軟件計數(shù)器和使定時毫秒這樣每當(dāng)?shù)胶撩霑r就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,先使軟件計數(shù)器減,然后判斷它是否為零。為零表示秒已到可以返回到輸出時間顯示程序。4.2.44.2.4 相應(yīng)程序代碼相應(yīng)程序代碼()主程序定時器需定時毫秒,故工作于方式。初值: T計數(shù)ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令為定時器方式 MOV TH0, #3CH ;裝入定時器初值 MOV

27、TL0, #BOH; MOV IE,#82H ;開中斷 SEBT TO;啟動計數(shù)器 MOV RO,#14H;軟件計數(shù)器賦初值LOOP:SJMP $;等待中斷()中斷服務(wù)子程序 :DJNZ ,AJMP TIME ; 跳轉(zhuǎn)到時間及信號燈顯示子程序 DJNZ:,;恢復(fù)值 MOV TH0, #3CH ;重裝入定時器初值 MOV TL0, #BOH; MOV IE,#82H 4.3 軟件延時 MCS-51 的工作頻率為 2-12MHZ,我們選用的 8031 單片機的工作頻率為 6MHZ。機器周期與主頻有關(guān),機器周期是主頻的 12 倍,所以一個機器周期的時間為 12*(1/6M)=2us。我們可以知道具體

28、每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 11 -確定 1 秒的時間。 具體的延時程序分析: DELAY:MOV R4,#08H 延時 1 秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 延時 125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RET MOV RN,#DATA 字節(jié)數(shù)數(shù)為 2 機器周期數(shù)為 1所以此指令的執(zhí)行時間為 2ms DELAY1 為一個雙重循壞 循環(huán)次數(shù)為 256*256=65536 所以延時時間=65536*2=1310

29、72us 約為 125us DELAY R4 設(shè)置的初值為 8 主延時程序循環(huán) 8 次,所以 125us*8= 1 秒 由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。4.4 時間及信號燈的顯示4.4.14.4.1 80518051 并行口的擴展并行口的擴展 8051 雖然有 4 個 8 位 I/O 端口,但真正能提供借用的只有 P1 口,因為 P2 和 P0 口通常用于傳送外部傳送地址和數(shù)據(jù),P3 口也有它的第二功能。因此,8031 通常需要擴展。由于我們用外部輸入設(shè)定紅綠燈倒計時初值、數(shù)碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個 I/O 端口,顯然 8031 的端口是不夠,需要

30、擴展。 擴展的方法有兩種:(1)借用外部 RAM 地址來擴展 I/O 端口;(2)采用 I/O 接口新片來擴充。我們用 8255 并行接口信片來擴展 I/O 端口。4.4.24.4.2 顯示原理:顯示原理:當(dāng)定時器定時為 1 秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進入循環(huán)。 4.4.34.4.3 8255PA8255PA 口輸出信號接信號燈口輸出信號接信號燈: 由于發(fā)光二極管為共陽極接法,輸出端口為低電平,對應(yīng)的二極管

31、發(fā)光,所以可以用置位方法點亮紅,綠,黃發(fā)光二極管。4.4.44.4.4 82558255 輸出信號與數(shù)碼管的連接:輸出信號與數(shù)碼管的連接: LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 12 -顯示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上所以上為伏,不亮其余為高電平,全亮則顯示為采用共陰級連接:其中 PC0PB0-a,PC1PB1-b, PC2PB2-c,PC3PB3-d,PC4PB4-e, PC5PB5-f,PC6PB6-gPC7PB7 -SP 接地顯示數(shù)值dop g f e d c b a 驅(qū)動代碼(16

32、 進制)00 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 006H2 0 1 0 1 1 0 1 15BH3 0 1 0 0 1 1 1 14FH4 0 1 1 0 0 1 1 066H5 0 1 1 0 1 1 0 06DH6 0 1 1 1 1 1 0 07DH7 0 0 0 0 0 1 1 107H8 0 1 1 1 1 1 1 17FH 表 3 驅(qū)動代碼表4.4.54.4.5 82558255 與與 80518051 的連接的連接:用 8051 的 P0 口的 p0.7 連接 8255 的片選信號 cs 我們用 8031 的地址采用全譯碼方式,當(dāng) p0.7 =0

33、時片選有效, 其他無效, p0.1 p0.1 用于選擇 8255 端口 P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0A7 A6 A5 A4 A3 A2 A1 A01 X X X X X 0 0 00H 為 8255 的 PA 口1 X X X X X 0 1 01H 為 8255 的 PB 口1 X X X X X 1 0 02H 為 8255 的 PC 口1 X X X X X 1 1 03H 為 8255 的控制口由于 8051 是分時對 8255 和儲存器進行訪問所以 8051 的 P0 口不會發(fā)生沖突4.5 程序設(shè)計4.5.14.5.1 流程圖如圖所示

34、流程圖如圖所示開始初始化 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 13 - 圖 8 圖 9 程序流程圖4.5.24.5.2 程序源代碼程序源代碼 ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳轉(zhuǎn)到主程序的開始處 ORG 0003H ;外部中斷 0 的中斷程序入口地址 ORG 000BH ;定時器 0 的中斷程序入口地址 LJMP T0_INT ;跳轉(zhuǎn)到中斷服務(wù)程序處 ORG 0013H ;外部中斷 1 的中斷程序入口地址 MAIN : MOV SP,#50H MOV IE,#8EH ;CPU 開中斷,允許 T0 中斷,T1 中斷和外部中斷 1 中斷 MOV TMOD,#51H ;

35、設(shè)置 T1 為計數(shù)方式,T0 為定時方式,且都工作于模式 1 MOV TH1,#00H ;T1 計數(shù)器清零 MOV TL1,#00H SETB TR1 ;啟動 T1 計時器 SETB EX1 ;允許 INT1 中斷 SETB IT1 ;選擇邊沿觸發(fā)方式 MOV DPTR ,#0003H MOV A, #80H ;給 8255 賦初值,8255 工作于方式 0 MOVX DPTR, AAGAIN: JB P3.1,N0 ;判斷是否要設(shè)定東西方向紅綠燈時間的初值,若 P3.1 為 1 則跳轉(zhuǎn) MOV A,P1 JB P1.7,RED ;判斷 P1.7 是否為 1,若為 1 則設(shè)定紅燈時間,否則設(shè)定

36、綠燈時間 等待鍵盤事件鍵盤事件處理顯示程序處理 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 14 - MOV R0,#00H ;R0 清零 MOV R0,A ;存入東西方向綠燈初始時間 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAINRED: MOV A,P1 ANL A,#7FH ;P1.7 置 0 MOV R7,#00H ;R7 清零 MOV R7,A ;存入東西方向紅燈初始時間 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN;-N0: SETB TR0 ;啟動 T0 計時器 MOV 76H,R7 ;紅燈時間存入 76H

37、N00: MOV A,76H ;東西方向禁止,南北方向通行 MOV R3,A MOV DPTR,#0000H ;置 8255A 口,東西方向紅燈亮,南北方向綠燈亮 MOV A,#0DDH MOVX DPTR, AN01: JB P2.0,B0N02: SETB P3.0 CJNE R3,#00H,N01 ;比較 R3 中的值是否為 0,不為 0 轉(zhuǎn)到當(dāng)前指令處執(zhí)行;-黃燈閃爍 5 秒程序-N1: SETB P3.0 MOV R3,#05H MOV DPTR,#0000H ;置 8255A 口,東西,南北方向黃燈亮 MOV A,#0D4H MOVX DPTR,AN11: MOV R4,#00HN

38、12: CJNE R4,#7DH,$ ;黃燈持續(xù)亮 0.5 秒N13: MOV DPTR,#0000H ; 置 8255A 口,南北方向黃燈滅 MOV A,#0DDH 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 15 - MOVX DPTR,AN14: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)滅 0.5 秒 CJNE R3,#00H,N1 ;閃爍時間達 5 秒則退出;-N2: MOV R7,#00H MOV A,R0 ;東西通行,南北禁止 MOV R3,A MOV DPTR,#0000H ; 置 8255A 口,東西方向綠燈亮,南北方向紅燈亮 MOV A,#0EBH MOVX

39、DPTR,AN21: JB P2.0,T03 N22: CJNE R3,#00H,N21;-黃燈閃爍 5 秒程序-N3: MOV R3,#05H MOV DPTR,#0000H ;置 8255A 口,東西,南北方向黃燈亮 MOV A,#0E2H MOVX DPTR,AN31: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)亮 0.5 秒N32: MOV DPTR,#0000H ; 置 8255A 口,南北方向黃燈滅 MOV A,#0EBH MOVX DPTR,AN33: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)滅 0.5 秒 CJNE R3,#00H,

40、N3 ;閃爍時間達 5 秒則退出 SJMP N00;-闖紅燈報警程序-B0: MOV R2,#03H ;報警持續(xù)時間 3 秒B01: MOV A,R3 JZ N1 ;若倒計時完畢,不再報警 CLR P3.0 ;報警 CJNE R2,#00H,B01 ;判斷 3 秒是否結(jié)束 SJMP N02 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)- 16 -;-1 秒延時子程序-N7: RETIT0_INT:MOV TL0,#9AH ;給定時器 T0 送定時 10ms 的初值 MOV TH0,#0F1H INC R4 INC R5 CJNE R5,#0FAH,T01 ;判斷延時是否夠一秒,不夠則調(diào)用顯示子程序 MOV R5,#00H ;R5 清零 DEC R3 ;倒計時初值減一 DEC R2 ;報警初值減一T01: ACALL DISP ;調(diào)用顯示子程序 RETI ;中斷返回;-顯示子程序-DISP: JNB P2.4,T02DISP1: MOV B,#0AH MOV A,R3 ;R3 中值二轉(zhuǎn)十顯示轉(zhuǎn)換 DIV AB MOV 79H,A MOV 7AH,BDIS: MOV A,79H ;顯示十位 MOV DPT

溫馨提示

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

最新文檔

評論

0/150

提交評論