版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p><b> 課程設(shè)計任務(wù)書1</b></p><p><b> 成員分工2</b></p><p><b> 課題分析3</b></p><p> 第一章 80C51單片機5<
2、;/p><p> 1.1單片機的概念5</p><p> 1.280C51單片機簡介5</p><p> 1.2.180C51單片機內(nèi)部邏輯結(jié)構(gòu)5</p><p> 1.2.280C51單片機的封裝與信號引腳7</p><p> 1.2.380C51單片機的內(nèi)部存儲器8</p>
3、<p> 1.2.480C51單片機的時鐘與時序11</p><p> 第二章 總體方案12</p><p> 2.1畫出原理框圖12</p><p> 2.2了解Proteus的編輯環(huán)境ISIS12</p><p> 2.3了解ISIS電路圖的繪制基本常識13</p><p>
4、 2.4了解仿真時電路故障的排除方法14</p><p> 第三章 硬件系統(tǒng)設(shè)計16</p><p> 3.1元器件的選擇16</p><p> 3.1.1紅黃綠三色LED燈16</p><p> 3.1.2倒計時顯示LED數(shù)碼管16</p><p> 3.1.3控制開關(guān)18<
5、/p><p> 3.2單元電路的設(shè)計18</p><p> 3.3電路連接18</p><p> 第四章 軟件系統(tǒng)設(shè)計20</p><p> 4.1程序流程圖20</p><p> 4.2匯編程序21</p><p> 4.3Proteus仿真26</p&g
6、t;<p> 第五章 設(shè)計總結(jié)29</p><p> 5.1心得體會29</p><p> 5.2參考文獻29</p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 題目:智能交通燈控制系統(tǒng)設(shè)計</p><p><b> 設(shè)計要求<
7、;/b></p><p> 1.用發(fā)光二極管模擬交通信號燈,用按鍵開關(guān)模擬車輛檢測信號。</p><p> 2.A、B兩車道交叉組成十字路口,A是主車道,B是支道。正常情況下,A、B兩車道輪流放行,A放行50s,B放行30s,各含5s警告時間。</p><p> 3.交通繁忙時,該系統(tǒng)應(yīng)有手受控開關(guān)緩解交通擁擠狀況,其中一車道放行期間,另一車道繁忙,可通
8、過開關(guān)獲得15s放行時間。</p><p> 4.有緊急車輛通過時,另需一開關(guān)設(shè)置兩車道均禁止通行20s。</p><p><b> 主要功能模塊</b></p><p> 智能交通燈控制系統(tǒng)主要功能模塊包括電源電路、單片機主控電路、按鍵控制電路和道路顯示電路組成。根據(jù)具體情況選擇合適型號的單片機,發(fā)光二極管,開關(guān)等硬件設(shè)備進行設(shè)計。&l
9、t;/p><p><b> 要求完成的主要任務(wù)</b></p><p> 1. 根據(jù)功能要求完成硬件電路設(shè)計,提供硬件電路圖。</p><p> 2. 使用匯編或者C語言完成軟件部分設(shè)計,實現(xiàn)相應(yīng)功能。要求程序加注釋并提供軟件流程圖。</p><p> 3. 使用Proteus軟件進行系統(tǒng)仿真,并提供仿真截圖,測試數(shù)
10、據(jù),誤差分析。</p><p><b> 時間安排</b></p><p> 2012.3.26~2012.4.8 收集資料,確定設(shè)計方案</p><p> 2012.4.9~2012.5.27 系統(tǒng)設(shè)計</p><p> 2012.5.28~2012.6.10 撰寫課程設(shè)計論文及提交</p
11、><p> 指導(dǎo)教師簽名: 年 月 日 </p><p><b> 課題分析</b></p><p><b> 概述</b></p><p> 單片機是計算機技術(shù)、大規(guī)模集成電路技術(shù)和控制技術(shù)的綜合產(chǎn)物。經(jīng)過30多年的發(fā)展歷程
12、,單片機應(yīng)用已經(jīng)十分廣泛和深入。可以毫不夸張的說,任何設(shè)備和產(chǎn)品的自動化、數(shù)字化和智能化都離不開單片機。這里我們選用當(dāng)今應(yīng)用最為廣泛的8位單片機80C51來完成智能交通控制系統(tǒng)的設(shè)計,并用Proteus進行仿真。</p><p><b> 智能交通的意義</b></p><p> 國內(nèi)的交通燈一般設(shè)在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個倒計時
13、的顯示計時器來控制行車。對于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實際行車過程中出現(xiàn)的情況,還存在以下缺點:</p><p> 經(jīng)常出現(xiàn)的情況是某一車道車輛較多,放行時間應(yīng)該長一些,另一車道車輛較少,放行時間應(yīng)該短些。</p><p> 沒有考慮緊急車通過時,兩車道應(yīng)采取的措施,例如,消防車執(zhí)行緊急任務(wù)通過時,兩車道的車都應(yīng)停止,讓緊急車通過。</p><
14、;p> 基于傳統(tǒng)交通燈控制系統(tǒng)設(shè)計過于死板,紅綠燈交替是間過于程式化的缺點,智能交通燈控制系統(tǒng)的設(shè)計就更顯示出了它的研究意義,它能根據(jù)道路交通擁護,交叉路口經(jīng)常出現(xiàn)擁堵的情況。利用單片機控制技術(shù).提出了軟件和硬件設(shè)計方案,能夠?qū)崿F(xiàn)道路的最大通行效率。</p><p><b> Proteus</b></p><p> Proteus強大的單片機系統(tǒng)設(shè)計與仿
15、真功能,使它可成為單片機系統(tǒng)應(yīng)用開發(fā)和改進手段之一。全部過程都是在計算機上通過Proteus來完成的。其過程一般也可分為三步:</p><p> 在ISIS平臺上進行單片機系統(tǒng)電路設(shè)計、選擇元器件、接插件、連接電路和電氣檢測等。簡稱Proteus電路設(shè)計。</p><p> 在ISIS平臺或其他平臺(如Keil平臺)上進行單片機系統(tǒng)程序設(shè)計、編譯、匯編編譯、代碼級調(diào)試,最后生成目標(biāo)代碼
16、文件(*. hex)。簡稱Proteus源程序設(shè)計和生成目標(biāo)代碼文件。</p><p> 在ISIS平臺上將目標(biāo)代碼文件加載到單片機系統(tǒng)中,并實現(xiàn)單片機系統(tǒng)的實時交互、協(xié)同仿真。它在相當(dāng)程度上反映了實際單片機系統(tǒng)的運行情況。簡稱Proteus仿真。</p><p><b> 要求分析</b></p><p> 以紅黃綠三色LED燈模擬交通
17、信號燈,以二位LED數(shù)碼管顯示倒計時。</p><p> A、B兩車道交叉組成十字路口,A是主車道,B是支道。正常情況下,A、B兩車道輪流放行,過程如下:</p><p> A綠燈放行共50s,通行15S之后開始允許轉(zhuǎn)向,轉(zhuǎn)向包括左轉(zhuǎn)和右轉(zhuǎn),期間B為紅燈禁止前行且禁止轉(zhuǎn)向;</p><p> 50s結(jié)束后,AB均有5s黃燈警告時間;</p>&l
18、t;p> B綠燈放行共30s,通行15S之后開始允許轉(zhuǎn)向,期間A為紅燈禁止前行且禁止轉(zhuǎn)向;</p><p> 30s結(jié)束后,AB均有5s黃燈警告時間。</p><p> 交通繁忙時,有手受控開關(guān)緩解交通擁擠狀況,其中一車道放行期間,另一車道繁忙,通過開關(guān)可獲得15s放行時間。額外放行時間結(jié)束后紅綠燈返回之前中斷時刻的狀態(tài)繼續(xù)。</p><p> 有緊急
19、車輛通過時,另有開關(guān)設(shè)置AB均禁止通行20s,期間AB全部黃燈警告。</p><p> 第一章 80C51單片機</p><p><b> 單片機的概念</b></p><p> 單片機是集成在一個芯片上的計算機,全稱單片微型計算機SCMC(Single Chip Micro-Computer)。單片機是計算機、自動控制和大規(guī)模集成電路
20、技術(shù)相結(jié)合的產(chǎn)物,融計算機結(jié)構(gòu)和控制功能于一體,是微型計算機的一個重要分支,也是頗具生命力的機種。單片微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。</p><p> 通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。</p><p> 單片
21、機經(jīng)過1、2、3三代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。</p><p> 80C51單片機簡介</p><p> 80C51是8位單片機中一個最基本、最典型的芯片型號,是MCS-51系列單片機中8051的改進型,使用相當(dāng)廣泛。</p><p> 80C51單片機內(nèi)部邏輯結(jié)構(gòu)
22、</p><p> 80C51單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行I/O接口、串行接口、中斷系統(tǒng)、時鐘電路、位處理器等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,其邏輯結(jié)構(gòu)如圖1.1所示。 </p><p><b> 中央處理器CPU</b></p><p> 中央處理器CPU(Cen
23、tral Processing Unit)是整個單片機的核心部件,包含運算電路和控制電路兩大部分,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p> 內(nèi)部數(shù)據(jù)存儲器(RAM)</p><p> 80C51內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專
24、用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。</p><p> 內(nèi)部程序存儲器(ROM)</p><p> 包括ROM(4Kx8)和程序地址寄存器等。80C51共有4KB掩膜ROM,用于存放用戶程序、原始數(shù)據(jù)或表格,簡稱內(nèi)部ROM。</p><p&
25、gt; 圖1.1 80C51芯片邏輯結(jié)構(gòu)圖</p><p> 定時/計數(shù)器(ROM)</p><p> 80C51共有兩個16位的可編程定時/計數(shù)器,用以實現(xiàn)定時或計數(shù)功能,并以此產(chǎn)生的中斷對單片機進行控制。</p><p> 并行輸入輸出(I/O)口</p><p> 8051共有4組8位I/O口(P0、 P1、P2或P3),以實
26、現(xiàn)數(shù)據(jù)的并行輸入與輸出。</p><p><b> 全雙工串行口</b></p><p> 8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> 中斷系統(tǒng)</b></p><p> 8051具備
27、較完善的中斷功能,共有5個中斷源,即外中斷2個、定時/計數(shù)器中斷2個和串行中斷1個。全部中斷分為高級和低級共兩個優(yōu)先級別,可滿足不同的控制要求。</p><p><b> 時鐘電路</b></p><p> 80C51內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但石英晶體和微調(diào)電容需外接。</p><p><
28、b> 位處理器</b></p><p> 單片機主要用于控制,需要較強的位處理功能,因此,位處理器是它的必要組成部分,也稱布爾處理器。</p><p><b> 內(nèi)部總線</b></p><p> 上述這些部件通過總線連接起來,才能構(gòu)成一個完整的計算機系統(tǒng)。芯片內(nèi)的地址信號、數(shù)據(jù)信號和控制信號都是通過總線傳輸?shù)???偩€結(jié)
29、構(gòu)減少了單片機的連線和引腳,提高了集成度和可靠性??偩€結(jié)構(gòu)如圖1.2所示</p><p> 圖1.2 80C51內(nèi)部總線結(jié)構(gòu)</p><p> 80C51單片機的封裝與信號引腳</p><p><b> 芯片封裝形式</b></p><p> (a)引腳排列
30、 (b)邏輯符號</p><p> 圖1.3 80C51單片機芯片引腳及邏輯符號</p><p> 80C51有40引腳雙列直插式DIP(Dual In line Package)和44引腳方形扁平式QFP(Quad Flat Package)共兩種封裝形式。本設(shè)計采用40引腳DIP形式,其引腳排列及芯片邏輯符號如圖1.3所示。</p><p>
31、;<b> 芯片引腳簡介</b></p><p> 80C51的40個引腳主要包括:</p><p><b> +5V電源Vcc</b></p><p><b> 地線Vss</b></p><p> 外置石英振蕩器的時鐘線XTAL1和XTAL2</p>
32、<p><b> 復(fù)位信號RST</b></p><p> 訪問程序存儲器控制信號EA</p><p> 外部程序存儲器讀選通信號PSEN</p><p> 地址鎖存控制信號ALE</p><p> 4組8位共32個I/O口線</p><p><b> 芯片引腳的
33、第二功能</b></p><p> 隨著單片機功能的增強,而又由于簡化、工藝或標(biāo)準(zhǔn)等原有,芯片引腳數(shù)目總是有限的,所以,“引腳復(fù)用”現(xiàn)象在單片機中十分常見。</p><p> 80C51的引腳復(fù)用主要集中在P3口線上,P3口線的第二功能見表1.1.</p><p> 表1.1 P3口線的第二功能</p><p> 80C5
34、1單片機的內(nèi)部存儲器</p><p> 一般的,單片機芯片的內(nèi)部存儲器包括數(shù)據(jù)存儲器和程序存儲器。</p><p><b> 內(nèi)部數(shù)據(jù)存儲區(qū)</b></p><p> 80C51單片機的數(shù)據(jù)存儲器共有256個單元,按照功能又把其劃分為兩部分:低128單元區(qū)和高128單元區(qū),如圖1.4所示。</p><p> 低1
35、28單元區(qū)包括:</p><p> 寄存器區(qū),內(nèi)部RAM前32個單元,分為4組</p><p> 位尋址區(qū),內(nèi)部RAM的20H-2FH單元</p><p> 用戶數(shù)據(jù)區(qū),內(nèi)部RAM的30H-7FH單元</p><p> 高128單元區(qū)共專用寄存器(SFR)使用,單元地址為80H-FFH,用于存放相應(yīng)功能部件的控制命令、狀態(tài)、或數(shù)據(jù)。8
36、0C51除去程序計數(shù)器PC外,還有21個專用寄存器。參看表1.2。</p><p> 圖1.4 80C51內(nèi)部數(shù)據(jù)存儲器</p><p><b> 內(nèi)部程序存儲器</b></p><p> 在80C51中,程序存儲器被用來存放程序、常數(shù)或表格等。其片內(nèi)有4K字節(jié)的ROM存儲單元,地址為0000H~0FFFH。</p><
37、;p> 在程序存儲器中,以下6個單元具有特殊含義:</p><p> 0000H:單片機復(fù)位后,PC=0000H,程序從0000H開始執(zhí)行指令。 </p><p> 0003H:外部中斷0入口地址。</p><p> 000BH:定時器0中斷入口地址。 0013H:外部中斷1入口地址。</p><p> 001BH:定時器1中
38、斷入口地址。</p><p> 0023H:串行口中斷入口地址。</p><p> 在系統(tǒng)中斷相應(yīng)之后,將自動轉(zhuǎn)到各中斷入口地址處執(zhí)行程序,而中斷服務(wù)程序一般無法存放于幾個單元之內(nèi),因此在中斷入口地址處往往存放一條無條件轉(zhuǎn)移指令進行跳轉(zhuǎn),以便執(zhí)行中斷服務(wù)程序。</p><p> 表1.2 80C51專用寄存器一覽表</p><p>
39、80C51單片機的時鐘與時序</p><p> 為了保證同步工作方式的實現(xiàn),單片機必須有時鐘信號,一是以使系統(tǒng)在時鐘信號的控制下按時序協(xié)調(diào)工作。時序是指令執(zhí)行過程中各信號之間的相互時間關(guān)系。</p><p><b> 時鐘電路</b></p><p><b> 內(nèi)部時鐘方式</b></p><p&
40、gt; 單片機的時鐘電路由振蕩電路和分頻電路組成。</p><p> 在80C51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。電路中的電容一般取30pF左右,而晶體的振蕩頻率范圍通常是1.2MHz~33MHz。</p><p><b>
41、外部時鐘方式</b></p><p> 在由多片單片機組成的系統(tǒng)中,為了各單片機之間時鐘信號的同步,引入唯一的外部脈沖信號作為各單片機的振蕩脈沖。這時外部的脈沖信號是經(jīng)XTAL1引腳注入,XTAL2引腳懸空。</p><p><b> 機器周期</b></p><p> 80C51采用同步控制方式,因此有固有的機器周期。一個機
42、器周期共有12個震蕩脈沖周期,則當(dāng)晶振頻率為12MHz時,一個機器周期為1us。</p><p><b> 第二章 總體方案</b></p><p><b> 畫出原理框圖</b></p><p> 在仔細(xì)分析設(shè)計要求的前提下,把系統(tǒng)要完成的任務(wù)分配給若干個單元電路,畫出一個能表示各單元功能和關(guān)系的原理框圖。依靠原
43、理框圖,可為下一步的器件選擇和布線提供依據(jù)和參考。原理框圖如圖2.1所示。</p><p> 圖2.1 智能交通設(shè)計原理圖</p><p> 了解Proteus的編輯環(huán)境ISIS</p><p> 目前比較流行的或應(yīng)用廣泛的繪制軟件包有Proteus、Protel和ORCAD/STD。亦可用電子工作平臺multisim。Proteus集成了高級原理布圖、混合
44、模式SPICE仿真、PCB設(shè)計以及自動來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。其中,ISIS是智能原理圖輸入系統(tǒng)是Proteus系統(tǒng)的中心,該編輯環(huán)境具有友好的人機交互界面,并且設(shè)計功能強大,使用方便,易于掌握。ISIS繪制環(huán)境如圖2.2所示。</p><p> 圖2.2 ISIS繪制環(huán)境</p><p> 了解ISIS電路圖的繪制基本常識</p><p> 用Prot
45、eus的ISIS繪制電路圖時應(yīng)注意:</p><p><b> 引腳的隱藏</b></p><p> Proteus中電源引腳和接地引腳默認(rèn)都是隱藏的,由系統(tǒng)自動分配。</p><p> 布局合理、排列均勻、圖面清晰、便于看圖、有利于對圖的理解和閱讀</p><p> 有時一個總電路圖由幾部分組成,繪制時應(yīng)盡量把
46、總電路圖畫在一張紙上。如果電路比較復(fù)雜,需繪制幾張圖,則應(yīng)把主電路圖畫在一張圖紙上,而把一些比較獨立或次要的部分畫在另外的圖紙上,并在圖的斷口兩端做上標(biāo)記,標(biāo)出信號從一張圖到另一張圖的引出點和引入點,以此說明各圖紙在電路連線之間的關(guān)系。</p><p><b> 注意信號的流向</b></p><p> 一般從輸入端或信號源畫起,從左到右或從上到下按信號的流向依次
47、畫出各單元電路,而反饋通路的信號流向則與此相反。 </p><p> 圖形符號要標(biāo)準(zhǔn),圖中應(yīng)加適當(dāng)?shù)臉?biāo)注 </p><p> 電路圖中的中、大規(guī)模集成電路器件,一般用方框表示,在方框中標(biāo)出它的型號,在方框的邊線兩側(cè)標(biāo)出每根線的功能名稱和管腳號。除中、大規(guī)模器件外,其余元器件符號應(yīng)當(dāng)標(biāo)準(zhǔn)化。</p><p> 連接線應(yīng)為直線,并且交叉和折彎應(yīng)最少</p&g
48、t;<p> 通常連接線可水平或垂直布置,一般不畫斜線?;ハ噙B通的交叉線,應(yīng)在交叉處用圓點表示。根據(jù)需要,可以在連接線上加注信號名或其它標(biāo)記,表示其功能或去向。有的連線可用符號表示,例如器件的電源一般標(biāo)電源電壓的數(shù)值,地線用符號“⊥”表示。</p><p> 了解仿真時電路故障的排除方法</p><p> 仿真時連接的電路一般比較復(fù)雜,參數(shù)計算一般比較繁瑣,當(dāng)出現(xiàn)線路未
49、連接到位、錯連、短路,選用儀器的參數(shù)設(shè)置錯誤或不合適時,就可能使仿真得不到預(yù)期的結(jié)果,甚至沒有結(jié)果,這時就需要進行電路故障的排出,具體方法有以下幾點:</p><p><b> 信號尋跡法</b></p><p> 尋找電路故障時,一般可以按信號的流程逐級進行。從電路的輸入端加入適當(dāng)?shù)男盘枺锰摂M示波器或電壓探針等儀器逐級檢查信號在電路內(nèi)各部分傳輸?shù)那闆r,根據(jù)電路
50、的工作原理分析電路的功能是否正常,如果有問題,應(yīng)及時處理。調(diào)試電路時也可以從輸出級向輸入級倒推進行,信號從最后一級電路的輸入端加入,觀察輸出端是否正常,然后逐級將適當(dāng)信號加入前面一級電路輸入端,繼續(xù)進行檢查。 </p><p><b> 對分法</b></p><p> 把有故障的電路分為兩部分,先檢查這兩部分中究竟是哪部分有故障,然后再對有故障的部分對分檢測,一
51、直到找出故障為止。采用“對分法”可減少調(diào)試工作量。</p><p><b> 分割測試法</b></p><p> 對于一些有反饋的環(huán)行電路,如振蕩器、穩(wěn)壓器等電路,它們各級的工作情況互相有牽連,這時可采取分割環(huán)路的方法,將反饋環(huán)去掉,然后逐級檢查,可更快地查出故障部分。對自激振蕩現(xiàn)象也可以用此法檢查。 </p><p><b>
52、 電容器旁路法</b></p><p> 如遇電路發(fā)生自激振蕩或寄生調(diào)幅等故障,檢測時可用一只容量較大的電容器并聯(lián)到故障電路的輸入或輸出端,觀察對故障現(xiàn)象的影響,據(jù)此分析故障的部位。在放大電路中,旁路電容開路,使負(fù)反饋加強,輸出量下降,此時用適當(dāng)?shù)碾娙莶⒙?lián)在旁路電容兩端,就可以看到輸出幅值恢復(fù)正常,也就可以斷定旁路電容的問題。這種檢查可能要多處實驗才有結(jié)果,這時要細(xì)心分析可能引起故障的原因。<
53、;/p><p><b> 對比法</b></p><p> 將有問題的電路的狀態(tài)、參數(shù)與相同的正常電路進行逐項對比。此方法可以比較快地從異常的參數(shù)中分析出故障。 </p><p><b> 替代法</b></p><p> 把已調(diào)試好的單元電路代替有故障或有疑問的相同的單元電路(注意共地),這樣
54、可以很快判斷故障部位。</p><p><b> 靜態(tài)測試法</b></p><p> 故障部位找到后,要確定是哪一個或哪幾個元器件有問題,最常用的就是靜態(tài)測試法和動態(tài)測試法。靜態(tài)測試就是用各種虛擬測試儀表測試電阻值、電容器是否合適、電路是否斷或短路,晶體管和集成電路的各引腳電壓是否正常等。這種測試是在電路不加信號時進行的,所以叫靜態(tài)測試。通過這種測試可發(fā)現(xiàn)元器件
55、的故障。 </p><p><b> 動態(tài)測試法</b></p><p> 當(dāng)靜態(tài)測試還不能發(fā)現(xiàn)故障時,可采用動態(tài)測試法。測試時在電路輸入端加上適當(dāng)?shù)男盘栐贉y試元器件的工作情況,觀察電路的工作狀況,分析、判別故障原因。</p><p> 第三章 硬件系統(tǒng)設(shè)計</p><p><b> 元器件的選擇&l
56、t;/b></p><p> 由設(shè)計要求和原理框圖可知,在Proteus中仿真智能交通燈系統(tǒng)所需的元器件包括:80C51單片機、紅黃綠三色LED燈、倒計時顯示LED數(shù)碼管和控制開關(guān),80C51單片機已在前面介紹,下面就其他幾個器件一一介紹。</p><p><b> 紅黃綠三色LED燈</b></p><p> Proteus中提供
57、了專門的交通燈模塊TRAFFIC LIGHTS,位于ACTIVE庫中,由紅黃綠三色組成,內(nèi)部三色燈采用共陰極接法,對外有3個引腳(實際應(yīng)為4個,Proteus中默認(rèn)隱藏了電源和接地引腳),分別對應(yīng)一種顏色的燈,使用時只要令需點亮的燈接高電平,不需點亮的燈接低電平即可,接線方便簡單。TRAFFIC LIGHTS如圖3.1所示。</p><p> 圖3.1 TRAFFIC LIGHTS</p><
58、;p> 倒計時顯示LED數(shù)碼管</p><p> (a)7SEG-MPX2-CA模塊 (b)符號和引腳 (c)內(nèi)部共陽極接法</p><p> 圖3.2 8段LED數(shù)碼管</p><p> 由于設(shè)計要求中需要顯示的倒計時最長為50s,2位8段的數(shù)碼管足以滿足設(shè)計要求。Proteus的DISPLAY庫中提供了多種顯示數(shù)
59、碼管,我們選用其中的7SEG-MPX2-CA作倒計時的顯示用。如圖3.2(a)所示</p><p> 7SEG-MPX2-CA內(nèi)部采用共陽極接法,A-G引腳分別對應(yīng)“8”字形的其中一段,共7段,相應(yīng)段的引腳接低電平是點亮,接高電平時熄滅,DP為小數(shù)點對應(yīng)的引腳。符號和引腳關(guān)系如圖3.2(b)所示,內(nèi)部接法如圖3.2(c)所示。</p><p><b> 段碼</b>
60、;</p><p> 所謂段碼就是為數(shù)碼管顯示提供的各段狀態(tài)組合,字形代碼。7段數(shù)碼管的段碼為7位,8段數(shù)碼管的段碼為8位,用一個字節(jié)即可表示。在段碼字節(jié)中代碼位與各段發(fā)光二極管的對應(yīng)關(guān)系如下: </p><p> 段碼的值與數(shù)碼管公共引腳的接法(共陽極和共陰極)有關(guān)。以8段數(shù)碼管共陽極為例,顯示十六進制數(shù)的段碼值如表3.1所示。</p><p> 表3.1共
61、陽極十六進制數(shù)段碼表</p><p><b> 動態(tài)顯示</b></p><p> LED顯示器多采用動態(tài)顯示方式,全部數(shù)碼管共用一套段碼驅(qū)動電路。顯示時通過位控信號采用掃描的方法逐位地循環(huán)點亮各位數(shù)碼管。動態(tài)顯示雖然在任一時刻只有一位數(shù)碼管被點亮,但是由于人眼具有的視覺暫留效應(yīng),看起來與全部數(shù)碼管持續(xù)點亮的效果完全一樣。LED顯示器動態(tài)顯示需要為各位提供段碼以及
62、相應(yīng)的位控制,此即通常所說的段控和位控。</p><p><b> 控制開關(guān)</b></p><p> Proteus中提供了多種開關(guān),這里我們選擇最簡單的BUTTON模塊即可,有兩個接線引腳,位于ACTIVE庫中。</p><p><b> 單元電路的設(shè)計</b></p><p> 根據(jù)系
63、統(tǒng)指標(biāo)和功能框圖,明確任務(wù),進行各單元電路的設(shè)計,每個單元電路設(shè)計前都需明確本單元電路的任務(wù),詳細(xì)擬定出單元電路的性能指標(biāo)。注意各單元電路之間的相互配合和前后級之間的關(guān)系,盡量簡化電路結(jié)構(gòu)。注意各部分輸入信號、輸出信號和控制信號的關(guān)系。選擇單元電路的組成形式,模仿成熟的先進的電路,或進行創(chuàng)新或改進,但都必須保證性能要求。</p><p> 本智能交通燈系統(tǒng)所需的單元電路由開關(guān)控制電路、80C51單片機主電路、紅
64、黃綠三色燈電路和倒計時顯示電路構(gòu)成,各個單元之間的關(guān)系較為簡單和明確,只需和主電路以此進行連接即可。</p><p><b> 電路連接</b></p><p> 在ISIS的模塊庫中找到所需的各個元器件,按照繪圖的基本原則進行電路的繪制,將各個元器件連接為一個功能完善的整體,構(gòu)成智能交通燈控制系統(tǒng)。如圖3.3所示。</p><p> 如
65、圖中所示,南北方向記為AB車道,東西方向記為CD車道,A、B、C和D路口各有兩個紅黃綠三色LED燈和一個2位8段倒計時顯示LED數(shù)碼管,其中靠近中間黃色路中分界線的一個三色LED燈模擬的是轉(zhuǎn)向燈。U2為非門,用來使倒計時顯示LED數(shù)碼管交替工作,實現(xiàn)動態(tài)顯示。</p><p> 圖3.3 智能交通燈控制系統(tǒng)連接圖</p><p> 第四章 軟件系統(tǒng)設(shè)計</p><
66、;p><b> 程序流程圖</b></p><p> 根據(jù)設(shè)計的具體要求,畫出程序的流程圖如圖4.1所示</p><p> 圖4.1 程序流程圖</p><p><b> 匯編程序</b></p><p> Proteus的ISIS編輯環(huán)境即可完成源代碼程序的編輯、編譯、鏈接和調(diào)試
67、等任務(wù),相當(dāng)?shù)姆奖?,?chuàng)建源代碼文件的步驟如下:</p><p> 打開Proteus的ISIS編輯環(huán)境,在sources菜單中,選擇“Add/Remove Sources files…”項,將打開Add/Remove Sources Code Files對話框。</p><p> 單擊“New”按鈕,選擇保存的路徑,即可新建一個“*.ASM”文件。</p><p&g
68、t; 在Code Generation Tool下拉菜單中選擇“ASEM51”代碼生成工具。</p><p> 點擊“OK”完成ASM文件的創(chuàng)建</p><p> 源代碼文件創(chuàng)建好以后,在sources菜單中就會出現(xiàn)剛剛新建的ASM文件的序號和名稱,單擊即可開始源代碼的編輯。</p><p> 下面是智能交通燈控制系統(tǒng)的匯編源代碼,諸多不足,僅供參考:<
69、;/p><p> org 0000h</p><p> ljmp Main</p><p> org 0003h ;外部中斷0,繁忙時手控開關(guān)</p><p> ljmp WInt0</p><p> org
70、 000bh ;定時器0中斷</p><p> ljmp T0Int</p><p> org 0013h ;外部中斷1,緊急情況手控開關(guān)</p><p> ljmp WInt1</p><p><b
71、> Main:</b></p><p> mov IE,#10000111b ;中斷允許</p><p> mov TCON,#0h ;低電平觸發(fā)方式</p><p> mov IP,#00000010b ;定時0設(shè)為高級中斷</p><
72、;p> mov p1,#00010110b ;p1.7置0為外部中斷提供低電信號</p><p> ;p1.2和p1.4置1表示AB和CD當(dāng)前禁止轉(zhuǎn)向</p><p> ;p1.1置1表示AB線路通行</p><p> mov dptr,#4000h ;dptr設(shè)置數(shù)碼管顯示的首地址</p
73、><p> mov r0,#51d ;r0設(shè)置倒計時的秒數(shù)</p><p> mov r1,#15d ;r1設(shè)置何時轉(zhuǎn)向</p><p> clr c ;將p1.0當(dāng)前的值放入CY</p><p> mov
74、 00h,c ;將c中的內(nèi)容保存在00h,以免后面的程序改變c</p><p> call Deldis ;調(diào)用50s延時且數(shù)碼管倒計時的Deldis子程序</p><p> mov p1,#01000000b ;50s后黃燈開始亮,其他燈均不亮</p><p> mov
75、 dptr,#405Ah</p><p> mov r0,#6d</p><p> mov r1,#0d </p><p> call Deldis ;調(diào)用5s延時且數(shù)碼管倒計時的Deldis子程序</p><p> mov p1,#00010101b
76、 ;p1.7置0為外部中斷提供低電信號</p><p> ;p1.2和p1.4置1表示AB和CD當(dāng)前禁止轉(zhuǎn)向</p><p> ;p1.0置1表示CD線路通行</p><p> mov dptr,#4028h</p><p> mov r0,#31d</p><p> mov
77、 r1,#15d</p><p> setb c ;將p1.0當(dāng)前的值放入CY</p><p> mov 00h,c ;將c中的內(nèi)容保存在00h,以免后面的程序改變c </p><p> call Deldis ;調(diào)用30s延時且數(shù)碼管倒計時的Deld
78、is子程序</p><p> mov p1,#01000000b ;50s后黃燈開始亮,其他燈均不亮</p><p> mov dptr,#405Ah</p><p> mov r0,#6d</p><p> mov r1,#0d</p><p>
79、 call Deldis ;調(diào)用5s延時且數(shù)碼管倒計時的Deldis子程序</p><p> sjmp Main ;開始新一輪的循環(huán)</p><p> WInt0: ;緊急情況中斷程序</p><p> push
80、 PSW ;以下6行代碼為保護現(xiàn)場</p><p> mov r2,p1</p><p> mov 50h,r0</p><p> mov 51h,r1</p><p> mov 52h,dpl</p><p>
81、 mov 53h,dph</p><p> mov p1,#01000000b ;緊急情況時黃燈警告3s</p><p> mov dptr,#405Eh</p><p> mov r0,#4d</p><p> mov r1,#0d </p&
82、gt;<p> call Deldis ;調(diào)用3s延時且數(shù)碼管倒計時的Deldis子程序</p><p> mov p1,#01000000b ;AB,CD黃燈亮,全線禁行20s</p><p> mov dptr,#403ch</p><p> mov r
83、0,#21d</p><p> mov r1,#0d</p><p> call Deldis ;調(diào)用20s延時且數(shù)碼管倒計時的Deldis子程序</p><p> pop PSW ;以下6行代碼為恢復(fù)現(xiàn)場</p><p> mov
84、 p1,r2</p><p> mov r0,50h</p><p> mov r1,51h</p><p> mov dpl,52h</p><p> mov dph,53h</p><p><b> reti</b><
85、/p><p> WInt1: ;繁忙中斷程序</p><p> push PSW ;以下6行代碼為保護現(xiàn)場</p><p> mov r2,p1</p><p> mov 50h,r0&
86、lt;/p><p> mov 51h,r1</p><p> mov 52h,dpl</p><p> mov 53h,dph</p><p> mov p1,#01000000b ;黃燈警告5s</p><p> mov
87、 dptr,#405Ah</p><p> mov r0,#6d</p><p> mov r1,#0d </p><p> call Deldis ;調(diào)用5s延時且數(shù)碼管倒計時的Deldis子程序</p><p> mov dptr,#4046h&
88、lt;/p><p> mov r0,#16d</p><p> mov r1,#0d</p><p> mov c,00h</p><p> jnc ABld ;AB通行時,如果CD繁忙,則轉(zhuǎn)到ABld</p><p> mov
89、 p1,# 00011010b</p><p> sjmp Int1Exit</p><p><b> ABld:</b></p><p> mov p1,# 00100101b</p><p><b> Int1Exit:</b></p&
90、gt;<p> call Deldis ;調(diào)用15s延時且數(shù)碼管倒計時的Deldis子程序</p><p> mov p1,#01000000b ;黃燈警告3s</p><p> mov dptr,#405Eh</p><p> mov r0,#4
91、d</p><p> mov r1,#0d </p><p> call Deldis ;調(diào)用3s延時且數(shù)碼管倒計時的Deldis子程序</p><p> pop PSW ;以下6行代碼為恢復(fù)現(xiàn)場</p><p> mov
92、 p1,r2</p><p> mov r0,50h</p><p> mov r1,51h</p><p> mov dpl,52h</p><p> mov dph,53h</p><p><b> reti</b>
93、</p><p> T0Int: ;定時中斷0</p><p> mov r5,a ;以下2行代碼為保護現(xiàn)場</p><p> push PSW</p><p> mov
94、 a,30h+1</p><p> jnz Goon</p><p> dec 30h</p><p><b> Goon:</b></p><p> dec 30h+1</p><p> mov a,30h
95、 </p><p> orl a,30h+1</p><p> jnz Exit </p><p> mov 30h,#high(20000)</p>
96、<p> mov 30h+1,#low(20000)</p><p> inc dptr</p><p> inc dptr </p><p> dec r0</p><p> dec r1</p><p&g
97、t; cjne r1,#0h,Exit</p><p> call T15s</p><p><b> Exit:</b></p><p> pop PSW ;以下2行代碼為恢復(fù)現(xiàn)場</p><p> mov
98、 a,r5</p><p><b> reti</b></p><p> Delay: ;兩位數(shù)碼管動態(tài)交替顯示延時程序</p><p> mov r6,#20</p><p> mov r7,#20<
99、/p><p> DelayLoop:</p><p> djnz r6,DelayLoop</p><p> djnz r7,DelayLoop</p><p><b> ret</b></p><p> T15s:
100、 ;在當(dāng)前綠燈線路使轉(zhuǎn)向綠燈點亮</p><p> mov c,p1.0</p><p> jnc ABtg </p><p> mov p1,#00100101b</p><p> sjmp
101、 T15sExit</p><p><b> ABtg:</b></p><p> mov p1,#00011010b</p><p><b> T15sExit:</b></p><p><b> ret</b></p><p&g
102、t; org 4000h ;定義數(shù)碼管倒計時顯示的字符 </p><p> DB 92H,0C0H,99H,90H,99H,80H,99H,0f8H,99H,82H,99H,92H,99H,99H,99H,0B0H,99H,0A4H,99H,0F9H</p><p> DB 99H,0C0H,0B0H,
103、90H,0B0H,80H,0B0H,0f8H,0B0H,82H,0B0H,92H,0B0H,99H,0B0H,0B0H,0B0H,0A4H,0B0H,0F9H</p><p> DB 0B0H,0C0H,0A4H,90H,0A4H,80H,0A4H,0f8H,0A4H,82H,0A4H,92H,0A4H,99H,0A4H,0B0H,0A4H,0A4H,0A4H,0F9H</p><p&g
104、t; DB 0A4H,0C0H,0F9H,90H,0F9H,80H,0F9H,0f8H,0F9H,82H,0F9H,92H,0F9H,99H,0F9H,0B0H,0F9H,0A4H,0F9H,0F9H</p><p> DB 0F9H,0C0H,0C0H,90H,0C0H,80H,0C0H,0f8H,0C0H,82H,0C0H,92H,0C0H,99H,0C0H,0B0H,0C0H,0A4H,0C0H
105、,0F9H</p><p><b> DB </b></p><p><b> 0C0H,0C0H</b></p><p> Deldis: ;以秒倒計時,并使數(shù)碼管顯示相應(yīng)的倒計時時間</p><p> clr a
106、</p><p> mov TMOD,#02h ;方式2,定時器</p><p> mov TH0,#206d </p><p> mov TL0,#206d ;機器周期 = 12÷12MHZ=1uS</p><p> ;(256-2
107、06)×1uS=50us</p><p><b> ;定時常數(shù)=206</b></p><p> ;對50us中斷計數(shù)20000次,就是1秒</p><p> setb TR0 ;開始定時</p><p> mov 30h,#high(20
108、000)</p><p> mov 30h+1,#low(20000)</p><p><b> Loop1:</b></p><p> setb p2.0</p><p> movc a,@a+dptr</p><p> mov p
109、0,a</p><p> call Delay</p><p> inc dptr</p><p> cpl p2.0</p><p> clr a</p><p> movc a,@a+dptr</p><p&
110、gt; mov p0,a</p><p> call Delay</p><p> mov a,dpl ;以下六行代碼為實現(xiàn)dptr-1</p><p> add a,#0FFh </p><p> mov dpl,a &
111、lt;/p><p> mov a,dph </p><p> addc a,#0FFh </p><p> mov dph,a</p><p> clr a</p><p> cjne r0,#0h,Loop1</p><
112、p><b> ret</b></p><p><b> end </b></p><p> 代碼編輯完成后,單擊“Save”保存,就順利完成了源代碼文件的創(chuàng)建,接下來即可進行調(diào)試和仿真。</p><p><b> Proteus仿真</b></p><p> I
113、SIS支持源代碼的調(diào)試,在Debug菜單中單擊執(zhí)行【F12】按鈕或在仿真控制按鈕中單擊按鈕,即可開始調(diào)試和仿真,如果電路圖連接有錯誤或源代碼有錯誤,將會彈出錯誤警告窗口,并且指明了錯誤所在,找到錯誤的位置進行修改,重新開始調(diào)試,直到結(jié)果正確為止。仿真過程大致如下:</p><p> 開始運行后,南北方向綠燈點亮,東西方向紅燈點亮,轉(zhuǎn)向燈均紅燈,同時數(shù)碼管從50顯示,每隔一秒數(shù)碼管減一,如圖4.2(a)。當(dāng)減到3
114、5時,南北方向轉(zhuǎn)向綠燈亮。如圖4.2(b)所示。</p><p> (a)剛開始時刻 (b)35s時南北轉(zhuǎn)向燈綠燈</p><p> ?。╟)50s后5s黃燈警告 (d)5s后東西通行南北進行</p><p> 50s結(jié)束后,四路的黃燈開始點亮,數(shù)碼管同時從5開始
115、減一,如圖4.2(c)。當(dāng)減到0時,南北方向紅燈被點亮,東西方向綠燈被點亮,轉(zhuǎn)向燈均紅燈,同時數(shù)碼管從30顯示,每隔一秒數(shù)碼管減一,如圖4.2(d)。</p><p> 當(dāng)減到15時,東西方向轉(zhuǎn)向綠燈亮。如圖4.2(e)所示。當(dāng)減到0時,四路的黃燈開始點亮,數(shù)碼管同時從5開始減一,如圖4.2(f)所示。減到0時,返回初始狀態(tài),即圖4.2(a)所示狀態(tài)。在沒有外部中斷的情況下如此循環(huán)下去。</p>
116、<p> 當(dāng)繁忙按鈕被按下時,即表明當(dāng)前通行道路車流量小,而另一道路繁忙,則四路的黃燈先開始點亮警告5s,然后繁忙道路臨時額外通行15s,如圖4.2(g)所示,</p><p> 15s結(jié)束后四路的黃燈再點亮警告3s,如圖4.2(h)所示。結(jié)束后返回中斷之時的狀態(tài)。</p><p> ?。╡)15s時東西轉(zhuǎn)向燈綠燈 (f)30s后5s黃
117、燈警告</p><p> ?。╣)東西繁忙時臨時通行15s (h)繁忙結(jié)束后3s黃燈警告</p><p> ?。╥)緊急情況先黃燈警告3s (j)黃燈延續(xù)20s使緊急車輛通過</p><p> 圖4.2 仿真各個過程示圖</p><p> 當(dāng)緊急情況按鈕被按下時,無論當(dāng)
118、前哪條道路在通行,均出現(xiàn)四路的黃燈先開始點亮警告3s,如圖4.2(i)所示,然后是四路黃燈繼續(xù)亮,延時20s,使緊急車輛通過,如圖4.2(j)所示。結(jié)束后返回中斷之時的狀態(tài)。仿真過程表明設(shè)計要求已經(jīng)達到,智能交通燈控制系統(tǒng)的功能全部實現(xiàn)。</p><p><b> 第五章 設(shè)計總結(jié)</b></p><p><b> 心得體會</b><
119、/p><p> 通過這次交通燈的課程設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決現(xiàn)實問題的能力。使我在單片機的基本原理、單片機應(yīng)用學(xué)習(xí)過程中,以及在常用編程設(shè)計思路技巧的掌握方面都能向前邁了一大步,為日后成為一名合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜合課程設(shè)計讓我把以前學(xué)習(xí)到的知識得到鞏固和進一步的提高認(rèn)識,對已有知識有了更深層次的理解和認(rèn)識。在此,由于自身能力有限,在課程設(shè)計中碰到了很多的問題,我通過查閱相關(guān)書
120、籍、資料以及和周圍同學(xué)交流得到解決。</p><p> 還有交通燈是我們生活中非常常見的一種東西,對于我們學(xué)以致用的這種能力得到了很好鍛煉,能夠為我們以后的工作于學(xué)習(xí)打下基礎(chǔ)。</p><p> 通過合作,我們的合作意識得到加強。合作能力得到提高。上大學(xué)后,很多同學(xué)都沒有過深入的交流,在設(shè)計的過程中,我們用了分工與合作的方式,每個人互責(zé)一定的部分,同時在一定的階段共同討論,以解決分工中
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計----智能交通燈控制系統(tǒng)設(shè)計
- 單片機-智能交通燈控制系統(tǒng)設(shè)計課程設(shè)計
- 單片機課程設(shè)計---智能交通燈控制系統(tǒng)的設(shè)計
- 課程設(shè)計---單片機交通燈控制系統(tǒng)
- 單片機課程設(shè)計---交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--交通燈控制系統(tǒng)
- 單片機課程設(shè)計——交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- 交通燈課程設(shè)計--基于單片機的交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--單片機控制的交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計---led交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計報告---交通燈控制系統(tǒng)設(shè)計
- 課程設(shè)計---單片機控制交通燈系統(tǒng)
- 單片機交通燈課程設(shè)計--基于單片機的交通燈控制設(shè)計
- 單片機控制交通燈課程設(shè)計
- 單片機控制交通燈課程設(shè)計
- 單片機控制交通燈課程設(shè)計
- 單片機課程設(shè)計---交通燈控制
- 單片機課程設(shè)計--模擬智能交通燈
- 單片機課程設(shè)計報告--基于單片機的交通燈控制系統(tǒng)
評論
0/150
提交評論