#include <REGX52.H>
#include"TIMER0.h"
#include"DIRECTION.h"
#include"bluetooth.h"
void main()
{
Timer0_Init();
Uart_Init();
while(1)
{
}
}
这是我的主函数
#include<REGX52.H>
#include"direction.h"
#include"Timer0.h"
unsigned char receiveData;
unsigned char m;
void Uart_Init()
{
PCON=0x00; //¹Ø±¶Æµ
SCON=0x50; // 8λÊý¾Ý£¬¿É±ä²¨ÌØÂÊ
TMOD=0x20;
TL1=0xfd;
TH1=0xfd;
ET1=0; //½ûÖ¹¶¨Ê±Æ÷1ÖжÏ
TR1=1;
EA=1;
ES=1; //´ò¿ª´®¿ÚÖжÏ
}
void receive(m)
{
switch(m)
{
case 'a':
advance(); //Ç°½ø
break;
case 'b':
back(); //ºóÍË
break;
case 'c':
left(); //×óת
break;
case 'd':
right(); //ÓÒת
break;
case 'e':
stop(); //Í£Ö¹
break;
}
}
void Uart_RouTine() interrupt 4
{
EA=0;
P2_0=0;
advance();
RI=0;
receiveData=SBUF;
receive(receiveData);
EA=1;
}
这是我的蓝牙串口配置的函数
#include <REGX52.H>
sbit ENA=P0^0;
sbit ENB=P0^5;
unsigned int Duty_cycle_A; //Õ¼¿Õ±È
unsigned int Duty_cycle_B;
unsigned int T0Count;
void Timer0_Init() //100΢Ãë
{
TMOD |= 0x01;
TF0=0;
TR0=1;
TL0 = 0xA4;
TH0 = 0xFF;
ET0=1;
EA=1;
PT0=0;
}
void Timer0_Routine() interrupt 1
{
TL0 = 0xA4;
TH0 = 0xFF;
T0Count++;
if(T0Count<= Duty_cycle_A)
{
ENA=1;
}
else
{
ENA=0;
}
if(T0Count<= Duty_cycle_B)
{
ENB=1;
}
else
{
ENB=0;
}
if(T0Count==100)
{
T0Count=0;
}
}
这是我的定时器配置代码
当我在主函数中对这定时器,串口同时初始化时,我的蓝牙串口配置就不起作用了,当我不调用定时器时,我就可以正常使用蓝牙串口函数了,请问这是为什么,我该怎么解决这个问题。期待您的回答,谢谢!