完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
大家好,我一直试图得到一个HD44 780与我的项目工作无济于事。我的主要目标是创建一个数字电位器与按钮启动和LCD屏幕与倒计时器。然而,我一直无法获得正确的字符在LCD屏幕上。我已经阅读了hd44780的数据表,并浏览了论坛寻找答案,但很明显我误解了一些东西。现在我想我的初始化正确,但我不确定。我附上我的示意图,下面有我的代码。我注释了DigiPOT和按钮开关的代码。任何帮助将不胜感激!我上传了我的示意图和LCD屏幕的图像到一个图像相册上,因为我由于某种原因无法在这里上传图像。http://imgur.com/a/pN8qN。
|
|
相关推荐
14个回答
|
|
|
你张贴的代码和示意图:这两个都有很多设计缺陷。太多了,无法详细讨论。你需要观察和理解其他已经做得更好的设计。看这个设计16F690单线和LCD接口。还有很多其他的。试着用谷歌来找到它们。
|
|
|
|
|
|
其他问题:晶体管需要限流基极电阻PGD连接到Q2的基极,Q2将其箝位到0.7VMCLR,具有1k下拉和1nF电容器到GND。如果使用MCLR,应该是上拉。LCD上的未用引脚必须连接到GNDYour函数,以便写入LCD。这可能有问题,但是可能存在RMW问题。EnableToggle()比需要的时间长得多。我用什么:
|
|
|
|
|
|
@dan1138I修改了代码以处理低4位以及更改了LCD数据总线连接的顺序。现在,在每次编程.http://imgur.com/a/3hy5T(最右边的正方形正在闪烁)之后,都会看到这一点。跳到右边,但是当第二行开始时,它们似乎消失了。@ PStechPaulI做出了你描述的硬件变化。我用的是一个2x1英寸的PCB,所以有点棘手。我还把EnableToggle缩短到您所拥有的,但是似乎无法识别NOP。我在LcdCommand中混淆了更多,并且从早期的图片中得到了一些奇怪的字符,以及我所尝试的所有其他字符。它使我相信它是带有初始化或LCDMug()函数的东西,因为我不知道它会是什么。在LCDMead函数中,我还试图用影子寄存器来解决RMW问题。我尝试过这个,虽然我不确定我是否正确地使用了影子寄存器的想法。用这个运行代码可以让LCD打印这个.http://imgur.com/a/tDGDX(暗一点的只是闪烁)。
|
|
|
|
|
|
|
|
|
你可以在MCP网站上查看“PICDEM 2 Plus,DM163022-1”页面。在下载部分有示意图和SW,你可以用它来比较你的示意图和代码。
|
|
|
|
|
|
我没有读过这整个帖子,所以我可能错过了一些东西。除了CG指出的==算符之外,该片段不在较低的4位上操作。
|
|
|
|
|
|
CinziaG,谢谢你的接力!@阿尔伯特61谢谢你!我会开始读一本,看看我能否理解不同的情况。@1和0,然后我会看像这样的东西?我认为这已经与较低的4位之前,所以我把它甩到0xF0为较低的想法,我错了。这看起来是正确的还是我仍然在使用OR运算符的低位?当我这样做的时候,我得到光标闪烁在第四行,但它非常微弱。这也是我第一次在第二和第四线看到任何动作。以前只有第1行和第3行起作用。所以现在我所处的位置是进行上述更改,虽然我不能得到想要的字符,但是现在看不到任何奇怪的字符或块。光标闪烁和移动,但如果我重新编程,光标并不总是出现。我还看到第2行和第4行比第1行和第3行打开。也就是说,第1行和第3行从角度来看是微弱的,而第2行和第4行不是相同的,那么它们一秒钟后就变得微弱了。整个屏幕现在看起来也变暗了,但也许我只是在想,因为我现在没有看到任何角色。
|
|
|
|
|
|
您还没有发布一个完整的项目,我们可以构建,所以我怀疑您的问题可能是PORTC的“影子端口”实现不一致。附件是一个MPLABX项目,可以在您的硬件中工作。我还没有在自己的硬件中测试它,所以您的里程可能会变化。祝你好运。
|
|
|
|
|
|
DAN1138抱歉,我完全隔绝了。我把它附在下面。我也尝试了你提供的代码,我得到行1和3满实心块。
|
|
|
|
|
|
在使用阴影端口时,我看到了一个问题:因此,您需要首先写入四个最有效位(MSB4),其次是LSB4。而且,你需要做一个正确的移动来移动MSB4到影子寄存器的LSB4:
|
|
|
|
|
|
延迟太长了,它会减慢速度。在写m***和l*** 4位之间,不需要延迟,它们只是被锁住了。而且听起来你的行混在一起了,因为这些是基于早期型号的2行显示。第1行@0x80<-|第2行@0xC0|第3行@0x94<-|第4行。@ 0xd4
|
|
|
|
|
|
从技术上讲,第1行和第3行属于第2行和第4行。在2行显示中,您具有可滚动的隐藏区域。其他型号使用加法器显示的库。此外,由于时间紧,所以最好使用繁忙标志,而不是一些可以工作的延迟,但是浪费了多少时间?
|
|
|
|
|
|
这是我为使用4个数据位和延迟而不是繁忙标志(为了与MikroC LCD库兼容)的4x20显示器编写的代码:
|
|
|
|
|
|
是的,我的代码中有bug。我已经修复了那些我能找到的,它现在工作时连接,如我的示意图所示。我还没有实现与MCP4021数字电位器的接口。这是你的任务。这证明了LCD接口的工作原理是:
|
|
|
|
|
只有小组成员才能发言,加入小组>>
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 08:21 , Processed in 1.085608 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1130