动态显示驱动
② 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管搜缓消会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极.通过解码电路得到的数码接通相应的发光二极而形成相应世知的字,这就是它的工作原理.
其实动态的就是一个扫描问题,静态不是扫描,是加一个恒定的高电平亮,低电平灭
tm1640驱动数码管有时显示有时没反应重新断仔和孙电,再次仿真进入这个地方依然会调试上面这个问题。首先,怀疑是不是TM1640驱动数码管太多了,电流大了,可能USB电源功率不够,更换了功率大一些的,还是不行;其次,核对TM1640驱动程序,一个段一个的显示能够正常,说明TM1640的驱动程序是正确的。问题也不在TM1640驱动程序,
最后,怀疑程序溢出,导致运行出错,程序单独抠出来,到最间结构,进行调试和测试,问题依据。一度奔溃。
再次判定是硬件问题,而非软件问题,查阅了TM1640的资念链料,SDA,SCK上拉10k,下接100PF电容,我硬件电路上没有【事实上前面做其他项目类似芯片也没有加,应该不是这个问题,但为了排除问题,还棚拦是加了这些器件,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)