近期搞了一个传感器模块A和一个音乐模块B,A传感器串口输出AA 55 01 02 03的数据一共有10组,模块B一共有30个触发串口地址为 55 03 11 01 02 ,55 03 11 02 02,55 04 01 03 02类似格式的数据,比如单片机收到传感器AA 55 01 02 03数据后,让它TXd口输出 55 03 11 01 02,然后再过1秒输出 55 03 11 02 02到B模块。意思就是收到X,发送Y延时1秒发送Z,怎么写这部分代码,我绞尽脑汁也没弄好请求大神帮忙
单片机源程序如下:
//晶振为11.0592Mhz 波特率9600
#include "reg52.h"
#define uint unsigned int
sbit d=P1^5;
sbit a=P1^1;
uint x,y,z;
void delay(z); //声明子函数
void UART_Init()
{
SCON=0x50;
PCON |=0X80;
TMOD &=0x0f;
TMOD |=0x20;
TL1=0XFD;
TH1=0XFD;
TF1=0;
TR1=1;
ET1=0;
EA=1;
ES=1;
}
void main()
{
UART_Init();
while(1)
{
}
}
void UART_SendByte(unsigned char Byte)
{
SBUF=Byte;
while(TI==0);
TI=0;
}
void UART_Routine() interrupt 4
{
if(RI==1)
{
RI=0;
UART_SendByte(SBUF);
}
}
void delay(z)
{
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
|