找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2155|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于stm32做的ps2遙控小車源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
今年要準(zhǔn)備參加電子設(shè)計(jì)大賽,這幾天訓(xùn)練了挺多項(xiàng)目,其中就有這個(gè)基于stm32f103的外接ps2遙控小車,特放在這里僅供參考


單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"         
  5. #include "pstwo.h"

  6. /*********************************************************
  7. 功能:通過PS2控制小車運(yùn)動(dòng)
  8. 作者:大海電子
  9. 硬件平臺(tái):STM32F103C8T6
  10. 時(shí)鐘:8Mhz

  11. 硬件引腳分配:
  12. //手柄接口
  13. DI=PB12;        
  14. DO=PB13 ;
  15. CS=PB14;
  16. CLK=PB15;

  17. //L298N 電機(jī)驅(qū)動(dòng)控制引腳
  18. IN1=PA0;           //左側(cè)電機(jī)正  
  19. IN2=PA1;                //左側(cè)電機(jī)負(fù)  
  20. IN3=PA2;           //右側(cè)電機(jī)正   
  21. IN4=PA3;                //右側(cè)電機(jī)負(fù)

  22. **********************************************************/         
  23. #define go                         {IN1=1;IN2=0;IN3=0;IN4=1;}
  24. #define back                 {IN1=0;IN2=1;IN3=1;IN4=0;}
  25. #define stop                {IN1=1;IN2=1;IN3=1;IN4=1;}
  26. #define turnleft                {IN1=1;IN2=1;IN3=0;IN4=1;}
  27. #define turnright                {IN1=1;IN2=0;IN3=1;IN4=1;}

  28.          
  29. int main(void)
  30. {         
  31.          u8 key=0;
  32.         delay_init();                     //延時(shí)函數(shù)初始化         
  33.         NVIC_Configuration();          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  34.         uart_init(9600);                 //串口初始化為9600
  35.          LED_Init();                             //LED端口初始化
  36.         PS2_Init();                                 
  37.             
  38.                
  39.         while(1)
  40.         {
  41.         
  42.                 key=PS2_DataKey();
  43.                
  44.                  switch(key)
  45.                  {
  46.                          case 5:go;break;
  47.                          case 7:back;break;
  48.                          case 8:turnleft;break;
  49.                          case 6:turnright;break;
  50.                         
  51.                          default:stop;break;                        
  52.                  }
  53.                 if(key!=0)                   //有按鍵按下
  54.             {
  55.                         printf("%d  is  pressed  \r\n",key);
  56.             }
  57. //                printf(" %5d %5d %5d %5d\r\n",PS2_AnologData(PSS_LX),PS2_AnologData(PSS_LY),
  58. //                                              PS2_AnologData(PSS_RX),PS2_AnologData(PSS_RY) );
  59.        delay_ms(50);
  60.         }                        
  61. }
復(fù)制代碼

所有資料51hei提供下載:
基于STM32F103C8T6的PS2遙控小車源碼及接線(已調(diào)).7z (443.59 KB, 下載次數(shù): 23)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表