电赛开源,实测好用,百分百可以用
立即下载
资源介绍:
电赛开源
#include
#include "Black_PWM.h"
/****************************************************
* 小车的main
*
*现在完成到了可调pwm,详见pwm.c
*
PWM0_Config(void);//p1.2 时钟作PWM初始化
PWM1_Config(void);//p1.3 时钟作PWM初始化
PWM2_Config(void);//p1.4 时钟作PWM初始化
PWM3_Config(void);//p1.5 时钟作PWM初始化
PWM0_State(25);//p1.2 PWM百分之25占空比
PWM1_State(50);//p1.3 PWM百分之50占空比
PWM2_State(75);//p1.4 PWM百分之75占空比
PWM3_State(100);//p1.5 PWM百分之100占空比
*
*
*
* 物理接线
2.1和1.1是按键S1和S2
*
****************************************************/
int main(void) {
// 初始化PWM配置
int flag=0;
PWM2_Config();
PWM0_Config();
TimerA1_1_PWM_Init(50, 2000);
// 配置P2.1和P1.1为输入
P2REN |= BIT1; //使能P2.1上下拉电阻功能
P2OUT |= BIT1; //置P2.1为上拉电阻方式
P1REN |= BIT1; //使能P1.1上下拉电阻功能
P1OUT |= BIT1; //置P1.1为上拉电阻方式
P2DIR &= ~BIT1; // 确保P2.1是输入
P1DIR &= ~BIT1; // 确保P1.1是输入(注意:这里应该是P1.1,但原始代码提到P1.4为PWM输出)
//灰度输入
/*P3REN |= BIT5; // 使能P3.5上下拉电阻功能
P3OUT |= BIT5; // 置P3.5为上拉电阻方式
P3DIR &= ~BIT5; // 确保P3.5是输入*/
P6REN |= BIT0; // 使能P3.5上下拉电阻功能
P6OUT |= BIT0; // 置P3.5为上拉电阻方式
P6DIR &= ~BIT0; // 确保P3.5是输入
P6REN |= BIT1; // 使能P3.5上下拉电阻功能
P6OUT |= BIT1; // 置P3.5为上拉电阻方式
P6DIR &= ~BIT1; // 确保P3.5是输入
P6REN |= BIT2; // 使能P3.5上下拉电阻功能
P6OUT |= BIT2; // 置P3.5为上拉电阻方式
P6DIR &= ~BIT2; // 确保P3.5是输入
P6REN |= BIT3; // 使能P3.5上下拉电阻功能
P6OUT |= BIT3; // 置P3.5为上拉电阻方式
P6DIR &= ~BIT3; // 确保P3.5是输入
P6REN |= BIT4; // 使能P3.5上下拉电阻功能
P6OUT |= BIT4; // 置P3.5为上拉电阻方式
P6DIR &= ~BIT4; // 确保P3.5是输入
P6REN |= BIT5; // 使能P3.5上下拉电阻功能
P6OUT |= BIT5; // 置P3.5为上拉电阻方式
P6DIR &= ~BIT5; // 确保P3.5是输入
TA1CCR1=150;//左电机
TA0CCR1=150;//右电机
// 主循环
while (1) {
// 检测P2.1的状态
if ((P2IN & BIT1) == 0) { // 假设按键按下时引脚为低电平
TA1CCR1=500; // 设置PWM占空比为50%
}
// 检测P1.1的状态
if ((P1IN & BIT1) == 0) { // 同样,假设按键按下时引脚为低电平
TA0CCR1=500; // 设置PWM占空比为75%
}
// 注意:这里的代码会同时检查两个按键,并且如果两个都被按下,
// 最后一个被检查的按键将决定PWM的占空比。
// 如果需要优先级或更复杂的行为,请添加额外的逻辑。
// 可以在这里添加延时来减少CPU使用率(但请注意,这可能会影响按键响应的灵敏度)
if ((P6IN & BIT0) || (P6IN & BIT1) )
{
TA1CCR1=300;
TA0CCR1=150;
}
// 读取P6.3到P6.5引脚状态
if ((P6IN & BIT4) || (P6IN & BIT5))
{
TA0CCR1=300;
TA1CCR1=150;
}
}
return 0; // 主函数通常不会返回,但在这里添加以符合标准C程序结构
}