P87LPC764利用I2C总线扩展LCD显示器
可组成段字节向量SBV,它具有自动增量功能。若需一次传送多个段字节数据,可在每装入一个段字节数据后便SBV自动加2(静态方式)或加1(双级方式),以便装入下一个数据;级联时,当一片8577C装满后,SBV自动增量,并指向硬件子地址与之相邻的下一个8577C的SBR。SBV的值可以在111111~000000之间循环滚动。
●段字节寄存器SBR
八个SBR可分成两组,地址为偶数的一组称为A体,奇数组称为B体。在静态方式下,要么显示A体数据,要么显示B体数据。可以通过改变BANK位的值来切换显示内容。在双极方式下,八个SBR将同时使用,这时BANK为不关心码,A体对应于BP1,B体对应于BP2。
c.总线操作
PCF8577C的总线操作包括从地址和硬件子地址,其中从地址固定为0111010,共七位,是I2C总线委员会分配的。此外,还有三位硬件子地址(A2A1A0)待设定。若应用系统中有多片8577C,则需分别设定不同的硬件子地址来加以区别。选中8577C指的是它的从地址和硬件子地址都被选中。
其中:起始信号S之后的第一个字节中的最低位是方向位,因8577C只能接收数据,所以该位必须为0;其余七位是从地址。若系统含多片8577C,则每片都会对第一和第二字节作出应答;而段数据字节后的应答信号仅由被选中的芯片产生。数据字节可连续多个。如果仅改变BANK值,而不改变SBR中的内容,则应在控制字节的应答位之后发送停止信号P,这时被选中的芯片将更新BANK。
2.3 显示电路设计
利用P87LPC764扩展LCD的接口电路如图3所示。该电路采用静态驱动方式,由P87LPC764单片机访问8片8577C以组成最大级联系统。每片8577C可驱动32段LCD,因此,共可扩展256段LCD。而在级联应用时,只由第一级构成振荡器,以输出背极信号,并对后级进行同步。
3 软件设计
该应用电路是一个单主I2C总线系统,数据传送操作只有主发送方式,因而在编程过程中没有检测总线错误。数据发送时,每发送1个字节,都应检测应答信号,如无应答信号,建立标志位F0以重发数据。该电路采用静态方式,显示为A体数据。
如果程序中的显示缓冲区30H到7FH单元用来存放字形码,则该I2C总线显示电路的程序清单如下:
4 结束语
本文介绍了I2C总线系统中利用典型的LCD驱动控制器件PCF8577C扩展LCD显示器的电路及程序设计。参考本文思路,也可实现动态LCD显示器的扩展。该方法在I2C总线系统中进行人机接口电路设计时具有较好的参考价值。
- 基于单片机的延时型漏电继电器设计(12-30)
- 基于单片机中央空调能效管理系统(12-17)
- 采用P87LPC764单片机中央空调智能管理系统(10-27)
- 一种基于DSP的张力、深度、速度测量系统(04-15)
- I2C总线及EEPROM的Linux驱动程序的设计(01-05)
- 基于C语言的I2C总线软件模块设计(01-09)