該在哪個地方加入七段顯示器的功能?? |
尚未結案
|
chennehc000
一般會員 發表:1 回覆:0 積分:0 註冊:2008-06-06 發送簡訊給我 |
以下是一個顯示紅燈跟綠燈,等綠燈延時完,就跳至黃燈,黃燈閃爍的程式
請問我該再哪邊加入七段顯示器...使它會在綠燈亮時倒數10秒..在跳黃燈...黃登延遲一下..在跳紅燈 麻煩各位先進指導....感謝 ORG 0000H JMP START START: MOV P2,#11011110B MOV R4,#150 CALL DELAY MOV R3,#10 LOOP1: MOV P2,#11011101B MOV R4,#5 CALL DELAY MOV P2,#11011111B MOV R4,#5 CALL DELAY DJNZ R3,LOOP1 MOV P2,#11110011B MOV R4,#150 CALL DELAY MOV R3,#10 LOOP2: MOV P2,#11101011B MOV R4,#5 CALL DELAY MOV P2,#11111011B MOV R4,#5 CALL DELAY DJNZ R3,LOOP2 JMP START DELAY: MOV R6,#40 DEL1: MOV R7,#150 DJNZ R7,$ DJNZ R6,DEL1 DJNZ R4,DELAY RET END |
penguin5
資深會員 發表:116 回覆:317 積分:431 註冊:2004-05-09 發送簡訊給我 |
以下的寫法是最笨的方法,但是很容易看懂,此程式可以再減化
[code c#] ; ; 共並陽7節LED ; ; 十位數 7節LED接腳定義 P0.0→A P0.1→B P0.2→C P0.3→D P0.4→E P0.5→F P0.6→G ; 個位數 7節LED接腳定義 P1.0→A P1.1→B P1.2→C P1.3→D P1.4→E P1.5→F P1.6→G ; XR REG P2.0 ; X軸 紅燈 XY REG P2.1 ; X軸 黃燈 XG REG P2.2 ; X軸 綠燈 YR REG P2.3 ; Y軸 紅燈 YY REG P2.4 ; Y軸 黃燈 YG REG P2.5 ; Y軸 綠燈 ORG 0H MOV P2,#11111111B ;初始化,將XY軸 紅黃綠燈開閉 JMP START ;=============================================================== START: ;=================================================================== ; X軸 綠燈 亮 Y軸 紅燈 亮 ;====================================================================== MOV P0,#F9H ; 十位數 顯示1 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 MOV P1,#COH ; 個位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 CLR XG ; X軸 綠燈 亮 CLR YR ; Y軸 紅燈 亮 CALL S1 ; 延時一秒 ;-------------------------------------------------------- MOV P0,#COH ; 十位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 MOV P1,#9OH ; 個位數 顯示9 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 CLR XG ; X軸 綠燈 亮 CLR YR ; Y軸 紅燈 亮 CALL S1 ; 延時一秒 ;-------------------------------------------------------- MOV P0,#COH ; 十位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 MOV P1,#8OH ; 個位數 顯示8 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 CLR XG ; X軸 綠燈 亮 CLR YR ; Y軸 紅燈 亮 CALL S1 ; 延時一秒 ;請接下繼續寫7秒6秒5秒4秒3秒2秒1秒 ;====================================================================================================== MOV P0,#COH ; 十位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 MOV P1,#COH ; 個位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 SETB XG ; X軸 綠燈 熄 CLR XY ; X軸 黃燈 亮 MOV R5,#25 CALL DELAY_2 ; 延時 1/4秒 SETB XY ; X軸 黃燈 熄 MOV R5,#25 CALL DELAY_2 ; 延時 1/4秒 CLR XY ; X軸 黃燈 亮 MOV R5,#25 CALL DELAY_2 ; 延時 1/4秒 SETB XY ; X軸 黃燈 熄 ;=================================================================== ; Y軸 綠燈 亮 X軸 紅燈 亮 ;============================================================================================================== MOV P0,#F9H ; 十位數 顯示1 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 MOV P1,#COH ; 個位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 CLR YG ; Y軸 綠燈 亮 CLR XR ; X軸 紅燈 亮 CALL S1 ; 延時一秒 ;請接下繼續寫9秒8秒7秒6秒5秒4秒3秒2秒1秒 ;========================================================================================= MOV P0,#COH ; 十位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 MOV P1,#COH ; 個位數 顯示0 ;C0,F9,A4,B0,99,92,82,F8,80,90, 共陽LED 0~9 SETB YG ; Y軸 綠燈 熄 CLR YY ; Y軸 黃燈 亮 MOV R5,#25 CALL DELAY_2 ; 延時 1/4秒 SETB YY ; Y軸 黃燈 熄 MOV R5,#25 CALL DELAY_2 ; 延時 1/4秒 CLR YY ; Y軸 黃燈 亮 MOV R5,#25 CALL DELAY_2 ; 延時 1/4秒 SETB YY ; Y軸 黃燈 熄 JMP START ; 迴旋重新開始 ;======================================================== ; 延時副程式 (R5)*10MS 1000MS = 1S 1S = 1秒 ;======================================================== DELAY_2: MOV R6,#50 E3: MOV R7,#100 DJNZ R7,$ DJNZ R6,E3 DJNZ R5,DELAY_2 RET ;================================================================= S1: MOV R5,#100 CALL DELAY_2 ; 延時 1秒 RET END [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |