版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理及應(yīng)用課程 單片機(jī)課程設(shè)計(jì) 題目:定時(shí)交通信號(hào)燈控制設(shè)計(jì)姓名: 唐思 學(xué)號(hào): 201013100102016 專業(yè): 車輛工程2010-2 指導(dǎo)老師: 盧毓俊 2013-06-23I任務(wù)書(一) 課題:定時(shí)交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)在雙干線路口上,交通信號(hào)燈的變化是定時(shí)的。假定:1. 放行線,綠燈亮放行25s,黃燈警告5s,然后紅燈亮禁止通行。2. 禁止線,紅燈亮禁止30s,然后綠燈亮放行。使兩條路線交替的成為放行線和禁止線,就可以實(shí)現(xiàn)定時(shí)交通控制。(二) 基本要求:1. 根據(jù)課題的要求規(guī)劃硬件和接線,畫出系統(tǒng)的硬件結(jié)構(gòu)圖。2. 編寫系統(tǒng)的用戶程序,譯成機(jī)器碼并在試驗(yàn)儀上調(diào)試。3. 完成課
2、程設(shè)計(jì)報(bào)告(三) 課程設(shè)計(jì)報(bào)告寫作要求1. 課程設(shè)計(jì)報(bào)告有封面、設(shè)計(jì)任務(wù)書、目錄、摘要、正文、參考文獻(xiàn)、附錄等部分組成。2. 封面可自行設(shè)計(jì),應(yīng)包含課程設(shè)計(jì)名稱及設(shè)計(jì)題目、專業(yè)、班級(jí)、姓名、指導(dǎo)教師、設(shè)計(jì)日期等內(nèi)容。3. 正文是設(shè)計(jì)報(bào)告的核心部分。應(yīng)包含以下內(nèi)容:概述所做課題的意義、本人所做的工作及系統(tǒng)的主要功能;硬件電路設(shè)計(jì)及描述;軟件設(shè)計(jì)流程圖及描述;源程序代碼(要有注釋);體會(huì)和建議等。摘 要本設(shè)計(jì)是針對(duì)交通燈系統(tǒng)的設(shè)計(jì),由單片機(jī)AT89C51、鍵盤、LED顯示、交通燈演示系統(tǒng)組成。單片機(jī)是把微型計(jì)算機(jī)的各功能部件集成在一塊芯片中,構(gòu)成的一個(gè)完整的微型計(jì)算機(jī)。89C51單片機(jī)是MC-51
3、中的子系列,是一組高性能兼容型單片機(jī),AT89C51是一個(gè)低功耗高性能的CMOS 8位單片機(jī),40個(gè)引腳,片內(nèi)含4KB Flash ROM和128B RAM,它是一個(gè)全雙工的串行通行口,既可以用常規(guī)編程,又可以在線編程。本設(shè)計(jì)中的數(shù)碼管的選通采用的方法是動(dòng)態(tài)顯示,對(duì)每一位數(shù)碼分時(shí)輪流通電顯示,復(fù)位電路采用上電+按鈕電平復(fù)位,時(shí)鐘電路采用內(nèi)部時(shí)鐘脈沖產(chǎn)生方式。對(duì)特殊情況的處理采用中斷處理方式,在中斷處理程序中采用對(duì)管腳的狀態(tài)查詢掃描,已采取相應(yīng)情況的處理。對(duì)設(shè)計(jì)方案進(jìn)行電路硬件設(shè)計(jì),并將已編程的程序載入調(diào)試,可以得到理想的實(shí)驗(yàn)效果。 系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能.具體功能是
4、假如 A 道和B道上均有車輛要求通過時(shí),A、B道輪流放行。A道放行 綠燈亮25秒,接著黃燈閃爍5秒,B道在該過程中亮紅燈30秒;同理交換為B道放行綠燈亮25秒,接著黃燈閃爍5秒,A道在該過程中亮紅燈30秒。 一道有車而另一道無車,交通燈控制系統(tǒng)能立即讓有車道放行。關(guān)鍵字:?jiǎn)纹瑱C(jī)AT89C51 交通信號(hào)燈控制 時(shí)間目 錄一設(shè)計(jì)思路11.1引言11.2方案比較21.3硬件電路設(shè)計(jì)3 a)復(fù)位部分3 b)時(shí)鐘電路部分3 c)路口指示燈部分4 d)顯示部分41.4程序設(shè)計(jì)5 1.4.1程序流程圖5 1.4.2交通燈狀態(tài)圖6 1.4.3程序清單6二調(diào)試7三檢測(cè)評(píng)價(jià)19四心得體會(huì)10五元件清單10六附錄1
5、1III定時(shí)交通燈信號(hào)控制設(shè)計(jì)編寫人:10車輛工程2班 唐思1 設(shè)計(jì)思路 個(gè)人摘要:根據(jù)AT89C51單片機(jī)的特點(diǎn)及交通燈在實(shí)際控制中的特點(diǎn),本文提出一種用單片機(jī)自動(dòng)控制交通燈及時(shí)間顯示的方法。同時(shí)給出了軟硬件設(shè)計(jì)方法,設(shè)計(jì)過程包括硬件電路設(shè)計(jì)和程序設(shè)計(jì)兩大步驟,對(duì)在單片機(jī)應(yīng)用中可能遇到的重要技術(shù)問題都有涉足。本文對(duì)十字路口狀態(tài)預(yù)設(shè)為兩種,一種是正常狀態(tài),另一種是故障或緊急狀態(tài),并分別用黃、紅、綠色燈的不同組合來表示。本文介紹了控制基本原理以及控制的表現(xiàn),同時(shí)也介紹了城市交通信息系統(tǒng)的設(shè)計(jì)目標(biāo), 開發(fā)途徑及其系統(tǒng)結(jié)構(gòu)與功能和數(shù)據(jù)地理編碼、建庫, 同時(shí), 論述了系統(tǒng)中交通現(xiàn)狀、交通管理、交通規(guī)劃
6、及背景信息查詢模塊的建造及應(yīng)用。介紹了用于城市交叉路口的三色程控交通信號(hào)時(shí)間顯示器的研制方案,對(duì)其電源供電、發(fā)光二極管構(gòu)成的負(fù)載結(jié)構(gòu)、燈色時(shí)間檢測(cè)都給出了精巧合理的優(yōu)化結(jié)構(gòu),大幅度地提高了產(chǎn)品可靠性并降低了制造成本。1.1引言: 隨著我國(guó)國(guó)民經(jīng)濟(jì)的快速發(fā)展,我國(guó)機(jī)動(dòng)車輛發(fā)展迅速,而城鎮(zhèn)道路建設(shè)由于歷史等各種原因相對(duì)滯后,交通擁擠和堵塞現(xiàn)象時(shí)常出現(xiàn)。如何利用當(dāng)今計(jì)算機(jī)和自動(dòng)控制技術(shù),有效地疏導(dǎo)交通,提高城鎮(zhèn)交通路口的通行能力,減少交通事故是很值得研究的一個(gè)課題。目前,國(guó)內(nèi)的交通燈一般設(shè)在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈加上一個(gè)倒計(jì)時(shí)的顯示器來控制行車。 本設(shè)計(jì)是單片機(jī)控制的交通燈
7、控制系統(tǒng)設(shè)計(jì)隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問題越來越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。所以,如何采用合適的控制方法,最大限度利用好耗費(fèi)巨資修建的城市高速道路,緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵狀況,越來越成為交通運(yùn)輸管理和城市規(guī)劃部門亟待解決的主要問題。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、交通燈、控制1.2方案比較與確定 經(jīng)過一定的篩選,最終能有三個(gè)方案較為實(shí)際。1.2.1 方案一:通過數(shù)字電路達(dá)到實(shí)驗(yàn)?zāi)康?。狀態(tài)控制器主要用于
8、記錄十字路口交通信號(hào)燈的工作狀態(tài)通過狀態(tài)譯碼器分別點(diǎn)亮相應(yīng)狀態(tài)的信號(hào)燈。秒信號(hào)發(fā)生器用以產(chǎn)生整個(gè)定時(shí)系統(tǒng)的時(shí)基脈沖,通過減法計(jì)數(shù)器對(duì)秒脈沖進(jìn)行減計(jì)數(shù)達(dá)到控制每一種工作狀態(tài)的持續(xù)時(shí)間。減法計(jì)數(shù)器的回零脈沖使?fàn)顟B(tài)控制器完成狀態(tài)轉(zhuǎn)換同時(shí)狀態(tài)譯碼器根據(jù)系統(tǒng)下一個(gè)工作狀態(tài)決定計(jì)數(shù)器下一此減計(jì)數(shù)的初始值。減法計(jì)數(shù)器的狀態(tài)由BCD譯碼器譯碼,由數(shù)碼管顯示。在黃燈亮期間,狀態(tài)譯碼器將秒脈沖引入紅燈控制電路使紅燈閃爍。1.2.1方案二:通過單片機(jī)達(dá)到實(shí)驗(yàn)?zāi)康摹?AT89C51單片機(jī)具有定時(shí)器/計(jì)數(shù)器功能,只要外在接入一個(gè)時(shí)鐘脈沖,就可以完成紅燈、綠燈、黃燈所需的時(shí)間的計(jì)時(shí)。同時(shí),。用AT89C52芯片的P2口(
9、P2.0P2.5)分別接上兩組六位信號(hào)燈。通過中斷程序可以實(shí)現(xiàn)紅燈、綠燈、黃燈之間的轉(zhuǎn)換。1.2.2方案三:通過控制電路達(dá)到實(shí)驗(yàn)?zāi)康摹?該控制機(jī)用于控制十字路的交通信號(hào)燈,查個(gè)電路采用七塊集成電路,組成程序式的定時(shí)電路,自動(dòng)按三個(gè)程序循環(huán)控制東西南北方向的紅、黃、綠信號(hào)燈的亮與滅。定時(shí)電路器由IC1(555)、R1、C1及四雙開關(guān)向開關(guān)IC6控制的定時(shí)電阻RT、RG、RG1、RG2等組成,IC6采用CD4066、RT、RG是秒步進(jìn)和十秒步進(jìn)的波段開關(guān),其電阻均為6.2K,最大定時(shí)時(shí)間為10S。RG1、RG2是秒步進(jìn)和十秒步進(jìn)的波段開關(guān),秒步進(jìn)開關(guān)的電阻為6.2K,十秒步進(jìn)開關(guān)電阻為6.2K,十
10、秒步進(jìn)開關(guān)電阻為6.2K,最大可設(shè)置時(shí)間為110S,時(shí)間長(zhǎng)短要預(yù)置,六程序電路IC3采用十進(jìn)制計(jì)數(shù)器/脈沖分配器CD4017,將5腳和復(fù)位端15腳相連,使之成為六進(jìn)制計(jì)數(shù)分配器,加電源后,IC3的Q0-Q5依次,輸出高電平,至第六個(gè)定時(shí)器脈沖到來時(shí),Q6(5腳)的高電平加至15腳,使IC3復(fù)位,然后又重復(fù)循環(huán),形成六程序控制。閃爍電器電器IC2和R2、R3、C3組成無穩(wěn)態(tài)多諧振蕩器,f=1.44/(R2+2R3)C3,它的輸出經(jīng)選通門IC4加至譯碼和驅(qū)動(dòng)電路,矩陣電路由D1-D10組成,用來選擇每步程序的交通信號(hào)燈,并推動(dòng)IC3、IC7為專用燈驅(qū)動(dòng)電路MC1413,可接控制L1-L5的通斷,點(diǎn)
11、亮各色信號(hào)燈。綜上所述,單片機(jī)具有結(jié)構(gòu)簡(jiǎn)單、編程方便、經(jīng)濟(jì)、易于連接等優(yōu)點(diǎn), 特別是其內(nèi)部定時(shí)器計(jì)數(shù)器、中斷系統(tǒng)資源豐富, 可對(duì)交通燈進(jìn)行精確的控制, 有應(yīng)用價(jià)值。本實(shí)驗(yàn)使用單片機(jī)實(shí)現(xiàn)定時(shí)交通信號(hào)燈控制。1.3硬件電路設(shè)計(jì)1.3.1組成:AT89C51單片機(jī)、復(fù)位電路、振蕩電路、LED數(shù)碼管、交通燈。1.3.2各組成部分電路設(shè)計(jì):a. 復(fù)位部分復(fù)位電路采用上電+按鈕電平復(fù)位是上電復(fù)位與按鈕復(fù)位的組合,當(dāng)振蕩頻率是6MHz時(shí),電容C取22uf, R取1K,Rs取200左右。上電瞬間復(fù)位端(RST/Vpd)的電位與Vcc相同,隨著充電電路電流的減少,RST/Vpd的電位下降,最后為0V,當(dāng)按鈕按下
12、后,電源Vcc通過電阻R,施加在單片機(jī)復(fù)位端RST/Vpd上實(shí)現(xiàn)復(fù)位,電路連接圖如圖(2): 復(fù)位電路(2)b.時(shí)鐘電路部分本系統(tǒng)采用內(nèi)部時(shí)鐘產(chǎn)生方式:在和兩端跨接陶瓷諧振器,與內(nèi)部反相器構(gòu)成穩(wěn)定的自激振蕩器采。晶振采用12MHz的振蕩頻率和兩個(gè)30Pf瓷片電容C1、C2,兩個(gè)電阻對(duì)頻率有微調(diào)作用。其電路如圖(3) c.路口指示燈部分采用紅黃綠三種顏色的發(fā)光二極管共12個(gè)分為4組代表路口的交通燈(電路圖中用兩組示意).其中每?jī)山M控制一個(gè)路口,具體時(shí)序如表1:表1:方向燈色東西南北紅燈3030黃燈55綠燈2525d.顯示部分采用兩位一體共陽極數(shù)碼管,分別顯示南北和東西燈的剩余時(shí)間.片選部分和數(shù)碼
13、段顯示部分,分別接單片機(jī)管腳的P2口和P0口,具體的共陰數(shù)碼管管腳分布位置見圖(4). 1.4程序設(shè)計(jì)開始初始化AT89C51東西方向紅燈亮,南北方向綠燈亮,延時(shí)南北方向剩余時(shí)間1S?東西方向紅燈亮,南北方向黃燈閃亮,延時(shí)南北方向剩余時(shí)間0S?東西方向綠燈亮,南北方向紅燈亮,延時(shí)東西方向剩余時(shí)間1S?東西方向黃燈閃亮,南北方向紅燈亮,延時(shí)東西方向剩余時(shí)間0S?圖(5)主程序流程圖1.4.1流程圖1.4.2交通燈狀態(tài)表:狀態(tài)北西南東綠黃紅綠黃紅綠黃紅綠黃紅000100100100110011000011002001010001010310000110000140100010100011.4.3程
14、序清單:主程序ORG 0000H MAIN:MOV DPTR,#0FF20H 初始化MOV A,#03H MOVX DPTR,A MOV 2AH,#1FH 設(shè)置時(shí)間顯示初始值31s四種狀態(tài)MOV P1,#0CH A線放行B線禁止MOV R7,#19H 延時(shí)秒數(shù) 25PRG1: LCALL DELAY1 調(diào)用延時(shí)子程序DJNZ R7,PRG1 MOV P1,#0AH A線警告B線禁止MOV R7,#05H 延時(shí)秒數(shù)5PRG2: LCALL DELAY1 調(diào)用延時(shí)子程序DJNZ R7, PRG2 MOV P1,#21H A線禁行B線放行MOV 2AH,#1FH 設(shè)置時(shí)間顯示初值31sMOV R7,
15、 #19H 延時(shí)秒數(shù) 25PGR3: LCALL DELAY1 調(diào)用延時(shí)子程序DJNZ R7,PGR3 MOV P1,#11H A線禁行B線警告MOV R7,#05H 延時(shí)秒數(shù)5PGR4: LCALL DELAY1 調(diào)用延時(shí)子程序DJNZ R7, PGR4 AJMP MAIN DELAY1延時(shí)子程序DELAY1:DEC 2AH MOV A,2AH 顯示秒數(shù)減一MOV B,#0AH 循環(huán)控制子程序LOOP: MOV A,R2 MOV R4,#02H LCALL DISPLAY MOV A,R1 MOV R4,#01H LCALL DISPLAY DJNZ R6,LOOP二調(diào)試硬件調(diào)試是利用開發(fā)系
16、統(tǒng)、基本測(cè)試儀器(萬用表、示波器等),檢查用戶系統(tǒng)硬件中存在的故障。硬件調(diào)試可分為靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。a)靜態(tài)調(diào)試:靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時(shí)的一種硬件檢測(cè)。 第一步:目測(cè)。檢查外部的各種元件或者是電路是否有斷點(diǎn)。 第二步:用萬用表測(cè)試。先用萬用表復(fù)核目測(cè)中有疑問的連接點(diǎn),再檢測(cè)各種電源線與地線之間是否有短路現(xiàn)象。 第三步:加電檢測(cè)。給板加電,檢測(cè)所有的插座或是器件的電源端是否符合要求的值 第四步:是聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開發(fā)系統(tǒng)才能完成對(duì)用戶系統(tǒng)的調(diào)試。 b)動(dòng)態(tài)調(diào)試: 動(dòng)態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯(cuò)誤等的一種硬件檢查
17、。動(dòng)態(tài)調(diào)試的一般方法是由近及遠(yuǎn)、由分到合。 由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時(shí),與該元件無關(guān)的 器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對(duì)各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合的調(diào)試既告完成。 由近及遠(yuǎn)是將信號(hào)流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及遠(yuǎn)的分層,然后分層調(diào)試。調(diào)試時(shí),仍采用去掉無關(guān)元件的方法,逐層調(diào)試下去,就會(huì)定位故障元件了。 軟件調(diào)試是通過對(duì)擁護(hù)程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過程。程序后,編輯,查看程序
18、是否有邏輯的錯(cuò)誤。三檢測(cè)評(píng)價(jià): 經(jīng)過檢測(cè),該程序設(shè)計(jì)合理正確,調(diào)試后能夠正常運(yùn)行,基本能夠?qū)崿F(xiàn)要求。能夠?qū)崿F(xiàn):紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示,然后變?yōu)榧t燈,并且能夠顯示時(shí)間。系統(tǒng)穩(wěn)定可靠,易于修改。能夠在現(xiàn)實(shí)中起到一定作用。四心得體會(huì)我這次用得交通燈系統(tǒng)是以單片機(jī)AT89C51芯片為核心部件,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過AT89C51芯片設(shè)置及控制紅、綠和黃燈點(diǎn)亮?xí)r間來進(jìn)行交通控制。通過這次的課程設(shè)計(jì)是我學(xué)會(huì)了很多軟件的操作和仿真實(shí)驗(yàn)的操作,如keic51和protues軟件的聯(lián)接和導(dǎo)入。這倆軟件在我這次課程設(shè)計(jì)中起到關(guān)鍵作用,運(yùn)用其中素材做仿真,從文件中找各種器材,雖然在這過程中比
19、較繁雜,但是我還是樂此不彼,因?yàn)槲覍?duì)這次課設(shè)深感興趣,所以再累也值得。在這次課程設(shè)計(jì)的過程中,我遇到了很多的困難,譬如:找實(shí)驗(yàn)?zāi)0?,安裝軟件,已經(jīng)源程序的匯編,程序的導(dǎo)入等等。但通過自己找老師和同學(xué)一起去解決各種問題,終于克服種種困難;仿真實(shí)驗(yàn)和論文寫得差不多了。經(jīng)歷這次課程設(shè)計(jì),使我的動(dòng)手能力更加迅速到位了,但是也發(fā)現(xiàn)自己的很多不足;如:做事比較毛糙不細(xì)心,在設(shè)計(jì)中出現(xiàn)很多小錯(cuò)誤,導(dǎo)致自己的程序一直都不能運(yùn)行,最終逐一檢查才把問題解決;再者是自己的耐力不足,不能一直做下去,中間得停息、調(diào)整。這次單片機(jī)的課程設(shè)計(jì)對(duì)我的幫助太多了;經(jīng)歷過這次課程設(shè)計(jì),使我的大學(xué)生活更加多樣了,希望以后老師能再弄
20、這種類型的課程設(shè)計(jì)給我們?cè)O(shè)計(jì),能增加我們更多的技能,技巧。五元件清單(見附錄2)附錄2.元件清單器件名稱型號(hào)大小數(shù)量晶振12MHz1電阻4701LED數(shù)碼管二聯(lián)共陽3單片機(jī)AT89C511電解電容22uF1瓷片電容30pF2排阻4701LED數(shù)碼管二聯(lián)共陽3發(fā)光二極管紅4黃4綠4開關(guān)按鍵式4上拉電阻10K6電源5V/0.5A1集成塊74LS2451六附錄附錄1.仿真電路圖 圖上為 東西方向變黃燈,南北方向禁行 圖上為 南北方向通車,東西方向禁行圖上為 東西方向通車,南北方向禁行附錄3.程序源代碼:; 交通燈 ; TIME EQU 50H ;秒計(jì)數(shù)用 TIMESFR EQU 51H ;臨時(shí)寄存器
21、 CONR5 EQU 52H ;T11秒定時(shí)計(jì)數(shù)用 TIMED0 EQU 55H ;單向最大定時(shí)時(shí)間,直行開始,人行開始 120 TIMED1 EQU 56H ; 各路右轉(zhuǎn)開始時(shí)間 110 TIMED2 EQU 57H ; 前行結(jié)束提醒 70 TIMED3 EQU 58H ; 前行結(jié)束,人行結(jié)束,左轉(zhuǎn)開始 60 TIMED4 EQU 59H ; 左轉(zhuǎn)結(jié)束提醒 TIMED5 EQU 5AH ; 左轉(zhuǎn)結(jié)束 TIMED6 EQU 5BH ; TIMED7 EQU 5CH ; SN EQU P1 ; 南北口 EW EQU P2 ; 東西口 SCAN EQU P3 ;掃描口 LEDOUT EQU P0
22、;段碼口 SNEWFLAG BIT 09H ;東西口與南北口轉(zhuǎn)換標(biāo)志; 按鍵在掃描口的最高位,按一下,全紅燈,再按一下,恢復(fù)原狀態(tài); 定時(shí)器T0、T1溢出周期為50MS,T0為秒計(jì)數(shù)用,; 中斷入口程序 ; ORG 0000H ;程序執(zhí)行開始地址 LJMP START ;跳到標(biāo)號(hào)START執(zhí)行 ORG 0003H ;外中斷0中斷程序入口 RETI ;外中斷0中斷返回 ORG 000BH ;定時(shí)器T0中斷程序入口 LJMP INTT0 ;跳至INTTO執(zhí)行 ORG 0013H ;外中斷1中斷程序入口 LJMP INT11 ;外中斷1中斷返回,119.120中斷 ORG 001BH ;定時(shí)器T1中
23、斷程序入口 LJMP INTT1 ORG 0023H ;串行中斷程序入口地址 RETI ;串行中斷程序返回; ; ; 主 程 序 ; ; START: MOV SP,#80H MOV R0,#00H ;清70H-7AH共11個(gè)內(nèi)存單元 MOV R7,#8FH ; CLEARDISP: MOV R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV TIMED0,#78H ;單向最大定時(shí)時(shí)間,直行開始,人行開始 120 MOV TIMED1,#6EH ; 各路右轉(zhuǎn)開始時(shí)間 110 MOV TIMED2,#46H ; 前行結(jié)束提醒 70 MOV TIMED3,#3CH
24、 ; 前行結(jié)束,人行結(jié)束,左轉(zhuǎn)開始 60 MOV TIMED4,#0AH ; 左轉(zhuǎn)結(jié)束提醒 CLR SNEWFLAG ;南北先通行標(biāo)志位 MOV TMOD,#11H ;設(shè)T0、T1為16位定時(shí)器 MOV TL0,#0B0H ;50MS定時(shí)初值(T0計(jì)時(shí)用) MOV TH0,#3CH ;50MS定時(shí)初值 MOV TL1,#0B0H ;50MS定時(shí)初值(T1閃爍定時(shí)用) MOV TH1,#3CH ;50MS定時(shí)初值 ; JB SCAN.7,SSST ;120秒管理 ;以下為60秒管理 LCALL DL1MS LCALL DL1MS LCALL DL1MS JB SCAN.7,SSST ;干擾 MO
25、V TIMED0,#60 ;單向最大定時(shí)時(shí)間,直行開始,人行開始60 MOV TIMED1,#55 ; 各路右轉(zhuǎn)開始時(shí)間 55 MOV TIMED2,#35 ; 前行結(jié)束提醒 35 MOV TIMED3,#30 ; 前行結(jié)束,人行結(jié)束,左轉(zhuǎn)開始 30 MOV TIMED4,#05 ; 左轉(zhuǎn)結(jié)束提醒 SSWAIT: JNB SCAN.7,SSWAIT LCALL DL1MS LCALL DL1MS LCALL JNB SCAN.7,SSWAIT ; SSST: MOV TIME,TIMED0 ;120秒 LCALL TUNBCD MOV SN,#66H ; MOV EW,#55H ; SETB
26、EA ;總中斷開放 SETB PX1 SETB EX1 SETB ET0 ;允許T0中斷 SETB TR0 ;開啟T0定時(shí)器 MOV R4,#14H ;1秒定時(shí)用初值(50MS×20) MOV CONR5,#20 START1: LCALL DISPLAY ;調(diào)用顯示子程序 JNB SCAN.7,KEYFUN ;手動(dòng)狀態(tài) SJMP START1 ;P1.0口為1時(shí)跳回START1 ;KEYFUN: LCALL DISPLAY LCALL DISPLAY JB SCAN.7,START1 CLR ET0 CLR TR0 MOV SN,#056H ;全車道停,行人通 MOV EW,#05
27、6H ; MOV TIME,#00H ;時(shí)間顯示0 LCALL TUNBCD KEYWAIT: LCALL DISPLAY ; JNB SCAN.7,KEYWAIT ; KEYY: LCALL DISPLAY ;等待按鍵按下 JB SCAN.7,KEYY LCALL DISPLAY JB SCAN.7,KEYY KEYWAIT1: LCALL DISPLAY ; JNB SCAN.7,KEYWAIT1 ; MOV TIME,TIMED0 ;從新開始計(jì)時(shí)初值 LCALL TUNBCD CLR SNEWFLAG ;南北先通行標(biāo)志位 SETB TR0 SETB ET0 AJMP START1; 1秒
28、計(jì)時(shí)程序 ;T0中斷服務(wù)程序 INTT0: PUSH ACC ;累加器入棧保護(hù) PUSH PSW ;狀態(tài)字入棧保護(hù) CLR ET0 ;關(guān)T0中斷允許 CLR TR0 ;關(guān)閉定時(shí)器T0 MOV A,#0B7H ;中斷響應(yīng)時(shí)間同步修正 ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重裝初值(低8位修正值) MOV A,#3CH ;高8位初值修正 ADDC A,TH0 ; MOV TH0,A ;重裝初值(高8位修正值) SETB TR0 ;開啟定時(shí)器T0 DJNZ R4, OUTT00 ;20次中斷未到中斷退出 MOV R4,#14H ;20次中斷到(1秒)重賦初值 JB SNEWFL
29、AG, INT22 DEC TIME MOV A,TIME CJNE A,TIMED1,LOOP11 ; 判斷是否小于110秒 LOOP11: JC LOOP22 ; 120-110 MOV SN,#66H ; I MOV EW,#55H ; I LJMP OUTT0 ; 120-110 LOOP22: MOV A,TIME CJNE A,TIMED2,LOOP33 ; 判斷是否小于70秒 LOOP33: JC LOOP44 ; 110-70 MOV SN,#6AH ; I MOV EW,#59H ; I LJMP OUTT0 ; 110-70 LOOP44: MOV A,TIME CJNE
30、A,TIMED3,LOOP55 ; 判斷是否小于60秒 LOOP55: JC LOOP66 ; 70-60 MOV 20H,SN ; CPL 04H ; CPL 00H MOV SN,20H ; I MOV EW,#59H ; I LJMP OUTT0 ; 70-60 LOOP66: MOV A,TIME CJNE A,TIMED4,LOOP77 ; 判斷是否小于10秒 LOOP77: JC LOOP88 ; 60-10 MOV SN,#99H ; I MOV EW,#59H ; I LJMP OUTT0 ; 60-10 LOOP88: MOV A,TIME JZ OUT88 MOV 20H,
31、SN ; CPL 06H ; CPL 02H MOV SN,20H ; MOV 20H,EW CPL 02H MOV EW,20H ; I LJMP OUTT0 ; 70-60 OUT88: MOV TIME,TIMED0 ;120秒初值 CPL SNEWFLAG OUTT0: LCALL TUNBCD ; OUTT00: POP PSW ;恢復(fù)狀態(tài)字(出棧) POP ACC ;恢復(fù)累加器 SETB ET0 ;開放T0中斷 RETI ;中斷返回; INT22: DEC TIME MOV A,TIME CJNE A,TIMED1,LOOP111 ; 判斷是否小于110秒 LOOP111: JC
32、LOOP221 ; 120-110 MOV EW,#66H ; I MOV SN,#55H ; I LJMP OUTT01 ; 120-110 LOOP221: MOV A,TIME CJNE A,TIMED2,LOOP331 ; 判斷是否小于70秒 LOOP331: JC LOOP441 ; 110-70 MOV EW,#6AH ; I MOV SN,#59H ; I LJMP OUTT01 ; 110-70 LOOP441: MOV A,TIME CJNE A,TIMED3,LOOP551 ; 判斷是否小于60秒 LOOP551: JC LOOP661 ; 70-60 MOV 20H,EW
33、 ; CPL 04H ; CPL 00H MOV EW,20H ; I MOV SN,#59H ; I LJMP OUTT01 ; 70-60 LOOP661: MOV A,TIME CJNE A,TIMED4,LOOP771 ; 判斷是否小于10秒 LOOP771: JC LOOP881 ; 60-10 MOV EW,#99H ; I MOV SN,#59H ; I LJMP OUTT01 ; 60-10 LOOP881: MOV A,TIME JZ OUT881 MOV 20H,EW ; CPL 06H ; CPL 02H MOV EW,20H ; MOV 20H,SN CPL 02H M
34、OV SN,20H ; I LJMP OUTT01 ; 70-60 OUT881: MOV TIME,TIMED0 ;120秒初值 CPL SNEWFLAG OUTT01: LCALL TUNBCD ; POP PSW ;恢復(fù)狀態(tài)字(出棧) POP ACC ;恢復(fù)累加器 SETB ET0 ;開放T0中斷 RETI ;中斷返回; 顯示程序 ; 顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽數(shù)碼管顯示,P0口輸出段碼數(shù)據(jù),P2口作; 掃描控制,每個(gè)LED數(shù)碼管亮1MS時(shí)間再逐位循環(huán)。 DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址 MOV R5,#0FEH ;掃描控制字初值 PLAY: MOV A,R5 ;掃描字放入A MOV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺(tái)銷售工作總結(jié)
- 二零二五年度金融機(jī)構(gòu)信貸資產(chǎn)托管經(jīng)營(yíng)協(xié)議書3篇
- 二零二五年度城市綜合體商鋪?zhàn)赓U合同書
- 某某省某某市規(guī)?;锾烊粴馐痉俄?xiàng)目一期工程PPP項(xiàng)目實(shí)施方案
- 水果蔬菜銷售業(yè)績(jī)總結(jié)
- 二零二五年度農(nóng)村學(xué)校教育信息化工程采購(gòu)合同3篇
- 2025版深圳二手房買賣合同交易標(biāo)的物權(quán)屬爭(zhēng)議解決合同3篇
- 2025版綠色生態(tài)住宅小區(qū)物業(yè)服務(wù)與綠色生活推廣合同3篇
- 2025版豪華私人轎車采購(gòu)及售后服務(wù)全面合同3篇
- 二零二五年度山地旅游道路建設(shè)及景觀合同3篇
- 《水利工程安全管理》課件
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案
- 中外美術(shù)史試題及答案
- 《架空輸電線路導(dǎo)線舞動(dòng)風(fēng)偏故障告警系統(tǒng)技術(shù)導(dǎo)則》
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫
- 廣東省廣州黃埔區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 工會(huì)換屆公示文件模板
- 江蘇省南京市協(xié)同體七校2024-2025學(xué)年高三上學(xué)期期中聯(lián)合考試英語試題答案
- 青島版二年級(jí)下冊(cè)三位數(shù)加減三位數(shù)豎式計(jì)算題200道及答案
- 法理學(xué)課件馬工程
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及解析
評(píng)論
0/150
提交評(píng)論