栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

蓝桥杯09----串口的原理与应用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯09----串口的原理与应用

串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。

1.串口通信相关概念

2. 相关寄存器

1) TMOD:

上一节我们就使用到过TMOD,用于设置定时器的方式,而在串口通信中,保证通信顺利的波特率也就是由定时器产生的。
在串口通信当中,我们要在TMOD中赋值,选择8位自动重装载模式。
在8位重装载模式下,当TL1溢出(最大255),TH1会自动将自己的值赋给TL1,这也就是重装载名子的来源,也是很多初学者疑惑为什么TL1和TH1值相等(有问题多看数据手册)

TMOD = 0x20;
TH1 = 0xfd;
TL1 = x0fd;
AUXR = 0x00;//12分频

其中AUXR是一个辅助寄存器

2)SCON寄存器

3.编程思路

4. 例程代码
# include "reg52.h"
sfr AUXR = 0x8e;

unsigned char temrever;
void init_uart(){
	TMOD = 0x20;
	TL1 = 0xfd;
	TH1 = 0xfd;
	AUXR  = 0x00;
	TR1 = 1;
	SCON = 0x50;
	ES = 1;
	EA = 1;
}

void sendbyte(unsigned char dat){
	SBUF = 	dat;
	while(TI == 0);
	TI = 0;

}
void Sever_Uart() interrupt 4
{
	if(RI == 1){
	RI =0;
	sendbyte(0x02);
	}

}

void main (){
 init_uart();
sendbyte(0x01);
sendbyte("ok");
 while(1);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号