单片机系统的数码管显示驱动和键盘扫描

以单片机为核心的很多仪器都需要数码管显示驱动和键盘扫描,三种具体方案如下供参考:

经典方案:使用8279 芯片

40 个引脚的8279芯片是由Intel于80年代首先推出的,参考资料较多,应用比较成熟。

优点:最通用。缺点:元器件多,面积大,电路复杂,综合成本较高。

> 8279的驱动电流较小,所以需要加上驱动电路ULN2003,或者使用8个三级管及相应的基极限流电阻。一般情况下的8279 外围电路中,需要16个电阻、一个74LS138芯片、一个ULN2003芯片、8个PNP三极管。元器件较多,占用较大的PCB面积。

> 8279需要外部为其提供上电复位信号和时钟信号,所以电路比较复杂。

> 8279在显示驱动方面的功能较少。

自由方案:使用辅助单片机

也就是在仪器的主控单片机之外,另外使用一个辅助的单片机专门做显示驱动和键盘扫描,最近市面上出现的一些产品就是以兼容PIC 系列等的单片机实现的。

优点:最灵活。缺点:元器件多,速度慢,易受干扰,综合成本高。

其特征是:需要额外的时钟电路例如晶体、电容或电阻;需要外接按键扫描的8个下拉电阻;产品说明书中通常没有标明电流驱动能力;引脚定义尤其是CLK/RTCC/RST引脚通常与PIC16C57或PIC16C54相似;单片机程序中有比较多的延时指令和延时程序。

> 由于辅助单片机的驱动电流比较小,按单片机厂商的说明,通常每个引脚不大于20mA,如果长时间驱动大电流则容易损坏。如果将辅助单片机的引脚直接用作字 驱动,则20mA平均到数码管的8个段上,每个段的电流只能分配到3mA,所以只能驱动较小的数码管。而如果外接驱动电路,例如595 芯片或者8 个三极管及相应的基级电阻,则电路面积增大,总体成本增加。

> 为了节约辅助单片机的端口线,一般使用串行输入输出。由于辅助单片机一条指令只能处理一位数据,并且在接收到数据后还需要将其移位转换为字节数据或者直接 作为命令进行解释,所以速度非常低。一般要求主控单片机的串行接口的位时钟不能高于200KHz(每个位数据要保持几微秒,才能被辅助单片机检测到并及时 处理),所以单片机接口程序需要不断地延时等待。

> 如果辅助单片机采用定时中断方式进行显示驱动和键盘扫描,则在进入中断后有可能来不及响应外部的操作请求,所以辅助单片机一般采用查询方式进行显示驱动和 键盘扫描,而采用中断方式接收外部的主控单片机的操作请求。如果主控单片机频繁访问辅助单片机,则因为辅助单片机分身无术,所以显示驱动和键盘扫描就可能 无法顾及,出现亮度不均和键盘失灵。

> 为了提高串行接口的速度,辅助单片机需要尽可能高的系统时钟,而参考单片机厂商的说明,采用低成本的外部阻容振荡是很难稳定地工作在10MHz 以上的。所以在工业现场,辅助单片机很有可能因为阻容振荡频率太高而受到干扰,甚至内部程序跑飞或者意外死锁。

新方案:使用CH45X 芯片(CH452 芯片、CH451 芯片、CH450 芯片、CH453 芯片)

CH45X芯片是以硬件实现的多功能外围芯片,使用串行接口,支持显示驱动和键盘扫描以及μP监控,外围元器件极少,非常适合作为单片机的外围辅助芯片。

优点:外围电路简洁,接口速度快程序效率高,性能稳定,多功能。

> CH451具有大电流驱动能力,段电流不小于25mA,字电流不小于150mA,平均段电流是辅助单片机方案的8倍,而且非连续的电流驱动能力更高。

> CH451是以硬件实现的,串行接口、显示驱动、键盘扫描、μP监控之间相互独立不受干扰,串行接口的位时钟能够支持到10MHz,数据传输速度比辅助单片机方案提高了40倍,即使主控单片机频繁操作也完全不会影响显示驱动和键盘扫描以及μP监控。

> CH451的串行接口以硬件实现,不需要时钟;而显示驱动和键盘扫描使用约0.75MHz的全内置主时钟多次分频后的扫描时钟,所以在工业现场不易受到干扰。即使受到强干扰,也能够在干扰后立即正常工作,不会影响串行接口、显示驱动和键盘扫描的后续操作。

> CH451内置振荡和上电复位以及看门狗,不但不需要外部提供时钟和外部复位输入,还能够向外部的主控单片机提供上电复位和看门狗,进一步降低产品的成本,提供产品的可靠性。