畢業(yè)設(shè)計(jì)(論文) 基于AT89c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):28139739 上傳時(shí)間:2021-08-23 格式:DOC 頁(yè)數(shù):19 大?。?56.03KB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)設(shè)計(jì)(論文) 基于AT89c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共19頁(yè)
畢業(yè)設(shè)計(jì)(論文) 基于AT89c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共19頁(yè)
畢業(yè)設(shè)計(jì)(論文) 基于AT89c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共19頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(jì)(論文) 基于AT89c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文) 基于AT89c51單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 摘要: 當(dāng)今時(shí)代是一個(gè)自動(dòng)化時(shí)代,交通燈控制等很多行業(yè)的設(shè)備都與計(jì)算機(jī)密切相關(guān)。因此,一個(gè)好的交通燈控制系統(tǒng),將給道路擁擠、違章控制等方面給予技術(shù)革新。隨著大規(guī)模集成電路及計(jì)算機(jī)技術(shù)的迅速發(fā)展,以及人工智能在控制技術(shù)方面的廣泛運(yùn)用,智能設(shè)備有了很大的發(fā)展,是現(xiàn)代科技發(fā)展的主流方向。本文介紹了一個(gè)智能交通燈系統(tǒng)的設(shè)計(jì)。該智能交通燈控制系統(tǒng)可以實(shí)現(xiàn)的功能有:對(duì)某市區(qū)的四個(gè)主要交通路口進(jìn)行監(jiān)控;各路口有固定的工作周期,并且在道路擁擠時(shí)中控中心能改變其周期;對(duì)路口違章的機(jī)動(dòng)車(chē)能夠即時(shí)拍照,并提取車(chē)牌號(hào)。該設(shè)計(jì)介紹了以AT89c51單片機(jī)為路口控制核心,以磁感應(yīng)傳感器采集違章信號(hào),中控室以

2、微機(jī)為控制器對(duì)路口進(jìn)行監(jiān)視違章處理等操作,圖象傳輸采用電信ADSL公共網(wǎng)進(jìn)行傳輸。對(duì)單片機(jī)的通信采用MAX232進(jìn)行轉(zhuǎn)換,當(dāng)意外死機(jī)時(shí)本系統(tǒng)還有防死機(jī)等功能。 The ages is an automation ages nowadays and transportation light controls waiting a lot of equipmentses of professions all is closely related with calculator.Therefore, a good transportation light control system,

3、will hustle for road, illegal control etc. give technique innovation.Along with the technical quick development of the large scale integration and the calculator, and the artificial intelligence is control the extensive usage of technique, the intelligence equipments had a very big development, is t

4、he essential direction that modern science and technology develop.This text introduced the design of an intelligence transportation light system.The intelligences transportation light control the system can carry out of the function have:Carry on supervision to four main transportation street corner

5、s of some downtown;Each street corner contains fixed work period, and control center in the road hustle the hour can change its period;Can immediately take photo to the street corner illegal automobile, and withdraw license plate number.That design introduced with AT89 c 51 single slice machine for

6、the street corner control core, respond to spread a feeling machine to collect illegal signal by Ci, medium control room to take tiny machine as controller to carry on keeping watch on illegal processing etc. operation to the street corner, the portrait delivers the adoption telecommunication ADSL p

7、ublic net to carry on deliver.To single slice the correspondence of the machine adopt the MAX232 carry on a conversion and this system still has already defended to crash to wait function while being an accident to crash. 關(guān)鍵詞: 燈控制 給道路 燈系統(tǒng) 圖象 1 引言 當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車(chē)輛最常見(jiàn)和最有效

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

9、外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車(chē)輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車(chē)放行,以免發(fā)生交通事故。 信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)《道路交通和道路標(biāo)志信號(hào)協(xié)定》對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車(chē)輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車(chē)輛都必須讓合法地正在路口內(nèi)行駛的車(chē)輛和

