單片機(jī)技術(shù)課程設(shè)計(jì)說明書 交通燈——課程設(shè)計(jì)
《單片機(jī)技術(shù)課程設(shè)計(jì)說明書 交通燈——課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)技術(shù)課程設(shè)計(jì)說明書 交通燈——課程設(shè)計(jì)(31頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 單片機(jī)技術(shù)課程設(shè)計(jì)說明書 交通燈 院 、 部: 電氣與信息工程學(xué)院 學(xué)生姓名: 沐 弓 指導(dǎo)教師: 王韌 職稱 副教授 專 業(yè): 電子信息工程 班 級: 電子120班 完成時(shí)間: 2013年12月21日 摘 要 交通燈在現(xiàn)代社會(huì)交通管理的作用毋庸置疑,它使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,
2、減少交通事故有明顯效果。本系統(tǒng)采用單片機(jī)AT89S52為中心器件來設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的狀態(tài)顯示以及倒計(jì)時(shí)。 設(shè)計(jì)以AT89S52單片機(jī)為核心,外接外圍電路構(gòu)成基本電路,本設(shè)計(jì)除基本的交通燈功能外,還增加了在緊急情況下能手動(dòng)切換信號燈讓特殊車輛優(yōu)先通行,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。 軟件上采用匯編語言編程,主要編寫了主程序,LED數(shù)碼管顯示程序。經(jīng)過整機(jī)調(diào)試,實(shí)現(xiàn)了對十字路口交通燈的模擬 關(guān)鍵詞 交通燈;單片機(jī) ABSTRACT
3、 The traffic lights in the modern society traffic management role.its occurrence, make traffic to effectively control for relieves traffic flow, improve traffic capacity, reduce the number of traffic accidents have obvious effect. The system adopts single-chip microcomputer AT89C51 as the cen
4、ter device to designing traffic light controller, system strong practicality, simple operation, extensible. This design is one-chip computer simulation intersection traffic lights state display and countdown. Design with AT89S52 single-chip microcomputer as the core, an external circuit constitut
5、e the basic circuit .Intelligent traffic control system will usually achieve automatic control and in emergency situations can manual switching lights make special vehicle righe-of-way.good simulation crossroads possible conditions. Software is used on assembly language programming, mainly prepared
6、 the main program, LED digital pipe display program. After the machine commissioning, realize the intersection traffic simulation. Key words The traffic lights;single-chip 目 錄 1 系統(tǒng)總體設(shè)計(jì)方案 1 1.1 設(shè)計(jì)課題任務(wù) 1 1.2 功能要求說明 1 1.3 總體方案介紹及工作原理 1 2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì) 2 2.1
7、 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡要介紹 2 2.2 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖各1份 3 2. 3 設(shè)計(jì)課題元器件清單 4 3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì) 4 3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況 4 3. 2 設(shè)計(jì)課題軟件系統(tǒng)各模塊功能簡要介紹 6 3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖 7 3. 4 設(shè)計(jì)課題軟件系統(tǒng)程序清單 8 4 使用說明,仿真結(jié)果及誤差分析 8 4.1 設(shè)計(jì)使用說明 8 4.2 程序仿真結(jié)果 8 4.3 誤差分析 10 4.4 設(shè)計(jì)體會(huì) 10 結(jié)束語 11 致 謝 12 參考文獻(xiàn)
8、 13 附錄A 14 附錄B 15 附錄C 16 附錄D 17 附錄E 18 附錄F 26 1 系統(tǒng)總體設(shè)計(jì)方案 1.1 設(shè)計(jì)課題任務(wù) 設(shè)計(jì)一個(gè)具有特定功能的十字路口交通燈。 1.2 功能要求說明 (1)該交通燈上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”。 (2)進(jìn)入準(zhǔn)備工作狀態(tài)。按開始鍵則開始工作,按結(jié)束鍵則返回“P.”狀態(tài)。 (3)要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行,甲車道為主車道, 每次通車時(shí)間為60秒,乙車道為次車道,每次通車時(shí)間為30秒,要求黃燈亮3秒,并且1秒閃爍一次。 (4)有應(yīng)急車輛出現(xiàn)時(shí),紅燈全亮,應(yīng)急車輛
9、通車時(shí)間10秒,同時(shí)禁止其他車輛通過。 1.3 總體方案介紹及工作原理 交通燈的總體功能原理是以AT89S52單片機(jī)為主要的控制核心,通過外接4個(gè)獨(dú)立式鍵盤作為控制信號源,八個(gè)七段數(shù)碼管作為顯示器件。單片機(jī)實(shí)時(shí)的去執(zhí)行相應(yīng)的功能。在數(shù)碼管上顯示出來,此時(shí)通過不同的按鍵來觀看和調(diào)節(jié)各種數(shù)據(jù)。系統(tǒng)的硬件框圖如圖1所示。 圖1 系統(tǒng)的硬件框圖 2 設(shè)計(jì)課題硬件系統(tǒng)設(shè)計(jì) 2.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡要介紹 2.1.1 單片機(jī)最小系統(tǒng) 片機(jī)最小
10、系統(tǒng)包括AT89S52單片機(jī)以及電源電路、時(shí)鐘電路、復(fù)位電路。只有當(dāng)單片機(jī)有了這些電路才會(huì)工作。 AT89S52主要性能與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器,1000次擦寫周期,全靜態(tài)操作。0Hz~33H三級加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識符。AT89S52具有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍
11、結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 時(shí)鐘電路中主要由石英晶體這個(gè)感性元件,與電容構(gòu)成振蕩回路,為片內(nèi)放大器提供正反饋和振蕩所需的相移條件,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。從而 給單片機(jī)提供計(jì)數(shù)時(shí)間。 復(fù)位電路復(fù)位電路有上電復(fù)位,按鍵電平復(fù)位和按鍵脈沖復(fù)位3種。80C51的RST引腳是復(fù)位信號的輸入端。復(fù)位信號時(shí)高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩脈沖周期以上,整個(gè)復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號RST送施密特觸發(fā)器;再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對施密特觸發(fā)器的輸出進(jìn)行采樣;最后才得到內(nèi)部復(fù)位操作所需要的信號。 電源電路給單片機(jī)提
12、供穩(wěn)定的直流穩(wěn)壓電源。 2.1.2 鍵盤功能模塊 按鍵電路的設(shè)計(jì)就是在一端公共接地,另一端通過上拉電阻接到P1口,當(dāng)有按鍵按下,相應(yīng)的口就會(huì)變成低電平,產(chǎn)生一個(gè)下降沿各鍵功能單一,互不影響,操作起來十分的清晰與方便 2.1.3 數(shù)碼管顯示模塊 數(shù)碼管的八個(gè)位控口接在AT89S52單片機(jī)的P2口線上,段控制線接在P0口線上,由于數(shù)碼管的本身顯示亮度不夠,所以一般都會(huì)在其位控和段控口前加上一定的驅(qū)動(dòng)電路,本次設(shè)計(jì)中采用74HC573作為驅(qū)動(dòng).本次采用的數(shù)碼管為共陽極。 2.1.4 蜂鳴器模塊 蜂鳴器通過9012三極管與單片機(jī)P3.1口線連接,當(dāng)P3.1口線取低電平時(shí),蜂鳴
13、器鳴叫。 2.1.5 LED模塊 LED電路直接掛接在單片機(jī)的P3口上,采用共陽接法。P3口線取低電平時(shí)LED 2.1.6 下載電路 下載口的1腳接P1.5口,2腳懸空,3腳接單片機(jī)的復(fù)位口,4腳接P1.6口,5腳接P1.7口,6腳接地,7、8、8、10腳接地。 2.2設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖各1份 電路原理圖 見附錄A 電路pcb圖 見附錄B 元器件布局圖 見附錄C 電路CDA圖 件附錄F 2.3 設(shè)計(jì)課題元器件清單 元器件清單 見附錄D 3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì) 3.1 設(shè)計(jì)課題使用單片機(jī)
14、資源的情況 P0口輸出數(shù)碼管段控信號,P2口輸出數(shù)碼管位控信號,P1口接按鍵,P3口接流水燈;晶振12MHz;按鍵S0:P1.0,復(fù)位顯示P;按鍵S1:P1.1;按鍵S2:P1.2;按鍵S3:P1.3;按鍵S4:P1.4,復(fù)位顯示P。 40H用于顯示緩沖區(qū)個(gè)位; 41H用于顯示緩沖區(qū)十位; 堆棧棧底:70H。 3.2 設(shè)計(jì)課題軟件系統(tǒng)各模塊功能簡要介紹 3.2.1 鍵掃描子程序 鍵處理函數(shù)主要是將從P1口取值送往單片機(jī)進(jìn)行取反處理。鍵掃描函數(shù)主要是判斷是否真的有鍵按下,即度過前沿抖動(dòng)之后再判斷是否有鍵按下,如果確實(shí)有鍵按下再判斷是否釋放,同樣也要度過后沿抖動(dòng)。最終將處
15、理完的鍵值作為返回值返回 3.2.2 顯示子程序 顯示子程序主要是完成數(shù)碼管的動(dòng)態(tài)顯示,將相應(yīng)的段控碼送P0口,位控碼送P2口,根據(jù)查表顯示需要的字符信息。 3.2.3 延時(shí)子程序 根據(jù)程序的設(shè)計(jì)要求,需要1ms,500ms,1s的延時(shí),由于時(shí)間比較短,故采用軟件方式延時(shí)。 3.2.4 外部中斷程序 本課題是用外部中斷函數(shù)來實(shí)現(xiàn)應(yīng)急車道通車。外部中斷函數(shù)里面用到的延時(shí)1s和正常通車時(shí)用到的延時(shí)1s不是同一個(gè)延時(shí)函數(shù),因?yàn)榘存I掃描是加在正常通車時(shí)的延時(shí)1s中,這樣是為了防止其他按鍵影響中斷服務(wù)的進(jìn)行。 3.2.5 主程序 本課題的主程序中,包含上電顯示P.和鍵掃描程序,當(dāng)
16、沒有鍵按下時(shí),一直顯示P.。當(dāng)S1按下時(shí),甲車道通車;當(dāng)S2按下時(shí),乙車道通車;當(dāng)S4按下時(shí)顯示P.;當(dāng)S3按下時(shí),顯示緊急車道通車。 3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖 根據(jù)軟件系統(tǒng)各模塊設(shè)計(jì)程序流程框圖 3.3.1 主程序流程框圖 圖2 主程序流程框圖 3.3.2 顯示子程序流程框圖 圖3 顯示子程序流程框圖 3.3.3 鍵掃描子程序流程框圖
17、 圖4鍵掃描子程序流程框圖 3.3.4 鍵功能子程序流程框圖 圖5鍵功能子程序流程框圖 3.3.5 中斷子程序流程框圖 圖6中斷子程序流程框圖 3.4 設(shè)計(jì)課題軟件系統(tǒng)程序清單 程序清單見附錄E 4 使用說明,仿真結(jié)果及誤差分析 4.1 設(shè)計(jì)使用說明 本次設(shè)計(jì)的十字路口交通燈能夠運(yùn)用在大多情況下,S1鍵控制甲車道
18、通車,S2鍵控制乙車道通車,S3鍵控制緊急情況通車,S4鍵顯示P.。 4.2 程序仿真結(jié)果 上電顯示P.仿真。 圖7上電顯示仿真圖 按下S1后,甲車道通車,甲車道綠燈亮60S,乙車道紅燈亮60S。 圖8 甲車道通車仿真圖 甲車道通車60S內(nèi),最后3秒黃燈閃爍。 圖9 甲車道黃燈閃爍仿真圖 按下S2后,乙車道通車30S,乙車道綠燈亮30S,甲車道紅燈亮3
19、0S。 圖10 乙車道通車仿真 乙車道通車30S內(nèi),最后3秒乙車道黃燈閃爍,甲車道紅燈亮。 圖11 乙車道黃燈閃爍仿真 按下S4后,顯示P.,LED燈全部熄滅。 圖12 顯示P.仿真 按下S3后,緊急情況通車,甲乙兩車道紅燈亮10S。 圖
20、13 緊急情況仿真 4.3 誤差分析 交通燈在緊急情況下入棧后經(jīng)過中斷程序后出棧的值會(huì)有所出入。 該誤差可能的產(chǎn)生原因是:(1)首先是采用的計(jì)時(shí)方案是軟件計(jì)時(shí)的,計(jì)時(shí)又是利用中斷來實(shí)現(xiàn)。而你開啟定時(shí)器和開啟LED燈順序上是有先后的,這個(gè)過程需時(shí)間的,所以就產(chǎn)生了一定的誤差,當(dāng)然這個(gè)誤差是避免不了的; (2) 設(shè)計(jì)用到12MHz的晶振,計(jì)算是滿20次為一秒鐘,但實(shí)際會(huì)慢很多; (3) 受到外部因素的影響,如溫度等 4.4 設(shè)計(jì)體會(huì) 通過本次課程設(shè)計(jì),我進(jìn)一步地掌握了單片機(jī)的接口技術(shù)以及匯編語言程序設(shè)計(jì)。在編寫程序之前,我首先好好的看了一下要用到的書上的內(nèi)容,然后理清思路,畫出
21、大概的流程圖以后才開始動(dòng)手編寫程序。 第一次寫這樣長的程序,剛開始時(shí)非常害怕的,但在老師的指導(dǎo)下,通過分模塊的編寫,將一個(gè)大的程序分成幾個(gè)小程序編寫果然簡單了許多。 我認(rèn)為本次課題的難點(diǎn)在與堆棧的使用,剛開始因?yàn)閷帱c(diǎn)保護(hù)的不熟悉,反復(fù)幾次通過Proteus和Keil的驗(yàn)證才找出問題并解決,讓我對著兩個(gè)軟件的功能有了更進(jìn)一步的認(rèn)識。 結(jié)束語 將本設(shè)計(jì)的程序下載到單片機(jī)中,通過測試,基本上完成了任務(wù)書的基本要求,并且在不外加干擾的情況下可以實(shí)現(xiàn)智能控制十字路口的車輛交通情況。但是因?yàn)槎〞r(shí)是用的延時(shí)編寫的程序,所以
22、定時(shí)的精度有待進(jìn)一步提高 在設(shè)計(jì)過程中,畫電路圖制PCB板、打孔、溶銅、焊接等,真的經(jīng)歷了許多困難,卻積累了很多寶貴的經(jīng)驗(yàn),在調(diào)試時(shí)出現(xiàn)異常,不過這些都是經(jīng)常性錯(cuò)誤,經(jīng)過調(diào)試修改都一一解決,程序順利完成,并實(shí)現(xiàn)了其功能。 由于使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。但是在我們設(shè)計(jì)和調(diào)試的過程中,也發(fā)現(xiàn)了一些問題,譬如紅燈和綠燈的切換還不夠迅速,紅綠燈規(guī)則不效率還不是很高等等,這需要在實(shí)踐中進(jìn)一步完善。 當(dāng)然,通過這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我。
23、 致謝 通過本次課程設(shè)計(jì),我懂得了單片機(jī)學(xué)習(xí)的重要性,更是了解到理論知識與實(shí)踐相結(jié)合的重要意義,學(xué)會(huì)了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的榜樣。另外,要非常感謝我的指導(dǎo)老師王韌老師,是她細(xì)心的給我講解了許多關(guān)于AT89S52、獨(dú)立式鍵盤、數(shù)碼管顯示相關(guān)的知識,并在設(shè)計(jì)過程中所遇到的難題都給了非常重要的意見,是她指引我克服一個(gè)由一個(gè)的困難,讓我學(xué)會(huì)對困難無所畏懼,以及對問題的一些很重要的思考方法。同時(shí),在我的實(shí)際作品的制作過程之中,得到的學(xué)校許多的同學(xué)的熱情的指導(dǎo)和詳細(xì)的說明。此外,在實(shí)際程序的編寫的
24、過程之中得到了別人的認(rèn)可,在遇到許多的不解困難的時(shí)候,自己班里的電子制作的愛好者也給我提供的最詳細(xì)的解答,沒有以上的每一個(gè)人的幫助,我的單片機(jī)課程設(shè)計(jì)很難順利的完成,在此,我對于在我的設(shè)計(jì)和制作的過程中給予我?guī)椭拿恳粋€(gè)人一并表示感謝。 參考文獻(xiàn) [1]馬忠梅.單片機(jī)C程序設(shè)計(jì)[M],北京:北京航空航天大學(xué)出版社,2007 Ma Zhongmei. microcontroller C programming [M], Beijing: Beijing Aerospace University Press, 2007
25、[2]李廣弟.單片機(jī)基礎(chǔ)[M],北京:北京航空航天大學(xué)出版社,2007 Li Guangdi. microcontroller based on [M], Beijing: Beijing Aerospace University Press, 2007 [3] 曹巧媛.單片機(jī)原理及應(yīng)用[M],北京:電子工業(yè)出版社,1997.7. Cao QiaoYuan.Microcontroller Theory and Applications [M], Beijing: Electronic Industry Press, 1997.7. [4] 張洪潤.蘭清華,單片機(jī)應(yīng)用技術(shù)教程[M]
26、,北京:清華大學(xué)出版社,1997.11. Zhang Hongrun ,Lan Qinghua, MCU application technology tutorial [M], Beijing: Tsinghua University Press, 1997.11. 附錄A 電路原理圖 圖14 電路原理圖 附錄B 電路PCB圖 圖15頂層PCB圖
27、 圖16底層PCB圖 附錄C 元器件布局圖 圖17元器件布局圖 附錄D 材料清單 表1 元器件清單 名稱 數(shù)量 參數(shù) 單片機(jī) 1個(gè) AT89S52 共陽數(shù)碼管 2個(gè) 4位一體 晶振 1個(gè) 12MHz 發(fā)光二極管 9個(gè) 芯片插座 1個(gè) 20DIP 芯片插座 1個(gè) 40DIP 蜂鳴器 1個(gè) 按鍵 10個(gè) 排阻 4個(gè) 10K 下載口座子
28、1個(gè) 十芯 六腳按鍵開關(guān) 1個(gè) USB電源線加接口 1個(gè) 電阻 1個(gè) 200Ω 電阻 3個(gè) 1K 電阻 8個(gè) 470Ω 電解電容 2個(gè) 22μf 瓷片電容 2個(gè) 33p 短路帽 3個(gè) PCB板子 1塊 電源白色插座 1個(gè) 杜邦線 2個(gè) 銅柱 (帶螺母) 4個(gè) 集成芯片 1個(gè) 74HC573 排阻 1個(gè) 470 三極管 1個(gè) 9012 附錄E 程序清單 /*項(xiàng)目名稱:交通燈*/ /*設(shè) 計(jì) 者:宋強(qiáng)*/ /*時(shí) 間:2013年12月21日 */ /*項(xiàng)目
29、功能:設(shè)計(jì)一個(gè)具有特定功能的十字路口交通燈。*/ /*項(xiàng)目所以單片機(jī)資源:P0口輸出數(shù)碼管段控信號, P2口輸出數(shù)碼管位控信號, P1口接按鍵, P3口接流水燈; 晶振12MHz; 按鍵S1:P1.0,甲車道通車; 按鍵S2:P1.1,乙車道通車; 按鍵S3:P1.3,緊急情況通車; 按鍵S4:P1.2,復(fù)位顯示P.; 40H用于顯示緩沖區(qū)個(gè)位; 41H用于顯示緩沖區(qū)十位; 堆棧棧底:
30、70H。*/ /*項(xiàng)目所用的顯示模塊:四位一體數(shù)碼管最后2位; 6個(gè)LED燈(LED0,LED3,LED4,LED5,LED6,LED7).*/ /*項(xiàng)目所用報(bào)警裝置: 蜂鳴器(與單片機(jī)P3.1口線相連接)。*/ ;********建立顯示緩沖區(qū): 個(gè)位40H, 十位41H, ************************ ORG 0000H LJMP MAIN ORG 0003H LJMP WBZD MAIN: MOV SP ,#70H SETB EA SETB EX0 SETB
31、 IT0 MOV 40H ,#17 MOV 41H ,#16 ;顯示P. SETB P3.0 SETB P3.3 SETB P3.4 SETB P3.5 SETB P3.6 SETB P3.7 ;關(guān)閉所有燈 DD: LCALL KEY LJMP DD ;判有無按鍵按下 ;*********甲車道通60s********************************************** JIA: CLR P3.3
32、 ;甲車道綠燈亮 CLR P3.5 ;乙車道紅燈亮 SETB P3.4 SETB P3.0 SETB P3.7 SETB P3.6 ;關(guān)閉其他燈 MOV 40H ,#0 MOV 41H ,#6 ;初始化60S LCALL DELAY ;延時(shí)1秒并顯示 MOV R4 ,#05 LOOP1: DEC 41H ;十位減 MOV 40H
33、 ,#9 ;個(gè)位顯示9 LCALL DELAY LOOP2: DEC 40H ;個(gè)位減 LCALL DELAY MOV A ,40H CJNE A ,#00H ,LOOP2 LOOP3: DJNZ R4 ,LOOP1 FF: MOV 40H ,#9 MOV 41H ,#0 LCALL DELAY DD1: DEC 40H LCALL DELAY MOV A ,40H CJNE A ,#04H ,DD1
34、 ;*************黃燈閃爍3s******************************************** HD1: CLR P3.4 ;甲車道黃燈亮 CLR P3.5 ;乙車道紅燈亮 SETB P3.0 SETB P3.3 SETB P3.7 SETB P3.6 MOV 40H ,#3 MOV 41H ,#0 ;初始化3S LCALL DLY ;顯示500MS 并延時(shí)
35、 SETB P3.4 LCALL DLY ;顯示500MS 并延時(shí) LOOP4: DEC 40H CLR P3.4 LCALL DLY ;顯示500MS 并延時(shí) SETB P3.4 LCALL DLY ;顯示500MS 并延時(shí) MOV A ,40H CJNE A ,#01H ,LOOP4 ;********乙車道30s*********************************************** JI: CLR P3
36、.6 ;乙車道綠燈亮 CLR P3.0 ;甲車道紅燈亮 SETB P3.5 SETB P3.3 SETB P3.4 SETB P3.7 ;關(guān)閉其他燈 MOV 40H ,#0 MOV 41H ,#3 ;初始化30S LCALL DELAY ;延時(shí)1秒并顯示 MOV R3 ,#02 LOOP5: DEC 41H ;十位減 MOV 40H ,
37、#9 ;個(gè)位顯示9 LCALL DELAY LP1: DEC 40H ;個(gè)位減 LCALL DELAY MOV A ,40H CJNE A ,#00H ,LP1 ;判斷個(gè)位是否為0 LP2: DJNZ R3 ,LOOP5 FF1: MOV 40H ,#9 MOV 41H ,#0 LCALL DELAY DQ: DEC 40H LCALL DELAY MOV A ,40H CJNE A
38、 ,#04H ,DQ ;*********黃燈閃3s************************************************* HD2: CLR P3.7 ;乙車道黃燈亮 CLR P3.0 ;甲車道紅燈亮 SETB P3.6 SETB P3.5 SETB P3.3 SETB P3.4 MOV 40H ,#3 MOV 41H ,#0 ;初始化3S LCALL DLY
39、 ;顯示500MS 并延時(shí) SETB P3.7 LCALL DLY ;顯示500MS 并延時(shí) LOOP6: DEC 40H CLR P3.7 LCALL DLY ;顯示500MS 并延時(shí) SETB P3.7 LCALL DLY ;顯示500MS 并延時(shí) MOV A ,40H CJNE A ,#01H ,LOOP6 LJMP JIA ;******** 500ms延時(shí)************************
40、************************** DLY: MOV A ,R0 PUSH ACC MOV R0 ,#125 LL: LCALL DIR LCALL KEY DJNZ R0 ,LL MOV R0 ,A POP ACC RET ;*********延時(shí)1s,顯************************************************* DELAY: MOV A ,R0 PUSH ACC MOV R0 ,#250 LOO11
41、: LCALL DIR LCALL KEY DJNZ R0 ,LOO11 MOV R0 ,A POP ACC RET ;*******顯示程序***************************************************** DIR: PUSH DPH PUSH DPL PUSH ACC MOV DPTR ,#TAB MOV P2 ,#00000001B ;選中個(gè)位數(shù)碼管 MOV A ,40H MOVC A
42、 ,@A+DPTR MOV P0 ,A ;送個(gè)位數(shù) LCALL DL ;延時(shí)1ms MOV P0 ,#0FFH MOV P2 ,#00000010B ;選中十位數(shù)碼管 MOV A ,41H MOVC A ,@A+DPTR MOV P0 ,A ;送十位數(shù) LCALL DL MOV P0 ,#0FFH POP ACC POP DPL POP DPH
43、 RET ;***********延時(shí)1ms*********************************************** DL: MOV R7 ,#01H DL1: MOV R6 ,#8EH DL0: MOV R5 ,#02H DJNZ R5 ,$ DJNZ R6 ,DL0 DJNZ R7 ,DL1 RET ;**********應(yīng)急車道10s********************************************* WBZD: PUSH PSW
44、 PUSH ACC PUSH B MOV B ,P3 MOV 45H ,40H MOV 46H ,41H CLR P3.1 CLR P3.0 CLR P3.5 ;亮兩個(gè)紅燈 SETB P3.4 SETB P3.3 SETB P3.7 SETB P3.6 ;關(guān)閉其他燈 MOV 40H ,#0 MOV 41H ,#1 ;初始化10秒 LCALL DELAY1 ;顯示并延時(shí)1S M
45、OV 40H ,#9 MOV 41H ,#0 ;顯示09 LCALL DELAY1 ;顯示并延時(shí)1S BB: DEC 40H LCALL DELAY1 ;顯示并延時(shí)1S MOV A ,40H CJNE A ,#00H ,BB MOV P3 ,B SETB P3.2 MOV 40H ,45H MOV 41H ,46H POP B POP ACC POP PSW CLR
46、 IE0 RETI ;********中斷調(diào)的延1s********************************************** DELAY1: MOV A ,R3 PUSH ACC MOV R3 ,#250 LOOP51: LCALL DIR ;調(diào)顯示 LCALL DL LCALL DL DJNZ R3 ,LOOP51 POP ACC MOV R3 ,A RET ;********鍵盤掃描******************
47、********************************** KEYSAO: LCALL KEYCHULI JZ EXIT LCALL DL LCALL DL ;去抖動(dòng) LCALL KEYCHULI JZ EXIT MOV B ,20H KEYSF: LCALL KEYCHULI JZ KEY110 LCALL DL LCALL DL ;去抖動(dòng) LJMP KEYSF KEY110:
48、MOV 20H ,B EXIT: RET KEYCHULI:PUSH PSW CLR RS1 SETB RS0 MOV P1 , #0FFH MOV A , P1 CPL A ANL A , #0FH MOV 20H , A CLR RS1 CLR RS0 POP PSW
49、 RET ;*********按鍵功能判斷********************************************** KEY: LCALL DIR ;調(diào)顯示子程序 LCALL KEYSAO ;調(diào)鍵盤掃描子程序 MOV A, 20H ;鍵值送A KEY0: CJNE A , #01H , KEY1
50、 LJMP JIA KEY1: CJNE A , #02H , KEY2 LJMP JI KEY2: CJNE A , #08H , KEY3 LJMP MAIN KEY3: RET ;********段碼表(陽)************************************************* TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH END 附錄F 電路CAD圖 26
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 24香港璀璨的明珠
- 第02講 第一章 綜合布線基礎(chǔ)知識
- 預(yù)防傳染病課件
- 【創(chuàng)新設(shè)計(jì)】2011屆高考生物一輪復(fù)習(xí) 第5章單元綜合提升 細(xì)胞增殖、分化、衰老和凋亡課件 蘇教版必修1
- 512防震減災(zāi)安全教育班會(huì)課件
- 2022年浙教初中數(shù)學(xué)八下《反證法》課件10
- 1山中訪友課后作業(yè)(A組-基礎(chǔ)篇)
- 產(chǎn)后出血完整版
- 質(zhì)量培訓(xùn)教材(2)
- 部編版一年級下冊語文課件第三單元語文園地三(完美版)
- 我最好老師課件
- 面向?qū)ο蟾呒墤?yīng)用及C-sharp-語法新特性課件
- 堿金屬元素課件
- 部編人教版六年級語文下冊14《文言文二則-》學(xué)-弈課件
- 部編版六年級上冊語文課件--宇宙生命之謎