版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
./上傳者:jdchen;十字路口交通燈控制的程序;**************************************;****四鍵****緊急情況***南北綠燈加長****東西綠燈加長*****復(fù)位*** ;**************************************;***********P1口作為指示燈*********** ORG0000HSJMPMAIN ORG0030HMAIN:MOVSP,#0A0H ;設(shè)置指針指向A0H單元MOV7AH,#00H ;數(shù)據(jù)緩存區(qū)7AMOV7BH,#00H ;數(shù)據(jù)緩存區(qū)7BMOV7CH,#00H ;數(shù)據(jù)緩存區(qū)7CMOV7DH,#00H ;數(shù)據(jù)緩存區(qū)7D MOVB,#00H ;B是用來存第一個鍵按下的次數(shù)的,第一次按下B變成01H,第二次按下跳出程序,恢復(fù)成00H MOVP1,#0FFH ;滅掉P1口的所有燈;。。。。。。。。。。。。。。。。 CLRP1.0 ;東西方向亮紅燈 MOV7DH,#03 ;1這兩句存前兩個8段顯示器顯示的數(shù)字35,也就是紅燈亮的時間 MOV7CH,#05 ;2 CLRP1.6 ;南北方向亮綠燈 MOV7BH,#03 ;1這兩句存后兩個8段顯示器顯示的數(shù)字30,也就是綠燈亮的時間 MOV7AH,#00 ;2 MOVR2,#30 ;循環(huán)的次數(shù)〔30次,一次1秒,共30秒 M1: LCALLR_AND_G ;調(diào)用顯示外加延時子程序 DJNZR2,M1 ;判斷是否已循環(huán)了30次,沒有就繼續(xù)循環(huán),如果循環(huán)完了就執(zhí)行下一行語句 MOVR2,#05 ;南北方綠燈亮的顯示時間,5秒 MOV7AH,#05H ;1這兩句存后兩個8段顯示器顯示的數(shù)字05 MOV7BH,#00H ;2 SETBP1.6 ;滅掉南北方向的綠燈 M2: LCALLYELLOW1 ;調(diào)用黃燈閃爍--外加延時--外加顯示子的程序 DJNZR2,M2 ;判斷是否循環(huán)了5次,沒有就繼續(xù)循環(huán),如果循環(huán)完了就執(zhí)行下一行語句 MOVP1,#0FFH ;關(guān)掉所有的燈;。。。。。。。。。。。。。。。。 CLRP1.1 ;東西方向亮綠燈 MOV7DH,#03 ;1這兩句存前兩個8段顯示器顯示的數(shù)字30,也就是綠燈亮的時間 MOV7CH,#00 ;2 CLRP1.5 ;南北方向亮紅燈 MOV7BH,#03 ;1這兩句存后兩個8段顯示器顯示的數(shù)字35,也就是紅燈亮的時間 MOV7AH,#05 ;2 MOVR2,#30 ;循環(huán)的次數(shù)〔30次,一次1秒,共30秒 M3: LCALLR_AND_G ;調(diào)用顯示外加延時子程序 DJNZR2,M3 ;判斷是否已循環(huán)了30次,沒有就繼續(xù)循環(huán),如果循環(huán)完了就執(zhí)行下一行語句 MOVR2,#05 ;東西方向綠燈的顯示時間,5秒 MOV7CH,#05H ;1這兩句后兩個8段顯示器顯示的數(shù)字05 MOV7DH,#00H ;2 SETBP1.1 ;滅掉第東西方向的綠燈 M4: LCALLYELLOW2 ;調(diào)用黃燈閃爍--外加延時--外加顯示子的程序 DJNZR2,M4 ;判斷是否循環(huán)了5次,沒有就繼續(xù)循環(huán),如果循環(huán)完了就執(zhí)行下一行語句 LJMPMAIN ;跳到MAIN,循環(huán)執(zhí)行MAIN;。。。1鍵KEY_1:CJNEA,#01H,KEY_2;判斷1鍵是否按下,不是則跳到KEY_2 INCB ;給B自加一 MOVR0,B ;把B中的容存入R0 CJNER0,#01H,S3 ;判斷R0中的容是否為01H,是就往下執(zhí)行,不是就跳到S3,〔注:第二次按下的時候R0肯定不為01H,這時候就會跳到S3,執(zhí)行復(fù)位語句 MOV7AH,#05H ;1--這兩句置南北方向黃燈閃爍的時間05 MOV7BH,#00H ;2--MOV7CH,#05H ;1--這兩句置東西方向黃燈閃爍的時間05MOV7DH,#00H ;2-- MOVP1,#0FFH ;燈全滅 S1: CLRP1.3 ;點亮東西方向的黃燈 CLRP1.7 ;點亮南北方向的黃燈 LCALLDELAYEX ;延時 CJNEA,#0FFH,KEY_1 ;掃描鍵盤 SETBP1.3 ;熄滅東西方的黃燈 SETBP1.7 ;熄滅南北方向的黃燈 LCALLDELAYEX ;延時 CJNEA,#0FFH,KEY_1 ;掃描鍵盤 DEC7CH ;7CH容自減一 DJNZ7AH,S1 ;7AH自減一〔這一句會給7AH容自減一,然后判斷它是否和0相等 MOV7AH,#08H ;7AH置成08H MOV7BH,#08H ;7BH置成08H MOV7CH,#08H ;7CH置成08H MOV7DH,#08H ;7DH置成08H MOVP1,#0FFH ;熄滅所有的燈 CLRP1.0 ;東西方向的紅燈點亮 CLRP1.5 ;南北方向的紅燈點亮 S2: LCALLDISPLAY ;調(diào)用顯示程序 LCALLKEY ;調(diào)用鍵盤掃描程序 CJNEA,#0FFH,KEY_1 ;判斷是否有鍵按下,有鍵按下就跳到KEY_1,沒鍵按下就執(zhí)行下一跳語句 SJMPS2 ;跳到S2 S3:LJMPMAIN ;跳到MAIN,復(fù)位;。。。2鍵KEY_2: CJNEA,#02H,KEY_3;判斷2鍵是否按下,不是則跳到KEY_3ST1:MOVP1,#0FFH ;熄滅所有的燈 MOVB,#00H ;給寄存器B清零;。。。。。。。。。。。。。。。。 CLRP1.0 ;東西方向亮紅燈 MOV7DH,#06 ;1--前兩個顯示器置成65,紅燈的顯示秒數(shù) MOV7CH,#05 ;2-- CLRP1.6 ;南北方向路口亮綠燈 MOV7BH,#06 ;1--后兩個顯示器置成60,綠燈的顯示秒數(shù) MOV7AH,#00 ;2-- MOVR2,#60 ;R2存循環(huán)次數(shù),一次大約1秒,共60秒 M5: LCALLR_AND_G ;調(diào)用減一外加延時子程序 DJNZR2,M5 MOVR2,#05 ;R2存循環(huán)次數(shù),一次大約1秒,共5秒,是第二個路口黃燈的閃爍時間 MOV7AH,#05H ;1--后兩個顯示器置成05,黃燈的顯示秒數(shù) MOV7BH,#00H ;2-- SETBP1.6 ;熄滅南北方向的綠燈 M6: LCALLYELLOW1 ;調(diào)用南北方向點亮黃燈外加黃燈閃爍外加延時的子程序 DJNZR2,M6 MOVP1,#0FFH ;熄滅所有的燈;。。。。。。。。。。。。。。。。 CLRP1.1 ;東西方向亮綠燈 MOV7DH,#06 ;1--前兩個顯示器置成60,綠燈的顯示秒數(shù) MOV7CH,#00 ;2-- CLRP1.5 ;南北方向亮紅燈 MOV7BH,#06 ;1--后兩個顯示器置成65,紅燈的顯示秒數(shù) MOV7AH,#05 ;2-- MOVR2,#60 ;R2存循環(huán)次數(shù),一次大約1秒,共60秒 M7: LCALLR_AND_G ;調(diào)用減一外加延時子程序 DJNZR2,M7 MOVR2,#05 ;R2存循環(huán)次數(shù),一次大約1秒,共5秒,是東西方向黃燈的閃爍時間 MOV7CH,#05H ;1--前兩個顯示器置成05,黃燈的顯示秒數(shù) MOV7DH,#00H ;2-- SETBP1.1 ;熄滅東西方向的綠燈 M8: LCALLYELLOW2 ;調(diào)用東西方向點亮黃燈外加黃燈閃爍外加延時的子程序 DJNZR2,M8 SJMPST1 ;跳到ST1,循環(huán)執(zhí)行;。。。3鍵KEY_3:CJNEA,#04H,KEY_4 ;判斷3鍵是否按下,不是則跳到KEY_4ST2:MOVP1,#0FFH ;〔KEY_3的程序和KEY_2的類似,可以用KEY_2做參照 MOVB,#00H ;〔不同的就是點亮的燈的順序有點不同,和置的數(shù)有點不同;。。。。。。。。。。。。。。。。 CLRP1.1 MOV7DH,#06 MOV7CH,#00 CLRP1.5 MOV7BH,#06 MOV7AH,#05 MOVR2,#60 M9: LCALLR_AND_G DJNZR2,M9 MOVR2,#05 MOV7CH,#05H MOV7DH,#00H SETBP1.1 M10:LCALLYELLOW2 DJNZR2,M10 MOVP1,#0FFH;。。。。。。。。。。。。。。。。 CLRP1.0 MOV7DH,#06 MOV7CH,#05 CLRP1.6 MOV7BH,#06 MOV7AH,#00 MOVR2,#60 M11:LCALLR_AND_G DJNZR2,M11 MOVR2,#05 MOV7AH,#05H MOV7BH,#00H SETBP1.6 M12:LCALLYELLOW1 DJNZR2,M12 SJMPST2;。。。4鍵 ,復(fù)位鍵KEY_4:CJNEA,#08H,TRANSIT ;如果4鍵按下,就跳到MAIN-復(fù)位〔TRANSIT是一個中轉(zhuǎn)程序,因為超出了CJNE跳轉(zhuǎn)圍,因此需要用到中轉(zhuǎn) LJMPMAIN;中轉(zhuǎn)程序。。。。。。TRANSIT:LJMPKEY_1;。。。。。。。。。。下面是鍵盤掃描程序<4068個機器周期>。。。。。。。。。 KEY: PUSHPSW ;2 SETBRS0 ;1 MOVP0,#0FFH ;2 MOVP2,#0FFH ;2 MOVA,P2 ;1 CPLA ;1取反 JZRET1 ;2 ACALLDELAY ;2024 ACALLDELAY ;2024 SJMPRETKEY ;2 RET1:MOVA,#0FFH ;1 RETKEY:CLRRS0 ;1 POPPSW ;2 RET ;2;。。。。。。。。。。顯示子程序<2041>。。。。。。。。。。DISPLAY:SETBRS0MOVA,#0EFH ;顯示外加延時,延時1秒 **從這里往下到注釋"3"共6038個機器周期;1 MOVR0,#7AH ;1LOOP1:MOVDPTR,#TAB ;2循環(huán)共8156個機器周期 MOVP2,A ;1 MOVR1,A ;將A存起來 ;1 MOVA,R0 ;1 MOVCA,A+DPTR;2 MOVP0,A ;1 MOVA,R1 ;將A取出來,到此11個機器周期 ;1 LCALLDELAY ;2026 INCR0 ;1 RLA ;1 CJNEA,#0FEH,LOOP1 ;2 CLRRS0 RET ;2 ;。。。。。。。。。。下面是延時程序<短約2毫秒>2024個機器周期。。。。。。。。。。。。DELAY: MOVR6,#05 ;2個機器周期D2: MOVR7,#200 ;2 DJNZR7,$ ;2個機器周期 DJNZR6,D2 ;2 RET ;2;。。。。。。。。。。延時500毫秒子程序。。。。。。。。。。DELAYEX:MOVR5,#41J1:LCALLDISPLAY LCALLKEY DJNZR5,J1 RET;。。。。。。。。。。顯示的數(shù)字自減一。。。。。。。。。。SU:DEC7AH DEC7CH RET;。。。。。。。。。顯示自減<紅綠用>。。。。。。。。。R_AND_G:LCALLDELAYEX ;1這4句大概延時1秒 CJNEA,#0FFH,TRANSIT ;2 LCALLDELAYEX ;3 CJNEA,#0FFH,TRANSIT ;4 LCALLSU ;調(diào)用子程序SU LCALLXAB ;調(diào)用子程序XAB LCALLXCD ;調(diào)用子程序XCD RET;。。。。。。。。。。南北方向黃燈專用。。。。。。。。。。YELLOW1:CLRP1.7 ;黃燈點亮〔第二個路口 LCALLDELAYEX ;延時1這兩句大概500毫秒 CJNEA,#0FFH,TRANSIT ;延時2 SETBP1.7 ;黃燈熄滅〔第二個路口 LCALLDELAYEX ;延時1這兩句大概500毫秒 CJNEA,#0FFH,TRANSIT ;延時2 LCALLSU ;調(diào)用子程序SU LCALLXAB ;調(diào)用子程序XAB LCALLXCD ;調(diào)用子程序XCD RET;。。。。。。。。。。東西方向黃燈專用。。。。。。。。。。YELLOW2:CLRP1.3 ;這個和上面的YELLOW1差不多 LCALLDELAYEX CJNEA,#0FFH,TRANSIT02 SETBP1.3 LCALLDELAYEX CJNEA,#0FFH,TRANSIT02 LCALLSU LCALLXAB LCALLXCD RET;。。。。。。。。。。中轉(zhuǎn)02.。。。。。。。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 親子教育項目居間合同樣本
- 電影院裝修服務(wù)合同范本
- 農(nóng)藥購銷合同樣本
- 三農(nóng)村公共環(huán)境治理體系建設(shè)指南
- 生產(chǎn)管理實務(wù)操作流程詳解
- 網(wǎng)絡(luò)教育技術(shù)運用與發(fā)展趨勢研究報告與指導(dǎo)書
- 鋼化玻璃采購合同書
- 購買豆腐的合同
- 2025年陽江b2貨運上崗證模擬考試
- 小學(xué)三年級上冊口算練習(xí)500題
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識題庫及答案(共330題) (二)
- 《住院患者身體約束的護理》團體標(biāo)準(zhǔn)解讀課件
- 《上消化道出血診療指南》講稿
- 電商部售后客服績效考核表
- 小提琴協(xié)奏曲《梁?!纷V
- 人教版高中化學(xué)必修一第一章《物質(zhì)及其變化》教學(xué)課件
- 復(fù)工復(fù)產(chǎn)工作方案范本【復(fù)產(chǎn)復(fù)工安全工作方案】
- HyperMesh100基礎(chǔ)培訓(xùn)教程
- 化工裝置實用操作技術(shù)指南講解
- 春季高考英語《大綱短語》(218個核心詞匯相關(guān)短語)
- 護理文書書寫規(guī)范ppt課件
評論
0/150
提交評論