您的位置:首页 > 教育 > 锐评 > 重庆网站搭建公司_中国机械加工网最新订单_中国十大策划公司排名_长沙互联网推广公司

重庆网站搭建公司_中国机械加工网最新订单_中国十大策划公司排名_长沙互联网推广公司

2025/5/25 0:57:24 来源:https://blog.csdn.net/u014087103/article/details/144182224  浏览:    关键词:重庆网站搭建公司_中国机械加工网最新订单_中国十大策划公司排名_长沙互联网推广公司
重庆网站搭建公司_中国机械加工网最新订单_中国十大策划公司排名_长沙互联网推广公司

更多单片机学习笔记:
单片机学习笔记 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、代码实现

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

        发送汉字“早上好!”

#include <reg52.h>
#include <stdio.h>#define uint unsigned int
#define uchar unsigned charvoid 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自动装入TL1TH1 = 0xFD;TL1 = 0xFD;//波特率为9600时得出的值 TH1和TL1要相同		
}void main()//main函数自身会循环
{	UARTInit();//串口通信初始化while(1){TI = 1;//调用puts函数是用了putchar函数,要求TI置1puts("早上好!");//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 永远等待
*************************************/  

实物展示:
 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com