基于51單片機(jī)匯編語(yǔ)言設(shè)計(jì)的交通燈畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于51單片機(jī)匯編語(yǔ)言設(shè)計(jì)的交通燈畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于51單片機(jī)匯編語(yǔ)言設(shè)計(jì)的交通燈畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于51單片機(jī)匯編語(yǔ)言設(shè)計(jì)的交通燈畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于51單片機(jī)匯編語(yǔ)言設(shè)計(jì)的交通燈畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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、交通燈的控制摘 要:本設(shè)計(jì)以at89c51單片機(jī)為主控模塊,主要由按鈕開關(guān),數(shù)碼管,發(fā)光二極管組成,利用匯編語(yǔ)言編寫程序來(lái)模擬對(duì)十字路口的交通管理,系統(tǒng)包括左右拐,直行,人行道四個(gè)基本的交通等功能。南北方向亮綠燈60s,然后黃燈閃爍3次,每次一秒(亮滅各40ms),紅燈40s,同時(shí)東西方向紅燈65s,綠燈35s,黃燈閃爍3s。各路燈用led模擬顯示,同時(shí)用七段數(shù)碼管顯示兩路的倒計(jì)時(shí)時(shí)間。利用鍵盤可修改燈亮?xí)r間pc機(jī)設(shè)置燈亮?xí)r間,利用pc與單片機(jī)串口通信實(shí)現(xiàn) 。為防止出現(xiàn)緊急情況(如119,110通過時(shí)),該系統(tǒng)還設(shè)置了中斷,可通過按鍵使各個(gè)路口為紅燈其它車輛禁行,特殊車輛通行的狀態(tài),當(dāng)東西方向

2、為通行狀態(tài)時(shí),南北方向有突發(fā)情況,也可通過手動(dòng)按鍵使東西方向?yàn)榧t燈,南北方向?yàn)榫G燈。在對(duì)系統(tǒng)的分析基礎(chǔ)上,提出了幾種設(shè)計(jì)方案,經(jīng)比較選擇各方較好的led動(dòng)態(tài)循環(huán)顯示方案進(jìn)行設(shè)計(jì),設(shè)計(jì)包括硬件和軟件兩大部分單片機(jī)最小系統(tǒng),時(shí)間顯示,交通等顯示三部分。以at89c51為控制核心,東西南北各設(shè)置3個(gè)交通燈,東西,南北方向各設(shè)置一個(gè)2位的數(shù)碼管時(shí)間顯示器,交通燈顯示則采用紅綠黃三色高亮發(fā)光二極管模擬,軟件采用模塊化的設(shè)計(jì)方法,主要分為主程序,定時(shí)中斷服務(wù)子程序,倒計(jì)時(shí)顯示子程序,交通燈模擬顯示子程序。軟件設(shè)計(jì)完成,經(jīng)過對(duì)該設(shè)計(jì)程序模擬測(cè)試,可實(shí)現(xiàn)對(duì)十字路口交通的良好管理,預(yù)期目標(biāo)全部達(dá)到,該系統(tǒng)操作簡(jiǎn)

3、單,實(shí)用性強(qiáng),擴(kuò)展功能好。關(guān)鍵詞:at89c51 數(shù)碼管 光二極管 中斷 模擬 目錄 1前言51.1該課程選題背景51.2該課程選題現(xiàn)實(shí)意義51.3單片機(jī)交通燈研究任務(wù)52設(shè)計(jì)方案62.1方案設(shè)計(jì)目的62.2方案設(shè)計(jì)思路62.3方案設(shè)計(jì)原理73系統(tǒng)硬件設(shè)計(jì)83.1 at89c51芯片簡(jiǎn)介83.2 74ls47芯片簡(jiǎn)介113.3系統(tǒng)總框圖123.4、交通燈硬件線路123.5、系統(tǒng)工作原理124軟件設(shè)計(jì)134.1每秒鐘的設(shè)定134.2秒的方法134.3相應(yīng)程序代碼134.4、鍵盤顯示流程圖144.5、 軟件延時(shí)145 proteus軟件仿真155.1正常運(yùn)行時(shí)狀態(tài)155.2黃燈亮?xí)r狀態(tài)165.3應(yīng)

