Max7219问题,请各位帮个忙!
[color=#006400][color=#006400][size=3][B][/B][/size][/color]
我用7219做LED显示,可是一直不正常,好像初始化都没有,我用得是89c52串口通信。
我写了一个很简单的程序来调试,发送16位后在laod变高,片内和片外晶震都用过可就是不显示。可是也偶尔显示过2次,再编译就不显示了。
我怀疑是晶振问题。
现在我把写的调试程序发上来,清高手看看,那位高手愿意留个电话或着e-mail给我,那我更是感谢。
P1.3------laod RXD---------------DIN TXD-----------clk
ORG 0000H
AJMP START
ORG 0040H
START:
MOV 50H,#5fH
MOV 51H,#1fH ;亮度17/32
MOV 52H,#0DfH
MOV 53H,#00H ;扫描限制5
MOV 54H,#9FH
MOV 55H,#00H ;非译码方式
MOV 56H,#3FH
MOV 57H,#80H ;关断方式,正常操作作
MOV 58H,#0FFH
MOV 59H,#80H ;显示测试,
MOV 5aH,#0FFH
MOV 5bH,#00H ;显示测试,正常操作
MOV 30H,#8FH
MOV 31H,#6EH ;显示H
;89C52的初始化
DISP: MOV SCON,#00H ;串行口方式0工作
CLR ES ;禁止串行中断
CLR TI ;请发送中断标志
CLR P1.3 ;LOAD变低
MOV A,50h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,51h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR P1.3 ;LOAD变低
SETB P1.3 ;LOAD变高
CLR TI ;请发送中断标志
CLR P1.3 ;LOAD变低
MOV A,52h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,53h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR P1.3 ;LOAD变低
SETB P1.3 ;LOAD变高
CLR TI ;请发送中断标志
CLR P1.3 ;LOAD变低
MOV A,54h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,55h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR P1.3 ;LOAD变低
SETB P1.3 ;LOAD变高
CLR TI ;请发送中断标志
CLR P1.3 ;LOAD变低
MOV A,56h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,57h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
SETB P1.3 ;LOAD变高
CLR P1.3 ;LOAD变低
CLR TI ;请发送中断标志
CLR P1.3 ;LOAD变低
MOV A,58h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,59h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR P1.3 ;LOAD变低
SETB P1.3 ;LOAD变高
CLR TI ;请发送中断标志
CLR P1.3 ;LOAD变低
MOV A,5ah ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,5bh ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR P1.3 ;LOAD变低
SETB P1.3 ;LOAD变高
clr TI
CLR P1.3 ;LOAD变低
MOV A,30h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR TI
MOV A,31h ;串行输出
MOV SBUF,A
JNB TI,$ ;状态查询
CLR P1.3 ;LOAD变低
SETB P1.3 ;LOAD变高
clr TI
NOP
NOP
end
[/color]
发表时间:2004年7月21日11:10:17