10、過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車(chē)輛必須在交叉路口的停車(chē)線后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線,但車(chē)輛已十分接近停車(chē)線而不能安全停車(chē)時(shí)可以進(jìn)入交叉路口。 2 單片機(jī)概述 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。 單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)

11、正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。 3 芯片簡(jiǎn)介 3.1 MSC-51芯片簡(jiǎn)介 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu) 8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。 8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明: 中央處理器: 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)

12、責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。 數(shù)據(jù)存儲(chǔ)器(RAM) 8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專(zhuān)用寄存器單元,它們是統(tǒng)一編址的,專(zhuān)用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 圖1 程序存儲(chǔ)器(ROM): 8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。 定時(shí)/計(jì)數(shù)器(ROM): 8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。 并

13、行輸入輸出(I/O)口: 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。 全雙工串行口: 8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。 中斷系統(tǒng): 8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。 時(shí)鐘電路: 8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。 單片機(jī)的結(jié)構(gòu)有兩種類(lèi)型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)

14、的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。 下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2。 圖2 MCS-51的引腳說(shuō)明: MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右

15、圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明: MCS-51的引腳說(shuō)明: MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖3

16、 圖3 Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫(xiě)入07H,其它專(zhuān)用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。 8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖4。此外,RESET/Vpd還是一復(fù)

17、用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 圖4 Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。 如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。 Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行

18、。 Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。 在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。 3.2 8255芯片簡(jiǎn)介 8255可編程并行接口芯片簡(jiǎn)介: 8255可編程并行接口芯片有三個(gè)輸入輸出端口,即A口、B口和C口,對(duì)應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個(gè)控

19、制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。 8255可編程并行接口芯片方式控制字格式說(shuō)明: 8255有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng),故在此不作敘述,需要時(shí)用戶可自行查找有關(guān)資料。 方式控制字格式說(shuō)明如表1: 表1 D7 D6 D5 D4 D3 D2 D1 D0 D7:設(shè)定工

20、作方式標(biāo)志,1有效。 D6、D5:A口方式選擇 0 0 —方式0 0 1 —方式1 1 —方式2 D4:A口功能 (1=輸入,0=輸出) D3:C口高4位功能 (1=輸入,0=輸出) D2:B口方式選擇 (0=方式0,1=方式1) D1:B口功能 (1=輸入,0=輸出) D0:C口低4位功能 (1=輸入,0=輸出) 8255可編程并行接口芯片工作方式說(shuō)明: 方式0:基本輸入/輸出方式。適用于三

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

22、 狀態(tài)同輸入狀態(tài);當(dāng)LE由“1”變“0”時(shí),數(shù)據(jù) 打入鎖存器 OE為輸出允許端:當(dāng)OE=0時(shí),三態(tài)門(mén)打開(kāi); 當(dāng)OE=1時(shí),三態(tài)門(mén)關(guān)閉,輸出高阻。 4 系統(tǒng)硬件設(shè)計(jì) 4.1交通管理的方案論證 東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車(chē)輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車(chē)時(shí)間。設(shè)東西道比南北道的車(chē)流量大,指示燈燃亮的方案如表2。 60S 5S 80S 5S …… 東西道 紅燈亮 黃

23、燈亮 綠燈亮 黃燈亮 …… 南北道 綠燈亮 黃燈亮 紅燈亮 黃燈亮 …… 表2 表2說(shuō)明: (1)當(dāng)東西方向?yàn)榧t燈,此道車(chē)輛禁止通行,東西道行人可通過(guò);南北道為綠燈,此道車(chē)輛通過(guò),行人禁止通行。時(shí)間為60秒。 (2)黃燈閃爍5秒,警示車(chē)輛和行人紅、綠燈的狀態(tài)即將切換。 (3)當(dāng)東西方向?yàn)榫G燈,此道車(chē)輛通行;南北方向?yàn)榧t燈,南北道車(chē)輛禁止通過(guò),行人通行。時(shí)間為80秒。 東西方向車(chē)流大 通行時(shí)間長(zhǎng)。 (4)這樣如上表的時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人

