单片机控制的电动自行车驱动系统部分程序..docVIP

单片机控制的电动自行车驱动系统部分程序..doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机控制的电动自行车驱动系统部分程序.

单片机控制的电动自行车驱动系统部分程序(CHUNTIAN)单片机控制的电动自行车驱动系统 14.4.4??各部分程序 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? 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为低电平 RETLW 0X077 ;如霍尔信号为 1、1、1则使RC3、RC7为低电平 ;***************主程序***************** ORG 0X0100 ;主 程序从0X0100单元开始存储 MAIN MOVLW 0X0FF ;由于C口上电复 位值不确定,必须先关闭所有MOS管 MOVWF PORTC BSF STATUS,RP0 ;选 择存储体1 MOVLW 0X02 ;设 置RC1为输

文档评论(0)

cv7c8hj6b4I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档