找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5027|回复: 0
收起左侧

基于STM32F103C8T6的PS2遥控小车源程序

[复制链接]
ID:527261 发表于 2019-5-4 22:20 | 显示全部楼层 |阅读模式
0.jpg

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"         
  5. #include "pstwo.h"

  6. /*********************************************************
  7. 功能:通过PS2控制小车运动
  8. 硬件平台:STM32F103C8T6
  9. 时钟:8Mhz

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

  16. //L298N 电机驱动控制引脚
  17. IN1=PA0;           //左侧电机正  
  18. IN2=PA1;                //左侧电机负  
  19. IN3=PA2;           //右侧电机正   
  20. IN4=PA3;                //右侧电机负

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

  27.        
  28. int main(void)
  29. {         
  30.          u8 key=0;
  31.         delay_init();                     //延时函数初始化          
  32.         NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  33.         uart_init(9600);                 //串口初始化为9600
  34.         LED_Init();                             //LED端口初始化
  35.         PS2_Init();                                
  36.             
  37.                
  38.         while(1)
  39.         {
  40.        
  41.                 key=PS2_DataKey();
  42.                
  43.                  switch(key)
  44.                  {
  45.                          case 5:go;break;
  46.                          case 7:back;break;
  47.                          case 8:turnleft;break;
  48.                          case 6:turnright;break;
  49.                          
  50.                          default:stop;break;                         
  51.                  }
  52.                 if(key!=0)                   //有按键按下
  53.             {
  54.                         printf("%d  is  pressed  \r\n",key);
  55.             }
  56. //                printf(" %5d %5d %5d %5d\r\n",PS2_AnologData(PSS_LX),PS2_AnologData(PSS_LY),
  57. //                                              PS2_AnologData(PSS_RX),PS2_AnologData(PSS_RY) );
  58.        delay_ms(50);
  59.         }                        
  60. }
复制代码

所有资料51hei提供下载:
基于STM32F103C8T6的PS2遥控小车源码及接线(已调).7z (443.59 KB, 下载次数: 139)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表