编程取反
‘壹’ pic单片机怎么用户汇编语言实现位取反
1、pic单片机的汇编语言中,目前还没有直接能对位取反的指令,只有对寄存器取反的指令,比如:
COMF F,d ;
这条语句中“F”是寄存器的名称,当“d=1”时,结果存入“F”,当“d=0”时,结果存入“W”。这个“W”书面解释是工作寄存器。可理解为过渡寄存器或临时寄存器,做中转数据用。
2、在汇编语言中要实现位取反,可通过位状态检测判断来对位进行“置1”或“清零”,详见以下程序。
目的:将寄存器 PROTB,3 取反
;*******************************************************************
BTFSS PORTB,3 ; 检测PORTB,3位,为1跳转QINGLING。
GOTO ZHIYI ; 为0跳转到ZHIYI。
QINGLING ; 清零程序段,这是网络标号,可理解为一段程序的名称。
BCF PORTB,3 ; 判断之前PORTB,3位为1,这句作用是将 PORTB,3 清零 。
GOTO WORK ; 跳转到 WORK 程序段继续运行。
ZHIYI ; 置1程序段, 这是网络标号,可理解为一段程序的名称。
BSF PORTB,3 ; 判断之前PORTB,3位为0,这句作用是将 PORTB,3 置1。
GOTO WORK ; 跳转到 WORK 程序段继续运行。
WORK
... ...
;********************************************************************
;注意注意,编程时,指令必须用TAB键空出一格,网络标号必须顶格
;*******************************************************************