引脚号 引脚名称 方向 功能说明
1 VSS - 模块的电源地
2 VDD - 模块的电源正端
3 V0 - LCD驱动电压输入端
4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选信号
5 R/W(SID) H/L 并行的读/写选择信号;串行的数据口
6 E(CLK) H/L 并行的使能信号;串行的同步时钟
7 DB0 H/L 数据0
8 DB1 H/L 数据1
9 DB2 H/L 数据2
10 DB3 H/L 数据3
11 DB4 H/L 数据4
12 DB5 H/L 数据5
13 DB6 H/L 数据6
14 DB7 H/L 数据7
15 PSB H/L 并/串行接口选择:H-并行;L-串行
16 NC 空脚
17 /RET H/L 复位 低电平有效
18 NC 空脚
19 LED_A (LED+5V) 背光源正极(加int?)
20 LED_K (LED-OV) 背光源负极
绝对好用的串口程序
sbit SID=P2^1; //12864数据
sbit SCLK=P2^2; //12864时钟
init()
{
write(0,0x30); //8 位介面,基本指令集
write(0,0x0c); //显示打开,光标关,反白关
write(0,0x01); //清屏,将DDRAM的地址计数器归零
delaynms(10);
write(0,0x80); for(i=0;i<16;i++) write(1,datas11[i]);
write(0,0x90); for(i=0;i<16;i++) write(1,datas2[i]);
write(0,0x88); for(i=0;i<16;i++) write(1,datas3[i]);
write(0,0x98); for(i=0;i<16;i++) write(1,datas4[i]);
}
/12864/
void delaynms(unsigned int di) //延时
{
unsigned int da,db;
for(da=0;da<di;da++)
for(db=0;db<10;db++);
}
void sendbyte(unsigned char bbyte) //发送一个字节
{
unsigned char i;
for(i=0;i<8;i++)
{
SID=bbyte&0x80; //取出最高位
SCLK=1;
SCLK=0;
bbyte<<=1; //左移
}
}
void write(bit start, unsigned char ddata) //写指令或数据
{
unsigned char start_data,Hdata,Ldata;
if(start==0) start_data=0xf8; //写指令
else start_data=0xfa; //写数据
Hdata=ddata&0xf0; //取高四位
Ldata=(ddata<<4)&0xf0; //取低四位
sendbyte(start_data); //发送起始信号
delaynms(5); //延时是必须的
sendbyte(Hdata); //发送高四位
delaynms(1); //延时是必须的
sendbyte(Ldata); //发送低四位
delaynms(1); //延时是必须的
}
/void lcdinit(void) //初始化LCD
{
delaynms(10); //启动等待,等LCM讲入工作状态
//PSB=0; ; //串口驱动模式
// RESET=0; delaynms(1); RESET=1; // 复位LCD
// CS=1;
write(0,0x30); //8 位介面,基本指令集
write(0,0x0c); //显示打开,光标关,反白关
write(0,0x01); //清屏,将DDRAM的地址计数器归零
}/
比如你要的时钟秒闪小数点,那你可以在计时程序加到半秒的时候显示,加到一秒的时候让那个位显示空格相当于清除由于12864是一个地址写2个值(ASCII码)或一个中文字,所以当你写的恰好是一个地址的第二位时,你需要把前面的那个ASCII码再写一次在来 *** 作后面的小数点
以上就是关于12864液晶显示的电路图可以帮我画一下吗 程序如下全部的内容,包括:12864液晶显示的电路图可以帮我画一下吗 程序如下、求51单片机驱动液晶12864的程序,要求是串口方式。程序里不要有绘图反白之类的,只要能显示汉字就行。、单片机中怎么实现12864动态小数点显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)