單片機(jī)課程設(shè)計(jì)報(bào)告---交通燈控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)(論文)</b></p><p>  課程名稱: 單片機(jī)課程設(shè)計(jì) </p><p>  題 目: 交通燈控制系統(tǒng)設(shè)計(jì)</p><p>  院 (系): 信控學(xué)院 </p><p>  專業(yè)班級(jí): 自動(dòng)化100

2、1 </p><p>  姓 名: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p><b>  年 月 日</b></p><p><

3、b>  前言</b></p><p>  本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED 顯示、交通燈演示系統(tǒng)組成。系統(tǒng)除基本交通燈功能外,還具有倒計(jì)時(shí)、時(shí)間設(shè)置、緊急情況處理、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間以及根據(jù)具體情況手動(dòng)控制等功能。</p><p>  本設(shè)計(jì)是單片機(jī)控制的交通燈控制系統(tǒng)。單片機(jī)即單片微型計(jì)算機(jī)。由RAM,ROM,CPU,相關(guān)I/O接口構(gòu)成,其集定時(shí)、計(jì)數(shù)和多種接口

4、與一體的微控制器。它體積小、成本低、功能強(qiáng),廣泛的應(yīng)用于只能產(chǎn)業(yè)和工業(yè)自動(dòng)化上。而51系列單片機(jī)是各類單片機(jī)中最為典型和富有代表性的一種。</p><p>  在車輛通行繁忙的十字交叉路口設(shè)置的交通燈控制系統(tǒng),其特點(diǎn)是:道路較窄而車流量較大,主干道,支干道的車輛通行時(shí)間不等,,同時(shí)設(shè)有道路應(yīng)急控制。具體的情況是:在正常的情況下,東西支干道通行時(shí)間為20秒,南北主干道通行時(shí)間為30秒,每個(gè)方向在綠燈轉(zhuǎn)為紅燈時(shí),要求

5、黃燈先亮5秒鐘,才能變換運(yùn)行車道。該系統(tǒng)適用于十字路口,并對(duì)放行和禁行時(shí)間進(jìn)行倒計(jì)時(shí)顯示(秒)。并且能夠在人工監(jiān)控狀態(tài)下,如果一道有車而另一道無(wú)車,交通燈控制系統(tǒng)能立即讓有車道放行。而且有緊急車輛要求通過(guò)時(shí),系統(tǒng)要能禁止普通車輛通行。本設(shè)計(jì)的意義在于通過(guò)具體控制系統(tǒng)的設(shè)計(jì),掌握微機(jī)控制系統(tǒng)設(shè)計(jì)的一般方法和處理問(wèn)題的思路,特別是一些常用的技術(shù)手段。</p><p>  關(guān)鍵字:?jiǎn)纹瑱C(jī) 紅綠燈 AT89c51  

6、 Proteus仿真 uVision調(diào)試</p><p>  2. 課程設(shè)計(jì)(論文)任務(wù)書(shū)</p><p>  西安建筑科技大學(xué)課程設(shè)計(jì)(論文)任務(wù)書(shū)</p><p><b>  目錄</b></p><p><b>  1 .課程設(shè)計(jì)目的</b></p><p><b

7、>  2.概述</b></p><p>  2.1課題名稱……………………………………………………………………4</p><p>  2.2設(shè)計(jì)要求……………………………………………………………………4</p><p>  2.3設(shè)計(jì)意義……………………………………………………………………4</p><p>  3 系統(tǒng)總體

8、方案及硬件設(shè)計(jì)</p><p>  3.1芯片的選擇與簡(jiǎn)單介紹……………………………………………………5</p><p>  3.2系統(tǒng)方框圖…………………………………………………………………7</p><p>  3.3工作原理……………………………………………………………………7</p><p>  3.4電路原理圖……………………………

9、……………………………………8</p><p>  3.5單片機(jī)最小系統(tǒng)……………………………………………………………9</p><p>  3.6時(shí)間顯示電路…………………………………………………………… 10</p><p>  3.7交通燈電路……………………………………………………………… 10</p><p><b>  

10、4 軟件設(shè)計(jì)</b></p><p>  4.1整體系統(tǒng)分析…………………………………………………………… 11</p><p>  4.2相關(guān)參數(shù)計(jì)算…………………………………………………………… 11</p><p>  4.3程序流程圖……………………………………………………………… 12</p><p>  5 Prote

11、us軟件仿真</p><p>  5.1系統(tǒng)仿真電路圖………………………………………………………… 13</p><p>  5.2仿真結(jié)果分析…………………………………………………………… 15</p><p><b>  6課程設(shè)計(jì)體會(huì)</b></p><p><b>  參考文獻(xiàn)</b><

