搜索
bottom↓
回复: 49

关于解决MEGA16L不能驱动 LCD12864(已经OK了)

[复制链接]

出0入0汤圆

发表于 2004-12-28 10:52:02 | 显示全部楼层 |阅读模式
我用了一片MEGA16L驱动LCD12864的屏

那个驱动是在C51下用的一个驱动移值的,结果是插上屏之后MEGA16L就不工作了,拔掉之后,别的功能正常,如定时器、串口工作正常。如果插上屏,复位之后,单片机就好像没有工作



这是不是和I/O口的输出电压有关系,LCD的输出高为3。756V  输入高为3。5V。

工作电压是4。5V~5。5V



我现在的供电是5V



谢谢了



我的驱动的问题不大 只是显示不正常而已 不会程序跑飞的

是因为我用的I/O口是PDC PDC上有JTAG功能  我把JTAG功能打开了



由于读取LCD状态时,触发了JTAG,之后进入了仿真状态,造成了不工作的状态

这个程序与驱动关系不大



我已经把驱动修改好了,已经可以正常运行了

大家可以看一下:

不过初始化时要加入:DDRD=0XF8;PORTD=0XFF;(这个根据你的脚位来设置了)



点击此处下载armok0122762.rar


-----此内容被hygbeyond于2004-12-29,08:48:01编辑过
头像被屏蔽

出0入0汤圆

发表于 2004-12-28 11:04:35 | 显示全部楼层
1. 你移植后,工作正常过吗? 如果没有正常过,可能是软件的问题。



2。建议你在 AVR 与 LCD 的各条连接线之间,加入一个1K的电阻做缓冲。

出0入0汤圆

 楼主| 发表于 2004-12-28 11:19:06 | 显示全部楼层
谢了 我试一下



移值应该不会有问题, 如果程序有问题的话,它只会点不亮LCD 它不会不工作的,



我也想到了加电阻,我加的是100欧的电阻,太大了,我怕会有别的问题,我先加1K的试一下吧



我是想问一下大家有没有谁遇到这样的问题,如果真的不行那就只能用245,加373作缓冲了.



多谢了
头像被屏蔽

出0入0汤圆

发表于 2004-12-28 11:22:21 | 显示全部楼层
应该不用244,373之类,电阻就可以了。



本网站提供了七种液晶的驱动。大部分直接连接即可。电阻也不需要。

出0入0汤圆

发表于 2004-12-28 11:26:31 | 显示全部楼层
我刚刚搞过meag16+128x64(hd61202) 的没有问题呀!可能是你的软件问题。是不是你的驱动中有读屏命令而你的口没有换成输入方式?

出0入0汤圆

 楼主| 发表于 2004-12-28 12:44:52 | 显示全部楼层
我换过了 我用的是MCG12864A的液晶屏



这个驱动在51上面没问题,你们可以看一下源程序



点击此处下载armok0122342.rar
头像被屏蔽

出0入0汤圆

发表于 2004-12-28 12:56:06 | 显示全部楼层
呵呵,zhifeng 能不能将你的液晶C驱动传上来共享? 如果有图片、电路等资料,就可以整理到网站成应用范例。



你也同时可以获得200分,及升级成“突出贡献荣誉会员”。

出0入0汤圆

 楼主| 发表于 2004-12-28 12:56:54 | 显示全部楼层
本站上的液晶驱动在那里可以下载



也有可能是我用的这一种液晶显示太老了的原因吧,



在51上面一点事也没有 是因为51内部用的是上拉电阻 而现在AVR用的图腾式的输出,可能是输出电流过大之后AVR自身保护了吧

出0入0汤圆

发表于 2004-12-28 13:13:27 | 显示全部楼层
我晚上整理下明天上传吧!

出0入0汤圆

 楼主| 发表于 2004-12-28 13:15:25 | 显示全部楼层
谢谢了

出0入0汤圆

发表于 2004-12-28 13:28:17 | 显示全部楼层
to:hygbeyond,你的程序跑死了,avr 比51快液晶屏一直在忙状态,你的程序有问题

