2011-11-07
之前路由连接51板串口发送字符的测试不成功,想起liuhuiviking的博文提到要串接一个1k的电阻,电阻这个小东西啊,几分钱一只,但不知道哪里有卖,只有求助万能的淘宝。收到电阻之后马上接起来,发现还是不行,后来尝试了好多方法,终于在一块6块钱的最小系统板上测试成功,而且是不用串接电阻的。之前失败的原因,可能是我那块30块的开发板上面集成了USB-TTL,而且USB兼供电,可能会对串口接收产生冲突吧。
买电阻的时候顺便也买了一个15块钱的9g舵机,经过一轮查找资料,编写代码和测试,终于完成了舵机的51程序,在我那块30元的开发板P0口测试成功(P0有1k上拉电阻),但是在我那块6元的最小板死活都不行,P0, P1, P3都试过,1k,5K都试过。最后无意中改用电池供电的时候居然成功了(P0口上拉5k电阻)!估计是6元的最小板用料比较省,电源的滤波不行,而舵机对电源的要求比较高,所以导致用USB线供电时怎么都不行。
到此51最小系统的程序就全部测试完,准备开始组装小车啦。
源代码如下:
/*预处理命令*/
#include <reg52.h> //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
#define motor P1
/***L298N接法
IN1 > P10
IN2 > P11
IN3 > P12
IN4 > P13***/
uchar serVal, hvc, lvc, angleValue;
sbit steeringGearSignal=P0^0;
bit PWMCTL=0;
/********************************************************************
* 名称 : Com_Init()
* 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中断
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Com_Init()