at芯片的程序改stc芯片的,该如何修改。已附上程序
#include <at89x51.h>#define kai 0; //串口接收到0时,P1.0输出0,开台灯
#define guan 1;//串口接收到1时,P1.0输出1,关台灯
unsigned char a;//a用来存放串口接收到的数据
sbit JDQ=P1^0; //继电器接P1.0,P1.0脚出来接一个10K电阻再接到S8550三极管的基极
//集电极接地,发射极接继电器的线圈到5V电源上,
//线圈两脚之间接一个IN4007二极管,注意二极管的负极要接5V电压处
//正极接三极管的发射极。
main()
{
TMOD=0x20;//定时器1使用初值自动重装方式,方式2
TH1=0xfd;
TL1=0xfd;//9600波特率初值
TR1=1;//允许定时器计数
SM0=0;//方式1设置
SM1=1;
REN=1; //允许串口接收
EA=1;//开总中断
ES=1;//开串口中断
while(1)
{
if(a==1)//如果a=1,P1.0=0,继电器吸合,台灯打开
{
JDQ=kai; //P1.0=0,
}
else if(a==2)//如果a=2,P1.0=1,继电器松开,台灯关闭
{
JDQ=guan;//P1.0=1,
}
else ;
}
}
void serial() interrupt 4 //串口中断函数
{
if(RI==1)//如果是接收中断,进行下面工作
{
a=SBUF;//串口接收到到的数据存放到a中
RI=0;//接收中断标志位标志
}
if(TI==1)//如果是发送中断,直接清零发送中断标志,不做任何工作
{
TI=0; //发送中断标志位清零
}
}
以上是at芯片的语音控制代码。我要改成在stc下使用。但不管怎么改a都没有值。进不了a的那几个条件,知道是哪里的问题吗?该如何修改呢 模块的txd到3.0rxd到3.1 模块发信息到单片机。单片机无反应 搞定了。rxd和txd 接错线了。程序是没问题的
页:
[1]