出0入0汤圆

 楼主| 发表于 2004-12-28 13:55:09 | 显示全部楼层
可不可以把你的程序传给我看一下 谢了

出0入0汤圆

发表于 2004-12-28 17:01:19 | 显示全部楼层
我答应armok 阿莫明天会将完整的资料上传
头像被屏蔽

出0入0汤圆

发表于 2004-12-28 17:16:27 | 显示全部楼层
哇,谢谢!



这样我们的网站就有9种液晶的驱动了!

出0入0汤圆

 楼主| 发表于 2004-12-29 08:52:06 | 显示全部楼层
昨天晚上忙了三 四个小时 终于解决了这个问题



在之里要感谢阿莫 和zhifeng 提出的一些方法 和 看法



我已经把正常的驱动传上来了 有兴趣的朋友可以看一下



to:zhifeng 把你的驱动也给我看一下!



谢谢你们了!
头像被屏蔽

出0入0汤圆

发表于 2004-12-29 09:00:02 | 显示全部楼层
谢谢hygbeyond 的共享。



能将你出问题的原因及解决的方法贴出来吗?谢谢。

出0入0汤圆

发表于 2004-12-29 09:03:12 | 显示全部楼层
液晶驱动上传

点击此处下载armok0122783.rar点击此处打开armok0122922.pdf






-----此内容被zhifeng于2004-12-29,11:29:22编辑过

出0入0汤圆

 楼主| 发表于 2004-12-29 09:16:02 | 显示全部楼层
我没有数码像机就不能把我所做的试验结果给大家看了



我传上来的驱动上面都注明了使用上的一些问题



主要的原因是JTAG功能打开了,把JTAG关了之后,用我上次传的那个驱动就可以点亮LCD了



只不过是AVR的要比51速度快,尽管我用的是3.6864M的晶振,还是出现显示不正常,就是把16*16的汉字显示成16*32.......



这是由于LCD12864的反应速度比较慢的原因,可以改变一下它的延迟时间就可以解决了

在驱动上我都已经注明了



有什么不明白的地方可以给我发邮件,也可以在这里交流



我会把我的一些移植的心得放在这里,由于我刚开始做AVR,所以所说的不一定是有理的,希望大家能指正

出0入0汤圆

 楼主| 发表于 2004-12-29 09:21:37 | 显示全部楼层
在很多的资料上都说明了,如果要用JTAG或是ISP下载的话:尽量不要用这几个功能I/O口,

我由于要用到AD转换这个功能所以用上了JTAG口,但是我没有关闭这个功能,所以引发了上面的问题

如果我用的是PA口的话就不会有什么问题了

不过总的来说这也是一个经验吧,以后就不会犯同样的错误了

出0入0汤圆

 楼主| 发表于 2004-12-29 09:50:53 | 显示全部楼层
我上面发的只是驱动

下面这是一个使用范例:

点击此处下载armok0122802.rar

有什么问题可以问我:



我的邮箱地址是:hygbeyond@163.com
头像被屏蔽

出0入0汤圆

发表于 2004-12-29 10:03:34 | 显示全部楼层
谢谢 kygbeyond,



还需要提供:



1。实物图(数码相机拍)

2。线路图



我们才能整理成范例。如果只是代码,就只能放在这里了。

出0入0汤圆

 楼主| 发表于 2004-12-29 10:10:55 | 显示全部楼层
那我先把原理图传上来吧,



实物图,明天看看吧,因为那是我在家里做的,我现在在公司,我手上也没有数码像机



因为我现在开发的主要是以51为主,过一段时间就会升级成AVR,我现在只是在做准备工作



希望以后大家多交流交流!



这个论坛非常好!
头像被屏蔽

出0入0汤圆

发表于 2004-12-29 10:22:18 | 显示全部楼层
谢谢! 多多交流。

出0入0汤圆

 楼主| 发表于 2004-12-29 11:05:50 | 显示全部楼层
点击此处下载armok0122882.zip



这个就是用protel99做的mega16驱动LCD12864的原理图,实物图下回再说吧



