完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我正在组装一个Mikro-C兼容的LCD显示库,它最终将用于4x20显示器,但是在我库存的14针连接器中,唯一能找到的是两个不同的1x16显示器。我有几个2x20和4x20,但他们有SPI接口焊接。所以我使用1x16s来测试库的基本功能。需要花一些时间才能使任何东西正常工作,但最终我得到了显示测试字符串的显示器。但是当我设置1行时,只有8个字符会显示出来。然后我设置了2行,第二行的测试字符串显示在显示器的另一半上。我订购了一台4x20显示器,当它到达时我可以继续测试,但我想知道这些显示器是否是非标准的,或者它们是否应该这样工作,或者我可能做错了什么。我使用PIC16F17863和PORTA四个数据线,E,RS. Here是库代码:调用代码:
|
|
相关推荐
14个回答
|
|
|
无论如何使用LATX
|
|
|
|
|
|
嗨,保罗,你可能已经知道了,所以如果这是多余的信息,我很抱歉,但是那些基于日立HD44780的LCD具有推荐的LCD启动初始化顺序,在数据表中有一些时间限制。我不确定你是否遵循推荐的启动初始化序列,但如果不是,你可能想要。它可能会解决你的问题(或不)。我希望这有点帮助。最好的问候,KenP。S你有这样一个不错的狗!当我看到你的化身时,我总是微笑。狗是了不起的动物!猫也一样!:)
|
|
|
|
|
|
哎呀。我看到您有“LCDGIN()”,但我没有看到“LCDGIN()”的函数定义。也许你已经在LCDGIN()中已经包含了所有的启动初始化命令/定时延迟?对不起,如果你有噪音/分心。
|
|
|
|
|
|
就在那里,肯,在第一个街区的尽头。:)
|
|
|
|
|
|
您好,谢谢。我太匆忙了,不够仔细。谢谢您的指正——谢谢!最好的问候,肯
|
|
|
|
|
|
不幸的是,在拥有他近10年之后,我于2015年11月把Muttley送到了“彩虹桥”。Lcd_Init代码位于我的第一个代码块的底部。以下是一些未被包含的附加代码:这里是一个4x20 LCD显示的数据表。我遵循了指定的软件重置和初始化例程,在试图让它工作的时候使用了比必要的延迟更长的延迟。PS:我现在有一个名为“Skeeter”的猫(Maine Coon mix):
|
|
|
|
|
|
哦,亲爱的,保罗,我很抱歉你的损失——我向你表示诚挚的哀悼。我很高兴你还有一只宠物——一只猫。从小到大,有一只狗和一只猫的感觉真好。没有什么比冬天睡觉的时候猫温暖你的双脚更好了。谢谢你张贴这些片段。此时此刻,没有什么东西会出现在红色旗帜上,但我会努力思考。让我们知道,如果你克服这个问题。最好的问候,肯。
|
|
|
|
|
|
您好,您在留言#1中的体验就是日立HD44780字符LCD控制器应该如何工作。请记住,该控制器实际上被设计成以5x12像素字体显示1行8个字符,以具有下划线的5x12像素字体显示,或者以5x8像素字体显示2行8个字符,而不具有下划线的5x8像素字体。具有1行16个字符的显示器是单个控制器,用于在字符位置9至16中显示第二行。因此,控制器必须配置在2行模式以显示16个字符。显示2行16个字符有一个扩展驱动器来控制字符9到16的像素列。较长的显示器在PCB背面有另外的列扩展驱动器芯片,分隔成小块。多达2行×40个字符,一个控制器和4个扩展列驱动器。类似地,具有4行、20个字符的显示器是2行×40个字符、5x8像素字体,即剪切和fol。在写字符21到40时,它具有一些特殊的性质。日立数据表、维基百科和这个网站上有信息:http://sprut.de/./lcd/index.htm#ledRegards,Mysil
|
|
|
|
|
|
在英语HTTPS://Trutal.GoGoLe.COM/Eng译?HL= En&SL=DE&TL=EN & ANP;U= HTTP %3A%2F%2FSPUTE。DE%2FETENE.2FLCD%2FEDEX.HTM%23组织
|
|
|
|
|
|
还有一个关于LCD AddiScript HTTP://Web.AlFrdStord.E...
|
|
|
|
|
|
真的!谢谢!咧嘴笑:这正是我需要的。现在我需要修改我的库来解释这些“异常”。令人惊讶的是,发现它如此复杂,而且显然不合逻辑,但至少现在我知道了,这应该只是定义各种显示配置并相应地进行编码的问题。我认为我下载的LCD_Lib_Busy库没有处理所有类型的函数,但我将更仔细地研究它。
|
|
|
|
|
|
嗨,Vloki提供的LCD_lib_busy.c和LCD_lib_busy.h库只知道LCD控制器,它有两行40个字符,从0x00到0x27和从0x40到0x67。ne 3.LCD_lib_busy只知道行号0和1,而您必须转换的mikro_c程序可能使用行号1、2、3和4,所以您可能需要对行号和字符位置进行一些解码。OLE没有准备好附加字符或命令。为了控制这种情况,驱动程序使用R/W控制线。mikroC LcdLibrary似乎没有为RW控制线使用定义。如果目标硬件没有连接RW控制线,则可能必须对所有操作使用定时延迟。如果已经这样做了,驱动程序就不再是LCD_lib_bus了。Y.C,它已经被转换成:LCDLILBILITY。C Mysil
|
|
|
|
|
|
是的,我没有包括忙碌读取功能,因为硬件不支持它,MikroC库也不使用它。所以我增加了延迟。我找到了一个4行X 20字符显示,我让它在第1行和第2行工作。如果将0x14的偏移量添加到列位置,行3和行4应该工作。从http://Web.AlFrdStord.Ed.AdvestSngIng.Idx.HTML:
|
|
|
|
|
|
成功!下面是修改后的LCDGOUT()例程,该程序适用于4x20显示器:但是…有了这个显示,如果我快速应用5V(通过连接从5V电源到电路板的一个剪辑),显示器就会被弄乱。但是,如果我慢慢增加电压,显示器工作正常时,它达到约3.6伏。其他1x16显示器似乎是相反的。我有一个1 UF陶瓷电容器上的供电轨。我增加了一个220μF的电容器和一个12欧姆串联电阻,它仍然是一个问题。一个100欧姆的电阻工作,但电压低,显示器调暗。在LCD初始化之前,我增加了1秒的延迟,这似乎使情况变得更糟。但是我可以把电压预设到3.7到4.4伏,并且毫无问题地快速施加。我还注意到,第一行在初始化、LCD_CLEAR、CURSOR_OFF之后第一次显示时缺少前两个字符。也许我需要一个延迟之后呢?对!增加延迟如下,所有似乎很好或缓慢应用电压或立即:
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1097浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:29 , Processed in 0.967110 second(s), Total 98, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5244