下載手機(jī)汽配人

急求!!!改編智能交通燈控制器!qq:419792994 能幫忙的程序可以給你!幫忙改編一下,十分緊急!

仿真開(kāi)始時(shí)南北向綠燈亮,東西向紅燈亮,同時(shí)數(shù)碼管顯示從10s開(kāi)始進(jìn)行倒計(jì)時(shí),過(guò)3s后,剩余3s紅綠燈都不亮,轉(zhuǎn)為四個(gè)方向的黃燈,每隔一秒亮一次,3s完成后,即主干道通行10s。開(kāi)始轉(zhuǎn)向?yàn)槟媳毕蚣t燈亮東西向綠燈亮,同時(shí)數(shù)碼管顯示從8s開(kāi)始計(jì)時(shí),過(guò)3s后,剩余3s紅綠燈都不亮,轉(zhuǎn)為四個(gè)方向的黃燈,每隔一秒亮一次,3s完成后,即次干道通行8s。2. 當(dāng)有緊急情況發(fā)生時(shí),可人為控制某一路的通斷,如南北向有緊急情況,可人為按下SB2按鈕,此時(shí)南北向綠燈亮,東西向紅燈亮,數(shù)碼管顯示從10s開(kāi)始倒計(jì)時(shí),即給主干道通行時(shí)間增加到了10s,以緩解交通壓力。如東西向(次干道)有緊急情況,可人為按下SB1按鈕,下面情況與上面主干道情況類似。
問(wèn) 提問(wèn)者:網(wǎng)友 2017-09-20
最佳回答
;*--------------------------------交通燈控制程序------------------------------------------*;*--------------------------------MCS-51匯編語(yǔ)言----------------------------------------*;*--------------------------------用AT89S51單片機(jī),12MHz晶振-------------------*;*--------------------------------程序名:交通燈.ASM-----------------------------------*;*--------------------------------交通燈控制系統(tǒng)程序------------------------------------* ORG 0000H ;主程序的入口地址 AJMP START ;跳轉(zhuǎn)到主程序的開(kāi)始處 ORG 0003H ;外部中斷0的中斷程序入口地址 AJMP INT ;跳轉(zhuǎn)到中斷服務(wù)程序處 ORG 000BH AJMP DISP ORG 001BH AJMP TIME ORG 0030H;*--------------------------------初始化--------------------------------------------------*START:MOV SP,#60H MOV P1,#0 MOV R3,#0 MOV TMOD,#11H ;定時(shí)器T0,T1定時(shí)方式且都工作于模式1 MOV TH0,#0D8H ;10ms定時(shí) MOV TL0,#0F0H MOV TH1,#03CH ;50ms定時(shí) MOV TL1,#0B0H ;初值15536 SETB EA ;總中斷開(kāi) SETB IT0 ;脈沖觸發(fā)方式IT=1 SETB EX0 ;開(kāi)外部中斷0 SETB ET0 ;開(kāi)定時(shí)中斷0 SETB ET1 ;開(kāi)定時(shí)中斷1 SETB TR0 ;開(kāi)啟定時(shí)器0 SETB TR1 ;開(kāi)啟定時(shí)器1;*--------------------------------主程序--------------------------------------------------*MAIN:SETB P1.0 ;開(kāi)東西綠燈 SETB P1.5 ;開(kāi)南北紅燈 MOV R2,#40 ;東西綠燈亮40sLOOP:MOV 30H,R2 MOV A,R2 MOV 32H,A MOV 33H,A JNB 00H,NEXT ;00H標(biāo)志位為1說(shuō)明有救護(hù)車到達(dá),需要執(zhí)行相應(yīng)的設(shè)置 ACALL HELP ;調(diào)用10s救護(hù)車處理程序NEXT:CJNE R2,#0,LOOP MOV 30H,#0 MOV 32H,#5 ;關(guān)東西綠燈 MOV 33H,#5 SETB P1.1 ;東西黃燈閃5s SETB P1.4 ;南北黃燈閃5s MOV R2,#5LOOP1:MOV 30H,R2 MOV 32H,R2 JNB 00H,NEXT1 ACALL HELPNEXT1:ACALL DELAY1 ;延時(shí)0.08s SETB P1.1 ;東西黃燈閃5s SETB P1.4 ;南北黃燈閃5s ACALL DELAY1 ;延時(shí)0.08s CLR P1.1 ;關(guān)東西黃燈 CLR P1.4 ;關(guān)南北黃燈 CJNE R2,#0,LOOP1 ;時(shí)間未到零,繼續(xù)循環(huán) MOV 30H,#0 MOV 32H,#0 CLR P1.0 ;關(guān)東西綠燈 CLR P1.1 ;關(guān)東西綠燈 CLR P1.4 ;關(guān)南北黃燈 CLR P1.5 ;關(guān)南北紅燈 SETB P1.2 ;開(kāi)東西紅燈 SETB P1.3 ;開(kāi)南北綠燈 MOV R2,#60 ;東西紅燈亮60sLOOP2:MOV 30H,R2 MOV A,R2 MOV 32H,A JNB 00H,NEXT2 ACALL HELPNEXT2:CJNE R2,#5,LOOP2 MOV 32H,#0 SETB P1.1 ;東西黃燈閃5s SETB P1.4 ;南北黃燈閃5sLOOP3: MOV 30H,R2 MOV 32H,R2 JNB 00H,NEXT3 ACALL HELPNEXT3:ACALL DELAY1 SETB P1.1 SETB P1.4 ACALL DELAY1 CLR P1.1CLR P1.4 CJNE R2,#0,LOOP3 MOV 30H,#0 MOV 32H,#0 CLR P1.1 ;關(guān)東西黃燈CLR P1.2 ;關(guān)東西紅燈 CLR P1.3 ;關(guān)南北綠燈CLR P1.4 ;關(guān)南北黃燈 AJMP MAINDELAY1:MOV 55H,#200YS: MOV 56H,#200 DJNZ 56H,$ DJNZ 55H,YSRET;*-------------------------------緊急響應(yīng)子程序-----------------------------------------*HELP:MOV 50H,R2 ;保護(hù)R2 MOV 51H,P1 ;保護(hù)R1 MOV P1,#0 SETB P1.2 ;東西紅燈亮 SETB P1.5 ;南北紅燈亮 MOV R2,#10 ;東南西北紅燈亮10sD1:MOV 30H,R2 MOV 32H,R2 CJNE R2,#0,D1 MOV 30H,#0 MOV 32H,#0 CLR 00H MOV R2,50H MOV P1,51H RETI;*-------------------------------外部中斷服務(wù)程序-----------------------------------------*INT:CLR EA PUSH ACC PUSH PSW SETB 00H ;清標(biāo)志位00H POP PSW POP ACC SETB EA RETI;*-------------------------------顯示中斷處理程序-----------------------------------------*DISP:CLR EA CLR TR0 PUSH ACC PUSH PSW ACALL HEXBCD ;把十六進(jìn)制數(shù)變成十進(jìn)制數(shù) MOV A,30H JNZ QING1 ;為零不顯示 MOV 40H,#10 MOV 41H,#10QING1:MOV A,32H JNZ QING2 ;為零不顯示 MOV 44H,#10H MOV 45H,#10HQING2:MOV R0,#40H ;R0指向顯示緩沖區(qū)首地址 MOV R1,#0000001B ;首位位選字送R1LD0:MOV P2,R1 ;從P2口輸出位選碼 MOV DPTR,#TAB MOV A,@R0 ;取要顯示的數(shù) MOVC A,@A+DPTR ;查表獲得七段碼 MOV P0,A ;從P0口輸出段選碼 ACALL DELAY ;調(diào)用延時(shí)程序 INC R0 ;指向緩沖區(qū)下一單元 MOV A,R1 ;位選碼送A JB ACC.5,EXIT1 ;判六位是否顯示完,顯示完畢返回 RL A ;未顯示完畢,將位選碼變成下一個(gè)選字 MOV R1,A ;修改后的為選碼送R1 AJMP LD0 ;循環(huán)選手EXIT1:MOV TH0,#0D8H ;定時(shí)10s MOV TL0,#0F0H POP PSW POP ACCSETB TR0 ;開(kāi)定時(shí)器0 SETB EA ;開(kāi)中斷中開(kāi)關(guān) RETI ;中斷返回;*-------------------------------十六進(jìn)制轉(zhuǎn)十進(jìn)制子程序-----------------------------------*HEXBCD:MOV A,30H MOV B,#10 DIV AB MOV 40H,B MOV 41H,A MOV 42H,#10 MOV 43H,#10 MOV A,32H MOV B,#10 DIV AB MOV 44H,B MOV 45H,A RET;*---------------------------------1ms延時(shí)子程序------------------------------------------*DELAY:MOV R5,#10DEL:MOV R6,#50 DJNZ R6,$ DJNZ R5,DEL RET;*---------------------------------定時(shí)中斷處理程序---------------------------------------*TIME:CLR EA CLR TR1 PUSH ACC PUSH PSW INC R3 CJNE R3,#20,EXIT0 ;50ms*20=1s定時(shí) MOV R3,#0 DEC R2EXIT0:MOV TH1,#3CH ;50ms定時(shí) MOV TL1,#0B0H POP PSW POP ACC SETB TR1 SETB EA RETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00HEND
回答者:網(wǎng)友
產(chǎn)品精選
搜索問(wèn)答
還沒(méi)有汽配人賬號(hào)?立即注冊(cè)

我要提問(wèn)

汽配限時(shí)折扣

本頁(yè)是網(wǎng)友提供的關(guān)于“急求!!!改編智能交通燈控制器!qq:419792994 能幫忙的程序可以給你!幫忙改編一下,十分緊急!”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。