12、;/p><p><b>  附1:源程序代碼</b></p><p><b>  附2:系統(tǒng)原理圖</b></p><p><b>  1. 課程設(shè)計(jì)目的</b></p><p>  《單片機(jī)應(yīng)用》是一門實(shí)踐性很強(qiáng)的計(jì)算機(jī)專業(yè)基礎(chǔ)課程,除了課堂理論學(xué)習(xí)之外,還必須有強(qiáng)有力的實(shí)驗(yàn)環(huán)節(jié)

13、相配合,否則學(xué)習(xí)效果就會(huì)受到很大影響。所以配合該課程內(nèi)容,學(xué)生已經(jīng)在“開(kāi)放式微機(jī)教學(xué)實(shí)驗(yàn)系統(tǒng)”(西安唐都科教儀器公司產(chǎn)品)上做了數(shù)碼轉(zhuǎn)換編程、運(yùn)算類編程、分支程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)、子程序設(shè)計(jì)等純匯編語(yǔ)言編程實(shí)驗(yàn)。為了使學(xué)生不但掌握單片機(jī)原理及接口技術(shù)的基本原理、基本分析及設(shè)計(jì)方法和技術(shù),而且能夠較熟練地加以綜合運(yùn)用,特安排本綜合實(shí)驗(yàn),以加強(qiáng)對(duì)學(xué)生接口電路硬件、軟件的分析與設(shè)計(jì)能力的訓(xùn)練,進(jìn)一步加深對(duì)課程內(nèi)容的理解。</p>

14、<p>  通過(guò)綜合實(shí)驗(yàn)的實(shí)踐,使學(xué)生了解單片機(jī)工作的原理及應(yīng)用技術(shù),掌握根據(jù)硬件電路設(shè)計(jì)軟件的方法,使學(xué)生了解設(shè)計(jì)過(guò)程中的各個(gè)基本環(huán)節(jié),也為今后的實(shí)際應(yīng)用奠定基礎(chǔ)。</p><p><b>  2. 概述</b></p><p><b>  2.1課題名稱</b></p><p><b>  交通

15、燈控制系統(tǒng)設(shè)計(jì)</b></p><p><b>  2.2設(shè)計(jì)要求</b></p><p>  1)南北方向(主干道)車道和東西方向(支干道)車道兩條交叉道路上的車輛交替運(yùn)行,主干道每次通行時(shí)間都設(shè)為30秒、支干道每次通行間為20秒,時(shí)間可設(shè)置修改;</p><p>  2)在綠燈轉(zhuǎn)為紅燈時(shí),要求黃燈先亮5秒鐘,才能變換運(yùn)行車道;&

16、lt;/p><p>  3)黃燈亮?xí)r,要求每秒閃亮一次;</p><p>  4)東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時(shí)間都用顯示器進(jìn)行顯示(采用計(jì)時(shí)的方法);</p><p>  5)一道有車而另一道無(wú)車(實(shí)驗(yàn)時(shí)用開(kāi)關(guān) K0 和 K1 控制),交通燈控制系統(tǒng)能立即讓有車道放行; </p><p>  6)有緊急車輛要求通

17、過(guò)時(shí),系統(tǒng)要能禁止普通車輛通行,A、B道均為紅燈,緊急車由K2 開(kāi)關(guān)模擬。</p><p>  2.3交通管理的方案</p><p>  A、B兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為A、B兩干道的公共停車時(shí)間。設(shè)A道比B道的車流量大,指示燈燃亮的方案如表2

18、-1-1。</p><p><b>  說(shuō)明:</b></p><p> ?。?)紅綠燈為共陽(yáng)極接法,故低電平有效。當(dāng)B線通行時(shí)即紅燈亮,A線通行亮綠燈。 </p><p> ?。?)當(dāng)B線綠燈快亮?xí)r,A線黃燈警告。時(shí)間表3秒。</p><p> ?。?)當(dāng)B線綠燈,B道車輛通行; A為紅燈,A道車輛禁

19、止通過(guò),行人通行。時(shí)間為5秒。 A道車流大 通行時(shí)間長(zhǎng)</p><p>  (4)B線快要通行時(shí),黃燈示警。</p><p> ?。?)出現(xiàn)緊急情況是,A,B道都為紅燈禁止通行。</p><p><b>  2.4 設(shè)計(jì)意義</b></p><p>  交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加

