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

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

点击数:7917 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   PIC单片机
LIST   P=16F876
   #INCLUDE P16F876.INC
;以下采用块定义的方法定义 单片机 内部寄存器
   CBLOCK   0X20               ;自定义寄存器从0X20开始
   FLAG1                  ;FLAG1作为标志寄存器
   VOLTAGEH               ;电池电压高位寄存器
   VOLTAGEL               ;电池电压低位寄存器
   TSH                     ;手柄电压高位寄存器
   TSL                     ;手柄电压低位寄存器
   STATE1                  ;霍尔信号采样暂存器1
   STATE2                  ;霍尔信号采样暂存器2
STATE3                  ;霍尔信号采样暂存器3
   DELAY                  ;延时计数器
   COUNT_VOL               ;低电压采样次数计数器
ACCaLO ;ACCa~ACCd为运算用的寄存器
   ACCaHI                 ;http://www.dangdangdz.com
   ACCbLO       
   ACCbHI       
   ACCcLO       
   ACCcHI       
   ACCdLO       
   ACCdHI       
   TEMP                   ;临时寄存器
   TEMP1                   ;临时寄存器(中断用)
   SIGN                   ;符号寄存器
   COUNT                   ;临时寄存器
   W_STACK                  ;中断时用于暂存W寄存器值
ST_STACK ;中断时用于暂存STATUS寄存器值
   ENDC
;***********标志寄存器位定义以及程序中常数定义***********
   CONSTANT   VOLTAGE=0      ;采电池电压标志位
   CONSTANT   PWM=1         ;输出下一次PWM信号标志位
   CONSTANT   LOWPOWER=2      ;低电压标志位
   CONSTANT   SHUTDOWN=3      ;刹车标志位
   CONSTANT   OFF=4         ;复位标志位
CONSTANT   AND=0XE0      ;AND用于获取有效霍尔信号
   CONSTANT   FULLPWM=0XFF   ;当PWM输出全高时,输入CCPR1L中的值
   CONSTANT   VOLOFFH=0X02   ;当电池电压低于24AH时, 低压保护2.86 V/31.5 V
   CONSTANT   VOLOFFL=0X4A
CONSTANT   VOLONH=0X02      ;当电池电压大于266H时,允许电机重开3V/33V
   CONSTANT   VOLONL=0X66
   CONSTANT   TSONH=0X01      ;刹车后手柄复位值低于133H,则允许电机重新启动
   CONSTANT   TSONL=0X33
;***复位矢量入口( 单片机 复位时,PC指针指向程序存储器0X0000单元)***
      ORG      0X0000
START   GOTO   MAIN         ;复位后程序进入主程序
;***中断矢量入口程序(PIC 单片机 的中断矢量入口为0X0004)***
      ORG      0X0004         ;中断矢量入口
      BTFSC   INTCON,RBIF      ;是否为RB口电平变化中断?   
      GOTO   SAMPLERB      ;是,进入RB口电平变化中断服务程序
      BTFSC   PIR1,ADIF      ;是否为AD采样中断
      GOTO   AD            ;是,进入AD中断服务程序
      BTFSC   INTCON,INTF      ;是否为刹车中断
      GOTO   BRAKE         ;是,刹车中断处理
      RETFIE               ;如都不是,则中断返回
;************逆变桥输出控制表*************
;逆变桥输出控制表,其输出对应6种状态,霍尔信号来自B口RB7、RB6、RB5,C口输出低电平有
;效,其中RC1,RC2不作为触发电路输出口,故表中使其为高电平
ORG      0X0020         ;表程序从0X0020单元开始存放(也可以不从这开始)
OUT_TABLE            
      ADDWF   PCL,1
      RETLW   0X0AF         ;如霍尔信号为0、0、0,则使RC4、RC6为低电平
      RETLW   0X0BE         ;如霍尔信号为0、0、1,则使RC0、RC6为低电平
      RETLW   0X0FF         ;没有为0、1、0的霍尔信号对应电机状态
      RETLW   0X07E         ;如霍尔信号为0、1、1,则使RC0、RC7为低电平
      RETLW   0X0CF         ;如霍尔信号为1、0、0,则使RC4、RC5为低电平
      RETLW   0X0FF         ;没有为1、0、1的霍尔信号对应电机状态
      RETLW   0X0D7         ;如霍尔信号为1、1、0则使RC3、RC5为低电平

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


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

上一篇:PS7219的PIC单片机