4、急情況下狀態(tài)166 設(shè)計(jì)心得體會(huì)17附錄1:源程序代碼18附錄2:硬件連接圖23參考文獻(xiàn)231前言1.1單片機(jī)交通控制系統(tǒng)的選題背景世界上第一盞正式投入使用的交通信號(hào)燈出現(xiàn)在1868年12月10日,這盞身高7米,由德哈特設(shè)計(jì)的紅綠兩色煤氣燈出現(xiàn)在議會(huì)大廈前的十字路口。一位警察手持長(zhǎng)桿牽動(dòng)皮帶轉(zhuǎn)換紅綠兩色:紅燈停,綠燈行。隨著人口快速的增多,交通工具的爆炸性的發(fā)展,以及道路資源的有限性,交通控制就應(yīng)運(yùn)而生,在人類的生活、工作環(huán)境中,交通扮演著極其重要的角色,人們的出行都無(wú)時(shí)不刻與交通打著交道。自18世紀(jì)工業(yè)革命以來(lái),工業(yè)發(fā)展帶動(dòng)整個(gè)交通運(yùn)輸?shù)陌l(fā)展,從而催生了單獨(dú)的交通控制學(xué)問與管理機(jī)構(gòu)。道路交通

5、信號(hào)燈是交通安全產(chǎn)品中的一個(gè)類別,是為了加強(qiáng)道路交通管理,減少交通事故的發(fā)生,提高道路使用效率,改善交通狀況的一種重要工具。適用于十字、丁字等交叉路口,由道路交通信號(hào)控制機(jī)控制,指導(dǎo)車輛和行人安全有序地通行。1.2 單片機(jī)交通控制系統(tǒng)選題的現(xiàn)實(shí)意義 城市道路交通自動(dòng)控制系統(tǒng)的發(fā)展是以城市交通信號(hào)控制技術(shù)為前導(dǎo),與汽車工業(yè)并行發(fā)展的。在其各個(gè)發(fā)展階段,由于交通的各種矛盾不斷出現(xiàn),人們總是盡可能地把各個(gè)歷史階段當(dāng)時(shí)的最新科技成果應(yīng)用到交通自動(dòng)控制中來(lái),從而促進(jìn)了交通自動(dòng)控制技術(shù)的不斷發(fā)展。交通網(wǎng)絡(luò)是城市的動(dòng)脈,象征著一個(gè)城市的工業(yè)文明水平。交通關(guān)系著人們對(duì)于財(cái)產(chǎn),安全和時(shí)間相關(guān)的利益。具有優(yōu)良科學(xué)

6、的交通控制技術(shù)對(duì)資源物流和人們出行都是十分有價(jià)值的,保證交通線路的暢通安全,才能保證出行舒暢,物流準(zhǔn)時(shí)到位,甚至是生命通道的延伸。1.3單片機(jī)交通控制系統(tǒng)主要研究的內(nèi)容基于整個(gè)交通控制系統(tǒng)的發(fā)展情況,本設(shè)計(jì)主要進(jìn)行如下方面的研究:用智能,集成,且功能強(qiáng)大的單片機(jī)芯片為控制中心,設(shè)計(jì)出一套十字路口的交通控制系統(tǒng),以指揮該路口的實(shí)時(shí)通行狀態(tài)。 本設(shè)計(jì)主要做了如下幾方面的工作: 一是確定系統(tǒng)交通控制的總體設(shè)計(jì),包括十字路口具體的通行禁行方案設(shè)計(jì)以及系統(tǒng)應(yīng)擁有的各項(xiàng)功能,在這里,本設(shè)計(jì)除了有信號(hào)燈狀態(tài)控制能實(shí)現(xiàn)基本的交通功能,還增加了倒計(jì)時(shí)顯示提示,基于實(shí)際情況,又要求了對(duì)車流量檢測(cè)及自調(diào)整模擬功能,

