(敏感词汇-CCP)单片机实现更简单的的LCD设计

本文作者:admin       点击: 2006-02-14 00:00
前言:

Microchip的LCD型PIC单片机系列最近新添了一款闪存单片机——PIC16F946。此款64脚PIC单片机集成了LCD驱动模块,同时具有PIC单片机常见的外设,如EEPROM、模数转换器及下文将讨论到的一些其它外设。集成LCD驱动模块同高度整合的外设这一组合,使得许多消费类应用的系统总成本得以降低且设计更加简化。

PIC16F946较之先前可定制的LCD型单片机PIC16F913/914/916/917扩展了接口功能,提供了最多的I/O引脚﹑LCD区段驱动数和最大的闪存程序存储容量。如表1所示,LCD型PIC单片机的I/O引脚数﹑性能级别﹑封装类型和LCD区段驱动数呈现不同组合,为最终产品设计拓宽了单片机的应用选择面。PIC16F946的I/O引脚可以与许多外设(包括LCD驱动模块)复用,使其可以针对具体应用进行专门配置,从而满足绝大多数应用系统的资源需求。

PIC16F946保持了Microchip常见的中档闪存单片机的架构,同时使程序存储器独立于内部集成的LCD驱动模块。PIC16F946的LCD驱动模块提供了多种驱动配置,能直接驱动最多168区段的LCD模块。多个时钟源﹑多路复用/波形和偏置电压等选择也可通过LCD驱动模块来配置。利用特殊功能寄存器(FSR)可以就具体显示类型和应用进行配置。LCD驱动模块内的FSR实现LCD区段的定义和控制。只要配置正确,LCD模块只需极少的开销就能运行起来。

其实,控制LCD显示屏上的区段和像素与配置LCD模块一样简单。LCD数据寄存器中的各个位与LCD显示屏上的各区段一一对应,因此只要将数据寄存器中的位置置1或清零即可点亮或关闭LCD上对应的区段。产生偏置电压的外部电阻梯型电路是LCD驱动模块驱动LCD显示屏所需的惟一外部硬件(依配置而定)。

LCD驱动模块
集成的外设为增强LCD驱动模块的操作提供了各种工具。例如,利用片上捕捉/比较/PWM(CCP)和比较器模块来控制LCD偏置电压引脚上的电平,可以实现对比度的控制。比较器和CCP可以实现升压或降压稳压器,从而产生低于或高于VDD的LCD驱动电压来驱动LCD。

除了LCD驱动模块中可选择的许多选项外,该模块还有几项其他值得一提的特性。其中一个特性能够在低功耗休眠模式下驱动LCD。该特性配合可以在各种中断事件发生时唤醒器件的功能,为低功耗和由电池供电的应用提供了一种功能强大的工具。

外设
LCD驱动模块为创建用户的显示应用提供了便捷的途径,同时PIC16F946单片机丰富的外设使其非常适用于各种广泛的开发任务。
借助最基本的输入/输出端口,PIC16F946有几种控制其他硬件装置的方式。PIC16F946具有53个数字I/O引脚,部分引脚可配置成触发电位变化的中断引脚,有些引脚内部具有施密特触发器输入,而另一些引脚有内置上拉电阻。每个引脚提供最高25mA的拉/灌电流,可以直接驱动LED或晶体管,甚至驱动其他元件。

PIC16F946内置两个专用的CCP模块,可用来捕捉事件时序,产生定时输出,或者发出更重要的PWM信号。PWM功能使PIC16F946得以在电机/风扇控制中作为开关式电源(SMPS)控制器,用来调节LED亮度,甚或控制本身的显示对比度。所产生的PWM信号的频率和占空比都是由软件控制的。

PIC16F946有数个模拟模块。其中最重要的一项外设就是A/D转换器,它使PIC单片机能够以30 ksps的采样速率对最多8条模拟通道的信号进行测量,得出分辨率为10位的数值。此特性让PIC16F946得以测量电池电压、传感器、声音以及其他模拟电压。

