大家好,有一个关于51单片机的问题想请教一下,51开发版外接了一HC06蓝牙模块,然后再手机串口软件上发送1想让程序直接跳到step3,发送二直接跳到step5,这样写程序可以吗?
不可以的话希望可以给出修改意见,开发板晶振是12MHZ的,咨询了一下用11.0592的比较好,自己焊接的话怎么保证焊好后晶振是1.0592的呢?
是个不太懂的小白,希望解答的时候可以基础一些
number是我定义的一个全局变量,初值是0
主函数: void main()
{
AS=0; //关锁
LcdWriteCom(0x01); //清屏
delay(1000);
LcdInit(); //初始化LCD屏
delay(1000);
Step=0; //初值
Step5=0;
Error_Num=0x00; //错误次数初值为0
UsartInit();
while(number==0)
{
key_num=KeyDown(); //读取输入值
switch(Step)
{
case 0:
{Step_0();break;}
case 1:
{Step_1();break;}
case 2:
{Step_2();break;}
case 3:
{Step_3();break;}
case 4:
{Step_4();break;}
case 5:
{Step_5();break;}
case 6:
{Step_6();break;}
}
}
if(number==1)
{
Step_3();
}
else if(number==2)
{
Step_5();
}
}
中断:
void UsartInit()
{
TMOD=0x20;
TH1=0xF3;
TL1=0xF3;
PCON=0x80;
TR1=1;
SCON=0x50;
ES=1;
EA=1;
TI=0;
RI=0;
}
void ustart() interrupt 4
{
u8 receive_data;
EA = 0;
if(RI) //当硬件接收到一个数据时,RI会置1
{
RI = 0;
receive_data = SBUF;//接收到的数据
if(receive_data==0x31)
{
number=1 ;
}
else if(receive_data==0x32)
{
number=2;
}
}
EA = 1;
}