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

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

点击数:7917 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   PIC单片机
      CALL   BRAKEON         ;是,调用刹车处理子程序
      CLRWDT
      BTFSC   FLAG1,OFF      ;OFF=0?
      GOTO   MAIN         ;否, 单片机 复位
      GOTO   RETEST         ;是,回转RETEST
;***************刹车处理子程序******************
BRAKEON      BCF      FLAG1,OFF   ;清复位标志
      BCF      FLAG1,SHUTDOWN;是,清相应标志位
      BTFSS   PORTB,0         ;INT引脚仍为1?
      RETURN               ;否,中断是由干扰引起的,返回
      BSF      STATUS,RP0
      BCF      PIE1,ADIE      ;禁止AD采样中断
      BCF      STATUS,RP0
      BCF      INTCON,INTE      ;关RB0中断
       MOV LW   FULLPWM      ;PWM输出全高
       MOV WF   CCPR1L
      BCF      T1CON,TMR1ON   ;关闭手柄采样
BREAK2   BTFSC   ADCON0,GO      ;正在进行AD采样?
      GOTO   BREAK2         ;是,等待AD采样完毕
      BCF      ADCON0,CHS0
      BCF      ADCON0,CHS1   ;选择0采样通道,准备采样手柄电压
      BCF      PIR1,ADIF      ;清AD采样中断标志位
       MOV LW   0X06            ;延时
       MOV WF   COUNT
BREAK3   DECFSZ   COUNT
      GOTO   BREAK3
BREAK5   BSF      ADCON0,GO      ;采样TS值
BREAK4   BTFSS   PIR1,ADIF      ;采样完毕?
      GOTO   BREAK4
      BCF      PIR1,ADIF
      BCF      STATUS,C   
       MOV F   ADRESH,0      ;当前TS值送被减数
       MOV WF   ACCbHI
      BSF      STATUS,RP0
       MOV F   ADRESL,0
      BCF      STATUS,RP0
       MOV WF   ACCbLO
       MOV LW   TSONH         ;1.5 V所对应的采样值送减数
       MOV WF   ACCaHI
       MOV LW   TSONL
       MOV WF   ACCaLO
      CALL   D_sub         ;当前TS值减1.5V
       MOV LW   FULLPWM
       MOV WF   CCPR1L
      CLRWDT
      BTFSS   ACCbHI,7      ;当前电压值大于1.5V?
      GOTO   BREAK5         ;是,重新采样
      BTFSC   PORTB,0
      GOTO   BREAK5
      BSF      FLAG1,OFF      ;否,置相应的标志位
      RETURN               ;返回   
;***************开环PWM输出子程序****************
OUT_PWM   BCF      FLAG1,PWM   ;清相应的标志位
       MOV F   TSH,0         ;将调速手柄采样值送至被加数
       MOV WF   ACCaHI
       MOV F   TSL,0
       MOV WF   ACCaLO
       MOV LW   0XFF            ;FF1F补码为0XE1,即1.1 V
       MOV WF   ACCbHI
       MOV LW   0X1F         
       MOV WF   ACCbLO
      CALL   D_add
      BTFSS   ACCbHI,7      ;TS>1.1V?
      GOTO   PWM1         ;是,转PWM1
       MOV LW   FULLPWM      ;否则输出全高
       MOV WF   CCPR1L
      RETURN
PWM1    MOV LW   0XFD         ;0X27B=3.1V
       MOV WF   ACCbHI
       MOV LW   0X85
       MOV WF   ACCbLO
      CALL   D_add
      BTFSC   ACCbHI,7      ;TS>3.1V?
      GOTO   PWM3
PWM2   CLRF   CCPR1L
      BCF      CCP1CON,4
      BCF      CCP1CON,5
      RETURN

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


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

上一篇:PS7219的PIC单片机