No.3931 作者:xdkjason 邮件:xdkjason@hotmail.com ID:3954 登陆:9次 QQ:76247973 -- MSN:xdkjason@hotmail.com 文章数:237篇 最后登陆IP:61.178.63.144 最后登陆:2006/2/17 17:59:16 注册:2001/12/24 12:23:00 财富:690 发帖时间:2001/12/25 9:46:00 发贴者IP:61.175.178.234 标题:xdkjason:初学者:双CPU控制点阵显示屏,请求各位指教!!! 摘要:No.3931初学者:双CPU控制点阵显示屏,请求各位指教!!! 主CPU为89C52,主要完成从RAM取出字模;从CPU 为89C2051,完成显示。现在在单步运行或 延时很慢扫描时,两CPU 的显示都正常,但全速运行时,在移位时每半个字中间都停一下, 可是数据都正常。显示中用中断来接收8952传来的数据。原程序如下: ;function: Achieve to display,It be stored in 2051 ;sources: interrupt one ORG 0000H LJMP MAIN ORG 0013H LJMP INTER1 ;Achieve to receive MAIN: MOV P1,#0FFH MOV SCON,#00H MOV 71H,#80H MOV R1,#40H MOV R7,#20H MOV A,#00H CLRBUF: MOV @R1,A INC R1 DJNZ R7,CLRBUF CLR P3.7 SETB EA ;CPU interrupt SETB IT1 ;INT1 is down SETB EX1 ;peripheral interrupt WAIT: MOV 70H,#00H ;30H USED COUNTE(0-4) MOV R0,#40H ;display buffer block (40H-5FH为显示缓冲区,7FH 为列控制位) MOV R1,#40H ;INTERRUPT LP: MOV A,R1 CJNE A,#60H,LP ;送完32个字节 CALL DISPLAY LJMP WAIT ;显示8点阵16列子程序 DISPLAY: CLR P3.7 W1: CALL SENDATA ;显示第一个字的第(7FH)列 CJNE A,#04H,W1 MOV 70H,#00H ;该字的四列送完 CALL SENDCOT ;送列控制字 W2: CALL SENDATA CJNE A,#04H,W2 MOV 70H,#00H CALL SENDCOT W3: CALL SENDATA CJNE A,#04H,W3 MOV 70H,#00H & ......
>>返回讨论的主题
|