自從加入痞酷以來也有一年多的時間了, 看見網內許多大老都在玩單晶片MCU,
尤其是阿乾師傅更是發表過無數的"玩具"...搖搖棒..十字旋轉燈..矩陣字幕跑馬燈...
讓我回想起當年學生時代,一些因故中斷的玩具-------矩陣字幕跑馬燈。
求學時就想用微處理機(類似小教授)加上 LED 矩陣來做跑馬燈(約30年前....)
當時環境不像現在,遇到問題,有網路可以求援,就只能閉門造車。
畢業後,當兵退伍,時過境遷,直到加入痞酷....又想起了這些寶貝........
下列這4張圖片就是當年所作的半成品.......
請教過痞酷內的幾位專門玩單晶片的老師傅,也買了幾本參考書回來研讀,
利用閒暇空檔,幾個月下來,終於有了初步的認識,照著書本製作了一個小實驗....
還請各位晶片達人....不吝賜教!!!........
書本原始的線路圖(有自行稍微再增加一些些線路)
PCB板的正反面
書本原始的線路圖只有接P1..P2..來推一個單(紅)色8 X 8 LED 矩陣,.
手上的是雙色8 X 8 LED 矩陣(跟WISH老大買的),想說既然是雙色的,就不要浪費了,
就加裝P0線路(多了一個74LS245和提升排阻),可以顯示綠色的字體,
順便加裝4個按鍵(上下左右),以後可以讓字體移動(這部分尚未完成,程式功力還不夠)
等對程式有進一步的認識,再來交叉顯示雙色字體。
下面是書本所附贈的程式 : 動態左移顯示字元..A..B..C..D 4個字
CNT EQU 40H
COLS EQU 41H
NEXTPTR EQU 42H
SCANLINE EQU 43H
ORG 00H
AJMP START
ORG 0BH
AJMP TIMER0
;
START: MOV SP,#60H
ACALL INIT
SETB TR0
MOV DPTR,#PATTERN
MOV R0,#20H ATTERN 1
MOV R4,#0
MOV R2,#8 ;8 BYTE
S1: MOV A,R4
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC R4
DJNZ R2,S1
S2: MOV A,NEXTPTR
ADD A,#8
CJNE A,#32,S3
S3: JC S4
CLR A
S4: MOV NEXTPTR,A
MOV R4,A
MOV R0,#28H ATTERN 2
MOV R2,#8
S5: MOV A,R4
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC R4
DJNZ R2,S5
MOV R3,#8
S6: ACALL DELAY
ACALL SHIFTL
DJNZ R3,S6
SJMP S2
;
INIT: MOV CNT,#8
MOV NEXTPTR,#0
MOV COLS,#8
MOV R1,#20H
MOV SCANLINE,#10000000B
MOV R3,#8
MOV TMOD,#2
SETB EA
SETB ET0
MOV TH0,#6
MOV TL0,#6
RET
;
DELAY: PUSH ACC
MOV R6,#250
D1: MOV R7,#200
DJNZ R7,$
DJNZ R6,D1
POP ACC
RET
;
SHIFTL: PUSH ACC
SETB RS0
CLR TR0
MOV R0,#20H
MOV R1,#21H
MOV R2,#16
LOOP1: MOV A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP1
SETB TR0
CLR RS0
POP ACC
RET
;
TIMER0: PUSH ACC
CLR TR0
DJNZ CNT,T2
MOV CNT,#8
TT1: ANL P1,#0
MOV A,@R1
MOV P2,A
MOV A,SCANLINE
MOV P1,A
INC R1
MOV A,SCANLINE
RR A
MOV SCANLINE,A
DJNZ COLS,T2
MOV R1,#20H
MOV SCANLINE,#10000000B
MOV COLS,#8
T2: SETB TR0
POP ACC
RETI
;
PATTERNB 0FFH,81H,77H,77H ;A
DB 77H,81H,0FFH,0FFH
DB 0FFH,01H,6DH,6DH ;B
DB 6DH,93H,0FFH,0FFH
DB 0FFH,83H,7DH,7DH ;C
DB 7DH,0BBH,0FFH,0FFH
DB 0FFH,01H,7DH,7DH ;D
DB 0BBH,0C7H,0FFH,0FFH
END
下列幾張照片是實驗結果 : 紅色字體部分
綠色字體部分(將程式中P2的指令更改為P0)
實習心得 :
1.重新學習如何焊接(洞洞板),如何安排零件位置(儘量減少跳線..增加美觀)
2.學習使用編輯.燒錄軟體 : 將ASM檔..編輯..修改..轉換成HEX檔....傳輸到MCU
3.對8051單晶片的初步認知 : 對於以後想玩步進(伺服)馬達(機械手臂)有不少幫助
後記 :
1.感謝wish大大.antlu大大提供便宜的相關零配件.相關程式軟體(省了不少$$$)
2.感謝 yuchiuan大大贈與80C51燒錄器 http://bbs.pigoo.com/thread-42227-1-1.html 29樓
3.感謝 fatzeros大大贈與8051學習板 http://bbs.pigoo.com/thread-43955-1-1.html 5樓
4.小弟對於8051還是個新手,來到痞酷受到各位大大傾曩相授,不勝感激!!!.....
希望各位大大不吝賜教....繼續多多指導指導小弟!!!.....謝謝大家!!!......
5.若有新進同學想了解這方面訊息.....小弟儘當提供相關所知....共同學習!!!......
|