20、上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來(lái)控制行車。根據(jù)實(shí)際行車過(guò)程中出現(xiàn)的情況,還存在以下缺點(diǎn):</p><p>  兩車道的車輛輪流放行時(shí)間相同且固定。 在十字路口,經(jīng)常主干道與副車道車輛數(shù)不同,應(yīng)該根據(jù)實(shí)際情況,設(shè)置為不同的通行時(shí)間,車輛較多,放行時(shí)間應(yīng)該長(zhǎng)些</p><p>  2.沒(méi)有考慮緊急車通過(guò)時(shí),兩車道應(yīng)采取的措施。臂如,消防車執(zhí)行緊急任務(wù)通過(guò)時(shí),兩車道的車都應(yīng)停止,讓緊急車通過(guò)。<

21、/p><p>  基于傳統(tǒng)交通燈控制系統(tǒng)設(shè)計(jì),智能交通燈控制系統(tǒng)的設(shè)計(jì)就更顯示出了它的研究意義,它能根據(jù)道路交通交叉路口經(jīng)常出現(xiàn)擁堵的情況。利用單片機(jī)控制技術(shù).提出了軟件和硬件設(shè)計(jì)方案,能夠?qū)崿F(xiàn)道路的最大通行效率。</p><p>  3 系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p><b>  3.1單片機(jī)認(rèn)識(shí)</b></p><p

22、>  AT89S51單片機(jī)作為主控芯片(其管腳圖如圖-1所示)。單片機(jī),亦稱單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)、輸入/輸出端口(I/0)等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)?!   ?lt;/p><p>  單片機(jī)以體積小、功能全、性價(jià)比高,性能穩(wěn)定等諸多優(yōu)點(diǎn)而獨(dú)具特色,在工業(yè)控制、通信設(shè)備、家用電器等嵌入式應(yīng)用領(lǐng)域中獨(dú)占鰲頭。</

23、p><p>  MCS-51單片機(jī)是指由美國(guó)INTEL公司(大名鼎鼎的INTEL)生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能修改改進(jìn)而來(lái)的,人們習(xí)慣于用8051來(lái)稱呼MCS-51系列單片機(jī)。</p><p>  8051單片機(jī)包含中央處理器

24、(CPU)、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線構(gòu)成</p><p>  3.1.1.中央處理器(CPU)</p><p>  中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作。他決定了單片機(jī)的主要功能特性,有運(yùn)算部件和控制部件兩部分構(gòu)成,運(yùn)算部件以AL

25、U為核心,再加上ACC,寄存器B和暫存器和程序狀態(tài)字PSW部件構(gòu)成,控制部件一般為布爾處理機(jī)。</p><p>  3.1.2.數(shù)據(jù)存儲(chǔ)器(RAM)</p><p>  8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,用于存放臨時(shí)性文件,可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表,分為工作寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū)。</p>

26、<p>  3.1.3程序存儲(chǔ)器(內(nèi)部ROM):</p><p>  程序存儲(chǔ)器又稱只讀存儲(chǔ)器,用于存放程序和表格等。在89系列單片機(jī)中全部采用閃存。AT89S51內(nèi)部配置了4KB閃存。 </p><p>  3.1.4定時(shí)/計(jì)數(shù)器:</p><p>  定時(shí)/計(jì)數(shù)器用于定時(shí)和計(jì)數(shù)功能,還可實(shí)現(xiàn)程序轉(zhuǎn)向,AT89S51共有2個(gè)16位定時(shí)/計(jì)數(shù)器,

27、有四種工作方式。</p><p>  3.1.5并行輸入輸出(I/O)口:</p><p>  8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。都可作為準(zhǔn)雙向口使用,P3, P2口有第二功能,每個(gè)口都由1個(gè)鎖存器和一個(gè)驅(qū)動(dòng)器組成。</p><p>  3.1.6全雙工串行口:</p><p>  A89S51內(nèi)

28、置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p>  3.1.7時(shí)鐘電路:</p><p>  時(shí)鐘電路的作用是產(chǎn)生單片機(jī)工作所需要的時(shí)鐘脈沖序列。</p><p>  3.1.8中斷系統(tǒng):</p><p>  中斷系統(tǒng)的作用主要是對(duì)外部或內(nèi)部的終端請(qǐng)求進(jìn)行管理

29、與處理。AT89S51共有5個(gè)中斷源,其中又2個(gè)外部中斷源和3個(gè)內(nèi)部中斷源。</p><p><b>  3.2工作原理</b></p><p>  P0口輸出七段顯示碼,P2口輸出選通信號(hào),其中東西向時(shí)間顯示保持一致,南北道時(shí)間顯示一致。由軟件設(shè)置交通燈的初始時(shí)間,南北方向通行30秒,東西方向通行20秒,數(shù)碼管采用動(dòng)態(tài)顯示,通過(guò)單片機(jī)的P1口控制各種信號(hào)燈的燃亮與熄

