在DOC文件夾中已經說明好接線示意圖,本程序適用于stm32f103C8也可以自己改一下startup.s和宏定義就可以適用于所有stm32f103系列
0.png (53.32 KB, 下載次數: 113)
下載附件
2017-7-4 23:56 上傳
單片機源程序如下:
- #include "stm32f10x.h"
- #include "bsp_led.h"
- #include "bsp_pwm_output.h"
- #include "bsp_SysTick.h"
- #include "bsp_uart.h"
- #include "stdio.h"
- #include "bsp_ps2.h"
- #include "bsp_control.h"
- extern uint8_t Flag_Send ;
- extern uint8_t i;
- extern uint8_t j;
- extern uint16_t ucTemp[][6];
- extern u16 Speed[];
- extern u32 BasicTimer;
- u32 MeasureTime = 0;
- int main(void)
- {
- u8 key;
- /* 初始化LED燈 */
- RGB_LED_Config(LED_R_GPIO_PIN);
- TIMx_PWM_Init();
- /* 初始化滴答定時器 */
- SysTick_Init();
- /* 使能滴答定時器 */
- SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
- /* 初始化USART */
- UART_Config();
- //初始化PS2
- PS2_Init();
- PS2_SetInit(); //配配置初始化,配置“紅綠燈模式”,并選擇是否可以修改
- printf("初始化完成\n");
- while(1)
- {
- //MeasureTime = BasicTimer;
- LED_R(0);
- MeasureTime = BasicTimer;
- Get_ControlMessage(ucTemp);
- ChangeAngle();
- #if 0
- key=PS2_DataKey();
- if(key!=0) //有按鍵按下
- {
- printf(" \r\n %d is light \r\n",Data[1]);//ID
- printf(" \r\n %d is pressed \r\n",key);
- if(key == 11)
- {
- PS2_Vibration(PS2_AnologData(PSS_LX),0x00); //發(fā)出震動后必須有延時 delay_ms(1000);
- Delay_ms(50);
- }
- else if(key == 12)
- {
- PS2_Vibration(0x00,PS2_AnologData(PSS_RX)); //發(fā)出震動后必須有延時 delay_ms(1000);
- Delay_ms(50);
- }
- else
- PS2_Vibration(0x00,0x00);
- }
- printf(" %5d %5d %5d %5d\r\n",PS2_AnologData(PSS_LX),PS2_AnologData(PSS_LY),
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
ROBOT.rar
(583.09 KB, 下載次數: 112)
2017-7-4 23:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|