您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机16F876控制电动自行车驱动源程序 正文
16F876控制电动自行车驱动源程序

16F876控制电动自行车驱动源程序

点击数:7917 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   PIC单片机
      GOTO   AD4
      BCF      ADCON0,CHS0   ;是,选择2采样通道
      BSF      ADCON0,CHS1
      BSF      FLAG1,VOLTAGE   ;置相应的标志位   
AD4      BCF      PIR1,ADIF      ;清AD中断标志
       MOV F   ADRESH,0      ;采样值送寄存器暂存
       MOV WF   TSH
      BSF      STATUS,RP0
       MOV F   ADRESL,0
      BCF      STATUS,RP0
       MOV WF   TSL
      BSF      FLAG1,PWM
      BTFSS   FLAG1,VOLTAGE   ;是否需要进行电压采样?
      GOTO   AD6
       MOV LW   0X05            ;是,延时后采样电压
       MOV WF   TEMP1
AD5      DECFSZ   TEMP1
      GOTO   AD5
      BSF      ADCON0,GO
AD6      CALL   POP            ;恢复现场,中断返回
      RETFIE
SET_VOL      BCF      ADCON0,CHS1   ;如果采样值为电压值,则选择0通道
      BCF      ADCON0,CHS0
      BCF      PIR1,ADIF      ;清中断标志位
      BCF      FLAG1,VOLTAGE   ;清相应标志位
       MOV F   ADRESH,0      ;将采样结果放入被减数寄存器
       MOV WF   VOLTAGEH
      BSF      STATUS,RP0
       MOV F   ADRESL,0
      BCF      STATUS,RP0
       MOV WF   VOLTAGEL
      BSF      FLAG1,LOWPOWER;是,置相应标志位
      CALL   POP            ;中断返回
      RETFIE
;**************中断保护现场子程序******************
PUSH    MOV WF   W_STACK         ;暂存W寄存器
       MOV F   STATUS,0      ;暂存STATUS寄存器
       MOV WF   ST_STACK
      RETURN               ;子程序返回
;**************中断恢复现场子程序**************
POP       MOV F   ST_STACK,0      ;恢复STATUS寄存器值
       MOV WF   STATUS
       MOV F   W_STACK,0      ;恢复W寄存器值
      RETURN               ;子程序返回
;**************初始化子程序****************
SETUP    MOV LW    .15            ;初始化TEMP      
       MOV WF    TEMP
       MOV F    ACCbHI,0      ;ACCb送ACCd
       MOV WF    ACCdHI
       MOV F    ACCbLO,0
       MOV WF    ACCdLO
      CLRF    ACCbHI         ;清ACCb
      CLRF    ACCbLO
      RETLW    0
;**********乘除法运算确定结果符号子程序**********
S_SIGN    MOV F    ACCaHI,0      ;ACCaHI异或ACCbHI,结果送SIGN单元
      XORWF    ACCbHI,0
       MOV WF    SIGN         
      BTFSS    ACCbHI,7      ;ACCb为负?
      GOTO    CHEK_A         ;否,检查ACCa
      CALL   NEG_B
CHEK_A   BTFSS    ACCaHI,7      ;ACCa为负?
      RETLW    0            ;ACCa和ACCb均为负,返回
      GOTO    NEG_A         ;ACCa为负,取补
      GOTO   MAIN
      END                  ;程序结束



上一页  [1] [2] [3] [4] [5] [6] 


本文关键字:电动自行车  源程序  PIC单片机单片机-工控设备 - PIC单片机

上一篇:PS7219的PIC单片机