有时候在使用12864的时候经常令我们疑惑的事情就是关于PSB的使用,我们很疑惑PSB的作用,其实PSB的作用很简单,就是控制12684数据传输的串并行。一般正常来说的话我们使用的都是并行的。
LCD12864的通讯方式是串行、并口可选的,那么这两种有什么区别呢?
1)串行有查忙,需要加延时,否则会出现乱码;并行没有查忙,可以不用延时,但是反应慢。
2)串行速度相对较慢,但是占用的I/O口少;并行相对速度快,但是占用的I/O口多,需要8+3条I/O口。
3)串行CS要特殊处理一下.控制起来比较耗时占用单片机资源多,当然也有些小技巧解决,如在CS拉低以后要重新工作必须执行0x30指令(默认第一次上电是执行基本指令集的,在片选为0,以后再次选中则需要执行这个指令所以我的光标闪烁指令才能生效),以及在使用总线对其进行驱动的时候,并不是每次通信结束后都需要让CS置零。而并口读写快,特别适合图形方式。
在一次项目的使用中我直接给PSB悬空了,导致12864一直不亮,经过仔细的分析才知道是PSB的问题,就是大家在使用的时候,如果没有出现端口不足的情况的时候就给PSB接到单片机的端口上,正常情况在51单片机端口没有使用的时候,端口会是高电平,这个时候就是响应并行的方式,所以我们不需要注意关于PSB问题。
但是在需要使用到这个端口的时候,就是关于PSB就应该接相应的电平的,想实现并行就接高电平,想实现串行就接低电平。