51单片机串口通信发送单个字符详解

本文详细解析51单片机串口通信的发送与接收代码,包括两个部分的内容,旨在深入理解串口通信过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <reg51.h>         
//实验现象:发送字符
//函数声明
void uart_init(void);
void uart_seng_byte(unsigned char c);
void delay(void);
//主函数
void main(void)
{
  uart_init();         //第一步:初始化串口到正确状态
  while(1)
  {
  uart_seng_byte('A');    //第二步:通过串口发送信息出去;这样也行uart_seng_byte((unsigned char*)65)
  delay();                //让A发送的不要太快
  }
}

//预设一个串口条件:8位数据位、1停止位、0效验位、波特率2400
//初始化主要用于设置相关寄存器到我们所需要的模式以及参数
//初始化串口函数
void uart_init(void)
{
 SCON=0x50;      //串口工作在模式1,开启允许接收
 PCON=0x00;      //波特率不加倍
 TMOD=0x20;   //设置T1在模式2:M1=1,M0=0;8位自动重装模式
 TH1=TL1=243; //8位自动重装的意思:TH1用完后下一个周期,TL1自动重装到TH1里面去
 TR1=1;          //开启计数器
 ES=1;          //开启串口中断
 EA=1;          //开启总中断
}

//通过串口发送1个字节出去
void uart_seng_byte(unsigned char c) 
//SBUF=c表示将变量c的值赋给SBUF,unsigned char c为8位无符号字符,是一个字节的大小,表示变量c
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成长中的单片小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值