24、和車(chē)輛就能安全暢通的通行。 (5)此表可根據(jù)車(chē)流量動(dòng)態(tài)設(shè)定紅綠燈初始值。 4.2系統(tǒng)硬件設(shè)計(jì) 選用設(shè)備8031單片機(jī)一片選用設(shè)備:8031彈片機(jī)一片,8255并行通用接口芯片一片,74LS07兩片,MAX692‘看門(mén)狗’一片,共陰極的七段數(shù)碼管兩個(gè)雙向晶閘管若干,7805三端穩(wěn)壓電源一個(gè),紅、黃、綠交通燈各兩個(gè),開(kāi)關(guān)鍵盤(pán)、連線若干。 4.2.1 系統(tǒng)總框圖如下: 圖6 4.2.2 交通燈硬件線路圖 4.2.3 系統(tǒng)工作原理 (1)開(kāi)關(guān)鍵盤(pán)輸入交通燈初始時(shí)間,通過(guò)8051單片機(jī)P1輸入到系統(tǒng) (2) 由805

25、1單片機(jī)的定時(shí)器每秒鐘通過(guò)P0口向8255的數(shù)據(jù)口送信息,由8255的PA 口顯示紅、綠、黃燈的燃亮情況;由8255的PC口顯示每個(gè)燈的燃亮?xí)r間。 (3)8051通過(guò) 設(shè)置 各個(gè)信號(hào)等的燃亮?xí)r間、通過(guò)8031設(shè)置,綠、紅時(shí)間分別為60秒、80秒循環(huán)由8051的 P0口向8255的數(shù)據(jù)口輸出。 (4) 通過(guò)8051單片機(jī)的P3.0位來(lái)控制系統(tǒng)是工作或設(shè)置初值,當(dāng).牌位0就對(duì)系統(tǒng)進(jìn)行初始化,為1系統(tǒng)就開(kāi)始工作。 (5)紅燈倒計(jì)時(shí)時(shí)間,當(dāng)有車(chē)輛闖紅燈時(shí),啟動(dòng)蜂鳴器進(jìn)行報(bào)警,3S后然后恢復(fù)正常。 (6)增加每次綠燈時(shí)間車(chē)流量檢測(cè)的功能,并且通過(guò)查詢P2.0端口的電平是否為低,開(kāi)關(guān)按下為低電

26、平,雙位數(shù)碼管顯示車(chē)流量,直到下一次綠燈時(shí)間重新記入。 (7)綠燈時(shí)間倒計(jì)時(shí)完畢,重新循環(huán)。 5.控制器的軟件設(shè)計(jì) 5.1每秒鐘的設(shè)定 延時(shí)方法可以有兩種一中是利用MCS-51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。 5.2計(jì)數(shù)器硬件延時(shí) 5.2.1 計(jì)數(shù)器初值計(jì)算 定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和計(jì)數(shù)初值設(shè)定為T(mén)C 可得到如下計(jì)算通式: TC=M-C 式中,M為計(jì)數(shù)器摸值

27、,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為213 ;在方式1時(shí)M的值為216;在方式2和3為28 5.2.2 計(jì)算公式 T=(M-TC)T計(jì)數(shù) 或TC=M-T/T計(jì)數(shù)  T計(jì)數(shù)是單片機(jī)時(shí)鐘周期TCLK的12倍;TC為定時(shí)初值 如單片機(jī)的主脈沖頻率為TCLK12MHZ ,經(jīng)過(guò)12分頻 方式0   ?。裕停粒兀?13 *1微秒=8.192毫秒 方式1   ?。裕停粒兀?16?。蔽⒚耄剑叮担担常逗撩?  顯然1秒鐘已經(jīng)超過(guò)了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問(wèn)題. 5.2.3 1秒的方法   我們采用在主程序中設(shè)定一個(gè)初值為20的

