标题:
基于stm32做的ps2遥控小车源程序
[打印本页]
作者:
666rt
时间:
2021-6-6 09:28
标题:
基于stm32做的ps2遥控小车源程序
今年要准备参加电子设计大赛,这几天训练了挺多项目,其中就有这个基于stm32f103的外接ps2遥控小车,特放在这里仅供参考
接线图.jpg
(271.27 KB, 下载次数: 60)
下载附件
2021-6-6 16:40 上传
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "pstwo.h"
/*********************************************************
功能:通过PS2控制小车运动
作者:大海电子
硬件平台:STM32F103C8T6
时钟:8Mhz
硬件引脚分配:
//手柄接口
DI=PB12;
DO=PB13 ;
CS=PB14;
CLK=PB15;
//L298N 电机驱动控制引脚
IN1=PA0; //左侧电机正
IN2=PA1; //左侧电机负
IN3=PA2; //右侧电机正
IN4=PA3; //右侧电机负
**********************************************************/
#define go {IN1=1;IN2=0;IN3=0;IN4=1;}
#define back {IN1=0;IN2=1;IN3=1;IN4=0;}
#define stop {IN1=1;IN2=1;IN3=1;IN4=1;}
#define turnleft {IN1=1;IN2=1;IN3=0;IN4=1;}
#define turnright {IN1=1;IN2=0;IN3=1;IN4=1;}
int main(void)
{
u8 key=0;
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600); //串口初始化为9600
LED_Init(); //LED端口初始化
PS2_Init();
while(1)
{
key=PS2_DataKey();
switch(key)
{
case 5:go;break;
case 7:back;break;
case 8:turnleft;break;
case 6:turnright;break;
default:stop;break;
}
if(key!=0) //有按键按下
{
printf("%d is pressed \r\n",key);
}
// printf(" %5d %5d %5d %5d\r\n",PS2_AnologData(PSS_LX),PS2_AnologData(PSS_LY),
// PS2_AnologData(PSS_RX),PS2_AnologData(PSS_RY) );
delay_ms(50);
}
}
复制代码
所有资料51hei提供下载:
基于STM32F103C8T6的PS2遥控小车源码及接线(已调).7z
(443.59 KB, 下载次数: 23)
2021-6-6 16:40 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1