void Initial()
{
CS1=1 CS2=1 // 高位选通
RES =0
delay(500)
RES =1
delay(100)
ComWrite(0x0C0) // start line 00
ComWrite(0x3f) //Display ON
CS1=0CS2=0// CS3=1 // CLOSE IC 低位选通,开显示,此为高低选通用程序,以防你的LCM为低选而点不亮
ComWrite(0x3f) //Display ON
}
以下为SPI4线时序写指令
void ComWrite(unsigned char com)
{
unsigned char count
CS1=1
A0=0
for (count = 0count <8count++)
{
SCL=0
SDA=(bit)(com&0x80)
SCL=1
com=com<<1
}
delay(10)
}
void DatWrite(unsigned char dat)
{
unsigned char count
CS1=0
A0=1
for (count = 0count <8count++)
{
SCL=0
SDA=(bit)(dat&0x80)
SCL=1
dat=dat<<1
}
delay(10)
}
*/
80时序:
void DatWrite(Uchar dat)//80
{
A0 = 1
RD1=1
WR1=0
P1=dat
WR1=1
}
void ComWrite(Uchar com)
{
A0 = 0
RD1=1
WR1=0
P1=com
WR1=1
}
有什么不懂的,Q 451526010
本人专业编写各类LCM驱动程序
定义的是管脚的寄存器状态。查找相关Gpio寄存器状态字就明白了,很简单。你最好看清楚定义的是什么,DIR,DAT。此外,它定义CSIN和CSOUT是不一样的,定义的是GPIO的输入输出方向不同,可能涉及到画点时的读取液晶端口状态。这个你自己看看资料都有。此外,小写cs那部分定义只是定义管脚,并未作赋值,也就是说用作他用的。只能说这么多了。
你好:12864的寄存器是不需要用户关心的,用户只管搭建好读写(读不是必须的)函数,然后通过写函数往12864写初始化值就行了。
其次,初始化流程没有什么强制规定,按照手册来即可。
至于时间,查看手册会有一个最小的写周期,只要速度不高于这个时间就可以。
希望我的回答能帮助到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)