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

請問16*16點距陣問題

答題得分者是:bernie_w39
iqsteven
一般會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-06 15:50:24 IP:59.149.xxx.xxx 訂閱
各位大大,我的16*16距陣LED,會有殘像的問題出現,我設定不會亮的燈,在程式運行時,他會有暗亮,令到我的距陣LED不能顯示應有的字樣
在DELAY方面我已試過不同的時間,仍解決不了有關問題,望大大可幫忙指出問題所在
程式:
L1 EQU 31H
L2 EQU 32H
ORG 00H
START:MOV R6,#20H
MOV P1,#0H
MOV P2,#0H
CALL DELAY
MOV DPTR,#TABLE
MOV 40H,DPL
MOV 41H,DPH
Z1: MOV R2,#50H
Y1: MOV R5,#01H
MOV L1,#0H
MOV L2,#0H
MOV R3,#0H
X1: CALL LOOP
MOV P1,R5
CALL DELAY
MOV A,R5
RL A
MOV R5,A
INC R3
INC L1
MOV A,L1
CJNE A,#08H,X1
MOV A,0
MOV P1,0
MOV R5,#01H
X2: CALL LOOP
MOV P2,R5
CALL DELAY
MOV A,R5
RL A
MOV R5,A
INC R3
INC L2
MOV A,L2
CJNE A,#08H,X2
CALL DELAY
MOV L1,#0H
MOV L2,#0H
MOV P1,#0H
MOV P2,#0H
CALL DELAY
DJNZ R2,Y1
MOV A,DPL
ADD A,#10H
MOV DPL,A
MOV A,DPH
ADDC A,#0H
MOV DPH,A
DJNZ R6,Z1
AJMP START

LOOP: MOV R7,#8H
MOV A,R3
MOVC A,@A DPTR
SHIFT: CLR P0.3
RRC A
MOV P1.0,C
SETB P0.3
DJNZ R7,SHIFT
INC R3
MOV R7,#8H
MOV A,R3
MOVC A,@A DPTR
SHIFT2: CLR P0.2
RRC A
MOV P1.1,C
SETB P0.2
DJNZ R7,SHIFT2
RET


DELAY:MOV R1,#50
DY250:CALL DY500US
DJNZ R1,DY250
RET

DY500US:MOV R0,#5
DJNZ R0,$
NOP
RET

TABLE:
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
db 03H,03H,03H,03H
end



bernie_w39
資深會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-07 00:49:23 IP:118.166.xxx.xxx 訂閱
大概看了一下你的程式, 有看到幾個問題.

1. 在 SHIFT 與 SHIFT2 中, 均將進位旗號導入 P1.0, P1.1, 但是看線路應該不是用 P1 的 port 才對.
圖太小, 看不太清楚, 但是應該是 P0 port 的其它 bit

2. X1 在 call loop 之前, 先將 P1 清為 0, X2 在 call loop 之前, 先將 P2 清為 0. 這樣就可以避免
在設 loop 中設定 74164 時, 因 shift 過程使 LED 閃動.

希望能解決您的問題.
iqsteven
一般會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-07 14:54:37 IP:202.75.xxx.xxx 訂閱
先謝大大,再改一下程式試試看
iqsteven
一般會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-10 14:29:24 IP:59.149.xxx.xxx 訂閱
在殘像的問題上以得到解決了,先謝大大,但在loop上又有問題出時了,我是用2顆74164去控制上下各8個粒,在上方的燈方面控制是正常的,但下方的燈只有第一行可以正常控制,之後就會不規則的閃動,我已研究了多時,但仍未可解決到..希望大大們可再指教,
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-05-15 09:45:42 IP:60.248.xxx.xxx 訂閱
圖片太小看不清楚!
用示波器量驅動信號。
bernie_w39
資深會員


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-05-15 14:31:40 IP:61.218.xxx.xxx 訂閱

問題描述的太籠統, 新改出來的程式也沒有附上, 這個問題就猜不出了.

建議大大將 DELAY 改成非常久, 超過兩三秒, 這樣就可以看清楚每一列
到底是如何點亮的.

從您的圖上看, 74164 控制的是左右, 但您說是上下, 不曉得是不是電路板
的擺放方向不同. 又 "只有第一行可以控制", 何謂第一行? 是指 74164 的
某一 pin 輸出, 還是 ULN2803 的某一 pin 輸出? 如果是 74164 的某一 pin,
那是 MSB 還是 LSB? 是 T2 - T17 的某一顆嗎?

===================引 用 iqsteven 文 章===================
在殘像的問題上以得到解決了,先謝大大,但在loop上又有問題出時了,我是用2顆74164去控制上下各8個粒,在上方的燈方面控制是正常的,但下方的燈只有第一行可以正常控制,之後就會不規則的閃動,我已研究了多時,但仍未可解決到..希望大大們可再指教,
foreman
高階會員


發表:3
回覆:124
積分:190
註冊:2004-09-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-05-15 15:13:57 IP:220.129.xxx.xxx 訂閱
大大:
這樣改試試.
ORG 00H
START: MOV R6,#20H
MOV P1,#0H
MOV P2,#0H
CALL DELAY
MOV DPTR,#TABLE
MOV 40H,DPL
MOV 41H,DPH
Z1: MOV R2,#50H
Y1: MOV R5,#01H
MOV L1,#0H
MOV L2,#0H
MOV R3,#0H
X1: CALL LOOP
MOV P1,R5
MOV P2,R5 ;加這行
CALL DELAY
MOV A,R5
RL A
MOV R5,A
INC R3
INC L1
MOV A,L1
CJNE A,#08H,X1
; MOV A,0
; MOV P1,0
; MOV R5,#01H
;X2: CALL LOOP
; MOV P2,R5
; CALL DELAY
; MOV A,R5
; RL A
; MOV R5,A
; INC R3
; INC L2
; MOV A,L2
; CJNE A,#08H,X2
; CALL DELAY
MOV L1,#0H
MOV L2,#0H
MOV P1,#0H
MOV P2,#0H
CALL DELAY
DJNZ R2,Y1
MOV A,DPL
ADD A,#10H
MOV DPL,A
MOV A,DPH
ADDC A,#0H
MOV DPH,A
DJNZ R6,Z1
AJMP START
編輯記錄
foreman 重新編輯於 2008-05-15 15:14:46, 註解 無‧
iqsteven
一般會員


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-05-16 01:49:05 IP:59.149.xxx.xxx 訂閱
問題基本上應已解決了,多謝各大大的寶貴意見
系統時間:2024-05-12 19:19:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!