找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2009|回复: 2
收起左侧

一个MSP430单片机小车控制程序

[复制链接]
ID:488221 发表于 2019-3-10 22:51 | 显示全部楼层 |阅读模式
一年前做的了
电机带小车的程序

单片机源程序如下:
  1. /*
  2. * main.c
  3. *
  4. *  Created on: Oct 22, 2016
  5. *      Author: tongxinyun
  6. *      DI P1.0 DO P1.3 CS P1.4 CLK P1.5
  7. */

  8. #include "MSP430G2553.h"
  9. #include "pstwo.h"
  10. #include "usart.h"
  11. #include "moto.h"
  12. #include"servo.h"
  13. void Time0_A0_init();
  14. void Run(unsigned char key);
  15. unsigned char key=0;
  16. unsigned char server1=50,server2=50;

  17. void main(void) {

  18.     WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
  19.     BCSCTL1 = CALBC1_16MHZ; //cpu频率16MHZ
  20.     DCOCTL = CALDCO_16MHZ;//cpu频率16MHZ

  21.     init_pstwo();
  22.     serve_init();
  23.     MotorGPIO_Init();
  24.     Time0_A0_init();
  25.     __enable_interrupt();

  26.     while(1)
  27.     {
  28.             Run(key);
  29.     }


  30. }
  31. void Run(unsigned char key)
  32. {
  33.         switch(key){
  34.         case  1:  break;
  35.         case  2:  break;
  36.         case  3: break;//START key
  37.         case  4:break;
  38.         case  5: forward(); break;//Left  up_key
  39.         case  6: Right();break;//Left Right_key
  40.         case  7:  back();break;//Left down_key
  41.         case  8:Left(); break;//left Left_key


  42.         case  11: server1++;  if(server1>=99)   server1--;      serve1_pwm=deg[server1];key=0;  break;//Left_1 key
  43.         case  9: server1--;  if(server1==10)   server1++;      serve1_pwm=deg[server1];  ;key=0; break;//Left_2 key

  44.     case  12:server2++;  if(server2>=99)   server2--;      serve2_pwm=deg[server2];  ;key=0; break;//Right 1 key
  45.         case 10 :server2--;  if(server2==20)   server2++;      serve2_pwm=deg[server2];  ;key=0; break;//Right_2 key


  46.         case  13:    break;//三角键
  47.         case  14:    break;//x键
  48.         case 15 :    break;//框键
  49.         case 16 :    break;//o键
  50.         default:stop();
  51.                 break;
  52.         }

  53. }
  54. void Time0_A0_init(){
  55.         TA0CCTL0=CCIE;
  56.         TA0CCR0=16000000/400;
  57.         TA0CTL= TASSEL_2+MC_1+ID_3+TACLR+TAIE ;//MC_1+TASSEL_2+TACLR  TASSEL_2+MC_1+ID_3+TACLR+TAIE
  58.         _EINT();
  59. }

  60. #pragma vector=TIMER0_A0_VECTOR
  61. __interrupt void Time0_A0(){
  62.         TA0CTL&=~TAIFG;
  63.            ps2_DataKey();
  64.     key=ps2_getKey();
  65. }
复制代码

所有资料51hei提供下载:
patwo.rar (53.47 KB, 下载次数: 31)
回复

使用道具 举报

ID:1 发表于 2019-3-11 18:05 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

ID:587722 发表于 2020-10-10 15:58 | 显示全部楼层
可以问一下,这个有接线的原理图吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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