線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3100
推到 Plurk!
推到 Facebook!

8x8 矩陣led顯示設計

缺席
iqsteven
一般會員


發表:4
回覆:9
積分:2
註冊:2007-10-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-24 00:07:02 IP:59.149.xxx.xxx 訂閱
小弟設計了一8x8 矩陣led,但是led顯示只是全亮,沒有根據我的程式閃亮,小兄是8051的新手,望各大大可指教一下
設計程式:
ORG 00H
START: MOV P1,#0FFH
MOV R6,08H
MOV 40H,DPL
MOV 41H,DPH
MOV DPTR,#TABLE
Z1: MOV R2,#05H
Y1: MOV R5,#0FEH
MOV R1,#08H
MOV R3,#0H
X1: CALL LOOP
MOV P1,R5
ACALL DELAY
MOV A,R5
RL A
MOV R5,A
INC R3
DJNZ R1,X1
CALL DELAY
MOV P1,#0FFH
DJNZ R2,Y1
MOV A,40H
ADD A,#8H
MOV 40H,A
MOV A,41H
ADDC A,#0H
DJNZ R6,Z1
AJMP START

LOOP: MOV R7,#08H
MOV A,R3
MOVC A,@A DPTR
SHIFT: CLR P2.1
RRC A
MOV P2.0,C
SETB P2.1
DJNZ R7,SHIFT
RET
DELAY: MOV 21H,#05H
DELI: MOV 22H,#100H
DJNZ 22H,$
DJNZ 21H,DELI
RET

TABLE: DB 01H,0H,0H,0H,0H,0H,0H,0H
DB 01H,03H,0H,0H,0H,0H,0H,0H
DB 01H,03H,07H,0H,0H,0H,0H,0H
DB 01H,03H,07H,0FH,0H,0H,0H,0H
DB 01H,03H,07H,0FH,1FH,0H,0H,0H
DB 01H,03H,07H,0FH,1FH,3FH,0H,0H
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0H
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH

END

電路圖:
編輯記錄
 重新編輯於 2007-11-24 00:40:45, 註解 無‧

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-24 02:21:46 IP:211.76.xxx.xxx 未訂閱
全都亮只是掃瞄速度太快了.  check 一下 delay -> display 部分的程式. delay 拉長應該就能看到掃瞄的效果.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
bernie_w39
資深會員


發表:3
回覆:199
積分:280
註冊:2007-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-25 01:41:28 IP:61.217.xxx.xxx 訂閱
看你的電路圖, P1 接的是 NPN 吧. 所以如果 P1 輸出的是 1, 則 NPN 會導通.
你程式一開始的 MOV P1, #FFh 並不是另每一列熄滅, 而是全部導通.

另外 R5 的初始值 #FEh 也不對, 應該是 #01h 才會指定點亮一列.
src
高階會員


發表:1
回覆:94
積分:154
註冊:2005-08-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-25 08:02:46 IP:59.115.xxx.xxx 訂閱
ORG  00H
START: MOV R3,#0H
MOV P1,#0FFH
MOV R6,08H
MOV 40H,DPL
MOV 41H,DPH
MOV DPTR,#TABLE
Z1: MOV R2,#05H
Y1: MOV R5,#0FEH
MOV R1,#08H
;MOV R3,#0H ;這一列在此只能讀取TABLE的第一列資料,移到最前面才能讀到TABLE的全部資料
X1: CALL LOOP
MOV P1,R5
ACALL DELAY
MOV A,R5
RL A
MOV R5,A
INC R3
DJNZ R1,X1
CALL DELAY
MOV P1,#0FFH
DJNZ R2,Y1
MOV A,40H
ADD A,#8H
MOV 40H,A
MOV A,41H
ADDC A,#0H
DJNZ R6,Z1
AJMP START

LOOP: MOV R7,#08H
MOV A,R3
MOVC A,@A DPTR
SHIFT: CLR P2.1
RRC A
MOV P2.0,C
SETB P2.1
DJNZ R7,SHIFT
RET
DELAY: MOV 21H,#05H
DELI: MOV 22H,#100H ;100H超出範圍

DJNZ 22H,$
DJNZ 21H,DELI
RET

TABLE: DB 01H,0H,0H,0H,0H,0H,0H,0H
DB 01H,03H,0H,0H,0H,0H,0H,0H
DB 01H,03H,07H,0H,0H,0H,0H,0H
DB 01H,03H,07H,0FH,0H,0H,0H,0H
DB 01H,03H,07H,0FH,1FH,0H,0H,0H
DB 01H,03H,07H,0FH,1FH,3FH,0H,0H
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0H
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH

END
編輯記錄
src 重新編輯於 2007-11-25 08:05:55, 註解 無‧
src 重新編輯於 2007-11-25 08:07:13, 註解 無‧
src 重新編輯於 2007-11-25 08:08:10, 註解 無‧
iqsteven
一般會員


發表:4
回覆:9
積分:2
註冊:2007-10-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-12-02 01:30:53 IP:59.149.xxx.xxx 訂閱
不好意思再麻煩各大大,
請問如何可以避免閃爍的問題,因為我的LED顯示閃爍情況十分嚴重,另外TABLE方面若果資料太多,有部份資料會讀不了,望各大大指教,謝謝
編輯記錄
iqsteven 重新編輯於 2007-12-02 20:37:07, 註解 無‧
系統時間:2024-05-07 21:33:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!