《單片機(jī)技術(shù)課程設(shè)計(jì)說(shuō)明書 交通燈——課程設(shè)計(jì)》
《《單片機(jī)技術(shù)課程設(shè)計(jì)說(shuō)明書 交通燈——課程設(shè)計(jì)》》由會(huì)員分享,可在線閱讀,更多相關(guān)《《單片機(jī)技術(shù)課程設(shè)計(jì)說(shuō)明書 交通燈——課程設(shè)計(jì)》(33頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 單片機(jī)技術(shù)課程設(shè)計(jì)說(shuō)明書 交通燈 院 、 部: 電氣與信息工程學(xué)院 學(xué)生姓名: 沐 弓 指導(dǎo)教師: 王韌 職稱 副教授 專 業(yè): 電子信息工程 班 級(jí): 電子120班 完成時(shí)間: 2013年12月21日 摘 要 交通燈在現(xiàn)代社會(huì)交通管理的作用毋庸置疑,它使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少
2、交通事故有明顯效果。本系統(tǒng)采用單片機(jī)AT89S52為中心器件來(lái)設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的狀態(tài)顯示以及倒計(jì)時(shí)。 設(shè)計(jì)以AT89S52單片機(jī)為核心,外接外圍電路構(gòu)成基本電路,本設(shè)計(jì)除基本的交通燈功能外,還增加了在緊急情況下能手動(dòng)切換信號(hào)燈讓特殊車輛優(yōu)先通行,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。 軟件上采用匯編語(yǔ)言編程,主要編寫了主程序,LED數(shù)碼管顯示程序。經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬 關(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 cente
4、r 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 constitute
5、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 t
6、he 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 功能要求說(shuō)明 1 1.3 總體方案介紹及工作原理 1 2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì) 2 2.1 設(shè)計(jì)
7、課題硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹 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)各模塊功能簡(jiǎn)要介紹 6 3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖 7 3. 4 設(shè)計(jì)課題軟件系統(tǒng)程序清單 8 4 使用說(shuō)明,仿真結(jié)果及誤差分析 8 4.1 設(shè)計(jì)使用說(shuō)明 8 4.2 程序仿真結(jié)果 8 4.3 誤差分析 10 4.4 設(shè)計(jì)體會(huì) 10 結(jié)束語(yǔ) 11 致 謝 12 參考文獻(xiàn) 13
8、 附錄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 功能要求說(shuō)明 (1)該交通燈上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”。 (2)進(jìn)入準(zhǔn)備工作狀態(tài)。按開(kāi)始鍵則開(kāi)始工作,按結(jié)束鍵則返回“P.”狀態(tài)。 (3)要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行,甲車道為主車道, 每次通車時(shí)間為60秒,乙車道為次車道,每次通車時(shí)間為30秒,要求黃燈亮3秒,并且1秒閃爍一次。 (4)有應(yīng)急車輛出現(xiàn)時(shí),紅燈全亮,應(yīng)急車輛通車時(shí)間10
9、秒,同時(shí)禁止其他車輛通過(guò)。 1.3 總體方案介紹及工作原理 交通燈的總體功能原理是以AT89S52單片機(jī)為主要的控制核心,通過(guò)外接4個(gè)獨(dú)立式鍵盤作為控制信號(hào)源,八個(gè)七段數(shù)碼管作為顯示器件。單片機(jī)實(shí)時(shí)的去執(zhí)行相應(yīng)的功能。在數(shù)碼管上顯示出來(lái),此時(shí)通過(guò)不同的按鍵來(lái)觀看和調(diào)節(jié)各種數(shù)據(jù)。系統(tǒng)的硬件框圖如圖1所示。 圖1 系統(tǒng)的硬件框圖 2 設(shè)計(jì)課題硬件系統(tǒng)設(shè)計(jì) 2.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹 2.1.1 單片機(jī)最小系統(tǒng) 片機(jī)最小系統(tǒng)包括AT
10、89S52單片機(jī)以及電源電路、時(shí)鐘電路、復(fù)位電路。只有當(dāng)單片機(jī)有了這些電路才會(huì)工作。 AT89S52主要性能與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器,1000次擦寫周期,全靜態(tài)操作。0Hz~33H三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。AT89S52具有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一
11、切工作停止,直到下一個(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ù)位信號(hào)的輸入端。復(fù)位信號(hào)時(shí)高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩脈沖周期以上,整個(gè)復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)RST送施密特觸發(fā)器;再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣;最后才得到內(nèi)部復(fù)位操作所需要的信號(hào)。 電源電路給單片機(jī)提供穩(wěn)定的直流
12、穩(wěn)壓電源。 2.1.2 鍵盤功能模塊 按鍵電路的設(shè)計(jì)就是在一端公共接地,另一端通過(guò)上拉電阻接到P1口,當(dāng)有按鍵按下,相應(yīng)的口就會(huì)變成低電平,產(chǎn)生一個(gè)下降沿各鍵功能單一,互不影響,操作起來(lái)十分的清晰與方便 2.1.3 數(shù)碼管顯示模塊 數(shù)碼管的八個(gè)位控口接在AT89S52單片機(jī)的P2口線上,段控制線接在P0口線上,由于數(shù)碼管的本身顯示亮度不夠,所以一般都會(huì)在其位控和段控口前加上一定的驅(qū)動(dòng)電路,本次設(shè)計(jì)中采用74HC573。 2.1.4 蜂鳴器模塊 蜂鳴器通過(guò)9012三極管與單片機(jī)P3.1口線連接,當(dāng)P3.1口線取低電平時(shí),蜂鳴器鳴叫。 2.1.5 LED模塊
13、 LED電路直接掛接在單片機(jī)的P3口上,采用共陽(yáng)接法。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份 電路原理圖 見(jiàn)附錄A 電路pcb圖 見(jiàn)附錄B 元器件布局圖 見(jiàn)附錄C 電路CDA圖 件附錄F 2.3 設(shè)計(jì)課題元器件清單 元器件清單 見(jiàn)附錄D 3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì) 3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況 P0口輸出數(shù)碼管段控信號(hào),P2口
14、輸出數(shù)碼管位控信號(hào),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)各模塊功能簡(jiǎn)要介紹 3.2.1 鍵掃描子程序 鍵處理函數(shù)主要是將從P1口取值送往單片機(jī)進(jìn)行取反處理。鍵掃描函數(shù)主要是判斷是否真的有鍵按下,即度過(guò)前沿抖動(dòng)之后再判斷是否有鍵按下,如果確實(shí)有鍵按下再判斷是否釋放,同樣也要度過(guò)后沿抖動(dòng)。最終將處理完的鍵值作為返回值返回 3.2.2 顯示
15、子程序 顯示子程序主要是完成數(shù)碼管的動(dòng)態(tài)顯示,將相應(yīng)的段控碼送P0口,位控碼送P2口,根據(jù)查表顯示需要的字符信息。 3.2.3 延時(shí)子程序 根據(jù)程序的設(shè)計(jì)要求,需要1ms,500ms,1s的延時(shí),由于時(shí)間比較短,故采用軟件方式延時(shí)。 ? 外部中斷程序?? 本課題是用外部中斷函數(shù)來(lái)實(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)沒(méi)有鍵按下時(shí),一直顯示P.。當(dāng)S1按下時(shí),甲車道通
16、車;當(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 鍵掃描子程序流程框圖 圖4鍵掃描子程序流程框圖 3.
17、3.4 鍵功能子程序流程框圖 圖5鍵功能子程序流程框圖 3.3.5 中斷子程序流程框圖 圖6中斷子程序流程框圖 3.4 設(shè)計(jì)課題軟件系統(tǒng)程序清單 程序清單見(jiàn)附錄E 4 使用說(shuō)明,仿真結(jié)果及誤差分析 4.1 設(shè)計(jì)使用說(shuō)明 本次設(shè)計(jì)的十字路口交通燈能夠運(yùn)用在大多情況下,S1鍵控制甲車道通車,S2鍵控制乙車道通車,S3鍵控制緊急情況通車
18、,S4鍵顯示P.。 4.2 程序仿真結(jié)果 上電顯示P.仿真。 圖7上電顯示仿真圖 按下S1后,甲車道通車,甲車道綠燈亮60S,乙車道紅燈亮60S。 圖8 甲車道通車仿真圖 甲車道通車60S內(nèi),最后3秒黃燈閃爍。 圖9 甲車道黃燈閃爍仿真圖 按下S2后,乙車道通車30S,乙車道綠燈亮30S,甲車道紅燈亮30S。
19、 圖10 乙車道通車仿真 乙車道通車30S內(nèi),最后3秒乙車道黃燈閃爍,甲車道紅燈亮。 圖11 乙車道黃燈閃爍仿真 按下S4后,顯示P.,LED燈全部熄滅。 按下S3后,緊急情況通車,甲乙兩車道紅燈亮10S。 圖13 緊急情況仿真 4.3 誤差分析 交通燈在緊急情況下入棧后經(jīng)
20、過(guò)中斷程序后出棧的值會(huì)有所出入。 該誤差可能的產(chǎn)生原因是:(1)首先是采用的計(jì)時(shí)方案是軟件計(jì)時(shí)的,計(jì)時(shí)又是利用中斷來(lái)實(shí)現(xiàn)。而你開(kāi)啟定時(shí)器和開(kāi)啟LED燈順序上是有先后的,這個(gè)過(guò)程需時(shí)間的,所以就產(chǎn)生了一定的誤差,當(dāng)然這個(gè)誤差是避免不了的; (2) 設(shè)計(jì)用到12MHz的晶振,計(jì)算是滿20次為一秒鐘,但實(shí)際會(huì)慢很多; (3) 受到外部因素的影響,如溫度等 4.4 設(shè)計(jì)體會(huì) 通過(guò)本次課程設(shè)計(jì),我進(jìn)一步地掌握了單片機(jī)的接口技術(shù)以及匯編語(yǔ)言程序設(shè)計(jì)。在編寫程序之前,我首先好好的看了一下要用到的書上的內(nèi)容,然后理清思路,畫出大概的流程圖以后才開(kāi)始動(dòng)手編寫程序。 第一次寫這樣長(zhǎng)的程序,剛開(kāi)始時(shí)非
21、常害怕的,但在老師的指導(dǎo)下,通過(guò)分模塊的編寫,將一個(gè)大的程序分成幾個(gè)小程序編寫果然簡(jiǎn)單了許多。 我認(rèn)為本次課題的難點(diǎn)在與堆棧的使用,剛開(kāi)始因?yàn)閷?duì)斷點(diǎn)保護(hù)的不熟悉,反復(fù)幾次通過(guò)Proteus和Keil的驗(yàn)證才找出問(wèn)題并解決,讓我對(duì)著兩個(gè)軟件的功能有了更進(jìn)一步的認(rèn)識(shí)。 結(jié)束語(yǔ) 將本設(shè)計(jì)的程序下載到單片機(jī)中,通過(guò)測(cè)試,基本上完成了任務(wù)書的基本要求,并且在不外加干擾的情況下可以實(shí)現(xiàn)智能控制十字路口的車輛交通情況。但是因?yàn)槎〞r(shí)是用的延時(shí)編寫的程序,所以定時(shí)的精度有待進(jìn)一步提高 在設(shè)計(jì)過(guò)程中,畫電路圖制PCB板、打孔、溶銅
22、、焊接等,真的經(jīng)歷了許多困難,卻積累了很多寶貴的經(jīng)驗(yàn),在調(diào)試時(shí)出現(xiàn)異常,不過(guò)這些都是經(jīng)常性錯(cuò)誤,經(jīng)過(guò)調(diào)試修改都一一解決,程序順利完成,并實(shí)現(xiàn)了其功能。 由于使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。但是在我們?cè)O(shè)計(jì)和調(diào)試的過(guò)程中,也發(fā)現(xiàn)了一些問(wèn)題,譬如紅燈和綠燈的切換還不夠迅速,紅綠燈規(guī)則不效率還不是很高等等,這需要在實(shí)踐中進(jìn)一步完善。 當(dāng)然,通過(guò)這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我。 致謝
23、 通過(guò)本次課程設(shè)計(jì),我懂得了單片機(jī)學(xué)習(xí)的重要性,更是了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義,學(xué)會(huì)了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的榜樣。另外,要非常感謝我的指導(dǎo)老師王韌老師,是她細(xì)心的給我講解了許多關(guān)于AT89S52、獨(dú)立式鍵盤、數(shù)碼管顯示相關(guān)的知識(shí),并在設(shè)計(jì)過(guò)程中所遇到的難題都給了非常重要的意見(jiàn),是她指引我克服一個(gè)由一個(gè)的困難,讓我學(xué)會(huì)對(duì)困難無(wú)所畏懼,以及對(duì)問(wèn)題的一些很重要的思考方法。同時(shí),在我的實(shí)際作品的制作過(guò)程之中,得到的學(xué)校許多的同學(xué)的熱情的指導(dǎo)和詳細(xì)的說(shuō)明。此外,在實(shí)際程序的編寫的過(guò)程之中得到了別人的認(rèn)可,在遇到許多的不解困難的時(shí)候,自己班里的電子制作
24、的愛(ài)好者也給我提供的最詳細(xì)的解答,沒(méi)有以上的每一個(gè)人的幫助,我的單片機(jī)課程設(shè)計(jì)很難順利的完成,在此,我對(duì)于在我的設(shè)計(jì)和制作的過(guò)程中給予我?guī)椭拿恳粋€(gè)人一并表示感謝。 參考文獻(xiàn) [1]馬忠梅.單片機(jī)C程序設(shè)計(jì)[M],北京:北京航空航天大學(xué)出版社,2007 Ma Zhongmei. microcontroller C programming [M], Beijing: Beijing Aerospace University Press, 2007 [2]李廣弟.單片機(jī)基礎(chǔ)[M],北京:北京航空航天大學(xué)出版社,2007
25、 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] 張洪潤(rùn).蘭清華,單片機(jī)應(yīng)用技術(shù)教程[M],北京:清華大學(xué)出版社,1997.11. Zhang Hongrun
26、,Lan Qinghua, MCU application technology tutorial [M], Beijing: Tsinghua University Press, 1997.11. 附錄A 電路原理圖 圖14 電路原理圖 附錄B 電路PCB圖 圖15頂層PCB圖 圖16底層PCB圖 附
27、錄C 元器件布局圖 圖17元器件布局圖 附錄D 材料清單 表1 元器件清單 名稱 數(shù)量 參數(shù) 單片機(jī) 1個(gè) AT89S52 共陽(yáng)數(shù)碼管 2個(gè) 4位一體 晶振 1個(gè) 12MHz 發(fā)光二極管 9個(gè) 芯片插座 1個(gè) 20DIP 芯片插座 1個(gè) 40DIP 蜂鳴器 1個(gè) 按鍵 10個(gè) 排阻 4個(gè) 10K 下載口座子 1個(gè) 十芯 六腳按鍵開(kāi)關(guān) 1個(gè) USB電源線加接口 1個(gè)
28、 電阻 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)目功能:設(shè)計(jì)一個(gè)具有特定功能的十字路口交通燈。*/ /*項(xiàng)目所以單片機(jī)資
29、源:P0口輸出數(shù)碼管段控信號(hào), P2口輸出數(shù)碼管位控信號(hào), P1口接按鍵, P3口接流水燈; 晶振12MHz; 按鍵S1:P1.0,甲車道通車; 按鍵S2:P1.1,乙車道通車; 按鍵S3:P1.3,緊急情況通車; 按鍵S4:P1.2,復(fù)位顯示P.; 40H用于顯示緩沖區(qū)個(gè)位; 41H用于顯示緩沖區(qū)十位; 堆棧棧底:70H。*/ /*項(xiàng)目所用的顯示模塊:四位一體數(shù)碼管最后2位;
30、 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 IT0 MOV 40H ,#17 MOV
31、41H ,#16 ;顯示P. SETB P3.7 ;關(guān)閉所有燈 DD: LCALL KEY LJMP DD ;判有無(wú)按鍵按下 ;*********甲車道通60s********************************************** JIA: CLR P3.3 ;甲車道綠燈亮 CLR P3.5 ;乙車道紅燈亮 SETB P3.0 SETB
32、P3.6 ;關(guān)閉其他燈 MOV 40H ,#0 MOV 41H ,#6 ;初始化60S LCALL DELAY ;延時(shí)1秒并顯示 MOV R4 ,#05 LOOP1: DEC 41H ;十位減 MOV 40H ,#9 ;個(gè)位顯示9 LCALL DELAY LOOP2: DEC 40H ;個(gè)位減 LCALL DELAY MOV A ,40H CJNE A ,#00H ,L
33、OOP2 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 ;*************黃燈閃爍3s******************************************** HD1: CLR P3.4 ;甲車道黃燈亮 CLR P3.5
34、 ;乙車道紅燈亮 SETB P3.6 MOV 40H ,#3 MOV 41H ,#0 ;初始化3S LCALL DLY ;顯示500MS 并延時(shí) LCALL DLY ;顯示500MS 并延時(shí) LOOP4: DEC 40H LCALL DLY ;顯示500MS 并延時(shí) LCALL DLY ;顯示500MS 并延時(shí) MOV A ,40H CJNE A ,#
35、01H ,LOOP4 ;********乙車道30s*********************************************** JI: CLR P3.6 ;乙車道綠燈亮 CLR P3.0 ;甲車道紅燈亮 SETB P3.7 ;關(guān)閉其他燈 MOV 40H ,#0 MOV 41H ,#3 ;初始化30S LCALL DELAY ;延時(shí)1秒并顯示 MOV R3 ,#
36、02 LOOP5: DEC 41H ;十位減 MOV 40H ,#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 40
37、H LCALL DELAY MOV A ,40H CJNE A ,#04H ,DQ ;*********黃燈閃3s************************************************* HD2: CLR P3.7 ;乙車道黃燈亮 CLR P3.0 ;甲車道紅燈亮 SETB P3.4 MOV 40H ,#3 MOV 41H ,#0 ;初始化3S LCALL DL
38、Y ;顯示500MS 并延時(shí) LCALL DLY ;顯示500MS 并延時(shí) LOOP6: DEC 40H LCALL DLY ;顯示500MS 并延時(shí) LCALL DLY ;顯示500MS 并延時(shí) MOV A ,40H CJNE A ,#01H ,LOOP6 LJMP JIA ;******** 500ms延時(shí)************************************************** DLY:
39、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: LCALL DIR LCALL KEY
40、 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 ,@A+DPTR MOV P0 ,A
41、 ;送個(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 RET ;***********延時(shí)1ms********
42、*************************************** 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 PUSH ACC PUSH B MOV
43、B ,P3 MOV 45H ,40H MOV 46H ,41H CLR P3.1 CLR P3.5 ;亮兩個(gè)紅燈 SETB P3.6 ;關(guān)閉其他燈 MOV 40H ,#0 MOV 41H ,#1 ;初始化10秒 LCALL DELAY1 ;顯示并延時(shí)1S MOV 40H ,#9 MOV 41H ,#0 ;顯示09 LCALL DELAY1 ;顯示并延時(shí)1S B
44、B: DEC 40H LCALL DELAY1 ;顯示并延時(shí)1S MOV A ,40H CJNE A ,#00H ,BB MOV P3 ,B MOV 40H ,45H MOV 41H ,46H POP B POP ACC POP PSW CLR IE0 RETI ;********中斷調(diào)的延1s********************************************** DELAY1: MOV A
45、,R3 PUSH ACC MOV R3 ,#250 LOOP51: LCALL DIR ;調(diào)顯示 LCALL DL LCALL DL DJNZ R3 ,LOOP51 POP ACC MOV R3 ,A RET ;********鍵盤掃描**************************************************** KEYSAO: LCALL KEYCHULI JZ EXIT LCALL DL LC
46、ALL DL ;去抖動(dòng) LCALL KEYCHULI JZ EXIT MOV B ,20H KEYSF: LCALL KEYCHULI JZ KEY110 LCALL DL LCALL DL ;去抖動(dòng) LJMP KEYSF KEY110: MOV 20H ,B EXIT: RET KEYCHULI:PUSH PSW CLR RS1 SETB RS0 MOV P
47、1 , #0FFH MOV A , P1 CPL A ANL A , #0FH MOV 20H , A CLR RS1 CLR RS0 POP PSW RET ;*********按鍵功能判斷********************************************
48、** KEY: LCALL DIR ;調(diào)顯示子程序 LCALL KEYSAO ;調(diào)鍵盤掃描子程序 MOV A, 20H ;鍵值送A KEY0: CJNE A , #01H , KEY1 LJMP JIA KEY1: CJNE A , #02H , KEY2 LJMP
49、 JI KEY2: CJNE A , #08H , KEY3 LJMP MAIN KEY3: RET ;********段碼表(陽(yáng))************************************************* TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH END 附錄F 電路CAD圖
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案