一个简易的51单片机串口接收和发送程序

作者:李大闯

/*********************
程序功能:接收上位机发过来的一个字符串,然后把该字符串发送给上位机,
  字符串必须以!结尾
**********************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED = P2^7;
uchar flag = 0;
uchar index = 0;
uchar data c[100];
void Delay_ms(uint n)
{
 uchar i;
 while(n--)
     for(i = 0;i < 120;i++);
}
void Send_string(uchar *c)
{
 while(*c != '!')
 {
  SBUF=*c;
  c++;
  while(TI==0);
  TI=0;
 }
}
void main()
{
 SCON=0x50;	//串口模式1,允许接收
 TMOD=0x20;	//T1工作模式2
 TH1=0xF3;	//波特率4800
 TL1=0xF3;
 PCON=0x80;	//波特率倍增
 EA = 1;//开总中断
 ES = 1;//开串口中断
 TR1=1;//开定时器1中断
 while(1)
 {
  if((SBUF == '!')&&(flag == 1))
  {
    Send_string(c);
   LED = ~LED;
   index
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值