0.jpg (55.28 KB, 下載次數: 39)
下載附件
2019-5-5 02:58 上傳
單片機源程序如下:
- #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, 下載次數: 139)
2019-5-5 02:58 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|