28、軟件計(jì)數(shù)器和使T0定時(shí)50毫秒.這樣每當(dāng)T0到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。 5.2.4相應(yīng)程序代碼 (1)主程序     定時(shí)器需定時(shí)50毫秒,故T0工作于方式1?!〕踔担?    ?。裕茫剑停裕?T計(jì)數(shù) =216?。担癿s/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令TO為定時(shí)器方式1 MOV TH0,

29、 #3CH ;裝入定時(shí)器初值 MOV TL0, #BOH  ; MOV IE,   #82H ;開(kāi)T0中斷 SEBT  TRO      ?。粏?dòng)T0計(jì)數(shù)器 MOV  RO,  #14H   ;軟件計(jì)數(shù)器賦初值 LOOP: SJMP $        ?。坏却袛? (2)中斷服務(wù)子程序       ORG ?。埃埃埃拢?       AJMP  BRT0       ORG?。埃埃拢? ?。拢遥裕希篋JNZ R0,NEXT       

30、AJMP TIME ; 跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序 DJNZ:MOV?。遥希#保矗取?;恢復(fù)R0值    MOV TH0, #3CH ;重裝入定時(shí)器初值 MOV TL0, #BOH  ; MOV IE,   #82H        RET1 END 5.3 軟件延時(shí) MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。我們可以知道具體每條指

31、令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間。 具體的延時(shí)程序分析: DELAY:MOV R4,#08H 延時(shí)1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RET DELAY1:MOV R6,#0 延時(shí)125ms 子程序 MOV R5,#0 DE1: DJNZ R5,$ DJNZ R6,DE1 RET MOV RN,#DATA 字節(jié)數(shù)數(shù)為2 機(jī)器周期數(shù)為1 所以此指令的執(zhí)行時(shí)間為2ms

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

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

34、發(fā)光,所以可以用置位方法點(diǎn)亮紅,綠,黃發(fā)光二極管。 5.4.4 8255輸出信號(hào)與數(shù)碼管的連接: LED 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)量而顯示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以?。樱猩蠟椋胺涣疗溆酁椋裕裕谈唠娖?,全亮則顯示為8 采用共陰級(jí)連接: 其中 PC0\PB0-a, PC1\PB1-b, PC2\PB2-c, PC3\PB3-d, PC4\PB4-e, PC5\PB5-f, PC6\PB6-g PC7\PB7 -SP接地 顯示數(shù)值 dop g f e d c b a

35、 驅(qū)動(dòng)代碼(16進(jìn)制) 0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 0 6DH 6 0 1 1 1 1 1 0 0 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 表 3 驅(qū)動(dòng)代碼表

36、 5.4.5 8255與8051的連接: 用8051的P0 口的 p0.7 連接8255的片選信號(hào)cs 我們用8031的地址采用全譯碼方式,當(dāng)p0.7 =0 時(shí)片選有效, 其他無(wú)效, p0.1 p0.1 用于選擇8255端口 P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0 A7 A6 A5 A4 A3 A2 A1 A0 1 X X X X X 0 0 00H為8255 的PA口 1 X X X X X 0 1 01H 為8

37、255的PB口 1 X X X X X 1 0 02H 為8255的PC口 1 X X X X X 1 1 03H 為8255的控制口 由于8051是分時(shí)對(duì)8255和儲(chǔ)存器進(jìn)行訪問(wèn)所以8051的P0口不會(huì)發(fā)生沖突 5.5 程序設(shè)計(jì) 5.5.1流程圖如圖所示 開(kāi)始 初始化 等待鍵盤(pán)事件 顯示程序處理 鍵盤(pán)事件處理 圖8

38、 圖9 程序流程圖 5.5.2 程序源代碼 ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳轉(zhuǎn)到主程序的開(kāi)始處 ORG 0003H ;外部中斷0的中斷程序入口地址 ORG 000BH ;定時(shí)器0的中斷程序入口地址 LJMP T0_INT ;跳轉(zhuǎn)