我一般做试验都会用试验板做,不做原理,这个电路是后画的



如果大家想做什么电路,或是电路上有什么难题的可以问我,我主要是做电路开始的



单片机只是近二年才开始做,所以会有很多不明白的地方向大家请教,特别是阿莫



这个驱动只供大家借荐,还有很多不足的地方要加以改进,希望我们中国也能开发出

自己的好产品
头像被屏蔽

出0入0汤圆

发表于 2004-12-29 11:28:19 | 显示全部楼层
谢谢。

出0入0汤圆

发表于 2006-1-22 22:18:04 | 显示全部楼层
看了这么多,可以动手做了。

出0入0汤圆

发表于 2006-1-25 12:39:11 | 显示全部楼层
hygbeyond兄:

您好!

我正在弄HD61202芯片的12864LCD模块。我用PC口接各状态位,用PB口接8位数据,而且在读LCD状态时,把PB口的内部上拉电阻使能。我用汇编写程序,在软仿真的情况下,观察各寄存器可以看出程序已经正常运行。可是用Ponyprog 2000 下载程序后,液晶屏没有反应。我把一个LED闪烁程序放在“初始化LCD”和“清屏”指令后面,MEGA8在运行的时候,LED不闪烁,而把两个子程序注释掉时,LED可以闪烁。这说明程序没有走到最后而是停在了读LCD状态的死循环处(也就是说LCD一直处在BUSY状态)。不知为什么?。每个数据位用不用串470欧电阻后再接MEGA8的IO口做缓冲?在ISP编程状态时,由计算机并口发出的信号对液晶屏的IO口有无影响?



我的液晶屏始一上电便是有一个实心的黑色方块——所有像素点都是亮的,用电位器可以调节对比度。不知这种状态是否正常,如果清屏的话,是不是在正常对比度下,屏幕上没有亮点了?



还望您百忙中给予答复,严重感谢!

出0入0汤圆

 楼主| 发表于 2006-1-25 21:16:43 | 显示全部楼层
你可以查一下脚位接的对不对,再看一下液晶的资料,最好是看一下你这个牌子的液晶资料,上面的程序方式用的是查询法来控制液晶的,你也可以用延时的方式来控制液晶,延时的具体时间看液晶的资料,把查询的那一段代码换成延时代码就行了

还有你把复位脚上加一个RC复位电路,一般你的接法正确的话应该是没有问题的.

出0入0汤圆

发表于 2006-1-25 22:51:52 | 显示全部楼层
我收到了您的来信,真是感激不尽!我用的是HD61202。液晶模块是厂家做好的。我看的资料不是这个厂家的,但是用的是同一型号的芯片,而且液晶模块的引出脚位也是致的。资料上说把液晶模块的RST脚直接接到+5V就可以了。您说加RC复位是R接+5V,C接地吗?另外,我用的AVR汇编,手上没有ICC的正式版,所以编译C有些困难。

出0入0汤圆

发表于 2006-1-26 09:46:53 | 显示全部楼层
大家好!

我用的是MEGA8,只有PB口是8个,剩下的PD和PC都是不到8位。没有办法,只能选PB口做8位数据,用PC口做CSA、CSB、E、RS(D/I)、RW控制,所有的IO口都是直接接到液晶模块的。只是在PB口读液晶数据的时候,先设为输入模式(DDRB=0X00);然后设PB口为上拉电阻有效(PORTB=0XFF)。但是有一个问题是,我有四根ISP编程线与四根液晶模块的数据线同时接到PB口上了。没办法,MEGA8的IO口线少,只能与ISP共接PB口,不知这是否有影响。我的程序目前只有LCD初始化和清屏两个子程序。



