标题:
一个MSP430单片机小车控制程序
[打印本页]
作者:
iwonderwhy
时间:
2019-3-10 22:51
标题:
一个MSP430单片机小车控制程序
一年前做的了
电机带小车的程序
单片机源程序如下:
/*
* main.c
*
* Created on: Oct 22, 2016
* Author: tongxinyun
* DI P1.0 DO P1.3 CS P1.4 CLK P1.5
*/
#include "MSP430G2553.h"
#include "pstwo.h"
#include "usart.h"
#include "moto.h"
#include"servo.h"
void Time0_A0_init();
void Run(unsigned char key);
unsigned char key=0;
unsigned char server1=50,server2=50;
void main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
BCSCTL1 = CALBC1_16MHZ; //cpu频率16MHZ
DCOCTL = CALDCO_16MHZ;//cpu频率16MHZ
init_pstwo();
serve_init();
MotorGPIO_Init();
Time0_A0_init();
__enable_interrupt();
while(1)
{
Run(key);
}
}
void Run(unsigned char key)
{
switch(key){
case 1: break;
case 2: break;
case 3: break;//START key
case 4:break;
case 5: forward(); break;//Left up_key
case 6: Right();break;//Left Right_key
case 7: back();break;//Left down_key
case 8:Left(); break;//left Left_key
case 11: server1++; if(server1>=99) server1--; serve1_pwm=deg[server1];key=0; break;//Left_1 key
case 9: server1--; if(server1==10) server1++; serve1_pwm=deg[server1]; ;key=0; break;//Left_2 key
case 12:server2++; if(server2>=99) server2--; serve2_pwm=deg[server2]; ;key=0; break;//Right 1 key
case 10 :server2--; if(server2==20) server2++; serve2_pwm=deg[server2]; ;key=0; break;//Right_2 key
case 13: break;//三角键
case 14: break;//x键
case 15 : break;//框键
case 16 : break;//o键
default:stop();
break;
}
}
void Time0_A0_init(){
TA0CCTL0=CCIE;
TA0CCR0=16000000/400;
TA0CTL= TASSEL_2+MC_1+ID_3+TACLR+TAIE ;//MC_1+TASSEL_2+TACLR TASSEL_2+MC_1+ID_3+TACLR+TAIE
_EINT();
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Time0_A0(){
TA0CTL&=~TAIFG;
ps2_DataKey();
key=ps2_getKey();
}
复制代码
所有资料51hei提供下载:
patwo.rar
(53.47 KB, 下载次数: 31)
2019-3-10 22:50 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2019-3-11 18:05
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者:
李香刚
时间:
2020-10-10 15:58
可以问一下,这个有接线的原理图吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1