51单片机的串行模式 在并行模式下,我们验证了QC12864B的良好显示性能,那么如何来进行串行模式的运行呢? 首先要进行线路的连接,在51单片机上,若以串行模式工作,它只需占用2个I/O引脚即可达到显示要求,具体的连接方法是: 1)接好电源、亮度调节及背光连线 2)将RS接+5V,R/W连P1.1 ,E连P1.2,PSB接地。 打开电源,此时由于QC12864B的背光引脚已通电,应被点亮。然而,异常情况出现了,不但QC12864B没被点亮,连电源指示灯也熄灭了。 后经不断地检查,才发现问题出在PSB引脚上,原来它在QC12864B的内部已被接到+5V,难怪打开电源后,就一切都黑了!还好电源有保护,否则一切就全完了。 再次检查QC12864B内部的线路,发现是电阻R9将PSB与+5V连在一起。把R9拆下来再试,问题解决了QC12864B亮了起来。 在串行模式下,串行数据传送共分三个字节来完成: 第一字节:串口控制—格式 11111ABC A 为数据传送方向控制:H 表示数据从 LCD 到 MCU,L 表示数据从 MCU 到 LCD B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控制指令 C 固定为 0 第二字节:(并行)8 位数据的高 4 位—格式 DDDD0000 第三字节:(并行)8 位数据的低 4 位—格式 0000DDDD 在LCD12864上以串行模式显示字符和汉字的代码如下: 经程序编译和下载,运行时的显示效果如下: 在汉字输出方面,最简单的方法是采用字符串,该方式其输出内容较为直观。但在使用过程中有时会出现显示内容不正常的情况,即无法输出指定的中文信息。此时,就需要以区位码来辅助输出。通常一个字符占一个字节,而一个汉字要占二个字节。如“安”的区位为CAH和FDH,其显示语句为: Send_data(oxca); Send_data(oxfd);
为了在YL-KL26Z 开发板上实现QC12864B的显示功能,首先要验证一个问题就是3V的工作电源能否驱动QC12864B。为QC12864B的背光引脚加上3V的电源,可发现显示屏被点亮。 再使用3V的STC12LE5A60S2单片机对串行模式的程序进行测试,会发现能显示出原输出内容,但出现的问题是颜色很浅,很难看清楚!
|