7、違規(guī)檢測(cè)及處理,緊急狀況處理。二是進(jìn)行智能傳感器的硬件電路,顯示電路等的設(shè)計(jì)對(duì)各器件的選擇及連接,大 體分配各個(gè)器件及模塊的基本功能要求。2方案設(shè)計(jì)2.1課程設(shè)計(jì)目的2.1.1鞏固和加深對(duì)單片機(jī)原理和接口技術(shù)知識(shí)的理解;2.1.2培養(yǎng)根據(jù)課題需要選學(xué)參考書籍、查閱手冊(cè)和文獻(xiàn)資料的能力;2.1.4掌握常用儀器、儀表的正確使用方法,學(xué)會(huì)軟、硬件的設(shè)計(jì)和調(diào)試方法;2.1.5能按課程設(shè)計(jì)的要求編寫課程設(shè)計(jì)報(bào)告,能正確反映設(shè)計(jì)和實(shí)驗(yàn)成果,能用計(jì)算機(jī)繪制電路圖和流程圖。2.1.6通過單片機(jī)課程設(shè)計(jì),熟練掌握匯編語(yǔ)言的編程方法,將理論聯(lián)系到實(shí)踐中去,提高我們的動(dòng)腦和動(dòng)手的能力。2.1.7通過交通信號(hào)燈控制系

8、統(tǒng)的設(shè)計(jì),掌握定時(shí)/計(jì)數(shù)器及中斷的使用方法,和簡(jiǎn)單程序的編寫,最終提高我們的邏輯抽象能力。2.2設(shè)計(jì)思路東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表1:車道時(shí)間60s3s2s35s3s東西道綠燈黃燈紅燈紅燈紅燈南北道紅燈紅燈紅燈綠燈黃燈 表1表1說(shuō)明:(1)當(dāng)東西道為綠燈,此道車輛通過,行人禁止通行。時(shí)間為60秒;南北方向?yàn)榧t燈,此道車輛禁止通行,南北道行人可通過。(2)當(dāng)東西

9、方向?yàn)辄S燈閃爍3秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換;南北方向?yàn)榧t燈,此道車輛禁止通行,南北道行人可通過。(3)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過;當(dāng)南北方向?yàn)榧t燈,此道車輛禁止通行,南北道行人可通過。(4)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過;東西道為綠燈,此道車輛通過,行人禁止通行。時(shí)間為35秒。(5)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過;南北方向?yàn)辄S燈閃爍3秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。(6)此表可根據(jù)車流量動(dòng)態(tài)設(shè)定紅綠燈初始值。2.3設(shè)計(jì)原理人行道人行道人行道 人行道 1、首先了解實(shí)際交通燈的變化情況和規(guī)律。假設(shè)一個(gè)十字

10、路口如上圖所以,為東南西北走向。初始狀態(tài)0為東西南北都紅燈亮。然后轉(zhuǎn)狀態(tài)1東西紅燈亮,南北綠燈亮通行。過一段時(shí)間后,轉(zhuǎn)狀態(tài)2,黃燈亮,東西紅燈滅,南北綠燈滅。再轉(zhuǎn)狀態(tài)3,東西綠燈通車,南北紅燈亮。過一段時(shí)間后轉(zhuǎn)狀態(tài)4,黃燈亮,東西綠燈滅南北紅燈滅。一段時(shí)間后,又循環(huán)至狀態(tài)1。中間可通過中斷按鈕產(chǎn)生中斷,跳入中斷程序執(zhí)行中斷。列出交通信號(hào)燈的狀態(tài)表如下:(其中,1代表燈亮,0代表燈滅)狀態(tài)北西南東綠黃紅綠黃紅綠黃紅綠黃紅000100100100111000011000012010010010010300110000110040100100100102、對(duì)于交通信號(hào)燈來(lái)說(shuō),應(yīng)該有東西南北共四組燈,

11、但由于同一道上的兩組的信號(hào)燈的顯示情況是相同的,所以只要用兩組就行了,因此,采用單片機(jī)內(nèi)部的i/o口上的p1口中的6個(gè)引腳即可來(lái)控制6個(gè)信號(hào)燈。3、通過編寫程序,實(shí)現(xiàn)對(duì)發(fā)光二極管的控制,來(lái)模擬交通信號(hào)燈的管理。每延時(shí)一段時(shí)間,燈的顯示情況都會(huì)按交通燈的顯示規(guī)律進(jìn)行狀態(tài)轉(zhuǎn)換。4、通過延時(shí)時(shí)間送顯,可以在原有的交通信號(hào)燈系統(tǒng)的基礎(chǔ)上,增添其倒計(jì)時(shí)間的顯示功能,實(shí)現(xiàn)其功能的擴(kuò)展。5、通過脈沖中斷編寫中斷程序,可實(shí)現(xiàn)中斷。3系統(tǒng)硬件設(shè)計(jì)選用設(shè)備:at89c51單片機(jī)一片,74ls47芯片二片,電阻排respack-7三個(gè),共陰極的七段數(shù)碼管7seg-mpx2-ca兩個(gè),紅、黃、綠交通燈各四個(gè),開關(guān)鍵盤

