tag 标签: 595

相关博文
  • 热度 31
    2012-10-5 21:09
    3571 次阅读|
    7 个评论
    如何通过SPI口驱动数码管? SPI接口在单片机所有的接口中速度是较快的,运用的场合也非常广泛,像LED显示屏的驱动接口就是SPI口,驱动芯片为74HC595。我要介绍的是用595来驱动数码管,通过动态扫描的形式,来实现用单个595来驱动多个数码管。 595是串行输入/输出或者8位并行输出移位寄存器,具有高阻关断状态。三态。与74HC164相比,74HC164串入数据时不能输出,否则为乱码,等串入完毕后才可并出;而595有输出存储器,数据串入和输出可以同时进行,通过控制存入输出存储器的时钟和输出使能端是否有效,来确定是否输出新串入的数据。所以在很多场合,595都取代了164成为LED驱动的主打芯片。 595的真值表如下: 其实,学习一个芯片,最好的方法就是实际的使用他,这样才能在使用中发现问题,逼着自己解决问题,这个解决问题的过程也是学习的过程,而且这种记忆对于个人来说也是非常之深刻的。 我用的驱动电路,用SPI口来驱动,只写不读那种 我是用一个SPI口,一颗芯片来驱动四个共阴数码管,通过三极管选通的形式来决定某一时候,那个数码管在亮,从而实现设计简化和低成本的目标。 软件大致设计思路: 既然是动态显示,那么必须有一个定时切换的时钟,这里我选定时器0,设定1MS产生一个中断,在中断中切换显示顺序。 要根据图纸对显示码进行核实: 如0x7c;//显示电压U     0xfd; //显示数字0     0x61; //显示数字1      。。。。。。。    0xf7; //显示数字9 其他的一概同理 通过显示指针切换来实现动态显示。  
相关资源