原创 学习笔记:12864串行驱动

2012-3-28 20:33 4124 9 10 分类: MCU/ 嵌入式

 

某些12864液晶可选串行或并行两种数据传输方式,如常用的ST7920驱动的12864。一般使用并行方式较多,较简单,但有时为了节约IO口选择串行方式,不过其传输速率较慢。

    (1)硬件连接电路

1.gif

 

(2)串行时序图

 

2.gif


(3)底层驱动程序

 

/****************************************************************

函数名称:Write_Byte

函数功能:串行方式向12864写入一字节数据

入口参数:dat  8bit

出口参数:无

备 注:

*****************************************************************/

void Write_Byte(uchar dat)

{

uchar i;

for(i=0;i<8;i++)

{

sclk=0;   

DelayUs(1);

if(dat&0x80)

sid=1;

else

sid=0;

sclk=1;

DelayUs(1);

sclk=0;

DelayUs(1);

dat=dat<<1;

}

}

 

串行数据传送共分三个字节完成:

第一字节 串口控制—格式 11111ABC

          A为数据传送方向控制 H表示数据从LCD 到 MCU L表示数据从 MCU到LCD

          B为数据类型选择 H表示数据是显示数据 L表示数据是控制指令

          C固定为 0

第二字节 (并行)8 位数据的高4 位—格式 DDDD0000

第三字节 (并行)8 位数据的低4 位—格式 0000DDDD

 

 

/****************************************************************

函数名称:Write_Com

函数功能:向12864写入命令

入口参数:com  

出口参数:无

备 注:

*****************************************************************/

void Write_Com(uchar com)

{

cs=1;

Write_Byte(0xf8);    //11111RWRS0    RW=0,RS=0

Write_Byte(com&0xf0);   //写入xxxx0000格式

Write_Byte(0xf0&com<<4);   //先执行<<,写入0000xxxx格式

cs=0;

}

 

/****************************************************************

函数名称:Write_Data

函数功能:向12864写入数据

入口参数:dat

出口参数:无

备 注:

*****************************************************************/

void Write_Data(uchar dat)

{

cs=1;

Write_Byte(0xfa);    //11111RWRS0    RW=0,RS=1

Write_Byte(dat&0xf0);    //写入xxxx0000格式

Write_Byte(0xf0&dat<<4);    //先执行<<,写入0000xxxx格式

cs=0;

}

 

其余驱动程序(包括各存储器的显示)与并行方式相同,参照上一篇文章。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户679222 2012-6-16 18:22

多谢分享,学习了。
相关推荐阅读
用户419752 2012-05-08 04:22
学习笔记:AT24C02串行EEPROM的应用
   AT24C02是Atmel公司生产的低功耗CMOS型EEPROM,内含2K bit,即256字节存储空间。它采用I2C总线方式进行数据读写,可工作于标准模式、快速模式和高速模式。硬件电路...
用户419752 2012-03-28 20:51
学习笔记:PCF8591的应用
PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串口I2C总线接口。3个地址引脚A0、A1、A2用于硬件地址编址,允许将最多8个器件连接至I2C总线而不...
用户419752 2012-03-28 20:43
学习笔记:AQM-300空气质量传感器的应用
  AQM-300是深圳祥帆电子生产的空气质量传感器,它有低功耗、稳定性好、应用简单,灵敏度高等特点。能检测到氨气、氢气、酒精、一氧化碳、甲烷、丙烷、甘烷、苯乙烯、丙二醇、酚、甲苯、乙苯、二甲...
用户419752 2012-03-28 20:42
学习笔记:I2c总线原理及应用(3)
  (4)数据帧格式     在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/W),用“0”表示主机发送数据(W),“1”表示主机接收数据(R)。数据传输一般由主...
用户419752 2012-03-28 20:38
学习笔记:I2c总线原理及应用(2)
  (3)数据传输     发送到SDA线上的每个字节必须为8位。每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位(即一帧9位)。首先传输的是数据的最高位(MSB)。如果从机...
用户419752 2012-03-28 20:36
学习笔记:I2c总线原理及应用(1)
    I2c总线支持任何IC生产过程(NMOS\CMOS\双极性)。两线----串行数据线(SDA)和串行时钟线(SCL)在连接到总线的器件间传递信息。每个器件都有唯一的地址识别,而且都可以...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条