2020-02-06 10:12发布
JYX2015 发表于 2015-8-17 15:17 明白了,就是说这些指令执行是不固定的,要具体情况具体分析,对吧?
alias 发表于 2015-8-17 15:44 >> 这些指令执行是不固定的, 绝对不是。
alias 发表于 2015-8-17 15:56 个别 测试/跳转 指令像BTFSS, BTFSC, INCFSZ及DECFSZ,不跳转时需要4个外部晶振的上升沿,但跳转却需要8个 ...
最多设置5个标签!
>> 这些指令执行是不固定的,
绝对不是。
楼主先要分清时钟周期及指令周期。
在PIC16,一个指令周期要占用四个时钟周期,而AVR则一个指令周期等同一个时钟周期。
对PIC16而言,除了跳转指令要用二个指令周期外,其它的都是单指令周期。
例:Call + Return = 4 指令周期(即16个时钟周期);
MOVWF,MOVF、、、等都是单指令周期(即4个时钟周期)
对不起,我表述错误,我想说的是不同的指令占用时钟周期是不同的。
现在看来也不完全是这样。PIC的大部分指令都占用4个时钟周期,也就是说执行大部分指令,
需要4个外部晶振的上升沿(虽然是正弦波),但也有个别的指令并非如此。
不知道我的理解是否有误,请进一步指点。
非常感谢你详尽的回答
一周热门 更多>