完善资料让更多小伙伴认识你,还能领取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问题!
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
501 浏览 0 评论
5808 浏览 9 评论
2350 浏览 8 评论
2237 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3543 浏览 3 评论
1155浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1119浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
887浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
501浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 05:53 , Processed in 1.449053 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1747