PIC单片机驱动电动自行车的C程序设计与双闭环控制

需积分: 10 4 下载量 179 浏览量 更新于2024-09-11 1 收藏 34KB DOC 举报
本文档探讨的是一个基于PIC单片机的电动自行车驱动系统的C程序设计。该系统采用了双闭环控制策略,以实现电机转速的精确调节和电流限制,确保了电动自行车的动力性能和安全性。核心部分的关键知识点包括: 1. **C语言编程**:文章使用C语言编写,展示了如何在PIC单片机(如PIC16F877)上进行编程,这涉及到数据类型定义(如`unsigned char`),变量声明(如`DELAYH,DELAYL`等),以及静态标志位的初始化。 2. **硬件配置**:程序中提到的`PIE1`寄存器设置,可能涉及到中断管理和外部设备配置,如CCP(Comparator and Capture/Compare peripheral)部件的使用,CCP1负责PWM(Pulse Width Modulation)输出,控制电机电压,而CCP2则与定时器TMR2、TMR1配合,处理AD(Analog-to-Digital Converter)转换,INT中断以及RB口的电平检测。 3. **双闭环控制**:这是系统的核心算法,通过定义一系列常量(如`CURA0X0a`、`CURB0X09`等)来设置电流环和转速环的比例系数、积分系数和限制值。电流环用于稳定电机电流,转速环则控制电动自行车的速度响应。 4. **中断管理**:`INT`中断和看门狗功能的利用,可能是为了实时监控和调整电机状态,以及在特定条件下执行相应的处理逻辑。 5. **电压管理**:低电压保护机制被设置在程序中,当电池电压低于预设阈值(`VOLON0X4c`和`VOLOFF0X49`)时,会自动调整系统状态或切断电源,保证电动自行车在不同电压条件下安全运行。 6. **硬件初始化**:`INIT877()`函数负责初始化单片机端口和寄存器,包括关闭MOSFET、设置C口为输出模式等,确保程序运行的基础环境。 7. **寄存器表**:定义了一个`new[10]`数组,可能是存储当前状态的临时缓冲区,用于后续状态的比较和处理。 这篇C程序详细描述了如何使用PIC单片机实现电动自行车驱动系统的智能控制,涵盖了硬件配置、算法设计和中断管理等多个关键环节,对于理解和实现类似项目具有较高的参考价值。