完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
附件中的代码在PIC16F88(它不使用LATches)上运行良好(下面有一些更改,[1]),但我在将它移植到PIC16F18877上遇到了一些麻烦。顺便说一下,我尝试过,没有改变,给PORT写信,没有乐趣。在研究这个问题时,我遇到了一个常见的错误,那就是在读取数字输入时没有设置ANSEL寄存器。我想一定是这样的,但当我设置ANSELA=0和ANSELD=0;(liblcd.c,第228&229行)在LCDBusyLoop()中代码似乎不能退出do..而它以前能够这样做。是的。我好像在和两条尾巴的狗打架,爬上一棵大雁树:)添加ANSEL寄存器似乎会影响循环,但是没有这个寄存器,它无论如何都不起作用。任何帮助都是可以理解的,因为我对接下来要尝试什么有点困惑。PIC16F88_configbits.txt中包含的位寄存器供参考。为了将16F88代码(无LAT寄存器)迁移到16F18877.liblcd.c,LCDInit();注释掉第249行。添加行251以将结果推入LAT,而不是PORT.Liblcd.c,LCDByte();注释掉第91行。第92行将temp的值写到LATLLines 107&108,与上面一样。谢谢,p.s。顺便说一下,我之所以不使用PORTB,是因为数据表的第12.7节有以下注释:[
|
|
相关推荐
1个回答
|
|
MattB,读完你上传的代码后,我发现你的风格太难理解了。有许多实现方式都遇到了一些共同的问题,这些实现方式是用4位模式将HD44780型LCD模块与控制器接口的。OT似乎起作用了。这是因为在日立HD44780芯片的所有版本中,繁忙状态读取的4位字节顺序都不一致。我经常遇到使用NotoTek NT7603芯片的LCD模块。这些芯片用于GALSS(COG)LCD模块的许多芯片上。Novatek模块以不同于HD44780芯片的顺序,以4位微字节来响应状态读取命令。我期望Microchip的工程师知道这一点,但是即使经过几十年在许多Microchip显示板上使用这些LCD模块之后,Microchip仍然有还没有产生能够以4位模式与任一种LCD模块芯片一起工作的代码。有关PIC16F18877项目,请参阅我的GitHub存储库,该项目实现了用于任一种模块的LCD 4位接口。
|
|
|
|
只有小组成员才能发言,加入小组>>
5237 浏览 9 评论
2026 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3201 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
772浏览 1评论
662浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
590浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
672浏览 0评论
572浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 11:06 , Processed in 1.159662 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号