8051單色LED(8×8)跑馬燈 |
缺席
|
克拉克‧肯特
一般會員 發表:1 回覆:0 積分:0 註冊:2005-04-30 發送簡訊給我 |
寫了好久~寫不出來~才上沒幾節課就要期中考了~"~
要寫(8×8單色LED)文字跑馬燈(往左移動)
我是用Simlab_8051模擬器寫的~
眼看時間剩不到4小時= =
以下是課本的範例(顯示台中),每行的分號都是註解
老師要求要寫不一樣的....
偏偏這位老師的課佔了8個學分~
怎麼辦阿~"~,不想被當~~~
知道怎麼寫的大大,麻煩救我一命阿~"~
START: MOV DPTR,#TAI ;DPTR=TAI之位置值 MOV R3,#TAI1-TAI 1 ;計算資料長度 OK: MOV R2,#0AH ;R2=#0AH,重複掃描十次 MOVE: ACALL SCAN ;呼叫掃描 DJNZ R2,MOVE ;R2=R2-1,若不為0則跳至MOVE INC DPTR ;DPTR=DPTR 1,資料位置 1 DJNZ R3,OK ;R3=R3-1,若不為0則跳至OK JMP START ;GOTO START,跳到START執行 INCLUDE DELAY.INC ;延遲副程式資料庫 SCAN: MOV R1,#0 ;R1=#0,資料指標 MOV R5,#7FH ;R5=#7F,初值掃描線 MOV R4,#8 ;R4=#8,8條掃描線 LOOP: MOV P1,#0FFH ;關閉共陽,避免資料不穩而閃爍 MOV A,R1 ;A=R1 MOVC A,@A DPTR ;把DPTR所指之資料傳給累加器 MOV P0,A ;P0=A,累加器資料由PORT0輸出給點矩陣顯示 MOV P1,R5 ;P1=R5,送出掃描線 ACALL DELAY1MS ;呼叫延遲副程式,延遲1毫秒 MOV A,R5 ;A=R1 RR A ;A=A->A,下一條掃描線 MOV R5,A ;R5=A,得新值掃描線 INC R1 ;R1=R1 1,資料指標加一 DJNZ R4,LOOP ;R4=R4-1,若不為0則跳至LOOP RET TAI: DB 0FFH,0FFH,0FFH,0FFH ;空白 DB 0FFH,0FFH,0FFH,0FFH ;空白 DB 0FFH,0EFH,0C1H,0A5H ;台 DB 065H,0C1H,0EFH,0FFH ;台 DB 0FFH,0C7H,0D7H,001H ;中 DB 0D7H,0C7H,0FFH,0FFH ;中 TAI1: DB 0FFH,0FFH,0FFH,0FFH ;空白 DB 0FFH,0FFH,0FFH,0FFH ;空白 END請參考版規中"作業問題"作修改!! 發表人 - ㊣ 於 2005/04/30 10:17:28 |
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |