PICF单片机控制的电动自行车C源程序.docVIP

  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文档。上传文档
查看更多
PICF单片机控制的电动自行车C源程序.doc

//PIC16?F72单片?机控制的电?动自行车C?源程序,原理图及设?计说 //PIC16?F72单片?机控制的电?动自行车驱?动系统C程?序 #inclu?de pic.h //电动车双闭?环程序,采用双闭环?方式控制电?机,以得到最好?的zh 转速性能,并且可以 //限制电机的?最大电流。本应用程序?用到两个C?CP 部件,其中CCP?1 用于PWM? 输出,以控 //制电机电压?;CCP2 用于触发A?D,定时器TM?R2、TMR1,INT 中断,RB 口电平变化?中断, //看门狗以及?6 个通用I/O 口 #defin?e AND 0xe0 //状态采集5?,6,7 位 #defin?e CURA 0X0a //电流环比例?和积分系数?之和 #defin?e CURB 0X09 //电流环比例?系数 #defin?e THL 0X640?0 //电流环最大?输出 #defin?e FULLD?UTY 0X0FF? //占空比为1? 时的高电平?时间 #defin?e SPEA 0X1d //转速环比例?和积分系数?之和 #defin?e SPEB 0X1c //转速环比例?系数 #defin?e GCURH?ILO 0X033?0 //转速环最大?输出 #defin?e GCURH? 0X33 //最大给定电?流 #defin?e GSPEH? 0X67 //最大转速给?定 #defin?e TSON 0X38 //手柄开启电?压1.1 V,TSON*2 为刹车后手?柄开启电压?,即 //2.2 V #defin?e VOLON? 0X4c //低电压保护?重开电压3?.0 V 即33 V #defin?e VOLOF?F 0X49 //低电压保护?关断电压2?.86 V 即31.5 V volat?ile unsig?ned char DELAY?H,DELAY?L,oldst?ate,speed?, speed?count?,tsh,count?_ts,count?_vol,gcur,curre?nth, volta?ge; //寄存器定义? stati?c bit sp1,spe,ts,volfl?ag,spepi?d,lowpo?wer, off,shutd?own,curpi?d; //标志位定义? stati?c volat?ile unsig?ned char new[10]={0xaf,0xbe,0xff,0x7e,0xcf, 0xff,0xd7,0x77,0xff,0xff}; //状态寄存器?表 //------------PIC16?F877 初始化子程?序------------ void INIT8?77() { PORTC?=0X0FF?; //关断所有M?OSFET? TRISC?=0X02; //设置C 口输出 PIE1=0X00; //中断寄存器?初始化,关断所有中?断 TRISA?=0XCF; //设置RA4?,RA5 输出 TRISB?=0XEF; //RB 口高三位输?入,采集电机三?相的霍尔信?号 PORTC?=new[(PORTB?AND)5]; //采集第一次?霍尔信号,并输出相应?的信号,导通 //两个MOS? 管 T2CON?=0X01; //TMR2 4 分频 CCPR1?L=0X0FF?; //初始时PW?M 输出全高 CCP1C?ON=0X0FF?; //CCP1 设置为PW?M 方式 CCP2C?ON=0X0B; //CCP2 设置为特殊?方式,以触发AD? ADCON?0=0X81; //AD 时钟为32? 分频,且AD 使能,选择AN0? 通道采集手? //柄电压 TMR2=0X00; //TMR2 寄存器初始?化 TMR1H?=0X00; //TMR1 寄存器初始?化 TMR1L?=0X00; T1CON?=0X00; //TMR1 为1 分频 CCPR2?H=0X08; CCPR2?L=0X00; //电流采样周?期设置为T?AD=512 μs PR2=0XC7; //PWM 频率设置为?5 kHz ADCON?1=0X02; //AD 结果左移 OPTIO?N=0XFB; //INT 上升沿触发? TMR2O?N=1; //PWM 开始工作 INTCO?N=0XD8; //中断设置G?IE=1,PEIE=1,RBIE=1 ADIE=1; //AD中断使?能 speed?count?=0x00; //转速计数寄?存器 speed?=0x7f; //转速保持寄?存器 spe=1; //低速标志位? sp1=1; //低速标志位? oldst?ate=0x0ff?; //初始状态设?置,区别于其他?状态 count?_ts=0x08; //电流采样8?

文档评论(0)

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

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

1亿VIP精品文档

相关文档