- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PIC单片机C语言编程实例九
第14章 单片机控制的电动自行车驱动系统
14.4.4 C语言程序
#include pic.h
//电动车双闭环程序,采用双闭环方式控制电机,以得到最好的zh转速性能,并且可以
//限制电机的最大电流。本应用程序用到两个CCP部件,其中CCP1用于PWM输出,以控
//制电机电压;CCP2用于触发AD,定时器TMR2、TMR1,INT中断,RB口电平变化中断,
//看门狗以及6个通用I/O口
#define AND 0xe0 //状态采集5,6,7位
#define CURA 0X0a //电流环比例和积分系数之和
#define CURB 0X09 //电流环比例系数
#define THL 0X6400 //电流环最大输出
#define FULLDUTY 0X0FF //占空比为1时的高电平时间
#define SPEA 0X1d //转速环比例和积分系数之和
#define SPEB 0X1c //转速环比例系数
#define GCURHILO 0X0330 //转速环最大输出
#define GCURH 0X33 //最大给定电流
#define GSPEH 0X67 //最大转速给定
#define TSON 0X38 //手柄开启电压1.1 V,TSON*2为刹车后手柄开启电压,即
//2.2 V
#define VOLON 0X4c //低电压保护重开电压3.0 V即33 V
#define VOLOFF 0X49 //低电压保护关断电压2.86 V即31.5 V
volatile unsigned char DELAYH,DELAYL,oldstate,speed,
speedcount,tsh,count_ts,count_vol,gcur,currenth,
voltage; //寄存器定义
static bit sp1,spe,ts,volflag,spepid,lowpower,
off,shutdown,curpid; //标志位定义
static volatile unsigned char new[10]={0xaf,0xbe,0xff,0x7e,0xcf,
0xff,0xd7,0x77,0xff,0xff}; //状态寄存器表
//------------PIC16F877初始化子程序------------
void INIT877()
{
PORTC=0X0FF; //关断所有MOSFET
TRISC=0X02; //设置C口输出
PIE1=0X00; //中断寄存器初始化,关断所有中断
TRISA=0XCF; //设置RA4,RA5 输出
TRISB=0XEF; //RB 口高三位输入,采集电机三相的霍尔信号
PORTC=new[(PORTBAND)5]; //采集第一次霍尔信号,并输出相应的信号,导通
//两个MOS管
T2CON=0X01; //TMR2 4分频
CCPR1L=0X0FF; //初始时PWM输出全高
CCP1CON=0X0FF; //CCP1设置为PWM方式
CCP2CON=0X0B; //CCP2设置为特殊方式,以触发AD
ADCON0=0X81; //AD时钟为32分频,且AD使能,选择AN0通道采集手
//柄电压
TMR2=0X00; //TMR2寄存器初始化
TMR1H=0X00; //TMR1寄存器初始化
TMR1L=0X00;
T1CON=0X00; //TMR1为1分频
CCPR2H=0X08;
CCPR2L=0X00; //电流采样周期设置为TAD=512 μs
PR2=0XC7; //PWM频率设置为5 kHz
ADCON1=0X02; //AD结果左移
OPTION=0XFB; //INT上升沿触发
TMR2ON=1; //PWM开始工作
INTCON=0XD8; //中断设置GIE=1,PEIE=1,RBIE=1
ADIE=1; //AD中断使能
speedcount=0x00; //转速计数寄存器
speed=0x7f; //转速保持寄存器
spe=1; //低速标志位
sp1=1; //低速标志位
oldstate=0x0ff; //初始状态设置,区别于其他状态
count_ts=0x08; //电流采样8次,采集1次手柄
count_vol=0x00; //采样256次手柄,采集1次电池电压
ts=1; //可以采集手柄值的标志位
ADGO=1; //AD
您可能关注的文档
- 2014年广州国际龙舟邀请赛竞赛规程.doc
- 2014年度第一批宝山区中小微企业职业技能培训.doc
- 2014年度襄阳市市级农业产业化龙头企业专项资金以奖代补项目申报指南.doc
- 2014年申报人才安居租房补贴有关问题的解答-深圳市住房和建设局.doc
- 2014年第一阶段第二组执法检查情况.doc
- 2014年美国成人高血压治疗指南(JNC8)【完整版】.doc
- 2014年自治区层面统筹推进(预备)重大项目进度目标责任表-广西.doc
- 2014广州市实施积分制入户政策解读.doc
- 2014秦皇岛国际马拉松赛招商.doc
- 2014青年创业故事汇征集赛实施方案.doc
- 《经济法》_中级会计资格近年考试真题题库_含答案解析.docx
- 5.2 第1课时 氮气和氮氧化物 (含答案) 2025年高一化学人教版(2019)必修2.docx
- 中级银行专业人员职业资格_银行专业实务(公司信贷)备考题库宝典_2025核心题版.docx
- 《经济法基础》_初级会计资格近年考试真题题库_含答案解析.docx
- 2025中级银行从业资格《银行专业实务(个人贷款)》考前必练题库500题(含真题).docx
- 2025中级银行资格《银行专业实务(个人理财)》核心备考题库(含典型题、重点题).docx
- 8 土地的誓言 导学案(含答案).docx
- 项目精细化管理竞赛考试题库(含答案).docx
- 中级会计资格_《中级会计实务》历年考试真题库及答案(高频300题).docx
- 5.2 第2课时 氨和铵盐(含答案) 2025年高一化学人教版(2019)必修2.docx
文档评论(0)