标题:
单片机控制板6264与2864不稳定?
[打印本页]
作者:
qin
时间:
2002-10-29 13:02
标题:
单片机控制板6264与2864不稳定?
这几天我做的一块单片机LED屏控制板(AT89C52),使用了6264和2864,当我把2864里的数据传给LED屏时,观察数据存储区内的数据与DPTR内数据不一致。电路已仔细检查没问题。请高手指点。附源程序(24*32点阵):
ORG 0000H
SJMP MAIN
MAIN:
MOV TMOD,#21H ;T1 模式2,T0 模式1
MOV TH1,#0F3H
MOV TL1,#0F3H
SETB 8EH ;TCON.6=1,OPEN T1
MOV TH0,#00
MOV TL0,#00
NEXT: MOV R6,#00H ;显示地址display refresh data
MOV R7,#00H ;
DISP : MOV R0,#00 ;
TM256: MOV R3,#00 ;
TM512: MOV R2,#00H ;R2 是行计数器ROW COUNTER
CONT2: MOV R1,#00 ;R1 行字节计数器ROW BYTE COUNTER
MOV P1,#01H ;选择第1组select group1
MOV DPTR,#8001H ;组选择锁存get lock signal LE1
MOVX @DPTR,A ;
MOV DPH,R6 ;指向显示地址point to display data address (6264)
MOV DPL,R7
DISP0: MOVX A,@DPTR ;第一单元数据送A寄存器CELL DATA--->REGISTER ACC
INC DPTR ;指向下一单元地址POINT TO 0001H CELL
INC R1 ;字节计数器+1BYTE COUNTER +1
MOV P1,A ;第一单元数据送显示屏 CELL DATA--->REGISTER ACC-->LED
CLR 0B3H ;B3H即P3.3=INT1,pulse for 165 transfer data
SETB 0B3H ;
CLR 0B5H ;B5H即P3.5=T1 one data every pulse
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B2H ;locked to 245
SETB 0B2H ;DISPLAY
CJNE R1,#03H,DISP0 ;(SAME NAME ROW) group 1 has completed? a row is 03H bytes.
PUSH DPH ;yes,DTPR ---> stack
PUSH DPL ;
MOV R4,DPH ;store DPTR temporary
MOV R5,DPL ;
MOV P1,#08H ;select group2
MOV DPTR,#8001H ;get lock signal LE1
MOVX @DPTR,A ;
MOV DPH,R4 ;take out DPTR
MOV DPL,R5 ;
CLR C
MOV A,DPL ;every group byte is 16row*20,
ADD A,#03DH ;so next group first byte is after 15row*20+17byte
MOV DPL,A ;its hex is 013DH.
MOV A,DPH ;
ADDC A,#01H ;
MOV DPH,A ;
DISP1: MOVX A,@DPTR
INC DPTR
INC R1
MOV P1,A
CLR 0B3H ;B3H即P3.3=INT1
SETB 0B3H
CLR 0B5H ;B5H即P3.5=T1
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B5H
SETB 0B5H
CLR 0B2H ;locked to 245
SETB 0B2H ;DISPLAY
CJNE R1,#06H,DISP1 ;group 2 has completed?
;same name row transfer completed?
; MOV R4,DPH
; MOV R5,DPL
; MOV A,R5
; SUBB A,#02FH
;MOV R5,A
; MOV DPL,R5
; MOV A,R4
; SUBB A,#00
; MOV R4,A
; MOV DPH,R4
CLR 0B2H
SETB 0B2H ;locked to 245.
MOV P1,R2 ;ROW SELECT TRANSFER TO P1
MOV DPTR,#08000H
MOVX @DPTR,A ;get ROW select locked signal LE?
INC R2
POP DPL
POP DPH
CJNE R2,#010H,CONT1 ;16 rows have completed?
INC R3 ;reach every screen display 512 times.
CJNE R3,#0FFH,TIM256 ;
INC R0 ;
CJNE R0,#02H,TIM512 ;
LJMP DISP
TIM512: LJMP TM512
CONT1: LJMP CONT2
TIM256: AJMP TM256
END
作者:
chftky
时间:
2002-10-29 13:02
我没有读完你的程序,不过你的时序控制出现问题了!
作者:
ytmetg
时间:
2008-6-18 22:21
我也有这样的问题 不过我不懂编程 除了程式还有其它问题吗?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0