浅谈用单片机控制12864液晶

浅谈用单片机控制12864液晶

ID:46130043

大小:63.50 KB

页数:8页

时间:2019-11-21

浅谈用单片机控制12864液晶_第1页
浅谈用单片机控制12864液晶_第2页
浅谈用单片机控制12864液晶_第3页
浅谈用单片机控制12864液晶_第4页
浅谈用单片机控制12864液晶_第5页
资源描述:

《浅谈用单片机控制12864液晶》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、从现在开始,慢慢的写一写口己在学习过程中的感想,作为一个系列吧,没有什么固定顺序,学到哪写到哪。给它起个统一的名字叫做《我的学习笔记:*****》,话不多说,第一记开始:话说起来12864,有爱有恨。先引出一段背景话:前段时间做电了人赛,题目是《无线遥控绘图小车》,意思即为制作一个A端,作为远程遥控部分;制作一个B端,作为绘图主体部分。每个部分均由主控IC來控制,我们采用的是增强型51单片机STC12C5A32S2,选择它的原因无非冇两个:一是普通51单片机无论从主频、RAM上来讲均不能满足耍求;二是在大赛前突然得知AVR系列的128

2、停产了,市面上仅剩的128于是身价倍增,已经达到45〜55元/片,成本过高。于是惊呼:AVR的时代已经马上就要过去了。最后我们选用了STC12C5A32S2单片机,主频选用24M,不分频,相当于传统51单片机的288M频率,速度够用;32K+28K的存储器,相比51的4K、8K存储空间够用了;而它的价格仅仅为7元/片(从芯片商直接购进)。这样无论从性能和价格上均满足耍求,可谓性价比相当高的一款单片机了。好了,主控介绍完毕。因为本次主要想说说12864液晶,所以主要介绍A端及其控制。A端主要有五部分组成:电源模块、主控芯片及其工作电路、

3、欧姆龙非编码4*4矩阵键盘、nrf24L()l无线传输模块、12864液晶显示模块。下面主要介绍在使用12864液晶中遇到的一些问题及其解决方案:(抛砖引玉,欢迎高手指点)12864液品,从字面意思上來理解,就是-块分辨率为128*64的液品屏幕,和电脑中提到的显示器分辨率是一样的。只不过12864是一块单色的液品屏,市面上最常见的为蓝绿色和蓝色。我们采用的是蓝色液晶屏,内冇中文字库,使用起来方便很多。关于汉字和ASCII码:汉字在12864+占用16*16的屏幕空间,ASCII码字符占用16*8的屏幕空间。于是我们可以知道:一块12

4、864使用内部字库,最多可以显示32个汉字或者64个ASCII码字符。如果我们感觉这样屏幕显示的东西太少,可以舍弃液晶内部字库,白己制作一个字库,其中汉字和ASCII码均町以占用8*8的屛幕空间,这样我们的12864最多可以显示128个汉字或ASCII码字符。所以在显示内容较多时可以采用这种方法。作为背景,下而说一下12864的驱动。关于液晶的驱动电路是相当复杂的,一个有儿年工作经验的工程师也不一定能自己独立设计出一个12864驱动,但是比较好的是,我们一般在买12864的时候,制造商都已经将驱动做好了,我们要做的就是通过制造商帘给我

5、们的20P接口去使用它(这也就是术业冇专攻吧,我们不必关心它的内部驱动,只要会用就行了),关于制造商留给我们的这20P引脚的具体名称和功能我就不赘述了,网上一把一把的。将单片机的I/O、电源线与液晶焊接完毕后,硬件也就搭建好了。下面开始软件编程來控制12864液品让它显示。说到软件编程,首先我们需要准备一下平台:第一:给单片机焊接一个下载电路,51单片机最常用的就是串口下载,需要串口头一个、104电容5个、max232芯片一个、串口线/USB转串口连接线(后者主要为笔记本等没有串口的电脑设计)一•条、导线若干。这个下载电路在网上也是一

6、把一把的,我也不赘述了。第二需要一台电脑(编程用)。第三:需要相应的开发平台,51单片机最常用的是kcil,现在比较流行的是kcil2和kcil3,各冇特点,可以根据自己的习惯选择,我个人选用的是keil3平台。有了以上3点,软硬件开发平台就己经搭建好了,卜面介绍一卜•程序编写。首先,打开keil软件,建立一个工程,并添加一个文件到工程里面,然后就可以写程序了。首先把基本程序架构写好:头文件、主函数、while循环。为了让程序比较好理解,采用编写函数在主函数屮调用的形式。下而介绍一下各种功能函数的编写。首先是最基本的初始化操作,需要参

7、考制造商给出的操作时序图(这里不赘述,只列出代码)voidinit_12864(){led12864_psb=1;〃选择并行模式write_cmd(()x30);〃选择基本指令write_cmd(OxOC);//把显示打开,关闭游标wiite_cmd(0x01);〃清屏,地址归零接下來是基本的读写操作:参考制造商给岀的操作时序图(这里不赘述,只列岀代码)〃往12864内部写入一个命令字节voidwrite_cmd(ucharcmd){led12864」s二0;//把rs引脚拉低,表示命令led12864」w=0;〃表示写,而非读P0=

8、cmd;//把命令字节送到数据线上lcdl2864_en=0;〃给en引脚一个高脉冲delay_ms(5);lcdl2864_en=l;delay_ms(5);lcd!2864_en=0;〃往12864内部写入一个字节的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。