#include<regX51.h> //异步串口发射程序//
void delay() //延时函数,延时1200波特时的位长度//
{
unsigned char w=0x43;
while(w--);
}
void output(unsigned char n)//发射数据函数,入口为要发射的数//
{
unsigned char j;
unsigned char t;
unsigned char k;
unsigned char i=0x1;
unsigned char a[10]; //要发射的数的缓存数组//
a[0]=0; //发射帧的起始位为0//
for(t=1;t<=8;t++) //将要发射的数拆开成8位放在缓存数组里//
{
k=n&i;
if(k!=0)
a[t]=1;
else
a[t]=0;
i=i<<1;
}
a[9]=1; //发射帧的末位,为1//
for(j=0;j<=9;j++) //将缓存数组中的10位数,付给发射口//
{
P3_1=a[j];
delay(); //延时//
}
}
void main() //主函数//
{
while(1) //循环发射//
{
output(0xaa);
}
}