30、滅。采用中斷方式實(shí)現(xiàn)按鍵的功能。</p><p>  3.3系統(tǒng)整體結(jié)構(gòu)圖 </p><p>  3.4硬件電路原理圖</p><p>  3.5單片機(jī)最小系統(tǒng)(單片機(jī),復(fù)位電路,時(shí)鐘電路)</p><p><b>  (圖-3)</b></p><p>  單片機(jī)最小系統(tǒng)以80S51

31、為核心,外加時(shí)鐘和復(fù)位電路,電路結(jié)構(gòu)簡(jiǎn)單,符合本設(shè)計(jì)的所有要求。89C51單片機(jī)系列是當(dāng)前8位單片機(jī)的典型代表,采用CHMOS工藝,即互補(bǔ)金屬氧化物的HMOS工藝。</p><p>  時(shí)鐘電路在單片機(jī)的外部通過(guò)XTAL1,XTAL2這兩個(gè)引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器.本系統(tǒng)采用的為12MHz的晶振,一個(gè)機(jī)器周期為1us,C1,C2為30pF。</p><p>  復(fù)

32、位電路分為上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位,RST引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平有效.上電自動(dòng)復(fù)位通過(guò)電容C3和電阻R1來(lái)實(shí)現(xiàn),按鍵手動(dòng)復(fù)位是圖中復(fù)位鍵來(lái)實(shí)現(xiàn)的。</p><p><b>  3.6時(shí)間顯示</b></p><p>  由于系統(tǒng)要求南北和東西方向的信號(hào)燈時(shí)間不一樣,所以就利用單片機(jī)的P0口送出數(shù)據(jù)的段碼,位選信號(hào)用P2口送出,用動(dòng)態(tài)掃描的方法顯示東

33、西、南北的倒計(jì)時(shí)間(如圖-4所示)。數(shù)碼管使用共陰數(shù)碼管,需要接上470歐上拉電阻以提供足夠大的電流來(lái)驅(qū)動(dòng)數(shù)碼管,數(shù)碼管約為10mA電流。</p><p>  3.7時(shí)鐘和震蕩電路</p><p>  3.8紅綠燈電路設(shè)計(jì)示意圖</p><p>  本系統(tǒng)用p1口來(lái)驅(qū)動(dòng)和控制各種信號(hào)燈的燃亮和燃亮?xí)r間,在這里只是模擬一下它的控制信號(hào),所以我們就只用單片機(jī)的信號(hào)引腳直

34、接來(lái)控制發(fā)光二極管,發(fā)光二極管采用共陽(yáng)極接法(如圖-5所示)</p><p><b>  4.軟件設(shè)計(jì)</b></p><p>  4.1總體流程圖(實(shí)現(xiàn)各種狀態(tài)間的轉(zhuǎn)換)</p><p><b>  4.2相關(guān)參數(shù)計(jì)算</b></p><p>  T0的計(jì)數(shù)初值:X=216-12*50*1000/

35、12=15536=3CB0H</p><p><b>  4.3程序流程圖</b></p><p><b>  4.4軟件調(diào)試過(guò)程</b></p><p>  5 Proteus軟件仿真</p><p>  5.1系統(tǒng)仿真電路圖</p><p>  畫(huà)好電路圖后,當(dāng)確保無(wú)誤后

36、,將在uVIsion界面中將編好的C程序編譯連接后得到的HEX文件導(dǎo)入,,編譯的軟件為KEILC51,就可以開(kāi)始調(diào)試了,并且根據(jù)調(diào)試驗(yàn)證系統(tǒng)的功能。</p><p>  5.1.1交通燈控制系統(tǒng)正常運(yùn)行時(shí)仿真圖(見(jiàn)圖-7)。</p><p>  5.1.2.交通燈南北方向綠燈向紅燈轉(zhuǎn)變,黃燈閃爍時(shí)仿真圖(見(jiàn)圖-8)。</p><p><b>  緊急時(shí)全部

37、亮紅燈</b></p><p><b>  5.2仿真結(jié)果分析</b></p><p>  仿真實(shí)驗(yàn)實(shí)現(xiàn)南北方向車道和東西方向車道兩條交叉道路的車輛交替運(yùn)行,南北方向(主干道)每次通行時(shí)間設(shè)為30秒、東西方向通行時(shí)間設(shè)為20秒,時(shí)間可以在程序中修改。同時(shí)能夠?qū)崿F(xiàn)紅燈、黃燈、綠燈狀態(tài)轉(zhuǎn)換,紅綠燈轉(zhuǎn)換時(shí)間為5秒,轉(zhuǎn)黃期間黃燈亮??梢詼?zhǔn)確顯示每個(gè)狀態(tài)所剩余的時(shí)間