12、、連線、電阻、電容若干。3.1、at89c51芯片簡(jiǎn)介at89c51單片機(jī)內(nèi)部結(jié)構(gòu)at89c51單片機(jī)包含中央處理器、程序存儲(chǔ)器(rom)、數(shù)據(jù)存儲(chǔ)器(ram)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。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ù)用經(jīng)綜合對(duì)本系統(tǒng)的分析,選用at89c51單片機(jī)就非常合適,at89c51有p0,p1,p2,p

13、3四個(gè)外部接口,介紹如下:p0 口:p0口是一個(gè)8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏 輯電平。對(duì)p0端口寫“1”時(shí),引腳用作高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),p0口被分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 p1 口:p1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)ttl 邏輯電平。對(duì)p1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的

14、外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。在flash編程和校驗(yàn)時(shí),p1口接收低8位地址字節(jié)。 p2 口:p2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)ttl邏輯門電路。對(duì)端口p2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。p3 口:p3 口是一組帶有內(nèi)部上拉電阻的8 位雙向i/o 口。p3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)ttl 邏輯門電路。對(duì)p3 口寫入“1”時(shí),它們被內(nèi)部上拉

15、電阻拉高并可作為輸入端口。此時(shí),被外部拉低的p3 口將用上拉電阻輸出電流。rst復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ale/prog當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ale仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ale脈沖。對(duì)flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog)。psen程序儲(chǔ)存允許(psen)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)at89c52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù)

16、)時(shí),每個(gè)機(jī)器周期兩次psen有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次psen信號(hào)。ea/vpp外部訪問允許,欲使cpu僅訪問外部程序存儲(chǔ)器(地址為0000h-ffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。下圖是mcs-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖1。 圖1單片機(jī)的復(fù)位及初始化如圖2: 圖23.2 74ls47芯片簡(jiǎn)介 74ls47的端子功能圖如下圖3: 圖374ls47的主要功能端如下:bi為熄滅輸入端,低電平有效,當(dāng)bi=0時(shí),無(wú)論其他輸

17、入端狀態(tài)如何,譯碼器輸出七段同時(shí)熄滅;bi=1時(shí),不影響譯碼器正常譯碼。lt為測(cè)試輸入端,低電平有效,用于檢查數(shù)碼管的七段是否正常發(fā)光。當(dāng)lt=0,同時(shí)bi=1時(shí),不管輸入的b南北碼是什么狀態(tài),都可使驅(qū)動(dòng)數(shù)碼管的七段同時(shí)點(diǎn)亮。譯碼器要正常譯碼,必須lt輸入無(wú)效電平。rbi為滅零輸入端,低電平有效。設(shè)置滅零輸入端的目的是為了能將不希望顯示的0熄滅,例如一個(gè)四位數(shù)碼顯示電路,整數(shù)部分兩位,小數(shù)部分兩位,在顯示6.4時(shí),將出現(xiàn)06.40的字樣,如果將前、后多余的0熄滅,顯示的結(jié)果更醒目一些。滅零輸入端只能對(duì)顯示的0進(jìn)行熄滅,而對(duì)其他數(shù)字沒有影響。在原理圖中,譯碼器與數(shù)碼管的連接如圖4: 圖43.3系

18、統(tǒng)總框圖如下:74ls47七段驅(qū)動(dòng)器數(shù)據(jù)口數(shù)碼管顯示cd方向時(shí) 間89c51系 統(tǒng) 處 理鍵盤設(shè)置時(shí)間參數(shù)東西和cd方向紅綠黃三種燈的顯示情況74ls47七段驅(qū)動(dòng)器數(shù)據(jù)口數(shù)碼管顯示東西方向時(shí) 間3.4、交通燈硬件線路圖:3.5、系統(tǒng)工作原理(1)開關(guān)鍵盤a、改變數(shù)碼管顯示的時(shí)間;b、開關(guān)控制十字路口十個(gè)方向的燈同時(shí)顯示紅燈且數(shù)碼管顯示00。(2) 由at89c51單片機(jī)每秒鐘通過p0、p2口向74ls47的數(shù)據(jù)口送信息,由p1口顯示紅、綠、黃燈的燃亮情況;由7seg-mpx2-ca顯示每個(gè)燈的燃亮?xí)r間。(3)at89c51 p3.3為低電平時(shí),p1口對(duì)應(yīng)的紅燈即四個(gè)方向的紅燈亮,數(shù)碼顯示為00

