该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我用C语言在Keil4上写了一个用遥控器来控制步进电机,通过光明电阻模块来限制步进电机转动幅度的程序,单独让遥控器控制步进电机正反转,停止没有问题。单独让光敏电阻模块以波特率为9600来给出高低电平也没有问题,但现在我将这两个程序模块整合到一起之后,却出现了问题,要么就是遥控器控制步进电机正反转,停止没有问题,要么就是光敏电阻模块以波特率为9600来给出高低电平没有问题,要么就是都有问题,怀疑是两个定时器出现了干扰,但有不确定,真心不知该怎么办,下面是我给出的程序,求高手指点
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char date;
sbit key1=P1^0;
sbit key2=P1^7;
signed long beats = 0; //电机转动节拍总数
unsigned char T0RH = 0; //T0重载值的高字节
unsigned char T0RL = 0; //T0重载值的低字节
unsigned char dir = 2;
unsigned char light = 1;
unsigned char sta = 0;
extern bit irflag;
extern unsigned char ircode[4];
extern void InitInfrared();
void delay(uint z);
void Initial_com(void);
void ConfigTimer0(unsigned int ms);
void RightRunMotor();
void LeftRunMotor();
void StopRunMotor();
unsigned char ReiverSta();
void main()
{
EA = 1; //开总中断
InitInfrared(); //初始化红外功能
ConfigTimer0(2); //配置T0定时2ms
ReiverSta();
Initial_com(); if(RI)
{
date=