38、,按下禁行普通車輛鍵,東西南北方向都亮紅燈;按下南北放行鍵,南北綠燈亮,東西紅燈亮;按下東西放行鍵,東西綠燈亮,南北紅燈亮;任何時(shí)候按下返回鍵,此系統(tǒng)都將回到初始狀態(tài),當(dāng)緊急狀況出現(xiàn)時(shí),按下緊急開(kāi)關(guān),可實(shí)現(xiàn)主干道和支干道全部禁止通行,允許緊急車輛安全通行,實(shí)現(xiàn)了課程設(shè)計(jì)的要求。</p><p><b>  6.設(shè)計(jì)創(chuàng)新</b></p><p>  6.1模塊化編程,模

39、塊化接線,再編譯總原理圖,思路比較清楚解容易。</p><p>  6.2亮燈時(shí)間不一,分主次干道。</p><p>  6.3﹑緊急事件控制開(kāi)關(guān)。</p><p>  6.4、有的模塊可以供其它任務(wù)通用。</p><p><b>  7.課程設(shè)計(jì)體會(huì)</b></p><p>  本系統(tǒng)就是充分利

40、用了AT89S52芯片的I/O引角。系統(tǒng)統(tǒng)采用MSC-51系列單片機(jī)為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)單片機(jī)芯片的P1口控制紅、黃、綠燈的燃亮與熄滅;P0口外接數(shù)碼管來(lái)顯示各個(gè)信號(hào)燈的時(shí)間。系統(tǒng)設(shè)計(jì)簡(jiǎn)便、實(shí)用性強(qiáng)、操作簡(jiǎn)單、程序設(shè)計(jì)簡(jiǎn)便。系統(tǒng)不足之處不能控制車的左、右轉(zhuǎn)、以及自動(dòng)根據(jù)車流改變紅綠燈時(shí)間,沒(méi)有設(shè)置人行道紅綠燈及時(shí)間顯示。</p><p>  通過(guò)這周緊張而充實(shí)的課程設(shè)計(jì),我學(xué)到

41、了很多東西,讓我重新認(rèn)識(shí)自己,收益匪淺,并對(duì)我以后所要做的畢業(yè)設(shè)計(jì)有了一個(gè)初步的了解。做好一個(gè)課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)不僅要具備扎實(shí)的書(shū)本知識(shí)并會(huì)善于應(yīng)用,還要學(xué)會(huì)查閱資料,對(duì)以前學(xué)過(guò)的知識(shí)不清楚的地方還要進(jìn)行復(fù)習(xí),實(shí)在搞不明白的地方要向老師或同學(xué)請(qǐng)教,這樣才可能做出一個(gè)比較不錯(cuò)的課程設(shè)計(jì)。在這里我要感謝我們的指導(dǎo)老師,非常感謝老師的指導(dǎo)和幫助。希望以后還能參加這樣的課程設(shè)計(jì)。我想我會(huì)做的更好的。</p><p>  

42、這次課程設(shè)計(jì),盡管有別人的做好的程序,但是我還是仔細(xì)看了程序并且在原來(lái)的程序上進(jìn)行了修改,其中就有將2條原來(lái)亮燈一樣的路分為主次干道等等,其中出現(xiàn)過(guò)問(wèn)題,但是在通過(guò)看書(shū)和問(wèn)其他人后都解決了,因?yàn)閯e人的程序沒(méi)有頂層文件,就把EDA教材關(guān)于模塊化設(shè)計(jì)的又看了一遍,發(fā)現(xiàn)其實(shí)模塊化設(shè)計(jì)不是那么難的,后來(lái)也在修改多次后,成功編好,感覺(jué)印象特深,真正的把它學(xué)會(huì)了,感覺(jué)通過(guò)這次課程設(shè)計(jì),加強(qiáng)了自己的動(dòng)手﹑思考和解決問(wèn)題的能力。</p>

43、<p>  由于本設(shè)計(jì)涉及到的知識(shí)面比較廣,再加上本人在相關(guān)領(lǐng)域知識(shí)的缺乏,所以本設(shè)計(jì)的性能指標(biāo)還是有待改善的。然本設(shè)計(jì)只是說(shuō)明設(shè)計(jì)思想及思路</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李軍等 51單片機(jī)高級(jí)實(shí)例開(kāi)發(fā)指南 北京航空航天大學(xué)出版社 2004</p><p>  [2] 皮大能,

44、南光群, 劉金華 單片機(jī)課程設(shè)計(jì)指導(dǎo)書(shū)[M] 北京理工大學(xué)出版社 2010</p><p>  [3] 劉樂(lè)善 微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].北京: 華中科技大學(xué)出版社 2004.</p><p>  [4] 李伯成.基于MCS-51單片機(jī)的嵌入式系統(tǒng)的設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.</p><p>  [5]李建忠, 余新栓,王寬仁 王桂棠,

