No.90629 作者:ruiyiqiang 邮件:ruiyiqiang@sohu.com ID:46677 登陆:2次 文章数:2篇 最后登陆IP:219.132.6.155 最后登陆:2006/4/15 0:33:12 注册:2006/1/27 10:56:44 财富:111 发帖时间:2006/3/26 13:01:53 发贴者IP:219.132.6.136 标题:ruiyiqiang:请各位大哥帮小弟指点一下 摘要:No.90629请各位大哥帮小弟指点一下 请大家帮小弟看看,本人最近在做一个数字温度计,下面是显示和键盘程序,但是键盘按下老是没反应的,显示不了什么东西出来,显示只是闪去了一下就灭了,还自动复位。请个位帮忙分析一下,本人用的是共阳管,位选和段选都有反向驱动,谢谢 DIR: MOV R0,#7EH ;指向缓冲区末地址 MOV A,#FEH ;扫描字,PA5为1,从左至右扫描 LOOP: MOV R2,A ;暂存扫描字 MOV DPTR,#7102H ;指向8155的PB(位选) MOVX @DPTR,A ;输出位选码 MOV A,@R0 ;读显示缓冲区一字符 MOV DPTR,#PTRN ;指向段数据表首地址 MOVC A,@A+DPTR ;查表,得段数据 MOV DPTR,#7101H ;指向8155的PA口(段选) MOVX @DPTR,A ;输出段数据 CALL D1MS ;延时1MS DEC R0 ;调整指针 MOV A,R2 ;读回扫描 CLR C ;清进位标志 RLC A ;扫描字左移 JNC PASS ;结束 AJMP LOOP ;继续显示 PASS: RET ;返回 D1MS: MOV R7,#02H ;延时1ms DMS: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,DMS RET PTRN: DB 3FH,06H,5BH,4FH,66H ;段数据表,分别表示了0到9,-,0,C和灭 DB 6DH,7DH,07H,7FH,6FH DB 40H,3FH,39H,00H KEYI : ACALL KS1 ;调用判断是否有键闭合子程序 JNZ LK1 ;有键闭合转LK1 ACALL DIR ;调用8155动态显示子程序,延时6ms ACALL KEYI LK1: ACALL DIR ......
>>返回讨论的主题
|