PIC16F946中的一个模块具有两个电压比较器与一个电压基准。这些模块有多个操作模式,使比较器可以用于各种配置。同时,通过将多个输入端连到比较器,利用单个比较器就可以实现多种测量。此模块还具备一个内置的可编程电压基准,能由软件控制跳变电压,并可消除对外接参考电压的需求。

PIC16F946有两个外设可以使其通过RS232、SPI和I2C等业界标准协议实现通信。利用这两个外设,PIC单片机也可以和很多外部设备进行通信,包括高分辨率的A/D转换器和以太网接口设备等。单片机的通信模块不但可以让PIC单片机控制多个外部器件,而且允许外部器件控制它。因此,在大型系统中,PIC16F946可以作为智能型显示外设。

最后,对PIC16F946中执行监控功能的外设和特性进行分类归纳:
1. 看门狗定时器(WDT)—程序计数器一旦遭到破坏,WDT模块能够确保PIC单片机立即复位。WDT模块的预分频器和使能功能都由软件控制。

2. 可编程低电压检测(PLVD)—当内部电源电压降至可编程边限电压以下,此模块就会中断PIC单片机。此特性对更新电池状态电量相当有用,而且该边限电压可随时加以改变或更新。

3. 欠压复位(BOR)—当电源电压低于必需的VDD值时,此一性能实时预测PIC16F946的工作状况,然后使PIC单片机处于复位状态,直到VDD恢复为止。
4. 故障保护时钟监视器(FSCM)— FSCM能够在外部晶振失效后,保证PIC单片机正常连续工作。

5. 上电延时定时器和振荡器起振定时器(OST)提供启动期间所需的延时。OST可以保证待外部晶体/陶瓷谐振器稳定后,才执行软件。当PIC单片机加上电源电压后,上电延时定时器可以确保单片机在一固定时间内保持复位状态,等待电源电压稳定后再运行。

设计范例
为了演示PIC16F946 LCD型单片机的特征和功能,专门开发了一个设计范例(见图3)。PIC16F946与一个I2C温度传感器、32.768 kHz振荡器、2.5V参考电压和从Varitronix International Limited定制的112区段LCD相连。(此设计范例中所采用的软硬件可在以下网站中得到:www.microchip.com/lcd)

低功耗的实时时钟、温度以及电池电压显示均在该仿真板上开发完成,突出体现了PIC16F946具有的LCD驱动模块、纳瓦技术的低功耗功能及集成外设等几大特性。
     
低功耗实时时钟/温度/电池电压显示
该设计范例的软硬件均经过优化,实现低功耗运行。一个频率为32.768 kHz的外置振荡器不仅为实时时钟提供准确的时基,而且在低功率休眠模式下为驱动LCD显示屏提供了外部的时钟源。外接的外围器件有:一个I2C温度传感器、2.5V参考电压模块和一个外部运算放大器,它们均由一个单独的I/O供电。利用大电流的电源限制,只有在需要的时候才开启。

除了硬件配置外,也采用了软件技术对电流消耗进行限制。通过断开不用的外设以节省功耗。为此,专门设计了触摸式开关电路,以产生中断来唤醒处在休眠状态的单片机。按键数组技术使PIC单片机能够在休眠模式下操作的最大化,同时仍能立即处理外部事件。在LCD持续运行时,休眠和低功耗模式对用户来说是透明的。结合软硬件的低功耗技术,使得多功能的实时时钟、温度传感器和电池电压指示器等在3V电压时平均耗电仅为16μA。
     
结语
PIC16F946及整个LCD型PIC单片机系列为所有需要使用LCD显示的应用提供了一个完整的系统解决方案。PIC16F946拥有一个较大的14 KB闪存程序存储器,能够驱动最多168个区段的LCD,还整合了为数众多的通信和控制外设。这些特性使得PIC16F946成为消费类应用、自动化和工业领域中的理想之选。它采用纳瓦技术的操作(可低至100 μA)和为数众多的中断源(包括低电压检测),使其非常适用于许多由电池供电的应用。如欲获得有关PIC16F946和Microchip整个LCD型PIC单片机系列的详细信息,请访问:www.microchip.com/lcd。