45、 等. 單片機(jī)原理及應(yīng)用技術(shù)[ M ] . 西安電子科技大學(xué)出版社,2008.</p><p><b>  程序代碼:</b></p><p>  ;------------------------------------</p><p><b>  ;程序?qū)崿F(xiàn)功能</b></p><p>  ;西

46、南北路口直行與轉(zhuǎn)彎交替通行,數(shù)碼管顯示直行通行倒計(jì)時(shí),紅綠黃燈顯示包括人行道在內(nèi)的道路交通狀態(tài)。</p><p>  ;某一方向道路擁擠時(shí),可以人工控制調(diào)節(jié)東西南北方向通行時(shí)間。</p><p>  ;緊急情況時(shí),各路口交通燈顯示紅燈,數(shù)碼管保持?jǐn)?shù)據(jù)不變。</p><p>  ;工作寄存器及存儲(chǔ)單元分配</p><p><b>  

47、;1.工作寄存器</b></p><p>  ;R2設(shè)置為定時(shí)器定時(shí)中斷次數(shù),R6、R7用于延時(shí)程序中的寄存器</p><p><b>  ;2.片內(nèi)存儲(chǔ)單元</b></p><p>  ;30H、31H作為兩組數(shù)碼管顯示數(shù)據(jù)存儲(chǔ)單元;32H、33H作為交通燈初始狀態(tài)存儲(chǔ)單元;40H、41H作為交通燈顯示數(shù)據(jù)存儲(chǔ)單元</p&g

48、t;<p><b>  ;3.標(biāo)志位</b></p><p>  ;00H:南北通行標(biāo)志位 ; 01H:東西通行標(biāo)志位;02H:緊急事件標(biāo)志位 </p><p>  ;-----------------------------------</p><p>  SNF EQU 00H ;;;南北通行

49、標(biāo)志位</p><p>  EWF EQU 01H ;;;東西通行標(biāo)志位</p><p>  URF EQU 02H ;;;緊急事件標(biāo)志位</p><p>  ORG 0000H</p><p>  LJMP MAIN ;;;上電轉(zhuǎn)主程序<

50、/p><p>  ORG 000BH ;;;定時(shí)中斷入口</p><p>  LJMP DSZD </p><p>  ORG 0003H ;;;緊急中斷入口</p><p>  LJMP URZD</p><p>

51、;  ORG 0030H </p><p>  MAIN: LCALL INIT ;;;調(diào)用初始化子程序</p><p>  LOOP: LCALL DIS ;;;循環(huán)執(zhí)行顯示子程序</p><p>  AJMP LOOP</p><p>  ;///////////初始化程序</p&

52、gt;<p>  INIT: SETB SNF </p><p>  SETB EWF </p><p>  SETB URF </p><p>  MOV R2,#20 ;;;定時(shí)器中斷20次為1s</p><p>  MOV

53、 TMOD,#01H ;;;初始化定時(shí)器</p><p>  MOV TL0,#0B0H</p><p>  MOV TH0,#3CH</p><p>  SETB EA ;;;開(kāi)定時(shí)中斷與緊急中斷</p><p><b>  SETB ET0</b></p>

54、<p><b>  SETB TR0</b></p><p><b>  SETB EX0</b></p><p>  SETB IT0 ;;;設(shè)置中斷程控方式</p><p>  MOV DPTR,#TAB ;;;數(shù)值首地址放入DPTR中</p><

55、p>  MOV 40H,#40 ;;;東南西北通行時(shí)間設(shè)置</p><p>  MOV 41H,#40</p><p>  MOV 30H,#40 ;;;通行時(shí)間初始化</p><p>  MOV 31H,#60</p><p>  MOV P0,#4CH ;;;初始化時(shí)南北

56、通行并把交通燈狀態(tài)分別放在32H和33H中</p><p>  MOV 32H,#4CH</p><p>  MOV P2,#15H</p><p>  MOV 33H,#15H</p><p><b>  RET</b></p><p>  ;////////////顯示子程序<

57、;/p><p>  DIS: MOV P3,#0DFH ;;;選中南北方向的十位數(shù)碼管</p><p>  MOV A,30H ;;;把顯示數(shù)據(jù)送人數(shù)碼管顯示</p><p>  MOV B,#10</p><p><b>  DIV AB</b></p><

58、;p>  MOVC A,@A+DPTR</p><p>  MOV P1,A ;;;</p><p>  LCALL D1MS</p><p>  MOV P3,#0EFH ;;;選中南北方向的個(gè)位數(shù)碼管</p><p>  MOV A,B ;;;送入數(shù)碼管顯示<