19、.(4 at89c51 p3.2有下降沿觸發(fā)時(shí),時(shí)間暫停,進(jìn)入時(shí)間顯示狀態(tài),當(dāng)p3.6為低電平時(shí),時(shí)間顯示以240ms的速度進(jìn)行加1;當(dāng)p3.7為低電平時(shí),時(shí)間顯示以240ms的速度進(jìn)行減1;當(dāng)p1.0為低電平時(shí),時(shí)間暫停消除,恢復(fù)正常。(5)初始狀態(tài)東西方向綠燈60秒南北方向紅燈65秒。(6)當(dāng)東西方向綠燈60秒倒計(jì)時(shí)完了。進(jìn)入下一階段,東西方向黃燈3秒,且黃燈以40ms的速度閃爍;南北方向紅燈5秒。(7)當(dāng)東西方向黃燈3秒倒計(jì)時(shí)完。進(jìn)入第三階段,東西方向紅燈40秒;南北方向紅燈2秒。(8)當(dāng)南北方向紅燈2秒倒計(jì)時(shí)完。進(jìn)入第四階段,東西方向紅燈38秒;南北方向綠燈35秒。(9)當(dāng)南北方向綠燈

20、35秒倒計(jì)時(shí)完。進(jìn)入第五階段,東西方向紅燈3秒;南北方向黃燈3秒,且黃燈以40ms的速度閃爍。(10)東西方向紅燈和南北方向黃燈3秒同時(shí)倒計(jì)時(shí)完畢,重新循環(huán)。4軟件設(shè)計(jì)4.1、每秒鐘的設(shè)定延時(shí)方法可以有兩種一中是利用at89c51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。 4.2、秒的方法我們采用在主程序中設(shè)定一個(gè)初值為的軟件計(jì)數(shù)器和使定時(shí)毫秒這樣每當(dāng)?shù)胶撩霑r(shí)就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,先使軟件計(jì)數(shù)器減,然后判斷它是否為零。為零表示秒已到可以返回到輸出時(shí)間顯示程序.4.3、相應(yīng)程序代碼()主程序定時(shí)器需定時(shí)10毫秒,故工作于方式。

21、初值:t0初值=216-fose/12xt=216-(12x106x0.01)/12=55536d=d8f0h org 0000h main: mov tmod,#01h mov tl0,#0f0h mov th0,#0d8h setb ea setb et0 setb tr0 setb ex0 setb ex1 setb it0 clr it1 setb pt0()中斷服務(wù)子程序 org 000bh zhd2: mov tl0,#0f0h ;重先賦值 mov th0,#0d8h clr p3.4 reti4.4、鍵盤顯示流程圖鍵盤“設(shè)置”按下主程序“加”鍵按下程序設(shè) 置“加”數(shù)字顯示程序“減

22、”數(shù)字顯示程序主程序“減”鍵按下4.5、 軟件延時(shí) mcs-51的工作頻率為2-12mhz,我們選用的at89c51單片機(jī)的工作頻率為12mhz。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12m)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間。 具體的延時(shí)程序分析:del: mov r7,#40 ; ;延時(shí)10msdel1: mov r6,#123 nopdel2: djnz r6,del2 djnz r7,del1 ret 5 、proteus軟件仿真5.1交通燈控制系統(tǒng)正常運(yùn)行時(shí)仿真圖(見下圖)5.2 交通

