段式液晶显示方法

上传人:ldj****22 文档编号:30481032 上传时间:2018-01-29 格式:DOC 页数:11 大小:990KB
返回 下载 相关 举报
段式液晶显示方法_第1页
第1页 / 共11页
段式液晶显示方法_第2页
第2页 / 共11页
段式液晶显示方法_第3页
第3页 / 共11页
段式液晶显示方法_第4页
第4页 / 共11页
段式液晶显示方法_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《段式液晶显示方法》由会员分享,可在线阅读,更多相关《段式液晶显示方法(11页珍藏版)》请在金锄头文库上搜索。

1、MSP430F413 单片机 段式 LCD 设计 中遇到的晶振、LCD 驱动等问题 2011-08-11 17:40这次设计所用到的微控制器为 德州仪器(TI)的 16 位单片机 MSP430F413。单从价格上面来说,这个是单片机也算是 TI 里面的最便宜的 可以直接驱动段式 96 段 LCD 的单片机了,当时设计之初也是奔着价位而来的,由于在工作中用到过 MSP430 单片机做过低功耗类的产品,所以对单片机的外围以及硬件结构还是略知一二的。相对于 stc 单片机的开发工具来说 430 的开发工具也只是个 JTAG 接口,但是这个接口的价格嘛也得 60 元左右,由于以前做过 MSP430 的

2、项目,所以开发工具是现成的!好了,言归正传,这次所用的 LCD 是淘宝上买的,详细资料如图所示:是个四位的 lcd, 以前确实没有接触过段式 LCD ,数码管倒是接触的不少,所以自己由好奇心的趋势,自己就做了一块开发板,想试试 LCD 的感觉。首先开发板打样回来之后,元器件焊好,随便写了个定时器的程序进去,发现程序在 10 秒钟之内是运行正常的(此时还没有安装 LCD,只是个指示灯在跑),不过也有偶尔程序不运行的情况,后来自己就找原因;1、mcu 焊接不好?2、复位电路焊接不好?3、晶振焊接不好?逐一排查,发现前两项是很正常的,虽然 PQFP 的封装还是焊接的不多,但是自己的焊功还是过的去的

3、,于是就找晶振的问题。但是如果是晶振自身的问题的话,可能就不起振或者起振频率不对,以至于系统根本就无法定时启动。所以疑点越来越在晶振上面,后来发现晶振自身是没有问题的,主要是原因是因为晶振的管脚焊接位置 距离单片机的 XIN XOUT 管脚的距离着实有点远,大概 20mm 的样子,加上线走的比较细 0.26mm,所以晶振启动异常,或者有时候根本不起振。问题处在第 3 了。 没有办法只好用刻刀将晶振的线从单片机管脚出来大概 3mm 的地方划断,剥去丝印层,露出黄铜线,将晶振管脚直接焊接在黄铜线上,然后用硅胶枪将晶振和单片机封好,就是下面的样子 (很丑但是很温柔)!凑合着先用一下,等实验好了的话,

4、如果有需要就重新打样了。将晶振如此这般之后,总算定时器稳定的工作在理想状态了,接下里就是总结经验和教训了,单片机的晶振在设计的时候一定要首先 定位,确定晶振和单片机管脚之间的有效距离,确保晶振的稳定可靠运行,这个小家伙是关键啊 !接下来就是 LCD 了!段式 LCD 的驱动方法基本上和数码管是不太一样的,数码管只要给电和选通就亮。但是段式 LCD 的驱动是靠两部分组成的 一部分是 不间断的 电压脉冲,这个电压脉冲还是被分为好几个电压等级了,如果你用的是 1/4 duty 1/3 偏压的话,那么就要有四个电压等级。也就是 VCC - 2/3VCC - 1/3VCC-GND 这几个电压等级直接可以

5、用电阻进行分压得到,然后直接和 413 单片机的 R03 -GND , R13-1/3 VCC , R23-2/3VCC R33-VCC 这样直接连接就可以了。这样电压等级就有了,具体在里面生成的电压等级脉冲,413 是可以自己生成的,不用我们操心了。 com0-com3 就这些个电压等级的输出管脚。直接连上 LCD 屏的 COM0-COM3 就可以了。另一部分是 选通管脚 选通管脚也就是 LCD 上面的 S0-Sn ,我在做板子的时候是和单片机里面的 S0-Sn,直接连的 ,有几个连几个,多余的单片机 IO 口直接拉出来,做外置 IO 口用。那么如何来写驱动程序呢 ?首先要搞懂每个输出管脚何

6、时输出和输出什么,这样才能得到我们想要的字形。于是看了资料发现,MSP430F413 中配有 LCD 段码寄存器,就是说你只要把这些你要显示的字形(当然如果你只想显示数字的话,只用存 0-9 这几个字码就可以了),段码寄存器的地址是从091H 开始-到 0A4H 每个地址里面可以放一个 8 位,每一位对应于液晶上面的一段,所以说一个地址对应于液晶上面就是一个字。(一个字的段码也是 8 位的)这样的话,我们只要将要显示的一个数字的编码发到这个 单片机的断码寄存器里面,就可以直接显示了,是通过 com 口的脉冲波形同时将寄存器里面的段进行耦合,产生压差,LCD 只有产生压差才能点亮。一直提供一个不