39、到中斷服務(wù)程序處 ORG 0013H ;外部中斷1的中斷程序入口地址 MAIN : MOV SP,#50H MOV IE,#8EH ;CPU開(kāi)中斷,允許T0中斷,T1中斷和外部中斷1中斷 MOV TMOD,#51H ;設(shè)置T1為計(jì)數(shù)方式,T0為定時(shí)方式,且都工作于模式1 MOV TH1,#00H ;T1計(jì)數(shù)器清零 MOV TL1,#00H SETB TR1 ;啟動(dòng)T1計(jì)時(shí)器 SETB EX1

40、 ;允許INT1中斷 SETB IT1 ;選擇邊沿觸發(fā)方式 MOV DPTR ,#0003H MOV A, #80H ;給8255賦初值,8255工作于方式0 MOVX @DPTR, A AGAIN: JB P3.1,N0 ;判斷是否要設(shè)定東西方向紅綠燈時(shí)間的初值,若P3.1為1 則跳轉(zhuǎn) MOV A,P1 JB P1.7,RED ;判斷P1.7是否為1,若為1則設(shè)定紅燈時(shí)間,否則設(shè)定綠燈時(shí)間 MOV R0,#00

41、H ;R0清零 MOV R0,A ;存入東西方向綠燈初始時(shí)間 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN RED: MOV A,P1 ANL A,#7FH ;P1.7置0 MOV R7,#00H ;R7清零 MOV R7,A ;存入東西方向紅燈初始時(shí)間 MOV R3,A LCALL DISP1 LCALL DELA

42、Y AJMP AGAIN ;------------------------------------------- N0: SETB TR0 ;啟動(dòng)T0計(jì)時(shí)器 MOV 76H,R7 ;紅燈時(shí)間存入76H N00: MOV A,76H ;東西方向禁止,南北方向通行 MOV R3,A MOV DPTR,#0000H ;置8255A口,東西方向紅燈亮,南北方向綠燈亮 MOV A,#0DDH MOVX @DPTR, A N01:

43、 JB P2.0,B0 N02: 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,A N11: MOV R4,#00H N12: CJNE R4,#7DH,$ ;黃燈持續(xù)亮0.5秒 N13: MOV

44、DPTR,#0000H ; 置8255A口,南北方向黃燈滅 MOV A,#0DDH MOVX @DPTR,A N14: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)滅0.5秒 CJNE R3,#00H,N1 ;閃爍時(shí)間達(dá)5秒則退出 ;------------------------------------------------------------ N2: MOV R7,#00H MOV A,R0 ;東西通行,南北禁止 MOV R3,A

45、 MOV DPTR,#0000H ; 置8255A口,東西方向綠燈亮,南北方向紅燈亮 MOV A,#0EBH MOVX @DPTR,A N21: JB P2.0,T03 N22: CJNE R3,#00H,N21 ;------黃燈閃爍5秒程序------ N3: MOV R3,#05H MOV DPTR,#0000H ;置8255A口,東西,南北方向黃燈亮 MOV A,#0E2H MOVX @DPTR,A N31: MOV R4,#00H

46、 CJNE R4,#7DH,$ ;黃燈持續(xù)亮0.5秒 N32: MOV DPTR,#0000H ; 置8255A口,南北方向黃燈滅 MOV A,#0EBH MOVX @DPTR,A N33: MOV R4,#00H CJNE R4,#7DH,$ ;黃燈持續(xù)滅0.5秒 CJNE R3,#00H,N3 ;閃爍時(shí)間達(dá)5秒則退出 SJMP N00 ;------闖紅燈報(bào)警程序------ B0: MOV R2,#03H ;報(bào)警持續(xù)時(shí)間3秒 B01: MOV

47、A,R3 JZ N1 ;若倒計(jì)時(shí)完畢,不再報(bào)警 CLR P3.0 ;報(bào)警 CJNE R2,#00H,B01 ;判斷3秒是否結(jié)束 SJMP N02 ;------1秒延時(shí)子程序------- N7: RETI T0_INT:MOV TL0,#9AH ;給定時(shí)器T0送定時(shí)10ms的初值 MOV TH0,#0F1H INC R4 INC R5 CJNE R5,#0FAH,T01 ;判斷延時(shí)

