|
電路原理圖如下:
0.png (303.79 KB, 下載次數(shù): 87)
下載附件
2019-5-11 22:28 上傳
STM32單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "pstwo.h"
/*********************************************************
功能:通過(guò)PS2控制小車運(yùn)動(dòng)
作者:大海電子
時(shí)間:180531
硬件平臺(tái):STM32F103C8T6
時(shí)鐘:8Mhz
硬件引腳分配:
//手柄接口
DI=PB12;
DO=PB13 ;
CS=PB14;
CLK=PB15;
//L298N 電機(jī)驅(qū)動(dòng)控制引腳
IN1=PA0; //左側(cè)電機(jī)正
IN2=PA1; //左側(cè)電機(jī)負(fù)
IN3=PA2; //右側(cè)電機(jī)正
IN4=PA3; //右側(cè)電機(jī)負(fù)
**********************************************************/
#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(); //延時(shí)函數(shù)初始化
NVIC_Configuration(); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
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遙控小車源碼及接線(已調(diào)).7z
(443.59 KB, 下載次數(shù): 130)
2019-5-11 22:28 上傳
點(diǎn)擊文件名下載附件
全部都在這兒啦 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|