版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 單片機(jī)課程設(shè)計(jì) 題目:定時(shí)交通信號(hào)燈控制設(shè)計(jì)姓 名:張翠 學(xué) 號(hào):20111310030103 專 業(yè):交通設(shè)備信息工程2011-1 小組成員: 張翠、翁瑜婕 指導(dǎo)老師:盧毓俊 2014年1月任 務(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單片
3、機(jī)是MC-51中的子系列,是一組高性能兼容型單片機(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道上均有車輛要求通過(guò)時(shí),A、B道輪流放行。A道放行 綠燈亮25秒,接著黃燈閃爍5秒,B道在該過(guò)程中亮紅燈30秒;同理交換為B道放行綠燈亮25秒,接著黃燈閃爍5秒,A道在該過(guò)程中亮紅燈30秒。 一道有車而另一道無(wú)車,交通燈控制系統(tǒng)能立即讓有車道放行。關(guān)鍵字:?jiǎn)纹瑱C(jī)AT89C51 交通信號(hào)燈控制 時(shí)間I目 錄一設(shè)計(jì)思路11.1引言11.2方案比較21.3硬件電路設(shè)計(jì)2 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à)8四心得體會(huì)9五元件清單
5、9六附錄9I定時(shí)交通燈信號(hào)控制設(shè)計(jì)編寫人:交通設(shè)備信息工程2011-1 張翠1 . 設(shè)計(jì)思路 個(gè)人摘要:根據(jù)AT89C51單片機(jī)的特點(diǎn)及交通燈在實(shí)際控制中的特點(diǎn),本文提出一種用單片機(jī)自動(dòng)控制交通燈及時(shí)間顯示的方法。同時(shí)給出了軟硬件設(shè)計(jì)方法,設(shè)計(jì)過(guò)程包括硬件電路設(shè)計(jì)和程序設(shè)計(jì)兩大步驟,對(duì)在單片機(jī)應(yīng)用中可能遇到的重要技術(shù)問(wèn)題都有涉足。本文對(duì)十字路口狀態(tài)預(yù)設(shè)為兩種,一種是正常狀態(tài),另一種是故障或緊急狀態(tài),并分別用黃、紅、綠色燈的不同組合來(lái)表示。本文介紹了控制基本原理以及控制的表現(xiàn),同時(shí)也介紹了城市交通信息系統(tǒng)的設(shè)計(jì)目標(biāo), 開(kāi)發(fā)途徑及其系統(tǒng)結(jié)構(gòu)與功能和數(shù)據(jù)地理編碼、建庫(kù), 同時(shí), 論述了系統(tǒng)中交通現(xiàn)狀
6、、交通管理、交通規(guī)劃及背景信息查詢模塊的建造及應(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í)的顯示器來(lái)控制行車。 本設(shè)計(jì)是
7、單片機(jī)控制的交通燈控制系統(tǒng)設(shè)計(jì)隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問(wèn)題越來(lái)越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問(wèn)題之一。城市交通控制系統(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ū)的交通擁堵?tīng)顩r,越來(lái)越成為交通運(yùn)輸管理和城市規(guī)劃部門亟待解決的主要問(wèn)題。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、交通燈、控制1.2方案比較與確定 經(jīng)過(guò)一定的篩選,最終能有三個(gè)方案較為實(shí)際。1.2.1 方案一:通過(guò)數(shù)字電路達(dá)到實(shí)驗(yàn)?zāi)康摹?/p>
8、狀態(tài)控制器主要用于記錄十字路口交通信號(hào)燈的工作狀態(tài)通過(guò)狀態(tài)譯碼器分別點(diǎn)亮相應(yīng)狀態(tài)的信號(hào)燈。秒信號(hào)發(fā)生器用以產(chǎn)生整個(gè)定時(shí)系統(tǒng)的時(shí)基脈沖,通過(guò)減法計(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方案二:通過(guò)單片機(jī)達(dá)到實(shí)驗(yàn)?zāi)康摹?AT89C51單片機(jī)具有定時(shí)器/計(jì)數(shù)器功能,只要外在接入一個(gè)時(shí)鐘脈沖,就可以完成紅燈、綠燈、黃燈所需的時(shí)間的計(jì)時(shí)。同時(shí),用AT89C5
9、2芯片的P2口(P2.0P2.5)分別接上兩組六位信號(hào)燈。通過(guò)中斷程序可以實(shí)現(xiàn)紅燈、綠燈、黃燈之間的轉(zhuǎn)換。1.2.2方案三:通過(guò)控制電路達(dá)到實(shí)驗(yàn)?zāi)康摹?該控制機(jī)用于控制十字路的交通信號(hào)燈,查個(gè)電路采用七塊集成電路,組成程序式的定時(shí)電路,自動(dòng)按三個(gè)程序循環(huán)控制東西南北方向的紅、黃、綠信號(hào)燈的亮與滅。定時(shí)電路器由IC1(555)、R1、C1及四雙開(kāi)關(guān)向開(kāi)關(guān)IC6控制的定時(shí)電阻RT、RG、RG1、RG2等組成,IC6采用CD4066、RT、RG是秒步進(jìn)和十秒步進(jìn)的波段開(kāi)關(guān),其電阻均為6.2K,最大定時(shí)時(shí)間為10S。RG1、RG2是秒步進(jìn)和十秒步進(jìn)的波段開(kāi)關(guān),秒步進(jìn)開(kāi)關(guān)的電阻為6.2K,十秒步進(jìn)開(kāi)關(guān)電
10、阻為6.2K,十秒步進(jìn)開(kāi)關(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í)器脈沖到來(lái)時(shí),Q6(5腳)的高電平加至15腳,使IC3復(fù)位,然后又重復(fù)循環(huán),形成六程序控制。閃爍電器電器IC2和R2、R3、C3組成無(wú)穩(wěn)態(tài)多諧振蕩器,f=1.44/(R2+2R3)C3,它的輸出經(jīng)選通門IC4加至譯碼和驅(qū)動(dòng)電路,矩陣電路由D1-D10組成,用來(lái)選擇每步程序的交通信號(hào)燈,并推動(dòng)IC3、IC7為專用燈驅(qū)動(dòng)電路MC1413,可接控制L1
11、-L5的通斷,點(diǎn)亮各色信號(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的電位下降,最后為0
12、V,當(dāng)按鈕按下后,電源Vcc通過(guò)電阻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)顯示部分采用兩位一體共陽(yáng)極數(shù)碼管,分別顯示南北和東西燈的剩余時(shí)間.
13、片選部分和數(shù)碼段顯示部分,分別接單片機(jī)管腳的P2口和P0口,具體的共陰數(shù)碼管管腳分布位置見(jiàn)圖(4). 1.4程序設(shè)計(jì)開(kāi)始初始化AT89C51東西方向紅燈亮,南北方向綠燈亮,延時(shí)南北方向剩余時(shí)間1S?東西方向紅燈亮,南北方向黃燈閃亮,延時(shí)南北方向剩余時(shí)間0S?東西方向綠燈亮,南北方向紅燈亮,延時(shí)東西方向剩余時(shí)間1S?東西方向黃燈閃亮,南北方向紅燈亮,延時(shí)東西方向剩余時(shí)間0S?圖(5)主程序流程圖1.4.1流程圖1.4.2交通燈狀態(tài)表:狀態(tài)北西南東綠黃紅綠黃紅綠黃紅綠黃紅0001001001001100110000110020010100010103100001100001401000101000
14、11.4.3程序清單:主程序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í)間顯示初值31s
15、MOV R7, #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)
16、試是利用開(kāi)發(fā)系統(tǒng)、基本測(cè)試儀器(萬(wàn)用表、示波器等),檢查用戶系統(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)。 第二步:用萬(wàn)用表測(cè)試。先用萬(wàn)用表復(fù)核目測(cè)中有疑問(wèn)的連接點(diǎn),再檢測(cè)各種電源線與地線之間是否有短路現(xiàn)象。 第三步:加電檢測(cè)。給板加電,檢測(cè)所有的插座或是器件的電源端是否符合要求的值。第四步:是聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開(kāi)發(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í),與該元件無(wú)關(guān)的 器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路無(wú)故障后,將各電路逐塊加入系統(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í),仍采用去掉無(wú)關(guān)元件的方法,逐層調(diào)試下去,就會(huì)定位故障元件了。 軟件調(diào)試是通過(guò)對(duì)擁護(hù)程序的匯編、連接、執(zhí)行來(lái)發(fā)現(xiàn)程序中存在的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過(guò)程。程序后,
18、編輯,查看程序是否有邏輯的錯(cuò)誤。三檢測(cè)評(píng)價(jià) 經(jīng)過(guò)檢測(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ì) 一周的單片機(jī)課程設(shè)計(jì)很快就結(jié)束了,在課程設(shè)計(jì)的這段時(shí)間里,我不僅學(xué)到了許多新的知識(shí),而且加深了我對(duì)以前學(xué)習(xí)的理論知識(shí)的掌握。 以前我們學(xué)的東西僅限于課本,對(duì)實(shí)實(shí)在在的應(yīng)用還比較模糊,這次課程設(shè)計(jì)有利于同學(xué)們學(xué)習(xí)目的的明確性和主動(dòng)性。通過(guò)這次課程設(shè)計(jì),我們知道了哪些東西是應(yīng)該確實(shí)掌握的。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是
19、很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正掌握所學(xué)知識(shí)。從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)是困難重重,這畢竟第一次嘗試,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)不懂一些元器件的使用方法,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好通過(guò)這次課程設(shè)計(jì)之后,把以前所學(xué)過(guò)的知識(shí)重新溫故。這次課程設(shè)計(jì)終于順利完成了,在寫報(bào)告時(shí)遇到了許多的問(wèn)題,最后在老師的指導(dǎo)下,正確完成。當(dāng)然這次課程設(shè)計(jì)之中存在了許多的不足,比如我們這次設(shè)計(jì)之中東南西北四個(gè)
20、方向的倒計(jì)時(shí)的數(shù)碼管只采用了一個(gè)兩位的數(shù)碼管(現(xiàn)實(shí)中應(yīng)該是每個(gè)方向都有一個(gè)倒計(jì)時(shí)的數(shù)碼管)等等問(wèn)題。希望在以后的學(xué)習(xí)和工作中,能得到更多的實(shí)踐經(jīng)驗(yàn),尤其是鍛煉自我意識(shí),無(wú)論做什么事,都要自己去嘗試并努力完成,是享受其過(guò)程而不是結(jié)果。 五元件清單(見(jiàn)附錄2)六附錄 附錄1.仿真電路圖 圖上為 東西方向變黃燈,南北方向禁行 圖上為 南北方向通車,東西方向禁行圖上為 東西方向通車,南北方向禁行附錄2.元件清單器件名稱型號(hào)大小數(shù)量晶振12MHz1電阻4701LED數(shù)碼管二聯(lián)共陽(yáng)3單片機(jī)AT89C511電解電容22uF1瓷片電容30pF2排阻4701LED數(shù)碼管二聯(lián)共陽(yáng)3發(fā)光二極管紅4黃4綠4開(kāi)關(guān)按鍵式
21、4上拉電阻10K6電源5V/0.5A1集成塊74LS2451附錄3.程序源代碼:; 交通燈 ;TIME EQU 50H ;秒計(jì)數(shù)用TIMESFR EQU 51H ;臨時(shí)寄存器CONR5 EQU 52H ;T11秒定時(shí)計(jì)數(shù)用TIMED0 EQU 55H ;單向最大定時(shí)時(shí)間,直行開(kāi)始,人行開(kāi)始 120TIMED1 EQU 56H ; 各路右轉(zhuǎn)開(kāi)始時(shí)間 110TIMED2 EQU 57H ; 前行結(jié)束提醒 70TIMED3 EQU 58H ; 前行結(jié)束,人行結(jié)束,左轉(zhuǎn)開(kāi)始 60TIMED4 EQU 59H ; 左轉(zhuǎn)結(jié)束提醒TIMED5 EQU 5AH ; 左轉(zhuǎn)結(jié)束TIMED6 EQU 5BH TIM
22、ED7 EQU 5CH SN EQU P1 ; 南北口EW EQU P2 ; 東西口SCAN EQU P3 ;掃描口LEDOUT EQU P0 ;段碼口SNEWFLAG BIT 09H ;東西口與南北口轉(zhuǎn)換標(biāo)志按鍵在掃描口的最高位,按一下,全紅燈,再按一下,恢復(fù)原狀態(tài)定時(shí)器T0、T1溢出周期為50MS,T0為秒計(jì)數(shù)用. ; 中斷入口程序 ;ORG 0000H ;程序執(zhí)行開(kāi)始地址LJMP START ;跳到標(biāo)號(hào)START執(zhí)行ORG 0003H ;外中斷0中斷程序入口RETI ;外中斷0中斷返回ORG 000BH ;定時(shí)器T0中斷程序入口LJMP INTT0 ;跳至INTTO執(zhí)行ORG 0013H
23、 ;外中斷1中斷程序入口LJMP INT11 ;外中斷1中斷返回,119.120中斷ORG 001BH ;定時(shí)器T1中斷程序入口LJMP INTT1ORG 0023H ;串行中斷程序入口地址RETI ;串行中斷程序返回 ; 主 程 序 ;START: MOV SP,#80HMOV 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í)間,直行開(kāi)始,人行開(kāi)始 120MOV TIMED1,#6EH ; 各路右轉(zhuǎn)開(kāi)始時(shí)間 110MOV T
24、IMED2,#46H ; 前行結(jié)束提醒 70MOV TIMED3,#3CH ; 前行結(jié)束,人行結(jié)束,左轉(zhuǎn)開(kāi)始 60MOV 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 DL1MSLCALL DL1MSLCALL DL1MSJB
25、SCAN.7,SSST ;干擾MOV TIMED0,#60 ;單向最大定時(shí)時(shí)間,直行開(kāi)始,人行開(kāi)始60MOV TIMED1,#55 ; 各路右轉(zhuǎn)開(kāi)始時(shí)間 55MOV TIMED2,#35 ; 前行結(jié)束提醒 35MOV TIMED3,#30 ; 前行結(jié)束,人行結(jié)束,左轉(zhuǎn)開(kāi)始 30MOV TIMED4,#05 ; 左轉(zhuǎn)結(jié)束提醒SSWAIT: JNB SCAN.7,SSWAITLCALL DL1MSLCALL DL1MSLCALL JNB SCAN.7,SSWAITSSST: MOV TIME,TIMED0 ;120秒LCALL TUNBCDMOV SN,#66H MOV EW,#55H SETB
26、EA ;總中斷開(kāi)SETB PX1SETB EX1SETB ET0 ;允許T0中斷SETB TR0 ;開(kāi)啟T0定時(shí)器MOV R4,#14H ;1秒定時(shí)用初值(50MS×20)MOV CONR5,#20START1: LCALL DISPLAY ;調(diào)用顯示子程序JNB SCAN.7,KEYFUN ;手動(dòng)狀態(tài)SJMP START1 ;P1.0口為1時(shí)跳回START1KEYFUN: LCALL DISPLAYLCALL DISPLAYJB SCAN.7,START1CLR ET0CLR TR0MOV SN,#056H ;全車道停,行人通MOV EW,#056H MOV TIME,#00H ;
27、時(shí)間顯示LCALL TUNBCDKEYWAIT: LCALL DISPLAY JNB SCAN.7,KEYWAIT ;KEYY: LCALL DISPLAY ;等待按鍵按下JB SCAN.7,KEYYLCALL DISPLAYJB SCAN.7,KEYYKEYWAIT1: LCALL DISPLAY JNB SCAN.7,KEYWAIT1 MOV TIME,TIMED0 ;從新開(kāi)始計(jì)時(shí)初值LCALL TUNBCDCLR SNEWFLAG ;南北先通行標(biāo)志位SETB TR0SETB ET0AJMP START1; 1秒計(jì)時(shí)程序 ;T0中斷服務(wù)程序INTT0: PUSH ACC ;累加器入棧保護(hù)P
28、USH PSW ;狀態(tài)字入棧保護(hù)CLR ET0 ;關(guān)T0中斷允許CLR TR0 ;關(guān)閉定時(shí)器T0MOV 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 ;開(kāi)啟定時(shí)器T0DJNZ R4, OUTT00 ;20次中斷未到中斷退出MOV R4,#14H ;20次中斷到(1秒)重賦初值JB SNEWFLAG, INT22DEC TIMEMOV A,TIMECJNE A,TIMED1,LOOP11 ; 判斷是否
29、小于110秒LOOP11: JC LOOP22 ; 120-110MOV SN,#66H ; IMOV EW,#55H ; ILJMP OUTT0 ; 120-110LOOP22: MOV A,TIMECJNE A,TIMED2,LOOP33 ; 判斷是否小于70秒LOOP33: JC LOOP44 ; 110-70MOV SN,#6AH ; IMOV EW,#59H ; ILJMP OUTT0 ; 110-70LOOP44: MOV A,TIMECJNE A,TIMED3,LOOP55 ; 判斷是否小于60秒LOOP55: JC LOOP66 ; 70-60MOV 20H,SN CPL 04
30、H CPL 00HMOV SN,20H ; IMOV EW,#59H ; ILJMP OUTT0 ; 70-60 LOOP66: MOV A,TIMECJNE A,TIMED4,LOOP77 ; 判斷是否小于10秒LOOP77: JC LOOP88 ; 60-10MOV SN,#99H ; I MOV EW,#59H ; ILJMP OUTT0 ; 60-10LOOP88: MOV A,TIMEJZ OUT88MOV 20H,SN CPL 06H CPL 02HMOV SN,20H MOV 20H,EWCPL 02HMOV EW,20H ; ILJMP OUTT0 ; 70-60OUT88:
31、MOV TIME,TIMED0 ;120秒初值CPL SNEWFLAGOUTT0: LCALL TUNBCD OUTT00: POP PSW ;恢復(fù)狀態(tài)字(出棧)POP ACC ;恢復(fù)累加器SETB ET0 ;開(kāi)放T0中斷RETI ;中斷返回INT22: DEC TIMEMOV A,TIME CJNE A,TIMED1,LOOP111 ; 判斷是否小于110秒LOOP111: JC LOOP221 ; 120-110MOV EW,#66H ; IMOV SN,#55H ; ILJMP OUTT01 ; 120-110LOOP221: MOV A,TIMECJNE A,TIMED2,LOOP33
32、1 ; 判斷是否小于70秒LOOP331: JC LOOP441 ; 110-70MOV EW,#6AH ; IMOV SN,#59H ; ILJMP OUTT01 ; 110-70LOOP441: MOV A,TIMECJNE A,TIMED3,LOOP551 ; 判斷是否小于60秒LOOP551: JC LOOP661 ; 70-60MOV 20H,EW CPL 04H CPL 00HMOV EW,20H ; IMOV SN,#59H ; ILJMP OUTT01 ; 70-60LOOP661: MOV A,TIMEJNE A,TIMED4,LOOP771 ; 判斷是否小于10秒LOOP7
33、71: JC LOOP881 ; 60-10MOV EW,#99H ; IMOV SN,#59H ; ILJMP OUTT01 ; 60-10LOOP881: MOV A,TIMEJZ OUT881MOV 20H,EW CPL 06H CPL 02HMOV EW,20H MOV 20H,SNCPL 02HMOV SN,20H ; ILJMP OUTT01 ; 70-60OUT881: MOV TIME,TIMED0 ;120秒初值CPL SNEWFLAGOUTT01: LCALL TUNBCD POP PSW ;恢復(fù)狀態(tài)字(出棧)POP ACC ;恢復(fù)累加器SETB ET0 ;開(kāi)放T0中斷RE
34、TI ;中斷返回; 顯示程序 ; 顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽(yáng)數(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 ;掃描字放入AMOV SCAN,A ;從P2口輸出MOV A,R1 ;取顯示數(shù)據(jù)到AMOV DPTR,#TAB ;取段碼表地址MOVCA,A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼MOV LEDOUT,A ;段碼放入P0口LOOP6: LCALL DL1MS ;顯示1MSINC R1 ;指向下一地址MO
35、V A,R5 ;掃描控制字放入AJNB ACC.2,ENDOUT ;ACC.5=0時(shí)一次顯示結(jié)束RL A ;A中數(shù)據(jù)循環(huán)左移MOV R5,A ;放回R5內(nèi)MOV LEDOUT,#0FFHAJMP PLAY ;跳回PLAY循環(huán)ENDOUT: MOV LEDOUT,#0FFH ;一次顯示結(jié)束,P2口復(fù)位MOV SCAN,#0FFH ;P0口復(fù)位RET ;子程序返回TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH共陽(yáng)段碼表 "0""1""2" "3""4""5""6"
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智慧城市建設(shè)項(xiàng)目投資入股協(xié)議書范本3篇
- 2025年度工錢墊付與勞動(dòng)保障政策執(zhí)行協(xié)議范本2篇
- 2025版國(guó)際能源合作習(xí)協(xié)議書3篇
- 2025版小麥種子進(jìn)出口貿(mào)易合同樣本3篇
- 2025年度個(gè)人房屋買賣綠色環(huán)保協(xié)議3篇
- 2025-2030全球一次性使用2D儲(chǔ)液袋行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)濕式無(wú)線遠(yuǎn)傳智能水表行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2024年秋季江蘇七年級(jí)入學(xué)分班考試語(yǔ)文模擬卷2(解析版)
- 2024年煤礦安全生產(chǎn)知識(shí)競(jìng)賽題庫(kù)及答案(共80題)
- 2025版新能源汽車租賃與保險(xiǎn)代理服務(wù)合同3篇
- 2024版塑料購(gòu)銷合同范本買賣
- 2024-2025學(xué)年人教新版高二(上)英語(yǔ)寒假作業(yè)(五)
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 2024年安徽省中考數(shù)學(xué)試卷含答案
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 2024年滬教版一年級(jí)上學(xué)期語(yǔ)文期末復(fù)習(xí)習(xí)題
- 兩人退股協(xié)議書范文合伙人簽字
- 2024版【人教精通版】小學(xué)英語(yǔ)六年級(jí)下冊(cè)全冊(cè)教案
- 汽車噴漆勞務(wù)外包合同范本
- 微項(xiàng)目 探討如何利用工業(yè)廢氣中的二氧化碳合成甲醇-2025年高考化學(xué)選擇性必修第一冊(cè)(魯科版)
評(píng)論
0/150
提交評(píng)論