完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
你好。我需要一些指导。我使用16F87来运行键盘、LCD和DS1307 RTC。它已经成为一个漫长的程序,我把主要部分放在PaG0中。显示消息例程在PGE1中,显示字符串在PaGES2和3中。我已经把它们归纳如下:第0页=5页。第1页=800小时。第2页=1000小时,第3页=1800小时。我正在用绝对代码编译。一旦我的lcall超过一定大小,PC就跳转到另一页。我在窗户监视PcLATE,我可以看到它在变化。PCL是正确的,但显然PCLAT引起了这个问题。如果我保持通话距离小于100h,一切都很好。我看过我的列表文件,看看每页的确切大小,当到达900小时时,麻烦就开始了。我打电话后用LCALL加上pagesel$。这很好,直到通话太远。当然,每个页面的7FFH都可以通过使用LCAL.Help来访问。
|
|
相关推荐
5个回答
|
|
请出示真实代码的样本,有中断服务吗?你说第0页从5开始,这意味着你在位置004放置GOTO。当你使用多个页面时,你不能这样做。ISR输入代码必须保留PCLATH,然后清除它,然后才能执行GOTO或CALL。显然,此代码本身必须驻留在位置004。
|
|
|
|
我不喜欢第0页,从5开始。它从6开始,第一个子例程。位置5已经延迟,但我根本不使用交互。我总是在模板中回想一下,就像我在位置0有一个NOP,这样ICD就可以工作了。-------------------------从复位向量org 0 NOP开始;第一个指令必须始终是一个NOP启动;----------------------org 4 noprimie。------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
这还等着批准吗?
|
|
|
|
不,在我回复后还有一个帖子。
|
|
|
|
感谢所有的输入。我用不同的方式解决了我的问题,我把所有的字符串都用DT指令放入闪存程序内存中。每个消息都有它自己的org位置,我一直在跟踪。然后我根据需要读取内存,不再有PASESEL或LCALL问题!
|
|
|
|
只有小组成员才能发言,加入小组>>
5109 浏览 9 评论
1969 浏览 8 评论
1907 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3138 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2206 浏览 5 评论
679浏览 1评论
557浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
430浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
579浏览 0评论
477浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-21 16:53 , Processed in 1.257171 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号