【无标题】

串口收发;

#include <STC15F2K60S2.H>

void SendBye(unsigned char dat);
unsigned char data1;
void init()
{
	TH1 = 0xfd;
	TL1 = 0xfd;
	
	TMOD = 0x20;
	AUXR = 0x00;		//???1???Fosc,?1T
	
	SCON = 0x50;
	
	TR1=1;//¶¨Ê±´ò¿ª
	ES=1;//ÖжÏ
	EA=1;
}

//0¡ª¡ªÍⲿÖжÏ0  1¡ª¡ª¶¨Ê±Æ÷0  2¡ª¡ªÍⲿÖÕ¶Ë1  3¡ª¡ª¶¨Ê±Æ÷1   4¡ª¡ª´®¿ÚÖжÏ
void serbor() interrupt 4
{
	if(RI == 1)//½ÓÊÜÍê³É
	{
		RI=0;
		data1 = SBUF;
		SendBye(data1);
	}
}

void SendBye(unsigned char dat)
{
	SBUF = dat;
	while(TI==0);//µÈ´ý·¢ËÍÍê³É
	TI=0;
}

void main()
{
	init();
	SendBye(0x5a);
	SendBye(0xa5);
	while(1)
	{
	
	}
}



辅助寄存器 AUXR,要在前面设置为0x00  如果不设置 AUXR的话收不到数据



小蜜蜂的题

#include <STC15F2K60S2.H>

sbit L1 = P0^0;
sbit L2 = P0^1;
sbit L3 = P0^2;
sbit L4 = P0^3;
sbit L5 = P0^4;
sbit L6 = P0^5;
sbit L7 = P0^6;
sbit L8 = P0^7;

unsigned char data1;
unsigned char command = 0x00;
void SendString(unsigned char *str);

void suocun(unsigned char n)
{
	switch(n)
	{
		case 4:P2 = (P2 & 0x1f)|0x80;break;
		case 5:P2 = (P2 & 0x1f)|0xa0;break;
		case 6:P2 = (P2 & 0x1f)|0xc0;break;
		case 7:P2 = (P2 & 0x1f)|0xe0;break;
	}
}

void Initsuoyou()
{
	suocun(5);
	P0=0x00;
	suocun(4);
	P0=0xff;
}
void init()
{
	TMOD = 0x20;
	AUXR = 0x00;
	SCON = 0x50;
	
	TL1 = 0xfd;
	TH1 = 0xfd;
	
	TR1 = 1;
	ES = 1;
	EA = 1;
}
void Ser0() interrupt 4
{
	if(RI == 1)
	{
		command = SBUF;
		RI=0;
	}
}
void sendByte(unsigned char Byte)
{
	SBUF = Byte;
	while(TI==0);
	TI=0;
}

void SendString(unsigned char *str)
{
	while(*str !='\0')
	{
		sendByte(*str++);
	}
}
void Working()
{
	if(command != 0x00)
	{
		switch(command & 0xf0)
		{
			case 0xa0: 
				suocun(4);
			if(command & 0x01 ==0x01 )
			{
				L1=0;
			}	
			command=0x00;break;
			case 0xb0: 
				command=0x00;break;
			case 0xc0: SendString("The System mmmmm\r\n");command=0x00; break;
			
		}
	}
}
void main()
{
	init();
	Initsuoyou();
	SendString("Welcome to!\r\n");
	while(1)
	{  
		Working();
	}
}

形成一个指针,来进行数据的发送。 

void SendString(unsigned char *str)
{
	while(*str !='\0')
	{
		sendByte(*str++);
	}
}

要初始化,要建立发送函数,接受标志位——RI

                                              发送标志位 ——TI   --------发送函数然后等待发送完成。

然后就是接收到的数据 ,进行&操作,把高四位提出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值