版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、xxxxxxxx 學(xué)院學(xué)院 學(xué)生畢業(yè)設(shè)計(jì)(論文)學(xué)生畢業(yè)設(shè)計(jì)(論文) 題 目: 單片機(jī)交通燈控制器設(shè)計(jì)制作 姓 名: xxx 學(xué) 號(hào): 200xxxxxxxx 系 部: 電子信息工程系 專 業(yè): 通信工程 指導(dǎo)老師: xxx 開(kāi)題時(shí)間: 2011.11.28 完成時(shí)間: 2011.12.28 xxxx 學(xué)院教務(wù)處制 目錄目錄 摘要摘要 .3 3 1 1 概述概述.4 4 1.1 單片機(jī)的定義.4 1.2 單片機(jī)介紹.4 2.3.2 mcs-51 單片機(jī)的邏輯結(jié)構(gòu).5 2.3.3 mcs-51 的信號(hào)引腳.6 1.3.4 8255 芯片簡(jiǎn)介.9 1.3.5 串口電平轉(zhuǎn)換芯片 max232.9 3
2、 3 方案比較、設(shè)計(jì)與論證方案比較、設(shè)計(jì)與論證.1010 3.1 電源提供方案.11 3.2 顯示界面方案.11 3.3 輸入方案:.11 2.1 總體設(shè)計(jì).13 2.2 各功能模塊硬件設(shè)計(jì)及實(shí)現(xiàn).13 2.2.1 交通燈四種通行模式及行車方向指示.13 4.2.2 鍵盤(pán)與狀態(tài)顯示及其實(shí)現(xiàn).16 4.2.3 數(shù)碼管顯示電路.17 4.2.4 交通燈系統(tǒng)硬件電路圖.19 3 3 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì).2020 5.1 軟件總體流程圖.20 3.2 軟件主要程序流程.21 5.2.1 每秒鐘的設(shè)定.21 5.2.2 按鍵中斷程序.21 5.2.3 數(shù)碼管顯示程序.22 5.3 程序源代碼.23
3、 6 6 系統(tǒng)調(diào)試與測(cè)試結(jié)果系統(tǒng)調(diào)試與測(cè)試結(jié)果.3030 6.1 軟件調(diào)試.30 6.2 硬件調(diào)試.30 6.3 軟硬聯(lián)調(diào).30 參考文獻(xiàn)參考文獻(xiàn) .3131 致致 謝謝 .3232 摘要摘要 當(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)控;各路口有固定的
4、工作周期,并且在道路擁擠時(shí)中 控中心能改變其周期。 交通事業(yè)蓬勃發(fā)展,交通流量年年增長(zhǎng),大、中、小城市的汽車、摩托車等各種車輛與日俱增, 道路交通繁忙,經(jīng)常有嚴(yán)重堵車現(xiàn)象,特別是在交叉口,機(jī)動(dòng)車、非機(jī)動(dòng)車、行人來(lái)往非常混亂, 為了在叉口的各條干道實(shí)現(xiàn)合理的科學(xué)分流。本人根據(jù)單片機(jī)具有物美價(jià)廉、功能強(qiáng)、使用方便靈 活、可靠性高等特點(diǎn),提出了一種用 stc89c51 單片機(jī)自動(dòng)控制交通信號(hào)燈及時(shí)間顯示的方法,同 時(shí)給出了軟硬件的實(shí)現(xiàn)方法,為交通指揮自動(dòng)化提供了一種新的廉價(jià)手段,具有一定的推廣意義。 本文介紹了控制基本原理以及控制的表現(xiàn),同時(shí)也介紹了城市交通信息系統(tǒng)的設(shè)計(jì)目標(biāo), 開(kāi)發(fā)途徑 及其系統(tǒng)結(jié)
5、構(gòu)與功能和數(shù)據(jù)地理編碼、建庫(kù), 同時(shí), 論述了系統(tǒng)中交通現(xiàn)狀、交通管理、交通規(guī)劃 及背景信息查詢模塊的建造及應(yīng)用。介紹了用于城市交叉路口的三色程控交通信號(hào)時(shí)間顯示器的研 制方案,對(duì)其電源供電、發(fā)光二極管構(gòu)成的負(fù)載結(jié)構(gòu)、燈色時(shí)間檢測(cè)都給出了精巧合理的優(yōu)化結(jié)構(gòu), 大幅度地提高了產(chǎn)品可靠性并降低了制造成本。 關(guān)鍵詞:8051 單片機(jī);交通燈;自動(dòng)控制;時(shí)間顯示器 1 概述 1.1 單片機(jī)的定義 單片機(jī)是指一個(gè)集成在一塊 芯片上的完整計(jì)算機(jī) 系統(tǒng)。盡管它的 大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的 大部分部件: cpu、內(nèi)存、內(nèi)部和外部 總線系統(tǒng),目前大部分還會(huì)具有 外存。同時(shí)集
6、成諸如通訊接口、 定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在 最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系 統(tǒng)集成在一塊芯片上。 1.2 單片機(jī)介紹 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一 個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng) 用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。89c51 單 片機(jī)的結(jié)構(gòu)及信號(hào)引腳如圖 1.1 所示。 頻率基準(zhǔn)源 振蕩器及 定時(shí)電路 4kb 程序 儲(chǔ)存器 128b 數(shù) 據(jù)儲(chǔ)存器 2 個(gè) 16 位定時(shí) 器/事件計(jì)數(shù)據(jù) 計(jì)數(shù)器 cpu
7、 64kb 總 線擴(kuò)展控 制 可編程 i/o可編程串行口 中斷 中斷 串行輸入串行輸出 口i/o并行控制 圖 1.1 89c51 單片機(jī)的結(jié)構(gòu)及信號(hào)引腳 2.3.2 mcs-51 單片機(jī)的邏輯結(jié)構(gòu) (1)中央處理器(cpu) 中央處理器簡(jiǎn)稱 cpu,是單片機(jī)的核心,完成運(yùn)算和控制操作。按其功能,中央處理器包括運(yùn) 算器和控制器兩部分電路。 (2)運(yùn)算器電路 功能:?jiǎn)纹瑱C(jī)的運(yùn)算部件,用于實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。 (3)控制器電路 功能:?jiǎn)纹瑱C(jī)的指揮控制部件,保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。 (4)內(nèi)部數(shù)據(jù)存儲(chǔ)器 組成:ram(1288)和 ram 地址寄存器等。 功能:用于存放可讀寫(xiě)的數(shù)據(jù)。 (5
8、)內(nèi)部程序存儲(chǔ)器 組成:rom(4k8))和程序地址寄存器等。 功能:用于存放程序和原始數(shù)據(jù)。 (6)定時(shí)器計(jì)數(shù)器 80c51 共有兩個(gè) 16 位的定時(shí)器計(jì)數(shù)器。 功能:實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)單片機(jī)進(jìn)行控制,以滿足控制應(yīng)用的需 要。 (7)并行 i/o 口 mcs-51 共有 4 個(gè) 8 位的 i/o 口(p0、p1、p2、p3) 功能:實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。 (8)串行口 mcs- 51 單片機(jī)有一個(gè)全雙工的串行口。 功能;以實(shí)現(xiàn)單片機(jī)和其它數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送。 (9)中斷控制系統(tǒng) 80c51 共有 5 個(gè)中斷源,即外中斷 2 個(gè),定時(shí)計(jì)數(shù)中斷 2 個(gè),串行中斷
9、 1 個(gè)。全部中斷分為 高級(jí)和低級(jí)共兩個(gè)優(yōu)先級(jí)別。 (10)時(shí)鐘電路 mcs- 51 芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。 功能:時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。 典型的晶振頻率:6mhz、11.0592mhz、12mhz。 (11)位處理器 位處理器稱為布爾處理器。 功能:以狀態(tài)寄存器中的進(jìn)位標(biāo)志位 c 為累加位,可進(jìn)行各種位操作。 (12)總線 總線:連接計(jì)算機(jī)各部件的一組公共信號(hào)線。 分類:地址總線、數(shù)據(jù)總線和控制總線。 作用:減少了單片機(jī)的連線和引腳,提高了集成度和可靠性。 2.3.3 mcs-51 的信號(hào)引腳 80c51 是標(biāo)準(zhǔn)的 40 引腳雙列直插式集成電路芯片,引
10、腳排列如圖所示。 (1)信號(hào)引腳介紹 1 p1.0 2 p1.1 3 p1.2 4 p1.3 5 p1.4 6 p1.5 7 p1.6 8 p1.7 9 rst/vpd 10 rxd/p3.0 11 txd/p3.1 12 int0/p3.2 13 int1/p3.3 14 t0/p3.4 15 t1/p3.5 16 wr/p3.6 17 rd/p3.7 18 xtal2 19 xtal1 20 vss 21 p2.0 22 p2.1 23 p2.2 24 p2.3 25 p2.4 26 p2.5 27 p2.6 28 p2.7 29 psen 30 ale/prog 31 ea/vpp 32
11、 p0.7 33 p0.6 34 p0.5 35 p0.4 36 p0.3 37 p0.2 38 p0.1 39 p0.0 40 vcc 80c51 (a)三三三三 ea/vpp psen ale/prog vcc vss rst/vpd 12 xtal1 xtal2 p3三 三三三三 p2三p1三 p0三 三三三三三三三 三三三三 80c51 三b三三三三三 圖 1.2 80c51 芯片引腳排列圖 輸入輸出口線 p0.0p0.7 p0 口 8 位雙向口線 p1.0p1.7 p1 口 8 位雙向口線 p2.0p2.7 p2 口 8 位雙向口線 p3.0p3.7 p3 口 8 位雙向口線 ale
12、 地址鎖存控制信號(hào) 功能:a)在系統(tǒng)擴(kuò)展時(shí),ale 用于控制把 p0 口輸出的低 8 位地址送入鎖存器鎖存起來(lái),以實(shí) 現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。如圖所示。 74ls373 g p2.3 p2.2 p2.1 p2.0 p0.7p0.0 ale -psen 80c51 -ce a10 a9 a8 a7a0 o7o0 -oe 2716 圖 1.3 單片機(jī)程序存儲(chǔ)器擴(kuò)展連接圖 b)ale 是以六分之一晶振頻率的固定頻率輸出的正脈沖,可作為外部時(shí)鐘或外部定時(shí)脈沖使 用。 /psen 外部程序存儲(chǔ)器讀選通信號(hào) 在讀外部 rom 時(shí)/psen 有效(低電平) ,以實(shí)觀外部 rom 單元的讀操作。 /ea
13、訪問(wèn)程序存儲(chǔ)器控制信號(hào) 當(dāng)/ea 信號(hào)為低電平時(shí),對(duì) rom 的讀操作限定在外部程序存儲(chǔ)器; 當(dāng)/ea 信號(hào)為高電平時(shí),對(duì) rom 的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延續(xù)至外部程序存儲(chǔ) 器。 rst 復(fù)位信號(hào) 當(dāng)輸入的復(fù)位信號(hào)延續(xù) 2 個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位操作。 xtal1 和 xtal2 外接晶體引線端 當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容; 當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。 vss地線 vcc5v 電源 (2)信號(hào)引腳的第二功能 “復(fù)用”即給一些信號(hào)引腳賦予雙重功能。第二功能信號(hào)定義主要集中在 p3 口線中,另外再 加上幾個(gè)
14、其它信號(hào)線。 常見(jiàn)的第二功能信號(hào) p3 口線的第二功能 p3 口 8 條口線都定義有第二功能,如表所示。 口線第二功能信號(hào)名稱 p3.0rxd串行數(shù)據(jù)接收 p3.1txd串行數(shù)據(jù)發(fā)送 p3.2int0外部中斷 0 申請(qǐng) p3.3int1外部中斷 1 申請(qǐng) p3.4t0定時(shí)器/計(jì)數(shù)器 0 計(jì)數(shù)輸入 p3.5t1定時(shí)器/計(jì)數(shù)器 1 計(jì)數(shù)輸入 p3.6wr外部 ram 寫(xiě)選通 p3.7rd外部 ram 讀選通 表 1.1 p3 口的第二功能 eprom 存儲(chǔ)器程序固化所需要的信號(hào) 編程脈沖:30 腳(ale/prog) 編程電壓(25v):31 腳(/ea/vpp) 備用電源引入 備用電源是通過(guò) 9
15、 腳(rst/vpd)引入的。當(dāng)電源發(fā)生故障,電壓降低到下限值時(shí),備用電源 經(jīng)此端向內(nèi)部 ram 提供電壓,以保護(hù)內(nèi)部 ram 中的信息不丟失。 說(shuō)明: a)第一功能信號(hào)與第二功能信號(hào)是單片機(jī)在不同工作方式下的信號(hào),因此不會(huì)發(fā)生使用上的 矛盾。 b)p3 口線先按需要優(yōu)先選用它的第二功能,剩下不用的才作為 i/o 口線使用。 (3)89c51 的復(fù)位電路 8051 的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖 4。此外,reset/vpd還是一復(fù) 用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部 ram 的數(shù)據(jù)不丟失。 圖 1.4 復(fù)位電路 1.3.4 8255 芯片簡(jiǎn)介 82
16、55 可編程并行接口芯片簡(jiǎn)介: 8255 可編程并行接口芯片有三個(gè)輸入輸出端口,即 a 口、b 口和 c 口,對(duì)應(yīng)于引腳 pa7pa0、pb7pb0 和 pc7pc0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常 a 口、b 口作為 輸入輸出的數(shù)據(jù)端口。c 口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成 4 位的端 口,每個(gè)端口包含一個(gè) 4 位鎖存器。它們分別與端口 a配合使用,可以用作控制信號(hào)輸出或作 為狀態(tài)信號(hào)輸入。 8255 可編程并行接口芯片方式控制字格式說(shuō)明: 8255 有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是 c 口按位置位復(fù)位控制字。其 中 c 口按位置位復(fù)位控制字
17、方式使用較為繁難,說(shuō)明也較冗長(zhǎng),故在此不作敘述,需要時(shí)用戶可 自行查找有關(guān)資料方式控制字格式說(shuō)明如表 1.2 所示。 圖 1.2 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=輸出) d2:b 口方式選擇 (0=方式 0,1=方式 1) d1:b 口功能 (1=輸入,0=輸出) d0:c 口低 4 位功能 (1=輸入,0=輸出) 8255 可編程并行接口芯片工作方式說(shuō)明: 方式 0:基本輸入輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可
18、以用作輸入或 輸出。輸出可被鎖存,輸入不能鎖存。 方式 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)。 1.3.5 串口電平轉(zhuǎn)換芯片 max232 max232 芯片是美信公司專門為電腦的 rs-232 標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v 單電源供電。 d7d6d5d4d3d2d1d0 內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分: 第一部分是電荷泵電路。由 1、2、3、4、5、6
19、 腳和 4 只電容構(gòu)成。功能是產(chǎn)生+12v 和-12v 兩 個(gè)電源,提供給 rs-232 串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由 7、8、9、10、11、12、13、14 腳構(gòu)成兩個(gè)數(shù)據(jù)通道。 其中 13 腳(r1in)、12 腳(r1out)、11 腳(t1in)、14 腳(t1out)為第一數(shù)據(jù)通道。 8 腳(r2in)、9 腳(r2out)、10 腳(t2in)、7 腳(t2out)為第二數(shù)據(jù)通道。 ttl/cmos 數(shù)據(jù)從 t1in、t2in 輸入轉(zhuǎn)換成 rs-232 數(shù)據(jù)從 t1out、t2out 送到電腦 dp9 插頭;dp9 插 頭的 rs-232 數(shù)據(jù)從 r1in、r2i
20、n 輸入轉(zhuǎn)換成 ttl/cmos 數(shù)據(jù)后從 r1out、r2out 輸出。 第三部分是供電。15 腳 dng、16 腳 vcc(+5v)。 圖 1.5 max232 芯片各管腳解法圖 3 方案比較、設(shè)計(jì)與論證 此交通燈方案實(shí)現(xiàn)了基本的交通工作原理,并且加入了禁左行車時(shí)間,有兩種工作模式,白 天的時(shí)候車流量比較大啟動(dòng)模式 1,當(dāng)?shù)搅送砩宪嚵髁肯鄬?duì)少了啟動(dòng)模式 2,這樣就避免了晚上沒(méi) 車時(shí)候等候時(shí)間過(guò)長(zhǎng)的因素。 3.1 電源提供方案 為使模塊穩(wěn)定工作,須有可靠電源。我們考慮了兩種電源方案 方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn) 是各模塊都采用獨(dú)立電源,會(huì)
21、使系統(tǒng)復(fù)雜,且可能影響電路電平。 方案二:采用單片機(jī)控制模塊提供電源。改方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸 出功率不高。 綜上所述,我們選擇第二種方案。 3.2 顯示界面方案 該系統(tǒng)要求完成倒計(jì)時(shí)、狀態(tài)燈等功能?;谏鲜鲈颍覀兛紤]了三種方案: 方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號(hào)和數(shù)碼字苻,無(wú)法勝任題目要求。 方案二:完全采用點(diǎn)陣式 led 顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能 強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。 方案三:采用數(shù)碼管與點(diǎn)陣 led 相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀 態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)
22、情況,用數(shù)碼管與 led 燈分別顯示時(shí)間與提示信息。這種方 案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu) 缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。 3.3 輸入方案: 題目要求系統(tǒng)能手動(dòng)設(shè)燈亮?xí)r間、夜間模式處理,我們討論了兩種方案: 方案一:采用 8155 擴(kuò)展 i/o 口及鍵盤(pán),顯示等。該方案的優(yōu)點(diǎn)是: 使用靈活可編程,并且有 ram,及計(jì)數(shù)器。若用該方案,可提供較多 i/o 口,但操作起來(lái)稍顯復(fù) 雜。 方案二:直接在 io 口線上接上按鍵開(kāi)關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡(jiǎn)和優(yōu)化了電路,所以剩余的口資源 還比較多,我們使用兩個(gè)按鍵,分別是 k1、k2 由于該系
23、統(tǒng)對(duì)于交通燈及數(shù)碼管的控制,只用單片機(jī)本身的 i/o 口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器 及 ram 已經(jīng)夠用,故選擇方案二。 2 系統(tǒng)硬件設(shè)計(jì) 硬件設(shè)計(jì)是整個(gè)設(shè)計(jì)的基礎(chǔ),要考慮的方方面面很多,除了實(shí)現(xiàn)交通燈的基本功能外,主要 還要考慮如下幾個(gè)因素:系統(tǒng)穩(wěn)定度;器件的通用性或易選購(gòu)性;軟件編程的易實(shí)現(xiàn)性;系統(tǒng)其他 功能及性能指標(biāo);因此硬件設(shè)計(jì)至關(guān)重要。先從各功能模塊的實(shí)現(xiàn)之歌進(jìn)行分析探討。 2.1 總體設(shè)計(jì) 本設(shè)計(jì)一單片機(jī)為控制核心,采用單 mcu 結(jié)構(gòu),模塊化設(shè)計(jì),共分為以下幾個(gè)功能模塊:?jiǎn)纹?機(jī)控制系統(tǒng)、鍵盤(pán)及狀態(tài)顯示、行車方向顯示、和倒計(jì)時(shí)模塊等。 單片機(jī)作為整個(gè)硬件系統(tǒng)的核心,他既是諧調(diào)整機(jī)工
24、作的控制器,又是數(shù)據(jù)處理器。它由單片 機(jī)、時(shí)鐘電路、復(fù)位電路等組成。 行車方向指示燈采用三種顏色的 led 發(fā)光管,分別為紅、黃、綠,紅和綠指示禁止與放行,形 象直觀。 鍵盤(pán)采用按鍵。分別控制模式 1 和模式 2。 系統(tǒng)采用單數(shù)碼管倒計(jì)時(shí)功能,最大顯示數(shù)字為 99。 有好的人機(jī)界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)以及豐富的功能是本設(shè)計(jì)的亮點(diǎn)。 主 單 片 基 行車方向指示 鍵盤(pán)與狀態(tài)顯示 倒計(jì)時(shí) 圖 2.1 系統(tǒng)總體設(shè)計(jì)框圖 2.2 各功能模塊硬件設(shè)計(jì)及實(shí)現(xiàn) 2.2.1 交通燈四種通行模式及行車方向指示 按交通燈控制規(guī)則,每個(gè)街口有左拐、直行、等待、三種指示燈。 交道口模型圖: 圖 8 交道口
25、模型圖 4 個(gè) led 燈按照設(shè)置的通行時(shí)間變化,led 顯示南北、和東西方向的等待時(shí)間開(kāi)始南北方向 為 60 秒,而東西方向?yàn)?40 秒就行倒計(jì)時(shí),共有四種通行方式,分別為 圖 9a 通行方式一 圖 9b 通行方式二 圖 9c 通行方式三 圖 9d 通行方式四 圖 10a 模式一下的通行方式一 圖 10b 模式一下的通行方式二 圖 10c 模式一下的通行方式三 圖 10d 模式一下的通行方式四 當(dāng)處于模式 1 時(shí): 通行方式一:倒計(jì)時(shí)時(shí)間為 60 秒(等待時(shí)間) ,紅綠燈狀態(tài):只限東西方向左拐,所以南北方 向?yàn)榧t,東西方向左拐 led 燈亮,持續(xù) 10 秒鐘。如圖 9b 和圖 10b。 通行
26、方式二:倒計(jì)時(shí)時(shí)間為 50 秒(等待時(shí)間) ,紅綠燈狀態(tài):東西方向直行,南北方向禁行, 所以南北方向?yàn)榧t燈,東西方向直行 led 燈亮,持續(xù) 50 秒。如圖 9a 和 10a。 通行方式三:倒計(jì)時(shí)時(shí)間為 40 秒(等待時(shí)間) ,紅綠燈狀態(tài):只限南北方向左拐,所以東西方 向?yàn)榧t燈,南北方向左拐 led 燈亮,持續(xù) 10 秒鐘。如圖 9d 和圖 10d。 通行方式四:倒計(jì)時(shí)時(shí)間為 30 秒(等待時(shí)間) ,紅綠燈狀態(tài):南北方限制性,東西方向禁行, 所以東西方向?yàn)榧t燈,南北方向直行 led 燈亮,持續(xù) 30 秒。如圖 9c 和 10c。 通行方式二和四,在通行還剩五秒的時(shí)候,這是黃燈開(kāi)始工作,綠燈在倒
27、計(jì)時(shí)還剩 5 秒的時(shí)候 滅,然后黃燈開(kāi)始閃爍,提醒司機(jī)快紅燈了。 當(dāng)處于模式 2 時(shí): 通行方式五:倒計(jì)時(shí)時(shí)間為 40 秒(等待時(shí)間) ,紅綠燈狀態(tài):只限東西方向左拐,所以南北方 向?yàn)榧t,東西方向左拐 led 燈亮,持續(xù) 10 秒鐘。如圖 9b。 通行方式六:倒計(jì)時(shí)時(shí)間為 30 秒(等待時(shí)間) ,紅綠燈狀態(tài):東西方向直行,南北方向禁行, 所以南北方向?yàn)榧t燈,東西方向直行 led 燈亮,持續(xù) 50 秒。如圖 9a。 通行方式七:倒計(jì)時(shí)時(shí)間為 20 秒(等待時(shí)間) ,紅綠燈狀態(tài):只限南北方向左拐,所以東西方 向?yàn)榧t燈,南北方向左拐 led 燈亮,持續(xù) 10 秒鐘。如圖 9d。 通行方式八:倒計(jì)時(shí)時(shí)
28、間為 10 秒(等待時(shí)間) ,紅綠燈狀態(tài):南北方限制性,東西方向禁行, 所以東西方向?yàn)榧t燈,南北方向直行 led 燈亮,持續(xù) 30 秒。如圖 9c。 通行方式六和八,在通行還剩五秒的時(shí)候,這是黃燈開(kāi)始工作,綠燈在倒計(jì)時(shí)還剩 5 秒的時(shí)候 滅,然后黃燈開(kāi)始閃爍,提醒司機(jī)快紅燈了。 4.2.2 鍵盤(pán)與狀態(tài)顯示及其實(shí)現(xiàn) 鍵盤(pán)在本設(shè)計(jì)中用于更換紅綠燈工作模式的手動(dòng)控制裝置,以及復(fù)位時(shí)間,起到了不可或缺的 重要作用。我們選用兩個(gè)按鈕來(lái)作為控制裝置,分別為 k1,k2,當(dāng)按下 k1 啟動(dòng)模式 1,當(dāng)按下 k2 啟動(dòng)模式 2。 獨(dú)立式是一組相互獨(dú)立的按健,這些按健可直接與單片機(jī)的 1/o 口連接,即每個(gè)按健
29、獨(dú)占一條 口線,接口簡(jiǎn)單。獨(dú)立式鍵盤(pán)因占用單片機(jī)的硬件資源較多,只適合按鍵較少的場(chǎng)合。 圖 11 鍵盤(pán) 4.2.3 數(shù)碼管顯示電路 數(shù)碼管在其中要加相應(yīng)大小的上拉電阻,上拉電阻的作用就是增大電流,是數(shù)碼管更亮,在此 設(shè)計(jì)中,由于 i/o 接口數(shù)量足夠,所以采用數(shù)碼管靜態(tài)顯示方法,這樣雖然浪費(fèi) i/o 接口,但是本 設(shè)計(jì)條件允許,并且使軟件設(shè)計(jì)更簡(jiǎn)單,更容易。采用的數(shù)碼管為共陰極,所用公共端接地。 數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元 (多一個(gè)小數(shù)點(diǎn)顯示) ;按能顯示多少個(gè)“8”可分為 1 位、2
30、 位、4 位等等數(shù)碼管;按發(fā)光二極管單 元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起 形成公共陽(yáng)極(com)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極 com 接到+5v,當(dāng)某一字段發(fā)光 二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。 。 共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰數(shù)碼管在應(yīng) 用時(shí)應(yīng)將公共極 com 接到地線 gnd 上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就 點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。 圖 12 數(shù)碼管顯示電路 圖中的電阻為上拉電
31、阻。 led 顯示器中的發(fā)光二極管共有兩種連接方法: 共陽(yáng)極接法 把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極。使用時(shí)公共陽(yáng)極接5v。陰極端輸入低電平的 段發(fā)光二極管導(dǎo)通點(diǎn)亮,輸入高電平的則不點(diǎn)亮。 共陰極接法 把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時(shí)會(huì)共陰極接地,陽(yáng)極端輸入高電平的段 發(fā)光二極管導(dǎo)通點(diǎn)亮,輸入低電平的則不點(diǎn)亮。 圖 13 led 顯示器 用 led 顯示器顯示十六進(jìn)制數(shù)的字型代碼如下表所示: 顯示數(shù)值dp g f e d c b a 驅(qū)動(dòng)代碼(16 進(jìn)制) 00 0 1 1 1 1 1 1 3fh 1 0 0 0 0 0 1 1 006h 2 0 1 0 1 1 0 1 15
32、bh 3 0 1 0 0 1 1 1 14fh 4 0 1 1 0 0 1 1 066h 5 0 1 1 0 1 1 0 06dh 6 0 1 1 1 1 1 0 07dh 7 0 0 0 0 0 1 1 107h 8 0 1 1 1 1 1 1 17fh 表 2 數(shù)碼管驅(qū)動(dòng)代碼表 4.2.4 交通燈系統(tǒng)硬件電路圖 b 1 qb 2 qa 3 cten 4 u/d 5 qc 6 qd 7 gnd 8 d 9 c 10 load 11 max/min 12 rco 13 clk 14 a 15 vcc 16 74191 10m r gnd tri out res vcc dis thr con
33、555 2 3 1 dq -q +vcc 三三三三 三三三三三 10uf 100pf c? cap 10uf c 6m r +vcc +vcc vcc 三三三三三 三三三三三 三三三三 三三三三 圖 14 交通燈看著系統(tǒng)邏輯電路圖 3 系統(tǒng)軟件設(shè)計(jì) 硬件平臺(tái)結(jié)構(gòu)一旦確定,大的功能框架即形成。軟件在硬件平臺(tái)上構(gòu)筑,完成各部分硬件的控 制和協(xié)調(diào)。系統(tǒng)功能是由軟硬件共同實(shí)現(xiàn)的,由于軟件的可伸縮性,最終實(shí)現(xiàn)的系統(tǒng)功能可強(qiáng)可弱, 差別可能很大。因此,如那件事本系統(tǒng)的靈魂。軟件采用 c 語(yǔ)言,不僅易于編程和調(diào)試,也可減少 軟件故障率和提高軟件的可靠性。同時(shí),對(duì)軟件進(jìn)行全面測(cè)試也是檢驗(yàn)錯(cuò)誤排除故障的重要手段
34、。 由于變成多涉及到數(shù)值運(yùn)算,比較復(fù)雜,這里我們選擇移植性好、結(jié)構(gòu)清晰、能進(jìn)行復(fù)雜運(yùn)算的 c 語(yǔ)言來(lái)實(shí)現(xiàn)編程。 5.1 軟件總體流程圖 軟件總體設(shè)計(jì)及流程圖見(jiàn)圖 14,主要完成各部分的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要 完成的工作是對(duì)系統(tǒng)的初始化,包括發(fā)送顯示數(shù)據(jù),led 的初始值設(shè)定,等待外部中斷,以及根據(jù) 所需要的功能進(jìn)行相應(yīng)的操作。其流程圖如圖 15 所示。 初 始 化 取 鍵 值 判斷當(dāng)前狀態(tài) 倒 計(jì) 時(shí)led 顏色工作模式 圖 15 系統(tǒng)流程圖 主程序比較簡(jiǎn)單,初始化完成后,調(diào)用按鍵子程序,取得鍵值,并根據(jù)當(dāng)前系統(tǒng)狀態(tài)調(diào)用相應(yīng) 的子程序。 開(kāi) 始 3.23.2 軟件主要程序流程軟件
35、主要程序流程 5.2.1 每秒鐘的設(shè)定 延時(shí)方法可以有兩種一中是利用 mcs-51 內(nèi)部定時(shí)器才生溢出中斷來(lái)確定 1 秒的時(shí)間,另一種 是采用軟延時(shí)的方法。mcs-51 的工作頻率為 2-12mhz,我們選用的 8031 單片機(jī)的工作頻率為 6mhz。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的 12 倍,所以一個(gè)機(jī)器周期的時(shí)間為 12*(1/6m) =2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定 1 秒的時(shí) 間。我們采用的是軟延遲的方法。 void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); 其
36、中給定 z=1000 為時(shí)間 1 秒。 5.2.2 按鍵中斷程序 它包含倒計(jì)時(shí)調(diào)整和模式切換兩個(gè)狀態(tài)。主程序中放了一個(gè)按鍵的判斷指令,當(dāng)有按鍵按下的 時(shí)候,程序就自動(dòng)的跳轉(zhuǎn)到按鍵子程序處理。當(dāng)檢測(cè)到 k1 鍵按下的時(shí)候就自動(dòng)返回到主程序,運(yùn) 行 k1 模式 1,當(dāng)檢測(cè)刀 k2 按下時(shí)自動(dòng)返回主程序,運(yùn)行 k2 模式。 k1 模式子程序: if(h=1|aa=1) i=9; j=4; p2=table3; g1=0; r2=0; g2=1; r1=1; y1=1; y2=1; h=1; if(h=1) i=9; j=6; p2=table5; g2=0; r1=0; r2=1; g1=1; y1
37、=1; y2=1; h=1; k2 模式子程序: if(h=0|aa=0) i=9; j=6; p2=table5; g1=0; r2=0; g2=1; r1=1; y1=1; y2=1; h=0; if(h=0) i=9; j=8; p2=table7; g2=0; r1=0; r2=1; g1=1; y1=1; y2=1; h=0; 5.2.3 數(shù)碼管顯示程序 參照表 2,數(shù)碼管顯示與 16 位進(jìn)制時(shí)之間的關(guān)系建立數(shù)組 table=0 x6f,0 x7f,0 x07,0 x7d,0 x6d,0 x66,0 x4f,0 x5b,0 x06,0 x3f;采用循環(huán),將數(shù)組中的值按 每秒鍵 1 的
38、方法顯示在數(shù)碼管上,這就是沖 9-0 的倒計(jì)時(shí)。 循環(huán)顯示程序: for(;j11;j+) for(;i10;i+) p3=tablei; delay(500); z+; p2=tablej; i=0; 其中 p3 位十位數(shù)碼顯示管顯示數(shù)字,p2 為個(gè)位數(shù)碼管顯示數(shù)字。 5.3 程序源代碼 #include #include #define uint unsigned int /宏定義 #define uchar unsigned char uchar i,j,z,h,tt,ii,jj,aa,bb; uchar code table=0 x6f,0 x7f,0 x07,0 x7d,0 x6d,
39、0 x66,0 x4f,0 x5b,0 x06,0 x3f; sbit gg1=p00; sbit gg2=p01; sbit y1=p12; sbit r1=p13; sbit g1=p14; sbit y2=p17; sbit r2=p16; sbit g2=p15; sbit key1=p10; sbit key2=p11; void delay(uint); void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void main() gg1=1; gg2=1; aa=1; h=1; key1=1; key2=1;
40、z=0; p3=0; p2=0; while(1) if(h=1|aa=1) i=9; j=4; p2=table3; g1=0; r2=0; g2=1; r1=1; y1=1; y2=1; h=1; if(h=0|aa=0) i=9; j=6; p2=table5; g1=0; r2=0; g2=1; r1=1; y1=1; y2=1; h=0; for(;j11;j+) for(;i=5) gg1=0; g1=1; if(h=0) if(p3=0 x3f) g1=1; if(key1=0) aa=1; if(key1=0) aa=1; if(key2=0) aa=0; if(key2=0)
41、 aa=0; if ( p2=0 x3f ) gg1=1; if(z=0) y1=0; if(z=1) y1=1; z+; p2=tablej; i=0; if(h=1) i=9; j=6; p2=table5; g2=0; r1=0; r2=1; g1=1; y1=1; y2=1; h=1; if(h=0) i=9; j=8; p2=table7; g2=0; r1=0; r2=1; g1=1; y1=1; y2=1; h=0; for(;j11;j+) for(;i=7) gg2=0; g2=1; if(h=0) if(p3=0 x3f) g2=1; if(key1=0) aa=1; if
42、(key1=0) aa=1; if(key2=0) aa=0; if(key2=0) aa=0; if ( p2=0 x3f ) gg2=1; if(z=0) y2=0; if(z=1) y2=1; z+; p2=tablej; i=0; gg2=1; 6 系統(tǒng)調(diào)試與測(cè)試結(jié)果 因本設(shè)計(jì)本身要求穩(wěn)定性高、免維護(hù)、抗干擾力強(qiáng)等功能,系統(tǒng)調(diào)試扯了驗(yàn)證數(shù)據(jù)處理的精度, 確保判斷的準(zhǔn)確性外,同時(shí)必須確認(rèn)各項(xiàng)的功能的正常運(yùn)行。 6.1 軟件調(diào)試 本系統(tǒng)的軟件系統(tǒng)比較大,全部用 c51 來(lái)編寫(xiě),選用一般的 keil7 對(duì) c51 進(jìn)行調(diào)試。除了語(yǔ)法 錯(cuò)誤外,當(dāng)確定沒(méi)問(wèn)題后生產(chǎn) hex 文件,首先在 protues 上進(jìn)行仿真實(shí)驗(yàn),然后逐步調(diào)試每一個(gè)模 板,然后在連成一個(gè)完整的系統(tǒng),最后完成呢過(guò)一個(gè)完整的系統(tǒng)調(diào)試。主要是數(shù)碼管和 led 的調(diào)試。 6.2 硬件調(diào)試 城市交通燈控制系統(tǒng)的 pcb 電路板焊接,本設(shè)計(jì)采用三層板子: 第一層板
溫馨提示
- 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. 人人文庫(kù)網(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án)龍區(qū)龍泉育才學(xué)校九年級(jí)上學(xué)期語(yǔ)文9月測(cè)試卷
- 白云實(shí)驗(yàn)學(xué)校七年級(jí)上學(xué)期語(yǔ)文期中考試試卷
- 自愿放棄就業(yè)協(xié)議書(shū)(2篇)
- 獨(dú)特的裝扮說(shuō)課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《領(lǐng)導(dǎo)科學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 《楊氏之子》說(shuō)課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《工程造價(jià)課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《材料與工藝》2022-2023學(xué)年第一學(xué)期期末試卷
- 管樁技術(shù)合作協(xié)議書(shū)(2篇)
- 南京工業(yè)大學(xué)《儀器分析專題》2022-2023學(xué)年第一學(xué)期期末試卷
- 脊柱結(jié)核患者護(hù)理查房
- 人教版九年級(jí)上冊(cè)化學(xué) 第六單元 課題1 金剛石、石墨、C60(第一課時(shí))說(shuō)課稿
- 鄧麗君組曲 女聲三部合唱譜
- 《孫周興:藝術(shù)哲學(xué)美是如何誕生的》2021-2022超星爾雅課后測(cè)試答案
- 小學(xué)班主任培訓(xùn)方案
- 政府采購(gòu)行業(yè)營(yíng)銷策略方案
- Unit6Craftsmanship+單詞課件-中職高二英語(yǔ)高教版(2021)基礎(chǔ)模塊2
- 2023-2024年新人教版pep六年級(jí)英語(yǔ)上冊(cè)試卷全套含答案
- 消防安全問(wèn)卷調(diào)查表范本
- 虛擬化技術(shù)在教育和培訓(xùn)領(lǐng)域的應(yīng)用解決方案
- 冀教版小學(xué)數(shù)學(xué)四年級(jí)上冊(cè)教案7.1《垂線的認(rèn)識(shí)》
評(píng)論
0/150
提交評(píng)論