|
本帖最后由 washuch 于 2014-1-3 00:52 编辑
配置:51最小系统,STC89C52 ,晶振11.0592 和9G舵机。用的是论坛的1.28主控端
舵机的红线接单片机的VCC,舵机的棕色线接单片机的GND ,舵机的黄色线接单片机的P0.0口
我用的是下面的代码为什么舵机控制不了问题出在哪呢。哎!!
=========================================================
“/* 这个版本是根据管理员iuviking的51单片机版WIFI小车下位机程序(通信协议版)
版本修改而来,我已经加入了八路舵机控制(p0口),ε咫ヤ涯/ */
#include<reg52.h>
#include<math.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar Buffer =0; //从串口接收的数据
uint URTAReceivedCount=0,n=1;
uchar data Tempdatatable[5],CommandDatatable[5];//数据包
uchar serVal[2];
uint pwm[]={1120,1190,1382,1382,1382,1382,1382,1382}; //初始90度,(实际是1382.4,取整得1382)
uchar pwm_flag=0;
uint code ms0_5Con=461; //0.5ms计数 (实际是460.8,取整得461)
uint code ms2_5Con=2304; //2.5ms计数
bit key_stime_ok;
sbit StatusLight=P2^0; //状态灯
sbit MainLight=P2^1; //主大灯
sbit servo0=P0^0; //舵机控制
sbit servo1=P0^1;
sbit servo2=P0^2;
sbit servo3=P0^3;
sbit servo4=P0^4;
sbit servo5=P0^5;
sbit servo6=P0^6;
sbit servo7=P0^7;
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
void TurnOnStatusLight()
{
StatusLight=0;省略下面程序。。。。。
”
|
|