在P87LPC764 I2C总线系统中扩展LCD显示器
发布时间:2008/6/3 0:00:00 访问次数:484
i2c总线是philips公司推出的芯片间串行传输总线。它仅用串行数据线(sda)和串行时钟线(scl)两根连线便实现了完善的全双工同步数据传送,并可很方便地构成多机系统和外围器件扩展系统。
本文介绍在p87lpc764单片机中利用i2c总线系统中典型的lcd驱动控制器件pcf8577c来扩展256段静态lcd的电路设计方法。
2 硬件电路设计
2.1 p87lpc764单片机的i2c总线接口
p87lpc764是philips公司生产的一种小封装、低成本、高性能的单片机(具体内容见参考文献2)。它采用80c51加速处理器结构,片内带有支持i2c总线的硬件接口。当激活i2c总线时,p87lpc764端口1中的p1.2与p1.3可分别用作scl和sda总线功能。其i2c总线由3个特殊功能寄存器控制,即i2c控制寄存器i2con、i2c配置寄存器i2cfg、i2c数据寄存器i2dat。各寄存器格式及位含义如下。
a.i2con寄存器
i2con寄存器各位的含义在进行读写操作时完全不同。下面分别介绍其读、写操作格式。
各位功能如下:
rdat:数据接收位。在scl线的上升沿时由sda线上获取。读rdat位时不清除drdy,也不释放scl线。
atn:当drdy、arl、str或stp中任意一个为1时,atn置1。通过测试atn位可判断总线上是否发生某类事件。
drdy:数据准备好标志位。在scl上升沿时置位,读写i2dat寄存器或向cdr写入1时清0。 arl:总线仲裁失败标志位。
str:启动标志位。当检测到启动条件时置1。
stp:停止标志位。当检测到停止条件时置1。 master:当本器件成为i2c总线主控器时置1。
其中:
cxa:写入1,清除数据发送状态。
idle:写入1,则被控制要检测到下一位启动位时才接收总线信息。
cdr:写入1,清除drdy。
carl:写入1,清除arl。
cstr:写入1,清除str。
cstp:写入1,清除stp。
xstr:当装置为主控制器时,向xstr和cdr写入1,使i2c总线发送重复启动位。
xstp:当装置为主控制器时,向xstp和cdr写入1,使i2c总线发送停止位。
b.i2cfg寄存器
sla:写入1,本装置成为i2c总线被控器。
mastrq:写入1,本装置成为i2c总线主控器。
cti:写入1,清除定时器1溢出标志。
tirun:写入1,定时器1开始运行;写入0,停止定时器1运行并将定时器清0。
ct1和ct0用来决定scl线上高低电平的最小时间。
c.i2dat寄存器
i2dat寄存器的读、写格式是不同的。
其中rdat为数据接收位。在scl线的上升沿时从sda中获取。在从i2dat的rdat中读数据的同时,可清除drdy和设置发送激活状态。
其中xdat为数据发送位。下一个要发送的数据写入此位。写xdat时,应清除drdy和设置发送激活状态。
2.2 i2c总线显示器件pcf8577c
a.引脚功能
pcf8577c是i2c总线系统中典型的lcd驱动控制器件,在静态方式时可驱动32段lcd;在双级方式时可驱动64段lcd。若采用多片级联,则最大可构成256段lcd显示系统。另外,pcf8577c还具有显示数据自动增量写入功能,而且编程十分简单。pcf8577的引脚排列如图1所示。各引脚功能如下:
s32~s1:段输出端口。
bp1:背极输出。级联时可作为同步输入端,接第一级的bp1信号作为同步信号。
i2c总线是philips公司推出的芯片间串行传输总线。它仅用串行数据线(sda)和串行时钟线(scl)两根连线便实现了完善的全双工同步数据传送,并可很方便地构成多机系统和外围器件扩展系统。
本文介绍在p87lpc764单片机中利用i2c总线系统中典型的lcd驱动控制器件pcf8577c来扩展256段静态lcd的电路设计方法。
2 硬件电路设计
2.1 p87lpc764单片机的i2c总线接口
p87lpc764是philips公司生产的一种小封装、低成本、高性能的单片机(具体内容见参考文献2)。它采用80c51加速处理器结构,片内带有支持i2c总线的硬件接口。当激活i2c总线时,p87lpc764端口1中的p1.2与p1.3可分别用作scl和sda总线功能。其i2c总线由3个特殊功能寄存器控制,即i2c控制寄存器i2con、i2c配置寄存器i2cfg、i2c数据寄存器i2dat。各寄存器格式及位含义如下。
a.i2con寄存器
i2con寄存器各位的含义在进行读写操作时完全不同。下面分别介绍其读、写操作格式。
各位功能如下:
rdat:数据接收位。在scl线的上升沿时由sda线上获取。读rdat位时不清除drdy,也不释放scl线。
atn:当drdy、arl、str或stp中任意一个为1时,atn置1。通过测试atn位可判断总线上是否发生某类事件。
drdy:数据准备好标志位。在scl上升沿时置位,读写i2dat寄存器或向cdr写入1时清0。 arl:总线仲裁失败标志位。
str:启动标志位。当检测到启动条件时置1。
stp:停止标志位。当检测到停止条件时置1。 master:当本器件成为i2c总线主控器时置1。
其中:
cxa:写入1,清除数据发送状态。
idle:写入1,则被控制要检测到下一位启动位时才接收总线信息。
cdr:写入1,清除drdy。
carl:写入1,清除arl。
cstr:写入1,清除str。
cstp:写入1,清除stp。
xstr:当装置为主控制器时,向xstr和cdr写入1,使i2c总线发送重复启动位。
xstp:当装置为主控制器时,向xstp和cdr写入1,使i2c总线发送停止位。
b.i2cfg寄存器
sla:写入1,本装置成为i2c总线被控器。
mastrq:写入1,本装置成为i2c总线主控器。
cti:写入1,清除定时器1溢出标志。
tirun:写入1,定时器1开始运行;写入0,停止定时器1运行并将定时器清0。
ct1和ct0用来决定scl线上高低电平的最小时间。
c.i2dat寄存器
i2dat寄存器的读、写格式是不同的。
其中rdat为数据接收位。在scl线的上升沿时从sda中获取。在从i2dat的rdat中读数据的同时,可清除drdy和设置发送激活状态。
其中xdat为数据发送位。下一个要发送的数据写入此位。写xdat时,应清除drdy和设置发送激活状态。
2.2 i2c总线显示器件pcf8577c
a.引脚功能
pcf8577c是i2c总线系统中典型的lcd驱动控制器件,在静态方式时可驱动32段lcd;在双级方式时可驱动64段lcd。若采用多片级联,则最大可构成256段lcd显示系统。另外,pcf8577c还具有显示数据自动增量写入功能,而且编程十分简单。pcf8577的引脚排列如图1所示。各引脚功能如下:
s32~s1:段输出端口。
bp1:背极输出。级联时可作为同步输入端,接第一级的bp1信号作为同步信号。