满意答案
xuyany258
2013.10.30
采纳率:53% 等级:12
已帮助:6860人
你这个是LCD的驱动代码(一部分的),最好结合0108的datasheet看。
你的代码很简单的
void Init_0108(void)这个是屏的初始化,先把屏复位和片选拉高
Lcd_Rst=0;
Delay(100);
Lcd_Rst=1;
Delay(100);
CSA=1;
CSB=1;
这个Rst就是复位脚了,然后
Write_0108_Reg(Set_Disp_Off);//关上刷屏,就是屏上不刷东西
Write_0108_Reg(Set_Start_Line);//刷屏的起始行位置
Write_0108_Reg(Set_Page);//这个屏刷的时候有个page的,这个是设page
Write_0108_Reg(Set_Column);//这个是列的
Write_0108_Reg(Set_Disp_On);//打开刷屏
void Clr_pos(void)//清屏子程序
这个是清屏,就是初始化后把屏清空,不显示数据
void chk_busy(void)//判忙子程序
这个是判断屏是否正在工作,在对屏操作之前用的,避免乱了,这个屏是
Lcd_Bus<0x80当这个成立时屏时空闲的
void load_qiangqiang(void)//装载字子程序
这个不是驱动了,是自己写的的一个程序。
SET_XY(3,32);//选择刷屏的起始坐标
chk_busy();//刷屏前判断等待屏空闲
for(i=0;i<=31;i++)
Write_0108_Data(qiangqiang[i]);//把qiangqiang[]里的前面32位数据刷到屏上
下面的也是这个意思了
具体的要看屏资料了。还有你缺了好多函数,我又没资料,我只能介绍到这里了
00分享举报