还有,我的液晶模块上电时中间有一个黑色的实心方块,这是不时所的像素都是亮的?清屏命令执行后是不是黑色的实心方块就消失了呢(因为毕竟清过屏了呀)?当液晶屏什么都不接时,一上电也是这样。我把LCD模块上的RST脚直接接的5V,LCD就应该复位了吧!我还有一只电位器,中间脚位接VO,两头脚位,一只接5V,另一只接VEE(-5V)。当调节电位器的时候可以把黑色实心方块调消失了,不知哪个位置是正确的。可是当把黑色实心方块调消失了后不长时间内,LCD模块上的DC-DC变换器的芯片温度就很高。要是按您信中说,液晶上电复位后是无色的,是不是我的应该将其调到无色,然后把每个PAGE和每个Y ADDRESS对应的位置赋上“1”就应该出现黑色实心方块了呢?



还望您百忙中多多指教,对于您的不吝赐教,小弟我感之不尽,谢谢!

出0入0汤圆

发表于 2006-1-31 23:22:43 | 显示全部楼层
据我用我自己的模块的使用经验,我用的都没有DCDC电路,上电多数会有全屏显示,清屏后不应该显示小方块的,复位应该是用低脉冲,另外,ISP脚还接有电路的话,最好下载完程序后将ISP插头拔走,可能会影响。

出0入0汤圆

发表于 2006-2-2 10:21:57 | 显示全部楼层
喜欢串行方式只需2根线,用SPI控制.背光用4.2V,模块3.3V.

出0入0汤圆

发表于 2006-2-2 12:38:59 | 显示全部楼层
串行的液晶是潮流啊...

出0入0汤圆

发表于 2006-3-25 23:16:47 | 显示全部楼层
个人认为3.3V的系统驱动5V的LCD完全没有问题.前几天我就做个这么一个项目,开始还加了个7407后来没用的照样OK!(串行方式)

CPU是LP2119

LCD是OCM4X8

出0入0汤圆

发表于 2006-8-8 16:28:26 | 显示全部楼层
有没有DM12864J—1 的驱动阿?

出0入0汤圆

发表于 2007-10-23 00:31:45 | 显示全部楼层
有没有SVM12864的驱动程序啊,原理图
用Atmage16单片机

出0入0汤圆

发表于 2008-9-7 16:55:27 | 显示全部楼层

(原文件名:dianlu.JPG)
请问大家,我的LCD12864一直都不能正常显示,驱动程序检查了很多遍,它的18脚(Vout)需要接电源吗?正常使用输出电压为-10v,3脚(Vo)直接接GND或vcc可以吗?谢谢。

出0入0汤圆

发表于 2009-8-16 08:51:14 | 显示全部楼层
好东西

出0入0汤圆

发表于 2009-9-16 20:05:58 | 显示全部楼层
对 我也遇到了相同的问题 不知 是不是2004年的12864与现在的不同?
16脚和18脚都是悬空的  而楼主却来用来做CS2和Vcc

出0入0汤圆

发表于 2009-9-16 20:07:27 | 显示全部楼层
能有人解释下吗

出0入0汤圆

发表于 2010-8-12 19:46:37 | 显示全部楼层
延迟长点就好了吧。原来在C8051上用的,延迟不够就会出问题……

出0入0汤圆

发表于 2010-8-12 20:02:44 | 显示全部楼层
mark~谢谢分享

出0入0汤圆

发表于 2010-8-13 13:21:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 02:36:09 | 显示全部楼层
GOOD

出0入0汤圆

发表于 2011-7-18 11:55:33 | 显示全部楼层
好东西

出0入0汤圆

发表于 2011-8-16 20:11:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-24 08:32:05 | 显示全部楼层
回复【楼主位】hygbeyond 胡勇刚
-----------------------------------------------------------------------
太好了,我也遇到了同样的问题,我显示的字符都是成双的,51上都是好的
还有显示汉字时位置不对

出0入0汤圆

发表于 2011-10-24 08:34:43 | 显示全部楼层
回复【24楼】armok 阿莫
-----------------------------------------------------------------------

你好!我的注_册没通过审核,那用户名也不能再使用了啊?
我再注_册时提示用户名已经被占用,不注_册那个号又登不上了,没通过审核

出0入0汤圆

发表于 2012-2-3 14:46:07 | 显示全部楼层
有HC2021的AVR程序吗,里面有KS0066的控制器
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 02:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表