资源简介
MSP430 四驱PID速度调节 蓝牙小车代码程序
通过PID算法,PWM控制可以任意准确调节小车速度,匀速运动,自动调节,直线行走
代码片段和文件信息
/********************************************************************/
//延时函数,IAR自带,经常使用到
#define CPU_F ((double)8000000) //外部高频晶振8MHZ
//#define CPU_F ((double)32768) //外部低频晶振32.768KHZ
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
//串口波特率计算,当BRCLK=CPU_F时用下面的公式可以计算,否则要根据设置加入分频系数
#define baud 9600 //设置波特率的大小
#define baud_setting (uint)((ulong)CPU_F/((ulong)baud)) //波特率计算公式
#define baud_h (uchar)(baud_setting>>8) //提取高位
#define baud_l (uchar)(baud_setting) //低位
//自定义数据结构,方便使用
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
unsigned int A1A2A3A4TEMP;
unsigned char Flag=0; //标志变量
void Data_do(uint temp_d)
{
uint temp_1temp_2;
A1=temp_d/1000; //分出千,百,十,和个位
temp_1=temp_d%1000;
A2=temp_1/100;
temp_2=temp_1%100;
A3=temp_2/10;
A4=temp_2%10;
}
void ADC_Init()
{
P6SEL|=0x01; //选择ADC通道
ADC12CTL0|= ADC12ON + SHT0_2 + REF2_5V + REFON; //ADC电源控制开,16个CLK,内部基8准2.5V
ADC12CTL1|= ADC12SSEL1 + ADC12SSEL0; //SMCLK做时钟源
ADC12MCTL0= SREF0 + INCH_0; //参考控制位及通道选择,这里选择通道0
ADC12IE|= 0x01; //中断允许
ADC12CTL0|= ENC; //使能转换器
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void)
{
while((ADC12CTL1&0x01)==1); //如果ADC忙,则等待,否则读取ADC转换数值
Flag = 1; //标志置1
TEMP = ADC12MEM0; //读取ADC转换值
Data_do(TEMP); //处理ADC值,用于显示
/*LCD_write_char(11A1+0x30);
LCD_write_char(21A2+0x30);
LCD_write_char(31A3+0x30);
LCD_write_char(41A4+0x30); */ //显示ADC的数据
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 202 2019-08-04 09:14 pid蓝牙小车\01.eww
文件 2111 2019-09-04 14:43 pid蓝牙小车\car.c
文件 17913 2019-08-04 11:02 pid蓝牙小车\Debug\Exe\比赛设计小车.d43
文件 17658 2019-09-16 21:35 pid蓝牙小车\Debug\Exe\比赛设计小车.txt
文件 112310 2019-09-16 21:35 pid蓝牙小车\Debug\Obj\main.r43
文件 157 2019-09-16 21:38 pid蓝牙小车\Debug\Obj\比赛设计小车.pbd
文件 13139 2019-07-12 11:51 pid蓝牙小车\gpio.h
文件 6736 2019-09-16 21:35 pid蓝牙小车\main.c
文件 6978 2019-08-05 08:17 pid蓝牙小车\oled.c
文件 1713 2019-08-05 08:17 pid蓝牙小车\oled.h
文件 13822 2019-09-04 14:21 pid蓝牙小车\oledfont.h
文件 5041 2019-08-13 22:11 pid蓝牙小车\PID.h
文件 3644 2019-09-16 21:38 pid蓝牙小车\settings\01.wsdt
文件 861 2019-09-16 21:15 pid蓝牙小车\settings\比赛设计小车.cspy.bat
文件 63 2019-09-16 21:38 pid蓝牙小车\settings\比赛设计小车.dbgdt
文件 486 2019-09-16 21:38 pid蓝牙小车\settings\比赛设计小车.dni
文件 2862 2019-09-16 21:38 pid蓝牙小车\比赛设计小车.dep
文件 50290 2019-08-04 11:19 pid蓝牙小车\比赛设计小车.ewp
目录 0 2020-07-04 13:25 pid蓝牙小车\Debug\Exe
目录 0 2019-08-04 09:14 pid蓝牙小车\Debug\List
目录 0 2020-07-04 13:25 pid蓝牙小车\Debug\Obj
目录 0 2020-07-04 13:25 pid蓝牙小车\Debug
目录 0 2020-07-04 13:26 pid蓝牙小车\settings
目录 0 2020-07-04 13:26 pid蓝牙小车
----------- --------- ---------- ----- ----
255986 24
相关资源
- 51单片机宠物喂食器代码、仿真、电路
- 单片机电子温度计
- 基于单片机的电阻对焊控制箱的设计
- 基于AVR单片机的土壤水分检测系统设
- AT89C52单片机开发板完整Proteus仿真图
- 基于51单片机的时钟汇编程序
- 2017年11-4(正版)温湿度控制论文
- 基于单片机的录音笔的设计
- 基于51单片机的数字频率计课程设计
- 51单片机汇编语言将片外ram30-50H中数据
- zw_STC_单片机原理图库.zip
- 51单片机控制sim808
- 基于51单片机的三路电磁传感器自动循
- 51单片机读写flash
- 89c51单片机电子琴设计
- 基于51单片机信号发生器
- 单片机的超声波雾化器智能控制系统
- proteus单片机仿真串口汽车防夹
- 51单片机驱动WiFi模块ESP8266模块的代码
- 中石油加油机的控制程序C51
- Proteus不用单片机的数字电路频率计仿
- 单片机c51设计简易计算器数码管显示
- 毕业设计 基于单片机的测速系统
- 光电编码器-单片机程序(ATmega16).
- proteus 双机通信仿真简单实用的单片机
- c51单片机的经典密码锁keil c
- 基于单片机的流量控制系统设计
- 利用单片机定时器产生的占空比可调
- 51单片机超声测距汇编
- 基于51单片机12864画点画线画圆的程序
评论
共有 条评论