多种串行接口技术在LED大屏幕显示系统中应用
1 系统总体结构组成
如图1所示,系统的组成电路由以下4部分组成:LED显示屏、以P87LPC767单片机为核心的驱动电路、PC机与单片机的通信电路和由24C16器件组成的I2C总线接口电路。为了节约井口,本系统采用了以下3种串行方式传递数据。
1.1 I2C串行总线接口
P87LPC767的I2C总线符合标准的I2C总线规范,总线工作的时钟信号可由P87LPC767自动产生,但数据却是以位的方式发送和接受的,因此他的控制软件较为复杂,但却更为灵活。本系统P87LPC767的I2C总线上接24C16存储器,就构成了一个I2C系统,解决了大屏幕显示屏显示汉字所需大量数据信息的存储。P87LPC767是主控机(主机),串行时钟信号由他产生,他将数据写入24C16为主发送,从24C16中读取数据为主接收,24C16只能是被控机(从机)。主发送工作方式是指P87LPC767作为主控机向被控机发送数据的传送过程,发送和接收各有2种方式:
(1)单纯地发或读从机的数据;
(2)发或读从机指定地址的数据。
1.2异步串行通讯接口
上位机PC用于对显示信息进行编辑和对汉字进行提取,读取汉字字模的基本步骤:
(1)获取汉字的机内码;
(2)通过汉字推算区位码;
(3)由区位码计算出汉字在字库中的位置offset:offset=[(区码一1)×94+(位码一1)]32;从该偏移地址读取32B,就是相关汉字的点阵字模代码。通信功能利用VisualC++6.0提供的MSComm通信控件,把字体的字模信息(根据显示屏所需格式进行重排)通过串行口分段发送给单片机,单片机再通过12C总线发送给串行E2PROM进行存储。
1.3 软件实现串行数据传送接口
由软件实现2路串行数据的输出以完成显示屏行和列数据的要求,下面是串行输出1 B数据的软件源代码:
sbit clk=PO^ 0;
sbit dat=P1^ 7;
unsigned char bdata senddata;
sbit sendbit=senddata^7;
vid sendbyte(void)
{
int i;
POMl=0x00;
POM2=0x41;
P1M1=0x00;
P1M2=0X80;
elk=0;
for(=1;i=8;i++)
{
clk=0;
dat=sendbitl;
clk=1;
senddata=senddata1;
}
clk=0;}
可以看出,只要给出senddata数据就可以在P1^7脚串行输出该数据。通过改变elk,dat脚及输出模式选择可方便实现在其他管脚的串行数据输出功能。
2 结 语
采用多种串行接口技术,使新型的单片机P87LPC767能在大屏幕显示中应用。P87LPC767可工作在20MHz时钟频率,避免了显示屏越大,其他单片机频率底而出现的闪烁现象。经过调试,显示屏工作稳定,已用于一些商场及公共场所,效果良好。
- MSP430与I2C总线接口技术的研究(06-14)
- 详解TMS320VC5410的McBSP串行接口技术与程序设计(11-02)
- 基于MC9S08QG4的便携式自动呼吸控制系统的设计(01-21)
- DSP的高速串行外设接口设计(05-07)
- 嵌入式应用中的四类1-Wire主机电路设计(08-03)
- 基于FPGA的串行接口SPI的设计与实现(06-05)