一.指令寄存器(从GRAM跳转到这里的方法是RS=0)
RESET 这个是复位,不需要我解释了吧
CS :片选它的作用是除了字面上的意思外,还有个和SPI总线的NSS脚一样的作用:重新定义数据头,如果通讯重出现数据错位的话这个脚就起到作用了
RS :数据 or 地址(低电平就把你赋到数据口上的值当做地址来操作地址指针。 高电平时写的数据被放进相应寄存器里)
RD :读(下降沿生效)
WR :写(上升沿生效)
DB0-DB17 :数据脚
二。GRAM--是个矩阵,每个点对应屏幕上的一个点(从指令寄存器跳转到这里的方法是将指令寄存器的地址写0X0022(这里是指令寄存器的出口))
1.底层协议和基本函数(后面我具体讲)
2.操作寄存器 来实现初始化 其代码比较复杂上网或者找朋友要份代码抄一下,想深入研究的朋友可以找份中文的寄存器说明看下。只要屏来做显示用的朋友没有必要看了
3。划定具体显示区域,默认是地址每写一位会自动加1超过分界回自动循环(一般是 X为 0-239 ,Y为 0-319。当然也可以定义更小的区域) 这个在寄存器0X0050,0X0051,0X0052,0X0053里操作。
4.把GRAM指针移动到指定位置,类似1602液晶光标的作用,它不会显示出来。指令是行坐标是操作 0x0020寄存器 列坐标是操作 0x0021寄存器
5。会了上面这些接着就简单了 初始化--划显示区域--移动GRAM坐标到想要的起始位置--写0X0022把指针移动到GRAM--对数据端口赋值,WR每个上升沿9325会把该值写进GRAM并显示出来(保证RS为高)
6.至于还有个8位总线,硬件是接DB10-DB17。软件操作和16位总线是一样的,就是一个 16位指令分两次来写而已。不管是数据还是地址都先写高8位就行
7.基本协议也就是时序,其实有了上面的解释很容易自己写出时序了。我简单讲下吧。先CS=0; RS = 0; P1 =0; (命令地址高8位都是0) 然后给个上升沿WR = 0;WR = 1; 指令寄存器的地址操作就完成了。光写地址是完全没用的,后面肯定要跟个数据(0X0022是出口它特殊)写数据的时序和上面一样,就是要保证WR上升沿的时候RS为高电平。
8.知道了这些不必傻乎乎的每写一个指令或者数据就去操作一次CS,也不必每刷一帧屏都去操作一次起始坐标。因为它会循环的。显示区域设定在寄存器0050-0053里面,你不去修改它是不会变的,不用反复划定他。
9.读数据,读和写基本一样。就是RD下降沿生效和WR上升沿生效的区别,友情提醒一下,读数据要等待数据稳定,速度比写慢一点,具体请看手册。
RESET 这个是复位,不需要我解释了吧
CS :片选它的作用是除了字面上的意思外,还有个和SPI总线的NSS脚一样的作用:重新定义数据头,如果通讯重出现数据错位的话这个脚就起到作用了
RS :数据 or 地址(低电平就把你赋到数据口上的值当做地址来操作地址指针。 高电平时写的数据被放进相应寄存器里)
RD :读(下降沿生效)
WR :写(上升沿生效)
DB0-DB17 :数据脚
二。GRAM--是个矩阵,每个点对应屏幕上的一个点(从指令寄存器跳转到这里的方法是将指令寄存器的地址写0X0022(这里是指令寄存器的出口))
1.底层协议和基本函数(后面我具体讲)
2.操作寄存器 来实现初始化 其代码比较复杂上网或者找朋友要份代码抄一下,想深入研究的朋友可以找份中文的寄存器说明看下。只要屏来做显示用的朋友没有必要看了
3。划定具体显示区域,默认是地址每写一位会自动加1超过分界回自动循环(一般是 X为 0-239 ,Y为 0-319。当然也可以定义更小的区域) 这个在寄存器0X0050,0X0051,0X0052,0X0053里操作。
4.把GRAM指针移动到指定位置,类似1602液晶光标的作用,它不会显示出来。指令是行坐标是操作 0x0020寄存器 列坐标是操作 0x0021寄存器
5。会了上面这些接着就简单了 初始化--划显示区域--移动GRAM坐标到想要的起始位置--写0X0022把指针移动到GRAM--对数据端口赋值,WR每个上升沿9325会把该值写进GRAM并显示出来(保证RS为高)
6.至于还有个8位总线,硬件是接DB10-DB17。软件操作和16位总线是一样的,就是一个 16位指令分两次来写而已。不管是数据还是地址都先写高8位就行
7.基本协议也就是时序,其实有了上面的解释很容易自己写出时序了。我简单讲下吧。先CS=0; RS = 0; P1 =0; (命令地址高8位都是0) 然后给个上升沿WR = 0;WR = 1; 指令寄存器的地址操作就完成了。光写地址是完全没用的,后面肯定要跟个数据(0X0022是出口它特殊)写数据的时序和上面一样,就是要保证WR上升沿的时候RS为高电平。
8.知道了这些不必傻乎乎的每写一个指令或者数据就去操作一次CS,也不必每刷一帧屏都去操作一次起始坐标。因为它会循环的。显示区域设定在寄存器0050-0053里面,你不去修改它是不会变的,不用反复划定他。
9.读数据,读和写基本一样。就是RD下降沿生效和WR上升沿生效的区别,友情提醒一下,读数据要等待数据稳定,速度比写慢一点,具体请看手册。