该部分软件主要是依照 S680724 的初始化流程、命令参数列表及其他资料编写的。S680724的访问 地址只有两个:一个是寄存器地址(通过写入不同的命令字来实现对S680724的控制);另一个是RAM端口(显示数据由此写入)。
首先需要根据S6B0724的 接口 设计计算其各端口的访问地址。 SEP3203 的片选信号LCD_nCSF所对应的基址是0x34000000。图5中S680724_A、S680724_B的寄存器访问地址分别是0x340000100、0x34000020;RAM的访问地址分别是0x34000018、0x34000028。特别是在该接口设计允许SEP3203同时访问S680724_A和S680724_B,寄存器的访问地址为0x34000000,RAM的访问地址为0x34000008。在实际使用中。可以利用这个特点对两个控制同时初始化,提高软件效率。
S680724的初始化流程如图6所示。先冷复位S680724,然后将74LVXC4245的电平转换方向设置为从总线向数据线。通过写S680724的控制寄存器对S680724软复位,然后选择所用的显示方式和扫描方向,再选择背光亮度;通过写寄
存器的方式打开S680724内部的电压反转器,等待10 ms后再打开电压生成器。延迟10 ms后,打开电压跟随器,等所有电压都稳定后(约等待10 ms)再设定液晶屏的工作电压,最后开始显示。图像的显示通过函数void Write_alILCD(void)来实现。其功能是将所要显示的点阵数据送入2片S680724。
初始化程序如下:
void GPC)_init(void){
RESET_LCD();
//冷复位
*(RP)PORTB_SEL l=(1<<8);
//设定74LVXC4245的电平转换方向
*(RP)PORTB_DATA 8L=~(1<<8);
*(RP)PORTB_DIR&=~(1<<8);
*(RPl6)ADDR_LCD_CMD=INTER_RESET;
//2片S6B0724B同时软复位
1NIT_LCD(); //初始化S680724B
*(RPl6)ADDR_LCD_CMD=DISPLAY_ON;
//初始化完毕开始显示
Clear_LCD(); //清屏
}
4结论
该设计已在以SEP3203为核心的嵌入式系统中被实际应用。采用S680724 显示控制器 后,解决了SEP3203微处理器在工控应用中使用液晶屏的问题。使用1个片选信号实现了对2个显示控制器的控制。2个以上显示控制器的控制也可通过类似方法实现。该设计可以在金融收费系统、税务管理系统、电话终端等众多系统中应用。
上一篇:汽车控制继电器