48、是否夠一秒,不夠則調(diào)用顯示子程序 MOV R5,#00H ;R5清零 DEC R3 ;倒計(jì)時(shí)初值減一 DEC R2 ;報(bào)警初值減一 T01: ACALL DISP ;調(diào)用顯示子程序 RETI ;中斷返回 ;------顯示子程序------ DISP: JNB P2.4,T02 DISP1: MOV B,#0AH MOV A,R3 ;R3中值二轉(zhuǎn)十顯示轉(zhuǎn)換 D

49、IV AB MOV 79H,A MOV 7AH,B DIS: MOV A,79H ;顯示十位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H MOV A,#0F7H MOVX @DPTR,A LCALL DELAY DS2: MOV A,7AH ;顯示個(gè)位 MOV DP

50、TR,#TAB MOVC A,@A+DPTR MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H MOV A,#0FBH MOVX @DPTR,A RET ;------東西方向車(chē)流量檢測(cè)程序------ T03: MOV A,R3 SUBB A,#00H ;若綠燈倒計(jì)時(shí)完畢,不再檢測(cè)車(chē)流量 JZ N3 JB P2.0,T03

51、 INC R7 CJNE R7,#64H,E1 MOV R7,#00H ;中斷到100次則清零 E1: SJMP N22 ;------東西方向車(chē)流量顯示程序------ T02: MOV B,#0AH MOV A,R7 ;R7中值二轉(zhuǎn)十顯示轉(zhuǎn)換 DIV AB MOV 79H,A MOV 7AH,B DIS3: MOV A,79H ;顯示十位 MOV

52、DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#0002H MOVX @DPTR,A MOV DPTR,#0001H MOV A,#0F7H MOVX @DPTR,A LCALL DELAY DS4: MOV A,7AH ;顯示個(gè)位 MOV DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#0002H MOVX @DPTR,A MOV

53、DPTR,#0001H MOV A,#0FBH MOVX @DPTR,A LJMP N7 ;------延時(shí)4MS子程序---------- DELAY: MOV R1,#0AH LOOP: MOV R6,#64H NOP LOOP1: DJNZ R6,LOOP1 DJNZ R1,LOOP RET ;------字符表------ TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

54、 6 結(jié)論 本系統(tǒng)就是充分利用了8051和8255芯片的I/O引腳。系統(tǒng)統(tǒng)采用MSC-51系列單片機(jī)Intel8051和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車(chē)流量通過(guò)8031芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)PA口輸出,顯示時(shí)間直接通過(guò)8255的PC口輸出至雙位數(shù)碼管);車(chē)輛闖紅燈報(bào)警;綠燈時(shí)間可檢測(cè)車(chē)流量并可通過(guò)雙位數(shù)碼管顯示。。系統(tǒng)不足之處不能控制車(chē)的左、右轉(zhuǎn)、以及自動(dòng)根據(jù)車(chē)流改變紅綠燈時(shí)間等。這是由于本身地理位子以及車(chē)流量情況所定,如果有需要可以設(shè)計(jì)擴(kuò)充原系統(tǒng)來(lái)實(shí)現(xiàn) 。 通過(guò)這次畢業(yè)設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。 參考文獻(xiàn) 1張毅坤. 單片微型計(jì)算機(jī)原理及應(yīng)用,西安電子科技大學(xué)出版社 1998 2余錫存 曹?chē)?guó)華.單片機(jī)原理及接口技術(shù)[M].陜西:西安電子科技大學(xué)出版社,2000.7 3雷麗文 等.微機(jī)原理與接口技術(shù)[M].北京:電子工業(yè)出版社,1997.2 WWW部分資料。 第 19 頁(yè) 共27頁(yè)

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!