![計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)交通燈_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/b2d113be-8751-4629-bb1d-aa6541ce644f/b2d113be-8751-4629-bb1d-aa6541ce644f1.gif)
![計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)交通燈_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/b2d113be-8751-4629-bb1d-aa6541ce644f/b2d113be-8751-4629-bb1d-aa6541ce644f2.gif)
![計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)交通燈_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/b2d113be-8751-4629-bb1d-aa6541ce644f/b2d113be-8751-4629-bb1d-aa6541ce644f3.gif)
![計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)交通燈_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/b2d113be-8751-4629-bb1d-aa6541ce644f/b2d113be-8751-4629-bb1d-aa6541ce644f4.gif)
![計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)交通燈_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/b2d113be-8751-4629-bb1d-aa6541ce644f/b2d113be-8751-4629-bb1d-aa6541ce644f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)報(bào)告學(xué)院:沈陽(yáng)工業(yè)大學(xué)專 業(yè):電氣工程及其自動(dòng)化班級(jí):06電氣2班姓名:朱紅云學(xué)號(hào):09指導(dǎo)教師:李英順起止日期:2009年6月15日2009年6月28日1. 課程設(shè)計(jì)目的12. 課程設(shè)計(jì)題目和要求12. 1課程設(shè)計(jì)題目12. 2系統(tǒng)要求22. 3控制方案23設(shè)計(jì)內(nèi)容33. 1硬件設(shè)計(jì)33. 1. 1單片機(jī)最小硬件電路33. 1.2芯片介紹63. 1.3數(shù)碼管顯示電路83. 14鍵盤接口電路83. 2軟件設(shè)計(jì)93.2. 1總體設(shè)計(jì)93.2.2主程序設(shè)計(jì)103. 3. 3顯示及閃爍程序設(shè)計(jì)123. 3. 4交通控制時(shí)間處理程序163. 3. 5鍵盤功能處理程序設(shè)計(jì)203.
2、3. 6 at24c02 操作程序234. 設(shè)計(jì)總結(jié)25參考書目25附錄錯(cuò)誤!未定義書簽。課程設(shè)計(jì)目的1、通過(guò)單片機(jī)控制設(shè)計(jì),熟練掌握匯編語(yǔ)言的編程方法,將理論聯(lián)系到實(shí)踐中 去,提高我們的動(dòng)腦和動(dòng)手的能力;2、完成控制系統(tǒng)的硬件設(shè)計(jì)、軟件設(shè)計(jì);3、通過(guò)單片機(jī)課程設(shè)計(jì),熟練掌握匯編語(yǔ)言的編程方法,將理論聯(lián)系到實(shí)踐中 去,提高我們的動(dòng)腦和動(dòng)手的能力。4、通過(guò)交通信號(hào)燈控制系統(tǒng)的設(shè)計(jì),掌握定時(shí)/計(jì)數(shù)器的使用方法,和簡(jiǎn)單程序 的編寫,最終提高我們的邏輯抽彖能力。5、進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)和工作原理。6、掌握單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法,通過(guò)課程設(shè)計(jì),掌握以單片機(jī)為核心的電路設(shè)
3、計(jì)的基本方法和技術(shù)。7、通過(guò)實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。8、通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序開發(fā)的完整過(guò)程,為我們今后從事相應(yīng)工 作打下基礎(chǔ)。2.課程設(shè)計(jì)題目和要求2. 1課程設(shè)計(jì)題目交通燈的設(shè)計(jì)在今天,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效 的手段。但。這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械 扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年, 英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界 上最早的煤氣紅綠燈。它由紅綠色兩以旋轉(zhuǎn)式方形玻璃提
4、燈組成,紅色表示“停 止”,綠色表示“注意"o 1869年1月2 0,煤氣燈爆炸,使警察受傷,遂被取 消。1914年,電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó)。這種紅綠燈由紅綠黃三色圓形的 投光器組成,安裝在紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈 亮表示“通行”。1918年,乂出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一 種是把壓力探測(cè)器安在地下,車倆一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái) 啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下喇叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行 人踏上對(duì)壓力敏感的路面時(shí),它就能察覺到有人要過(guò)馬路。紅外光束能把信號(hào)燈 的紅燈延長(zhǎng)一段吋間,推遲汽車放行,以免發(fā)
5、生交通事故。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能 力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié) 定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),而對(duì)綠燈的車輛可以直行, 左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法 地正在路口內(nèi)行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì) 紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛 不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。2. 2系統(tǒng)要求1)允許過(guò)程中有時(shí)間提示2)系統(tǒng)運(yùn)行參數(shù)可以在運(yùn)行現(xiàn)茶館修改3)控制燈切
6、換原則:某一個(gè)燈方向的紅燈顯示時(shí)間比另一個(gè)方向綠燈顯示多3s, 綠燈結(jié)束黃燈閃爍2s,然后變紅燈,紅燈結(jié)束后變綠燈。4)在修改參數(shù)過(guò)程中各個(gè)方向都黃燈閃亮,指示車輛減速慢行。5)提供具體的修改參數(shù)方法,便于用戶操作。6)為簡(jiǎn)化設(shè)計(jì),不考慮行人通道。2. 3控制方案1)本例中用通用的led數(shù)碼管作為吋間顯示器件,led二極管作為交通控制的 指示燈(實(shí)際交通燈中都是高亮度的二極管點(diǎn)陣構(gòu)成,和木例的區(qū)別僅是驅(qū)動(dòng)電路,控制的過(guò)程是一致的)。共需要8個(gè)數(shù)碼管、12個(gè)二極管(紅、黃、 綠各4個(gè))。2)現(xiàn)場(chǎng)修改參數(shù)系統(tǒng)必須設(shè)計(jì)鍵盤,本例設(shè)計(jì)有4個(gè)按鈕組成的獨(dú)立式鍵盤, 釆用中斷控制掃描方式,定義鍵的功能如下
7、:第一個(gè)鍵:從指揮交通狀態(tài)進(jìn)入?yún)?shù)修改狀態(tài),并調(diào)出系統(tǒng)原來(lái)的參數(shù),前 而兩個(gè)數(shù)碼管顯示南北方向紅燈時(shí)間,后兩個(gè)顯示南北方向綠燈時(shí)間(東西 方向可以根據(jù)切換規(guī)則計(jì)算出來(lái),修改參數(shù)只需要改變某一個(gè)方向的參數(shù)), 以備修改,修改時(shí)有一個(gè)數(shù)碼管閃爍,表示該位顯示的數(shù)可以修改。第二個(gè)鍵:(在指揮交通狀態(tài)該鍵不起作用,后面兩個(gè)鍵也只這樣)加一鍵, 使閃爍的數(shù)碼管加1,并在09之間變化。第三個(gè)鍵:移位鍵,使4個(gè)數(shù)碼管杉樹狀態(tài)依次循環(huán)切換,和第二個(gè)鍵配合 可以修改四個(gè)數(shù)碼管上的數(shù)據(jù),達(dá)到修改參數(shù)的目的。第四個(gè)鍵:運(yùn)行鍵,保存設(shè)置的參數(shù),并按照修改的參數(shù)進(jìn)入指揮交通狀態(tài)顯不a3)考慮到現(xiàn)場(chǎng)可能停電,為防止片外的
8、數(shù)據(jù)存儲(chǔ)器來(lái)保存參數(shù),數(shù)據(jù)量不是很多, 也不經(jīng)常變動(dòng),采用atmel公司的at24c02。鍵盤接口ats9s51> s15s圖2. 3交通燈控制系統(tǒng)結(jié)構(gòu)框圖3設(shè)計(jì)內(nèi)容3.1硬件設(shè)計(jì)3.1.1單片機(jī)最小硬件電路單片機(jī)最小硬件電路組成簡(jiǎn)述:要使單片機(jī)工作起來(lái),最基本的電路的構(gòu)成為本系統(tǒng)采用at89s51單片機(jī),程序量不大,使用內(nèi)部的存儲(chǔ)器。 電源電路:向單片機(jī)供電。吋鐘電路:?jiǎn)纹瑱C(jī)工作的吋間基準(zhǔn),決定單片機(jī)工作速度。復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過(guò)程。圖3. 1單片機(jī)最小硬件電路1、電源at89s51單片機(jī)的工作電壓范圍:4. 0v5. 5v,所以通常給單片機(jī)外接5v直
9、 流電源。連接方式如圖vcc+5v 八tcccl”vcc(40w):接電源+5v端at89s51單片機(jī)gnd vssvss(20w):接電源地端圖3. 2電源圖2、時(shí)鐘電路:時(shí)鐘電路就是振蕩電路,向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。at89s51單片機(jī)時(shí)鐘頻率范圍:0 33mhzoclxtal1at89s51xtal2| 30py1品振匚二i廠-c2 30p3. 3時(shí)鐘電路連接方式圖中的電容cl和c2起穩(wěn)定作用。3、復(fù)位屯路復(fù)位電路產(chǎn)生復(fù)位信號(hào),使單片機(jī)從固定的起始狀態(tài)開始工作,完成單片機(jī)的“啟 機(jī)”過(guò)程。at89s51單片機(jī)復(fù)位信號(hào)是高電平有效,通過(guò)rst/vpd(9腳
10、)輸入。 復(fù)位電路連接方式有兩種。(1) 上電復(fù)位十5v單片機(jī)接通電源時(shí)產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng),確定單片機(jī)起始工作狀態(tài)。at89s51rst/vpd(2) 手動(dòng)復(fù)位手動(dòng)按鍵產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng),確定單片機(jī)的初始狀態(tài)。通常在單片機(jī)工作出現(xiàn)混亂或“死機(jī)”時(shí),使用手動(dòng)復(fù)位可實(shí)現(xiàn)單片機(jī)“重j-li ” /pl oresetat89s51rst/vpdr1 5.6k(3) 混合復(fù)位電路將上電復(fù)位電路和手動(dòng)復(fù)位電路結(jié)合到一起構(gòu)成,通常使用的都是這種混合復(fù)位屯路。at89s51rst/vpd4、最小硬件系統(tǒng)電路圖+5v+ 5vu1eaxvpvccxiresetintointitot1p1.0p
11、l.lpl.2pl.3pl.4pl.5pl.6pl.7vss3837363534333221222324252627281716c 2930111039vss(20腳):電源負(fù)極xtal2(18腳):輸出引腳ea / vpp(31腳):接高電平p3. 0p3. 7(10 腳一 17 腳):p3 端口at89 s51圖3. 4最小硬件系統(tǒng)電路圖3. 1.2芯片介紹 1、at89s51芯片的介紹ea/vp(31腳)接+5v。單片機(jī)的po、pl、p2、p3四個(gè)端口用于輸入/輸出數(shù)字電 信號(hào)。(1)電源引腳:連接電源vcc (40腳):電源正極(2)時(shí)鐘引腳:連接時(shí)鐘電路xtal1c19腳):輸入引腳
12、(3)復(fù)位引腳:連接復(fù)位電路rst/vpd(9腳):復(fù)位引腳(4)控制引腳:輔助控制作用psen (29 腳)ale/prog (30 腳)(5)i/o端口引腳:用來(lái)連接單片機(jī)和外部設(shè)備,實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出。p0. 0p0. 7(39 腳一32 腳):p0 端口p1.0p1.7( 1 腳一8 腳):p1 端口p2. 0p2. 7(21 腳一28 腳):p2 端口1312.0j.2.3v.5.6.7 pppppppp143119isint1(p3.3)int0(p3.2)t1(p3,5)t0<p3.4)eatxtaj.1xtal2resetrd(p3,7)wr(p3 po.ovwo)po
13、.l(adl)po.2(ad2)p0.3(ato)p0.4(ad4) po.5(ad5) p0&ad6) po.7(ad7)p2.0(a8)p2.ha9)p2.2(a1d) p2.3(a11) p2.4(a12) p2,s(a13) p2.6(a14) p2.7(a1s)vcc gnd rx1xp3d) txixp3.) ale/prog psen393837362l34333>21222326室2810 n3029圖3. 5 at89s51引腳圖2、8155芯片簡(jiǎn)介31119 18 1716141312fesetttvfinttviolrraue iom wrrdpb7fb6p
14、b5囂舉羅pa4pa3pa2隠213p38373635343332313029282725242322218155可編程并行接口芯片有三個(gè)輸入輸出端口,即pa 口、pb 口和pc 口, 對(duì)應(yīng)于引腳pa7pao、pb7-pb0和pc7pco。其內(nèi)部還有一個(gè)控制寄存器,即 控制口。通常pa 口、pb 口作為輸入輸出的數(shù)據(jù)端口。pc 口作為控制或狀態(tài)信息 的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖 存器。它們分別與端口 pa/pb配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信 號(hào)輸入。8155可編程并行接口芯片工作方式:方式0:基本輸入/輸出方式。適用于三個(gè)端口屮的任何一個(gè)。
15、每一個(gè)端口 都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。方式1:選通輸入/輸出方式。這時(shí)pa或pb 口的8位外設(shè)線用作輸入或輸 出,pc 口的4條線屮三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和屮斷請(qǐng)求信號(hào)。方式2:雙向總線方式。只有pa 口具備雙向總線方式,8位外設(shè)線用作輸入 或輸出,此吋pc 口的5條線用作通訊聯(lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)3.1.3數(shù)碼管顯示電路采用共陽(yáng)型數(shù)碼管,6個(gè)led燈如圖中接法,燈的負(fù)載依次接到數(shù)碼掛的a-f段,采用動(dòng)態(tài)掃描電路,并把顯示程序作為主程序。數(shù)碼管的段用p0 口控制,p2.0-p2.3作為數(shù)碼管的控制,p2.4作為指示燈的控制。.rx 8ao1|_>|_b 1i_
16、nco1i_hd inw4- w-w-g fgnda b1098761234f ogodpo+5vrx 89a 1ikjb ikhw-khwh)m-khd eof_godpogndc dp圖3-8共陽(yáng)圖3-6管腳圖圖3-7共陰led數(shù)碼管的管腳配置如圖3-1所示。led數(shù)碼管有共陰極和共陽(yáng)極兩類。 共陰極led數(shù)碼管的發(fā)光二極管的陰極共地,如圖3-2 (a),當(dāng)某個(gè)發(fā)光二極管 的陽(yáng)極電壓為高電平時(shí),二極管發(fā)光;而共陽(yáng)極led數(shù)碼管是發(fā)光二極管的陽(yáng)極 共接,如圖3-2 (b),當(dāng)某個(gè)二極管的陰極電壓為低電平時(shí),二極管發(fā)光。3.1.4鍵盤接口電路0(i(i |j g圖3. 10鍵盤接口電路如圖p1
17、.0-p1.3作為接鍵的輸入信號(hào),采用中斷控制草廟方式,采用簡(jiǎn)單的二極 管與門電路,與門輸出接到外部中斷°,外中斷設(shè)置成邊沿觸發(fā)方式。任意鍵按 下吋都會(huì)在p3.2引腳產(chǎn)生下降沿,從而觸發(fā)中斷,在中斷服務(wù)程序中檢測(cè) p1.0-p1.3引腳,判斷是哪個(gè)鍵按下,執(zhí)行該鍵按下,執(zhí)行該鍵功能。3. 15存儲(chǔ)器電路at24wc02是一個(gè)2k位串行cmos e2pr0m內(nèi)部含有256個(gè)8位字節(jié)緩沖器 at24wc02有一個(gè)16字節(jié)頁(yè)寫緩沖器該器件通過(guò)i2c總線接口進(jìn)行操作有一個(gè) 專門的寫保護(hù)功能。芯片引腳地址全部接地,用p2. 6作為串行的數(shù)據(jù)線sda, p2. 7 作為串行的時(shí)鐘線scl。358
18、7圖3. 11存儲(chǔ)器芯片引腳圖3. 12存儲(chǔ)器接口電路3. 2軟件設(shè)計(jì)321總體設(shè)計(jì)程序模塊包括:主程序(系統(tǒng)初始化、顯示程序)、外中斷服務(wù)程序(按鍵處理)、定時(shí)器服務(wù)程序(倒計(jì)時(shí)處理)、at24c02操作程序等。主程序的框圖如圖所示。圖3. 13主程序結(jié)構(gòu)框圖主程序包括對(duì)定時(shí)/計(jì)數(shù)器、外部中斷的初始化,讀出系統(tǒng)運(yùn)行參數(shù),將交 通燈時(shí)間參數(shù)送對(duì)應(yīng)的顯示緩沖區(qū),然后反復(fù)調(diào)用顯示子程序。并在現(xiàn)實(shí)過(guò)程中 等待見哦按中斷處理鍵盤功能,等待定時(shí)器中斷改變數(shù)碼管顯示指揮交通。 系統(tǒng)用兩個(gè)定時(shí)器,一個(gè)用交通燈的計(jì)時(shí)處理,一個(gè)用來(lái)控制數(shù)碼管的閃爍顯示, 結(jié)合顯示程序進(jìn)行綜合設(shè)計(jì)。其他與實(shí)踐有關(guān)的處理程序也用該
19、定吋器實(shí)現(xiàn),進(jìn) 行多延時(shí)程序設(shè)計(jì)。3.2.2主程序設(shè)計(jì)定時(shí)器設(shè)置,交通燈控制需要產(chǎn)生秒信號(hào),定時(shí)器一半不能直接產(chǎn)生,如系 統(tǒng)晶振才喲個(gè)6mhz,系統(tǒng)的機(jī)器中期是2um,最大定時(shí)約131ms,可以將定時(shí)器 設(shè)置為反復(fù)定時(shí)125ms,數(shù)中斷的次數(shù),沒二每8次就是is。閃爍顯示定時(shí)的時(shí) 間也可設(shè)置為125ms, is亮滅幾次可以看出閃爍效果。兩個(gè)定時(shí)器都設(shè)置為方式1定時(shí),初值為:216-125*1000/2二obdcii主程序如下;org 0000hljmp setup;程序開頭,跳過(guò)入口地址區(qū)org 0003h;外中斷0入口地址ljmp inex0p;轉(zhuǎn)移到鍵盤處理程序org 000bh; t0
20、入 口地址ljmp inetop;交通控制時(shí)間處理程序org 001bi1; t1 入 口地址ljmp tnet1p;閃爍控制等處理程序org 0030hsetup:mov sp,#30h;設(shè)置堆棧指針mov tmod,#11h; to、t1 方式 1 定時(shí)mov ti10, #obi1;mov tlo, #odch; 125ms 初值mov th1,#obh;mov tl1,#odch; 125ms 初值setb tro; to啟動(dòng)運(yùn)行setb tri; t1啟動(dòng)運(yùn)行setb eto;開通to中斷setb et1;開通t1中斷setb ito;外中斷0下降沿觸發(fā)setb exo;開通外中斷s
21、etb ea;開通總允許位lcall status;調(diào)系統(tǒng)初始狀態(tài)設(shè)置子程序lcall rcs;調(diào)用讀系統(tǒng)參數(shù)子程序main:mov 0a6h, #1eh;前兩句,第一次執(zhí)行啟動(dòng)看門狗mov 0a6ii, #oe1ii;以后再執(zhí)行到時(shí)喂狗指令lcall dts;調(diào)顯子示程序sjmp main;主程序讀系統(tǒng)初始狀態(tài)設(shè)置子程序時(shí)對(duì)系統(tǒng)初始運(yùn)行需要的信息(如顯示程序中的 標(biāo)志位等)進(jìn)行設(shè)置。3.3.3顯示及閃爍程序設(shè)計(jì)斂碼管1數(shù)碼營(yíng)2數(shù)w 簣3數(shù)w 管4«碼 管5釵碼釵碼皆7數(shù)碼 管8狀態(tài)燈顯示 緩沖 區(qū)77h76h75h74h73h72h71h70h78h呃動(dòng) 的i/o 嬪口p2. 7p
22、2. 6p2. 5p2. 4p2. 3p2. 2p2. 1p2. cp3. 0志57h56h55h54h -53h52h51h50hw爍 標(biāo)志 位65h64h63h62h61h60h59h58h66h/67h.68h/6sh 圖3.14為顯示程序分配的ram資源數(shù)碼管顯示控制的原理:在顯示程序中判斷該數(shù)碼管的亮滅標(biāo)志決定是否跳 過(guò)位開通指令,從而達(dá)到控制數(shù)碼管亮和滅的控制,在定時(shí)器程序中判斷該位的 閃爍標(biāo)志,決定是否對(duì)該數(shù)碼管亮滅標(biāo)志位的求反操作,實(shí)現(xiàn)數(shù)碼管的閃爍控制。 以后只要對(duì)閃爍標(biāo)志設(shè)置就可控制數(shù)碼管的閃爍。控制的方法是判斷閃爍標(biāo)志位,通過(guò)對(duì)顯示緩沖區(qū)內(nèi)容的改變(該位亮或滅 信息),達(dá)到
23、閃爍的效果。(1)顯示子程序亮滅標(biāo)志位:0-亮,1-滅閃爍標(biāo)準(zhǔn)化:0-不閃,1-閃爍dis:顯示子程序mov dptr, #tab;表格首地址送dptrmov a,70h;顯示緩沖區(qū)送amovc a, a+dptr;查表求岀字段碼mov po, a;字段碼送段輸出口jb 5011, mieo;判亮滅標(biāo)志,1轉(zhuǎn)移clr p2. 0;開通位,0不轉(zhuǎn)移亮mieo:lcall del;調(diào)延時(shí)setb p2. 0;關(guān)斷位,第1個(gè)顯示完mov a, 71h;第2位數(shù)碼管movc a,a+dptr;查表求出字段碼mov po, a;字段碼送段輸岀口jb 5111, mie1;判亮滅標(biāo)志,1轉(zhuǎn)移clr p2.
24、 1,開通位,0不轉(zhuǎn)移亮mie1:lcall del;調(diào)延時(shí)setb p2 1;關(guān)斷位,第2個(gè)顯示完mov dptr, #tab;表格首地址送dptrmov a, 7211;第3位數(shù)碼管movc a,a+dptr;查表求出字段碼mov po, a;字段碼送段輸出口jb 52h,mie2;判亮滅標(biāo)志,1轉(zhuǎn)移clr p2. 2;開通位,0不轉(zhuǎn)移亮mie2:lcall del;調(diào)延時(shí)setb p2.2;關(guān)斷位,第3個(gè)顯示完mov a,73h;第4位數(shù)碼管movc a, a+dptr;查表求出字段碼mov p3, a;字段碼送段輸出口jb 5311, mie3;判亮滅標(biāo)志,1轉(zhuǎn)移clr p2.3;開通
25、位,0不轉(zhuǎn)移亮mie3:lcall del;調(diào)延時(shí)setb p2. 3;關(guān)斷位,第4個(gè)顯示完mov a, 74h;第5位數(shù)碼管movc a,a+dptr;;查表求出字段碼mov p4, a;字段碼送段輸出口jb 50h, mie4;判亮滅標(biāo)志,1轉(zhuǎn)移clr p2. 4;開通位,0不轉(zhuǎn)移亮m1e4:lcall del;調(diào)延時(shí)setb p2. 4;關(guān)斷位,第5個(gè)顯示完mov a,75h;第6位數(shù)碼管movc a, a+dptr;查表求出字段碼mov p5, a;jb 5511, mie5;clr p2. 5;mie5:lcall del;setb p2 5;mov a, 76h;字段碼送段輸出口判
26、亮滅標(biāo)志,1轉(zhuǎn)移開通位,0不轉(zhuǎn)移亮 調(diào)延時(shí)關(guān)斷位,第6個(gè)顯示完第7位數(shù)碼管movc a,a+dptr;查表求出字段碼mov p6, a;jb 56h,mie6;clr p2 6;mie6:lcall del;setb p2. 6;mov a,77h;movc a,a+dptrmov p7, ajnb 57h,m1e7clr p2. 7mte7:lcall delsetb p2. 7mov po,78h;clr p3. 0lcall delsetb p3. 0字段碼送段輸出口判亮滅標(biāo)志,1轉(zhuǎn)移開通位,0不轉(zhuǎn)移亮 調(diào)延時(shí)關(guān)斷位,第7個(gè)顯示完第8個(gè)數(shù)碼管送交通狀態(tài)燈信息,不需查表rettab: db
27、 ocoh, 0f9h, 0a4h, oboh, 99h, 92h, 82hdb 0f8h, 80h, 90hdel:mov r7,#0;延時(shí)子程序djnz r7, $retend(2)定吋器服務(wù)程序inetip;mov th1,#obh;mov tl1,#odch;jnb 5811, si1ano;cpl 50h;shano:jnb 59h,shan1;cpl 51hshanl jnb 60h, shan2;cpl 5211shan2:jnb 61h,shan3;cpl 53hshan3:jnbcplsiian4:jnbcplshan4:jnbcpl62h,shan4;54h6311, si
28、1an4;55h64h,shan5;56hshan5:jnb65h,shan6;t1服務(wù)程序從裝初值125ms初值判第1數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移1不轉(zhuǎn)移,亮滅標(biāo)志取反判第2數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移 判第3數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移 判第4數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移 判第5數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移 判第6數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移 判第7數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移 判第8數(shù)碼管閃爍標(biāo)志,0轉(zhuǎn)移cpl5711shan6:jnb66h,shan7cpl53hreti其他功能程序如鍵盤操作只要對(duì)閃爍的標(biāo)志位進(jìn)行操作,就可控制相應(yīng)的數(shù) 碼管閃爍,但要注意在有閃爍到不閃爍的控制屮,應(yīng)同時(shí)數(shù)碼管亮滅的標(biāo)志。因 為有可能吋在閃爍過(guò)
29、程中滅的階段停止閃爍,亮滅的標(biāo)志被置為滅的狀態(tài),數(shù)碼 管熄滅。3.3.4交通控制時(shí)間處理程序1)軟件設(shè)計(jì)基礎(chǔ)思想:由定時(shí)器產(chǎn)牛0.05s定時(shí),軟件計(jì)數(shù)得到秒信號(hào),設(shè) 30s計(jì)數(shù)器,30s計(jì)數(shù)器計(jì)滿,綠燈滅、黃燈閃爍5次,黃燈滅、紅燈亮; 同時(shí),另兩路口紅燈滅、綠燈亮。2)定時(shí)器t0工作方式1,產(chǎn)生0. 05s定時(shí)。p0 口及p2 口的低4位輸岀控制 信號(hào)。30s計(jì)數(shù)器的地址為4011??刂乒灸_北口紅pao(brd)黃pakbyd)錄pa2(bld)閒口紅pbknrd)黃pb2(nyd)綠pb3cnld)東口紅pao(drd)黃pal(dyd)綠pa2(dld)西口紅pa6(xrd)黃pat(
30、xyd)綠pbo(xld)圖3.15控制引腳與燈的對(duì)應(yīng)關(guān)系=二匕迓丁壬3os h羔券蘭芋=二七王 t3s5-.30 s才點(diǎn)給芝芋.圖3. 16流程圖程序如下:brdequpaobydequpaibldequpa2nrdequpb1nydequpb2nldequpb3drdequpaodydequpaidldequpa2xrdequpa6xydequpa7xldequpbonhdbitoohdhdbit 00hs30equ 40hbufequ 4111初始化及主程序:org 0000hljmp mainorg 000bhljmp tovlock;main: mov sp,#30h;clr a;m
31、ov buf, a;mov s30, a;mov tmod, #0111;mov tho, #3ch;mov tlo, #oboh0. 05s屮斷服務(wù)程序堆棧指針a 二 ooh0. 05s計(jì)數(shù)器清030s計(jì)數(shù)器清0定時(shí)器to工作在方式1t0用于吋鐘定吋,0.05s定吋初值setb ea;setb etosetb tro;開中斷啟動(dòng)定吋路口燈全滅nopmov po, #offh;mov p2, #offhnopden_0: clr nld;南綠燈亮clr bld;北綠燈亮clr drd;東紅燈亮clr xrd;西紅燈亮clr s30, #0011 ;30s計(jì)數(shù)器清0den_1:mov a, s3
32、0cjnz a, #30, den_1;不到30s等待setb nld ;南綠燈滅setb bld;北綠燈den_2: clr nyd;南黃燈亮clr byd;北黃燈亮acall del05s;調(diào)用0. 5子程序setb nyd;南黃燈滅setb byd;北黃燈滅acall del05s;djnz r1,den_2調(diào)用0. 5子程序clr nrd;南紅燈亮clr brd;北紅燈亮clr dld ;東綠燈亮clr xld;西綠燈亮den_3: mov a, s30cjne a, #30, den_3;不到 30s 等待setb dld;setb xld;den_4:clr dyd;clr xyd
33、;acall del05s;setb dyd;setb xyd;acall del05s;djnz r1,den_4ljmp den_oto屮斷服務(wù)程序toclock:mov tho,#3ch;mov tlo, #0b7hpush pswpush accinc buf; buf+1mov a,bufcjne a,#20, tchu;mov buf, #00h;mov a,s30;inc amov s30, acjne a, #31, tchu;mov s30, #00h;tchu:pop accpop pswrett東綠燈滅西綠燈滅東黃燈亮西黃燈亮調(diào)用0. 5子程序東黃燈滅西黃燈滅調(diào)用0. 5
34、子程序重裝初值累計(jì)20次為一秒一秒到,計(jì)數(shù)器清0修改30s計(jì)數(shù)器計(jì)數(shù)不到30返回計(jì)數(shù)超30清00. 5s延時(shí)子程序del05s:mov 7411, #0311l00p0:mov 73h,#offhl00p1:mov 72h,#0ffhl00p2:nopdjnz 72h,l00p2djnz 7311, l00p1djna 74h,looporet3.3.5鍵盤功能處理程序設(shè)計(jì)鍵盤用外部屮斷來(lái)處理,首先判斷那個(gè)鍵按下,然后按照總體方案屮規(guī)劃編 寫每個(gè)按鍵的功能程序,下面列出四個(gè)按鍵的功能描述和處理程序。第一個(gè)鍵:系統(tǒng)由運(yùn)行狀態(tài)進(jìn)入修改參數(shù)狀態(tài),需做一下工作:1)停止倒計(jì)時(shí)。2)將某一個(gè)方向的紅燈參
35、數(shù)和綠燈參數(shù)調(diào)出來(lái),送顯示緩沖區(qū)。3)第一個(gè)數(shù)碼管閃爍,標(biāo)志進(jìn)入設(shè)置狀態(tài)。程序如下:key1:;第一個(gè)鍵功能push acc;保護(hù)現(xiàn)場(chǎng)clr tro;關(guān)閉定時(shí)器,停止倒計(jì)時(shí)lcall rcs;調(diào)用讀系統(tǒng)參數(shù)子程序setb 54h;clr 55h第一個(gè)閃爍,其余不閃爍clr 56hclr 57hpop acc;恢復(fù)現(xiàn)場(chǎng)ret1;中斷返冋第二個(gè)鍵:加1鍵。按照表3. 14分配的位標(biāo)志和顯示緩沖區(qū)單元,依次對(duì)四個(gè) 數(shù)碼管的閃爍標(biāo)志位進(jìn)行判斷,對(duì)相應(yīng)的顯示緩沖區(qū)進(jìn)行加1處理(09變化)。程序結(jié)構(gòu)如圖3. 17所示key2:push acc;s2鍵功能程序inc 55h;力u 1mov r2,70hcj
36、ne r2,#1o,key1a;判斷是否為10,否轉(zhuǎn)返回mov 5511, #0;清為 0rett圖3. 17加1鍵程序框圖第三個(gè)鍵:移位鍵。使數(shù)碼管閃爍依次移位,和第二鍵配合修改四個(gè)數(shù)碼管上的 數(shù)據(jù)。程序結(jié)構(gòu)和第二個(gè)鍵一樣,僅是處理內(nèi)容不同,進(jìn)行移位操作,框圖略去。在編程時(shí)應(yīng)注意,移到下一位閃爍時(shí)應(yīng)將前面數(shù)碼管的亮滅標(biāo)志清0,避免移位 后熄滅。程序如下:key3:;第三個(gè)鍵的功能pushacc;保護(hù)現(xiàn)場(chǎng)jnb 54h, key3a; 第一個(gè)數(shù)碼管不閃爍; 轉(zhuǎn)移判下一個(gè)clr 54h;閃爍,清閃爍clr 50h;清滅標(biāo)志setb 5511;置下一位閃爍,實(shí)現(xiàn)移位pop acc;恢復(fù)現(xiàn)場(chǎng)reti
37、;中斷返回key3a:jnb 55h,key3b;第二個(gè)數(shù)碼管不閃爍轉(zhuǎn)移判下一個(gè)clr 55h;閃爍,清閃爍clr 5111;清滅標(biāo)志setb 56h;置下一位閃爍,實(shí)現(xiàn)移位pop acc;恢復(fù)現(xiàn)場(chǎng)reti;中斷返回key3b:jnb 56h,key3c;第三個(gè)數(shù)碼管不山所轉(zhuǎn)移到下一個(gè)clr 5611;閃爍,清閃爍clr 52h;清滅標(biāo)志setb 57h;置下一位閃爍,實(shí)現(xiàn)移位pop acc;恢復(fù)現(xiàn)場(chǎng)reti;中斷返回key3c:第四個(gè)數(shù)碼管閃爍clr 57h;閃爍,清閃爍clr 53h;清滅標(biāo)志setb 50h;置下一位閃爍,實(shí)現(xiàn)移位pop acc;恢復(fù)現(xiàn)場(chǎng)reti;屮斷返回第四個(gè)鍵:運(yùn)行鍵
38、。操作使系統(tǒng)重新進(jìn)入指揮交通狀態(tài),需要做一下操作:1)保存修改后的參數(shù),并替換系統(tǒng)的患有的參數(shù)。數(shù)碼管上設(shè)置的只是一個(gè)方向 的紅綠燈參數(shù),另一個(gè)方向可以通過(guò)計(jì)算求得:一個(gè)方向的紅燈參數(shù)二另一個(gè)方向的綠燈數(shù)據(jù)+2 (黃燈數(shù)據(jù))兩個(gè)方向的參數(shù)一起存放到at24c02屮(調(diào)用鞋子程序02)設(shè)置初始系統(tǒng)狀態(tài)(與初始化部分一樣)3)使數(shù)碼管不閃爍。4)啟動(dòng)倒計(jì)時(shí),進(jìn)入指揮交通狀態(tài)。程序如卜:key4:第四個(gè)鍵功能push acc;保護(hù)現(xiàn)場(chǎng)mov a,73h;取紅燈高位mov b,#10;mul ab;乘 10add a,72h;加紅燈低位二南北方向紅燈數(shù)據(jù)mov 60h, a;南北紅燈clr csubb
39、 a, #2mov 6311, a;東西綠燈mov a,71h;取綠燈高位mov b, #10mul ab;乘10add a, 70h;加上綠燈低位二南北方向綠燈數(shù)據(jù)mov 6111, a;南北綠燈add a, #2;mov 62h, a;東西紅燈lcall wrc;調(diào)寫參數(shù)子程序mov 2ah, #0;為5057h清為0,使數(shù)碼管正常顯示lcall status;調(diào)系統(tǒng)初始狀態(tài)設(shè)置子程序lcall rcs;調(diào)用讀系統(tǒng)參數(shù)子程序setb tro;重新開始到計(jì)時(shí)pop acc;恢復(fù)現(xiàn)場(chǎng)ret13.3.6 at24c02操作程序系統(tǒng)上電讀參數(shù),設(shè)置參數(shù)后保存參數(shù)都是對(duì)at24c02進(jìn)行讀寫操作。 將單片機(jī)內(nèi)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代急救技術(shù)在家庭中的應(yīng)用與推廣
- 生態(tài)科普活動(dòng)對(duì)公眾參與環(huán)境保護(hù)的推動(dòng)作用
- 電力系統(tǒng)的穩(wěn)定性與現(xiàn)代能源技術(shù)
- 現(xiàn)代建筑設(shè)計(jì)在保障路橋安全運(yùn)營(yíng)中的作用研究
- 2025年寧夏貨運(yùn)資格證考試有哪些項(xiàng)目
- 現(xiàn)代科技下美術(shù)教學(xué)的多維度探索
- 電子商務(wù)平臺(tái)的發(fā)展趨勢(shì)及對(duì)未來(lái)商業(yè)生態(tài)的影響
- 電商物流配送的自動(dòng)化與智能化趨勢(shì)
- 2025年佳木斯道路貨運(yùn)運(yùn)輸從業(yè)資格證模擬考試
- 電商平臺(tái)營(yíng)銷戰(zhàn)略全解析
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評(píng)價(jià)導(dǎo)則
- 單店爆破促銷活動(dòng)模式精編文檔
- YS/T 34.1-2011高純砷化學(xué)分析方法電感耦合等離子體質(zhì)譜法(ICP-MS)測(cè)定高純砷中雜質(zhì)含量
- LY/T 2016-2012陸生野生動(dòng)物廊道設(shè)計(jì)技術(shù)規(guī)程
- 松下panasonic-視覺說(shuō)明書pv200培訓(xùn)
- 單縣煙草專賣局QC課題多維度降低行政處罰文書出錯(cuò)率
- 毫針刺法(全)教學(xué)課件
- 金風(fēng)科技-風(fēng)電產(chǎn)業(yè)集團(tuán)-供應(yīng)商現(xiàn)場(chǎng)作業(yè)基礎(chǔ)安全考試附答案
- 公共關(guān)系學(xué)完整教學(xué)課件
- 人工智能機(jī)器人科學(xué)小報(bào)手抄報(bào)簡(jiǎn)報(bào)
- 三年級(jí)下冊(cè)美術(shù)課件-第1課 燈彩輝映|浙美版 (共19張PPT)
評(píng)論
0/150
提交評(píng)論