59、/p><p>  MOVC A,@A+DPTR </p><p>  MOV P1,A</p><p>  LCALL D1MS</p><p>  MOV P3,#7FH ;;;選中第東西方向的十位數(shù)碼管</p><p>  MOV A,31H ;;;送入數(shù)碼管顯示

60、</p><p>  MOV B,#10</p><p><b>  DIV AB</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P1,A</p><p>  LCALL D1MS</p><p>  MOV P3,

61、#0BFH ;;;選中第東西方向的個(gè)位數(shù)碼管</p><p><b>  MOV A,B</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P1,A</p><p>  LCALL D1MS</p><p>  SETB P3.0<

62、/p><p>  SETB P3.1</p><p>  JNB P3.0,DIS_S ;;;查詢是否第一個(gè)按鍵按下</p><p>  JNB P3.1,DIS_E ;;;查詢是否第二個(gè)按鍵按下</p><p>  AJMP DIS_R ;;;沒(méi)有鍵按下則返回</p><p>

63、;  DIS_S:LCALL D5MS ;;;按鍵去抖</p><p>  JNB P3.0,DIS_SN</p><p>  AJMP DIS_R </p><p>  DIS_SN:MOV 40H,#50 ;;;對(duì)通行時(shí)間從新分配,南北通行時(shí)間加長(zhǎng)</p><p>  MOV 41H,#3

64、0</p><p>  AJMP DIS_R</p><p>  DIS_E:LCALL D5MS ;;;按鍵去抖</p><p>  JNB P3.1,DIS_EW </p><p>  AJMP DIS_R</p><p>  DIS_EW:MOV 40H,#30 ;;;

65、東西通行時(shí)間加長(zhǎng)</p><p>  MOV 41H,#50</p><p>  DIS_R:RET </p><p>  ;///////定時(shí)中斷處理程序</p><p>  DS_C: LJMP DS_R ;;;接力跳轉(zhuǎn)</p><p>  DSZD: P

66、USH ACC ;;;保護(hù)現(xiàn)場(chǎng)</p><p><b>  PUSH PSW</b></p><p>  CLR TR0 ;;;關(guān)定時(shí)器及中斷標(biāo)志位并重新賦值</p><p><b>  CLR TF0</b></p><p>  MOV

67、TL0,#0B0H</p><p>  MOV TH0,#3CH</p><p>  DJNZ R2,DS_C ;;;判斷1m時(shí)間是否到達(dá)</p><p>  MOV R2,#20 ;;;到達(dá)重新賦值</p><p>  DEC 30H ;;;南北方向通行時(shí)間減一</p&

68、gt;<p>  MOV A,30H ;;;把減一后的時(shí)間送入顯示存儲(chǔ)單元</p><p>  ;;;;;;;南北通行到達(dá)最后4秒時(shí)黃燈閃爍</p><p>  DS_10:CJNE A,#4,DS_11 ;;;如果通行時(shí)間剩余4秒</p><p>  JNB SNF,DS_11 ;;;判斷是否是南北通行&

69、lt;/p><p>  MOV P0,#8AH </p><p>  MOV 32H, #8AH ;;;把交通燈狀態(tài)存入存儲(chǔ)單元(后面類似)</p><p>  DS_11:CJNE A,#3,DS_12 ;;;不是剩余3秒,返回</p><p>  JNB SNF,DS_12 ;;;不是南

70、北通行時(shí)間,返回</p><p>  MOV P0,#88H</p><p>  MOV 32H, #88H</p><p>  DS_12:CJNE A,#2,DS_13</p><p>  JNB SNF,DS_13</p><p>  MOV P0,#8AH</p><p&g

71、t;  MOV 32H, #8AH </p><p>  DS_13:CJNE A,#1,DS_14</p><p>  JNB SNF,DS_14</p><p>  MOV P0,#88H</p><p>  MOV 32H, #88H</p><p>  ;-------------------

72、-----</p><p>  DS_14:JNZ DS_NE ;;;通行時(shí)間沒(méi)有結(jié)束轉(zhuǎn)向改變東西方向的數(shù)碼管</p><p>  CPL SNF ;;;如果通行時(shí)間結(jié)束則對(duì)標(biāo)志位取反</p><p>  JNB SNF,DS_1 ;;;判斷是否南北通行</p><p>  MO

73、V 30H,40H ;;;是,點(diǎn)亮相應(yīng)的交通燈</p><p>  MOV P0,#4CH</p><p>  MOV 32H,#4CH ;;;存儲(chǔ)交通燈狀態(tài)</p><p>  MOV P2,#15H</p><p>  MOV 33H, #15H ;;;存儲(chǔ)交通燈狀態(tài)</p&g

