单片机学习笔记 17. 串口通信-发送汉字

更多单片机学习笔记:
单片机学习笔记 1. 点亮一个LED灯
单片机学习笔记 2. LED灯闪烁
单片机学习笔记 3. LED灯流水灯
单片机学习笔记 4. 蜂鸣器滴~滴~滴~
单片机学习笔记 5. 数码管静态显示
单片机学习笔记 6. 数码管动态显示
单片机学习笔记 7. 独立键盘
单片机学习笔记 8. 矩阵键盘按键检测
单片机学习笔记 9. 8×8LED点阵屏
单片机学习笔记 10. 中断系统(理论)
单片机学习笔记 11. 外部中断
单片机学习笔记 12. 定时/计数器_定时
单片机学习笔记 13. 定时/计数器_计数
单片机学习笔记 14. 定时/计数器_中断
单片机学习笔记 15. 串口通信(理论)
单片机学习笔记 16. 串口通信


目录

0、实现的功能

1、Keil工程

2、代码实现


0、实现的功能

实现串口通信的字符、汉字发送

1、Keil工程

串口发送的字符是以ASCLL码的形式发送

发送汉字的话要使用标准库函数stdio.h中的printf() puts()

2、代码实现

如果是发送字符,直接在串口助手中选择文本模式即可。

发送汉字"早上好!"

cpp 复制代码
#include <reg52.h>
#include <stdio.h>

#define uint unsigned int
#define uchar unsigned char

void delay(uint z)
{
	uint x,y;
	for(x = z; x > 0; x--)
		for(y = 114; y > 0 ; y--); 		
} 

//串口初始化
void UARTInit()
{
	EA = 1;//打开总中断
	ES = 1;//打开串口中断
	SM0 = 0;	SM1 = 1;//串口工作为方式1 8位UART波特率可变
	REN = 1;//串口允许接收

	TR1 = 1;//启动定时器1,产生波特率
	TMOD |= 0x20;//定时器1工作在方式2 8位自动重装 溢出时TH1自动装入TL1
	TH1 = 0xFD;
	TL1 = 0xFD;//波特率为9600时得出的值 TH1和TL1要相同		
}

void main()//main函数自身会循环
{	
	UARTInit();//串口通信初始化
	while(1)
	{
		TI = 1;//调用puts函数是用了putchar函数,要求TI置1
		puts("早上好!");//puts函数会自动换行,printf函数不会换行
		while(!TI);
		TI = 0;
		delay(1000);//每隔1s就发送一次
	}	
}
/*************************************
备注:
使用printf()puts()前都应软件置位TI = 1;
printf()puts()  使用putchar函数发送字节

void putchar(uchar sbyte )
{
    while(!TI);   //等待发送完

    SBUF=sbyte;

}

所以第一次调用putchar前没TI=1 永远等待
*************************************/  

实物展示:

相关推荐
炸膛坦客1 小时前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
by209992 小时前
学会使用std::string类,并理解其内部是如何管理字符串的详细阐述(上)
c++·笔记·字符串·类和对象·string
笨笨饿2 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
青柠之夏cc3 小时前
AI与教育:个性化学习助手让“因材施教“成为现实,但代价是隐私?
人工智能·学习
笑鸿的学习笔记3 小时前
C++笔记之大块顺序写
java·c++·笔记
for_ever_love__3 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
在猴站学算法3 小时前
(SQL注入学习)无回显的报错注入(Error-Based)
学习·网络安全·sql注入·ctf竞赛
hahaha60164 小时前
色彩恒常性概述
人工智能·嵌入式硬件·数码相机·计算机视觉
我叫洋洋4 小时前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路
山岚的运维笔记5 小时前
ComfyUI NVIDIA安装教程:官方便携版下载+run_nvidia_gpu.bat启动,8G显存Windows实操
运维·服务器·windows·笔记·prompt·aigc·comfyui