23、燈東西方向向南北方向轉(zhuǎn)變,黃燈亮 5.3應(yīng)急情況下,東西南北方向都為紅燈,如下圖6、設(shè)計(jì)心得體會(huì)通過這次課程設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步。本次課程設(shè)計(jì)的過程是艱辛的,不過收獲卻是很大的。在設(shè)計(jì)過程中,會(huì)出現(xiàn)了一些問題,但都是常見的小問題,如:代碼中雙引號(hào)的使用并不是在英語(yǔ)書寫狀態(tài)下,輸入字母出錯(cuò)等,在調(diào)試時(shí)出現(xiàn)異常,不過這些都是經(jīng)常性錯(cuò)誤,經(jīng)過調(diào)試修改都一一解決,程序順利完成,并實(shí)現(xiàn)了其功能。綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固

24、和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí)。在此,由于自身能力有限,在課程設(shè)計(jì)中碰到了很多的問題,我通過查閱相關(guān)書籍、資料以及和周圍同學(xué)交流。由于使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。但是在我們?cè)O(shè)計(jì)和調(diào)試的過程中,也發(fā)現(xiàn)了一些問題,譬如紅燈和綠燈的切換還不夠迅速,紅綠燈規(guī)則不效率還不是很高等等,這需要在實(shí)踐中進(jìn)一步完善。當(dāng)然,通過這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我。附錄1: 源程序代碼 org 0000h ;偽指令、程序開始、中斷入口地址 ljmp main

25、org 0003h ljmp zhd1 org 000bh ljmp zhd2 org 0013h ljmp zhd3 org 1000h;主程序main:mov tmod,#01h ;設(shè)工作方式 mov tl0,#0f0h ;設(shè)初值 ,單片機(jī)晶振12m,定時(shí)10ms mov th0,#0d8h setb ea ;開放總中斷 setb et0 ;開放t0中斷 setb tr0 ;啟動(dòng)t0定時(shí) setb ex0 ;開放外中斷0 setb ex1 ;開放外中斷1 setb it0 ;設(shè)外中斷0為邊沿觸發(fā) clr it1 ;設(shè)外中斷1為低電平有效 setb pt0cycle:mov r0,#60 ;

26、ab方向綠燈顯示時(shí)間 mov r1,#65 ;cd方向紅燈顯示時(shí)間 mov r2,#25 ;為延時(shí)1秒而用;cd紅燈 ab綠燈loop1:setb p3.4 mov p1,#01h setb p1.7 ;點(diǎn)亮紅燈 setb p1.4 ;點(diǎn)亮綠燈 lcall display ;調(diào)用顯示程序 djnz r2,loop1 mov r2,#25 dec r1 djnz r0,loop1 mov r0,#3 ;ab方向黃燈顯示時(shí)間;cd紅燈 ab黃燈loop2:mov p1,#01h setb p1.7 ;點(diǎn)亮紅燈 setb p1.3 ;點(diǎn)亮黃燈llj: lcall display ;調(diào)用顯示程序 cp

27、l p1.3 djnz r2,llj dec r1 mov r2,#25 djnz r0,loop2 mov r0,#40 ;ab方向紅燈顯示時(shí)間;cd紅燈 ab紅燈loop3:mov p1,#01h setb p1.7 ;點(diǎn)亮紅燈 setb p1.2 ;點(diǎn)亮紅燈 lcall display ;調(diào)用顯示程序 djnz r2,loop3 mov r2,#25 dec r0 djnz r1,loop3 mov r1,#35 ;cd方向綠燈顯示時(shí)間;cd綠燈 ab紅燈loop4:mov p1,#01h setb p1.5 ;點(diǎn)亮綠燈 setb p1.2 ;點(diǎn)亮紅燈 lcall display ;調(diào)用

28、顯示程序 djnz r2,loop4 mov r2,#25 dec r0 djnz r1,loop4 mov r1,#3 ;cd方向黃燈顯示時(shí)間;cd黃燈 ab紅燈loop5:mov p1,#01h setb p1.6 ;點(diǎn)亮黃燈 setb p1.2 ;點(diǎn)亮紅燈llj1: lcall display ;調(diào)用顯示程序 cpl p1.6 djnz r2,llj1 mov r2,#25 dec r0 djnz r1,loop5 ljmp cycle;鍵盤中斷程序zhd1: lcall display jb p3.6,q2 inc r1 inc r0 cjne r1,#99,tiao2 mov r1,#00htiao2:cjne r0,#99,tiao3 mov r0,#00htiao3:lcall display lcall display lcall display lcall dis

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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íng)論

0/150

提交評(píng)論