74、t;<p>  DS_NE:DEC 31H ;;;東西方向通行時(shí)間減一</p><p>  MOV A,31H ;;;把通行剩余時(shí)間送入顯示存儲(chǔ)單元</p><p>  ;;;;;;;;東西方向通行時(shí)間剩余4秒鐘黃燈閃爍(程序注釋與南北方向類似 略)</p><p>  DS_20:CJNE A,#4,

75、DS_21 </p><p>  JB EWF,DS_21</p><p>  MOV P0,#51H</p><p>  MOV 32H, #51H</p><p>  DS_21:CJNE A,#3,DS_22</p><p>  JB EWF,DS_22</p><

76、p>  MOV P0,#41H</p><p>  MOV 32H, #41H</p><p>  DS_22:CJNE A,#2,DS_23</p><p>  JB EWF,DS_23</p><p>  MOV P0,#51H</p><p>  MOV 32H, #51H</

77、p><p>  DS_23:CJNE A,#1,DS_24</p><p>  JB EWF,DS_24</p><p>  MOV P0,#41H</p><p>  MOV 32H, #41H</p><p>  ;-----------------------------</p><

78、;p>  DS_24:JNZ DS_R ;;;東西方向時(shí)間沒(méi)有結(jié)束,返回</p><p>  CPL EWF ;;;對(duì)通行狀態(tài)取反</p><p>  JNB EWF,DS_2 ;;;東西方向通行時(shí)間到來(lái),跳轉(zhuǎn)</p><p>  MOV 31H,#80 ;;;

79、東西方向通行結(jié)束,重新顯示時(shí)間</p><p>  MOV P0,#89H ;;;點(diǎn)亮相應(yīng)的交通燈</p><p>  MOV 32H, #89H</p><p>  MOV P2,#29H</p><p>  MOV 33H, #29H</p><p>  AJMP DS_R

80、 </p><p>  DS_1: MOV 30H,#80 ;;;南北通行時(shí)間結(jié)束,重新對(duì)顯示存儲(chǔ)單元賦值 </p><p>  MOV P0,#89H ;;;執(zhí)行轉(zhuǎn)彎狀態(tài)1</p><p>  MOV 32H, #89H</p><p>  MOV P2,#26H</p&g

81、t;<p>  MOV 33H, #26H</p><p>  AJMP DS_NE </p><p>  DS_2: MOV 31H,41H ;;;東西方向開(kāi)始通行,賦值予顯示存儲(chǔ)單元</p><p>  MOV P0,#61H ;;;點(diǎn)亮相應(yīng)的交通燈</p><

82、p>  MOV 32H, #61H</p><p>  MOV P2,#15H</p><p>  MOV 33H, #15H</p><p>  DS_R: SETB TR0 </p><p>  POP PSW ;;;恢復(fù)現(xiàn)場(chǎng)</p><p><b>  P

83、OP ACC</b></p><p><b>  RETI</b></p><p>  ;/////////////緊急中斷處理程序</p><p>  URZD: PUSH ACC ;;;保護(hù)現(xiàn)場(chǎng)</p><p><b>  PUSH PSW</b>&l

84、t;/p><p>  CLR IE0 ;;;清除中斷標(biāo)志位</p><p>  CLR TR0 ;;;關(guān)定時(shí)器</p><p>  CPL URF ;;;緊急事件標(biāo)志位</p><p>  JB URF,UR_CON ;;;緊急結(jié)束;跳轉(zhuǎn)</

85、p><p>  MOV P0,#49H ;;;各路口燈全顯示紅燈亮</p><p>  MOV P2,#15H</p><p>  AJMP UR_R</p><p>  UR_CON:SETB TR0 ;;;恢復(fù)正常交通</p><p>  MOV A,32H<

86、/p><p>  MOV P0,A</p><p>  MOV A,33H</p><p>  MOV P2,A</p><p>  UR_R: POP PSW ;;;恢復(fù)現(xiàn)場(chǎng)</p><p><b>  POP ACC</b></p><

87、;p>  RETI </p><p>  ;////////////查表指令0,1,2,3,4,5,6,7,8,9</p><p>  TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH</p><p>  DB 7DH, 07H, 7FH, 6FH</p><p>  ;/////

88、/////延時(shí)5ms與1ms</p><p>  D5MS: MOV R7,#5</p><p>  D1MS: MOV R7,#10</p><p>  MOV R6,#50 </p><p>  L1: DJNZ R6,$</p><p>  DJNZ R7,L1</p&g

溫馨提示

  • 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ù)僅提供信息存儲(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)論