使用PIC24FJ64芯片做BOOT程序时出现了问题,曾经出现过此问题的朋友或者懂得如何解决的朋友帮忙指点一下

使用PIC24FJ64芯片做BOOT程序时出现了问题,曾经出现过此问题的朋友或者懂得如何解决的朋友帮忙指点一下,第1张

当然是用C语言方便了,虽然汇编很重要但我平时也是主要用C来开启虚发PIC24的程序,调试时候稍微看看编译后的汇编程序。16和24不仅仅是指令上不一样,结构上还完全不一样。

我关于PIC24的编程方面的资料都是在PIC的官方网站那里下载的那里下载的。去www.microchip.com那里找把。那里有很多样例程拦旁磨序,但首先你要下载PIC24FJ64A002的数据手册。这个手册讲得很全的。

要注意,PIC24的C编译器和PIC16的还不一样,建简斗议在MICROCHIP网站上下载MCC30。

BTW:现在Microchip那里好像都撤掉中文资料了,如需中文资料,请留信箱。

你可以缺李悄启动一个定时器,如每隔一定时间中断,如100ms中断一次,用一个寄存器如TIME来累计中断的次数,显然5分钟需扰模中断3000次。每次伏渣按键中断prw程序让TIME清0c因此只有在5分钟内都没按键12TIME才有可能达到3000mqu只有当TIME值大于3000时才让单片机进入休眠状态ae即在定时器中断时,如果TIME的值超过3000就进入休眠kosw

1、pic单片机的汇编语言中,目前还没有直接能对位取反的指令,只有对寄存器取反的指令,比如:

COMFF,d

这条语句中“F”是寄存器的名称,当“d=1”时,结果存入“F”,当“d=0”时,结果存入“信和W”。这个“W”书面解释是工作寄存器。可理解为过渡寄存器或临时寄存器,做中转数据用。

2、在汇编语言中要实现位取反,可通过位状态检测判断来对位进行“置1”或“清零”,详见以下程皮好序。

目的:将寄存器 PROTB,3 取反

*******************************************************************

BTFSSPORTB,3 检测PORTB,3位,为1跳转QINGLING。

GOTOZHIYI;为0跳转到ZHIYI。

QINGLING;清零程序段,这是网络标号,可理解为一段程序的名称。

BCFPORTB,3;判断之前PORTB,3位为1,这句作用是将 PORTB,3 清零 。

GOTOWORK 跳转到 WORK 程序段继续运行。

ZHIYI;置1程序段, 这是网络标号,可理解为一段程序的名称。

BSFPORTB,3判断之前PORTB,3位为0,这句作用是将 PORTB,3 置1。

GOTOWORK 跳转到 WORK 程序段继续运行。

WORK

... ...

;燃坦铅********************************************************************

;注意注意,编程时,指令必须用TAB键空出一格,网络标号必须顶格

;*******************************************************************


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12487672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存