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

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

点击数:7917 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   PIC单片机
      RETLW   0X077         ;如霍尔信号为1、1、1则使RC3、RC7为低电平
;***************主程序*****************
      ORG   0X0100            ;主程序从0X0100单元开始存储
MAIN   
       MOV LW   0X0FF         ;由于C口上电复位值不确定,必须先关闭所有MOS管
       MOV WF   PORTC
      BSF      STATUS,RP0      ;选择存储体1
       MOV LW   0X02            ;设置RC1为输入口,其它为输出口,其中RC2为PWM  
       MOV WF   TRISC         ;输出口,其它位为触发信号输出
      BCF      STATUS,RP0      ;选择存储体0
      CLRF   PIR1            ;清所有中断标志位
      CLRF   INTCON         ;禁止所有中断
       MOV LW   0X01            ;设置TMR2预分频值为4
       MOV WF   T2CON
       MOV LW   FULLPWM      ;初始化PWM工作循环寄存器,使PWM占空比为1
       MOV WF   CCPR1L         ;输出电压为零
       MOV LW   0XFF            ;设置CCP1工作于PWM方式
       MOV WF   CCP1CON
       MOV LW   0X0B            ;CCP2工作于特殊事件触发方式,用作AD采样周期寄存      MOVWF   CCP2CON         ;器
       MOV LW   0X081         ;选择AD转换时钟为32分频,选择AN0通道,并使AD
       MOV WF   ADCON0         ;转换允许
      CLRF   TMR2         ;TMR2计数器清零
      CLRF   TMR1H         ;TMR1计数器清零
      CLRF   TMR1L
      CLRF   T1CON         ;TMR1预分频为1,关闭振荡器,工作于定时工作方式
       MOV LW   0X08            ;初始化AD采样周期寄存器,T=512 μs
       MOV WF   CCPR2H
       MOV LW   0X00
       MOV WF   CCPR2L
      BSF      STATUS,RP0      ;选择存储体1
       MOV LW   0XEF            ;RB口高3位用于采样霍尔信号,RB0为刹车中断,设置为
       MOV WF   TRISB         ;输入,其它未用
       MOV LW   0XC7            ;初始化PWM频率为5 kHz
       MOV WF   PR2      
       MOV LW   0X082         ;AD采样结果右移,RA口引脚均为模拟输入
       MOV WF   ADCON1
      BSF   OPTION_REG,INTEDG    ;选择INT在下降沿产生中断
      BCF      STATUS,RP0
      CALL   SAMPLE         ;确定当前转子位置
      CALL   OUTPUT         ;根据采得的状态值触发相应的MOSFET
       MOV LW   0X0D8         ;开总中断、外围中断、INT中断和RB口电平变化中断允
       MOV WF   INTCON         ;许
BCF      PIE2,CCP2IE      ;CCP2中断禁止
      BSF      PIE1,ADIE      ;打开AD采样中断
      CLRF   FLAG1         ;清标志位寄存器
      CLRF   COUNT_VOL      ;清电池电压采样计数器
      BSF      T1CON,TMR1ON   ;开CCP2,对手柄进行等间隔采样
      BSF      T2CON,TMR2ON   ;开CCP1
RETEST   BTFSS   FLAG1,PWM      ;TS采样完毕?
      GOTO   NEXT1         ;没有,转NEXT1
      CALL   OUT_PWM      ;TS采样完毕,送出相应的PWM信号
      BCF      FLAG1,PWM      ;清PWM允许标志
NEXT1   BTFSS   FLAG1,LOWPOWER;电压采样完毕?
      GOTO   NEXT2         ;没有转NEXT2
      CALL   POWER         ;是,调用电压保护子程序处理数据
      BTFSC   FLAG1,OFF      ;是否需要复位?
      GOTO   MAIN         ;是, 单片机 复位
NEXT2   BTFSS   FLAG1,SHUTDOWN;刹车中断到来?
      GOTO   RETEST         ;否,回转RETEST

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


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

上一篇:PS7219的PIC单片机