这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 求教各位啊!??

共2条 1/1 1 跳转至

求教各位啊!??

院士
2006-09-17 18:14:16     打赏
求教各位啊!??



关键词: 求教     各位    

院士
2006-12-22 22:43:00     打赏
2楼
问 多位LED动态显示时,发现未显示的段也会被微弱的点亮,请问,这是程序出的问题还是硬件电路出的问题!??为什么??我的MCU驱动位,74LS164驱动段。 1: 程序的可能性大点 2: 多半是硬件的问题,检查电平
3: 动手吧很容易查清楚的,动手吧 4: 降低扫描频率即可 5: 我试了,可是还不行!降低扫描频率我试了,可还是不行。
降低扫描频率后,反而LED显示开始抖动,效果更差!
可我查了程序,应该不会有错的,不知道看了几遍了!
有高手吗?请求指点…… 6: 应该是程序的问题。消隐没弄好。在扫描时,先将所有位选全部关闭,然后再将段改成新值,最后切换并打开位选。 7: 使用74164都是这样的使用74164都是这样的,要不单片机的速度再快一点,或者LED的供电再低一点
8: 这样有问题吗?REALTIMING:
                SETB    RS0                     ;选工作寄存器1
                CLR     RS1
                CLR     C
                MOV     DISPCOUNT,#3
                MOV     R0,#TIMETEMP0
                MOV     R7,#3FH
                MOV     R5,#0FFH
DISPLOOP:
                MOV     SENDBUFF,#00H           ;消隐
                LCALL   SEND_DATA
                LCALL   DELAY1MS
                MOV     A,P0
                ANL     A,#0C0H                 ;"1100,0000B"
                MOV     R6,A                    ;保存P0.7,P0.6
;DISPLOOP:
                MOV     A,R5                    ;"1111,1111"(C=0)
                RLC     A                       ;"1111,1110"(C=1)
                MOV     R5,A                    ;
                ANL     A,R7                    ;"1111,1110"∧"0011,1111"="0011,1110"
                ORL     A,R6                    ;
                MOV     P0,A                    ;设显示位
                MOV     A,@R0                   ;取数
                ANL     A,#0FH
                MOV     DPTR,#TAB
                MOVC    A,@A+DPTR
                MOV     SENDBUFF,A              ;发送显示数据
                LCALL   SEND_DATA
                LCALL   DELAY1MS
                MOV     SENDBUFF,#00H
                LCALL   SEND_DATA
                LCALL   DELAY1MS
                MOV     A,P0
                ANL     A,#0C0H
                MOV     R6,A
                MOV     A,R5                    ;下一位
                RLC     A
                MOV     R5,A
                ANL     A,R7
                ORL     A,R6
                MOV     P0,A
                MOV     A,@R0
                SWAP    A
                ANL     A,#0FH
                MOV     DPTR,#TAB
                MOVC    A,@A+DPTR
                MOV     SENDBUFF,A
                LCALL   SEND_DATA
                LCALL   DELAY1MS
                INC     R0
                DJNZ    DISPCOUNT,DISPLOOP      ;三组数据显示完否?
                RET 9: 应该利用位选来消隐的你的程序我没细看,不过初看起来,你添加上去的那段消隐是不对的。

消隐应该这么弄:先将所有位选全部关闭(即所有数码管全灭),然后将段选数据发送出去,再将位选切换好。 10: 感谢computer00感谢computer00,问题已经解决!
本人向您致敬!

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]