7、变的高电平是要烧坏液晶的,这就是和数码管区别的地方。不过这些脉冲 413 单片机已经帮我们做好了。 总体的步骤就是 ,我们将 LCD 的段码先整理好,然后放在一边备用,等到你想显示某个数据的时候,只要将这个 8 位的段码直接写入单片机留给你的 LCD 寄存器写入端口数组就可以了。在 413 里面也就是 LCDMEM ; 【】中应该写的是要显示的位,这个位是数码管上面的 位置,比如你想显示液晶上面的第 2 位数,先不说要显示的内容是什么,这里的位选应该是 LCDMEM1, 因为是从 0 开始的,所以第二位应该是 LCDMEM1. (从 091H 开始-到0A4H 每个地址都可以存一个 8 段)然

8、后说显示的内容:显示的内容的段码很关键,这个要看 你所拥有的 LCD 参数手册,一般都是这样的一张表:这个表给我们的信息就是, 第 9 和第 10 列 显示一个 8 字,第 11 和第 12 列显示一个 8 字.一共可以显示 4 个 8 字。至于 1234 列先不要去考虑,那些都是字体周围的那些个小三角符号!因为 LCD 段码的等级脉冲方式是从 COM0-COM3 , 所以我们将这些第 9 和第 10 列的段码也要按照这个方式编码。假如我们想显示第一个 8 字上面的内容:即: 第一次脉冲出来 COM0 COM1 COM2 COM3, 那么寄存器里面输出来的段选也应该按照 COM0 COM1 C

9、OM2 COM3 所对应的段码输出,这样才行显示出你想要的结果,那么我们在第一轮的 COM0-COM3 输出时 匹配寄存器的段选应该 DP0-C0-b0-a0,第二轮的 com0-com3 输出时,匹配寄存器的段选应该是 d0-e0-g0-f0 这样第一个 8 字的显示才完全了,至于这个 寄存器是怎样把这些段码读并且写 出去呢?com 口在启动后总是从 COM0COM3 ,COM0COM3 ,COM0COM3 ,一直不停的这样脉冲着.排序方法应该根据 com0-c0m3 的 连续输出方式排。一个 8 字的段码排序从高到低排,因为我两轮 com0-c0m3 的输出所以得这样排第二轮第一轮com3

10、-com2-com1-cmo0 com3-com2-com1-cmo0 f0- -g0-e0-d0 a0-b0-c0-dp0(小数点位)然后可以理解为 寄存器里的一个 8 位段码保存的段就是这样的f0- -g0-e0-d0 - a0-b0-c0-dp0(小数点位)到此我们如果想显示一个数字 2,我们该如何保存段码呢按照数码管的方法 应该是 显示 a,b,d,e,g 这五段。 那么对于寄存器里面的这 8 个段 不是按照 ABCDEFGH 来排的,怎么整呢?不要紧,显示哪一段就把哪一段 置 “1”,不显示的就 置零。那么 2 出来了,有高到低就是 0111 1100 这里的小数点暂时不显示。 其中

11、的 f c dp0不显示,所以写 0 就可以啦!所以 2 的最终段码就是 7CH以此类推,你可以把 0-9 的 10 个段码全部写出来,然后组成一个通用的数组char tongyong10 =0xBE, / 0 a+b+c+d+e+f0x06, / 10x7C, / 20x5E, / 30xC6, / 40xDA, / 50xFA, / 60x0E, / 70xFE, / 80xDE / 9;到此为止 基本上的 原理是走通了,那么具体是怎么才能显示呢?想显示还要先设置,就像定时器一样,要先设置好相关的寄存器,它才会按照你的思想来运行。这些设置在各种例程里面都有,随便找一个修改一下就可以了。重点

12、说数据的传送,当所有东西都设置好之后,你想显示一个 0,在 LCD 上面的第 1 个位置,一般我们都是从右到左的 看法。 也就是在最右边的位置显示一个 0 出来,我们要做的只有两步:1. 先清屏LCDMEM0 = 0; 这个就是在第 0 位 不显示任何东西,清屏! 当然清屏是在要改变显示数据前清的,并不是每时每刻的在清屏! 我用一秒钟的中断定时器,实现时钟状态下每分钟清屏一次,整机功耗只有 42 微安! 一节 600MAH 的 锂电池应该能工作 1 年 2 个月左右,还是比较划算的!2,写数据 LCDMEM0 = tongyong0; 这个就是把 tongyong【0】;数组中的的第一个段码 0xBE,发给显示寄存器。并且显示的地址是 LCD 屏上的第 0 位, LCDMEM n, 这个 n 是几,就是在第几位显示。当然我的屏幕只有 4 位,那就是最多只有 3 了。好了到此为止全部完工。发两张我的显示效果图上来。 当时设计电路板的时候买了是两种不同的液晶屏,设计的时候电路设计成通用的 了所以可以安装两种规格的液晶第一次做 LCD,也许有很多理解不对的地方,欢迎大家指正,我们好一起进步!下班已经 40 分钟了,该打卡回家了!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号