您所在位置: 网站首页 / 单片机C语言编程串行口通讯.ppt / 文档详情
单片机C语言编程串行口通讯.ppt 立即下载
2024-11-26
约3.8千字
约60页
0
1.2MB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机C语言编程串行口通讯.ppt

单片机C语言编程串行口通讯.ppt

预览

免费试读已结束,剩余 55 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章MCS-51单片机串行口第7章MCS-51单片机串行口本章要点

本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。
		主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。7.1串行通信基本知识7.1.1数据通信7.1.1数据通信1、异步串行通讯异步通信:指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。		2.同步通信
		在同步通信中,每一数据块发送开始时,先发送一个或两个同步字符,使发送与接收取得同步,然后再顺序发送数据。数据块的各个字符间取消起始位和停止位,所以通信速度得以提高。共需要两根线,一根数据线DATA和一根时钟线CLK;
按照时钟信号,从低到高逐个传送数据位.7.1.3波特率7.1.4通信方向7.1.4单工、半双工、全双工通讯方式7.1.5串行通信接口种类7.2串行口结构及控制7.2.1MCS-51串行口结构8051的串行发送数据8051的串行接收数据7.2.2与串行口有关的特殊功能寄存器SM0和SM1(SCON.7、SCON.6):串行口工作方式选择位。9FHTB8(SCON.3):发送数据的第9位。
RB8(SCON.2):接收数据的第9位。
TI(SCON.1):发送中断标志。
RI(SCON.0):接收中断标志。SMOD7.2.3波特率设计		2.方式2的波特率
		接收与发送的移位时钟由振荡频率fosc的第二节拍P2时钟(fosc/2)给出,所以,方式2波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32。即

方式2的波特率=2SMOD×fosc/64	3.方式1和方式3的波特率
(1)T1作波特率发生器




在最典型应用中,定时器T1选用定时器模式2,此时n=8,设定时器的初值为X:

于是,	X=256-	(2)T2作波特率发生器
		在增强型单片机中,还可以使用T2作为波特率发生器。当寄存器T2CON的位TCLK=1和(或)RCLK=1时,允许串行口从T2获得发送和(或)接收的波特率。
	串行口方式1、3的波特率=T2溢出率/16
		定时器2作波特率发生器时,计数在每个状态周期递增。这样:
	方式1、3的波特率=		主要内容	7.3.1串行口方式0	7.3.2串行口方式1	7.3.3串行口方式2和方式37.3.1串行口方式0工作方式0发送数据时,一般外接移位寄存器(如74HC164)实现串并转换,用于扩展键盘和显示接口。7.3.2串行口方式17.3.3串行口方式2和方式37.4串行口应用举例7.4.1同步方式应用解:数据的输入输出通过RXD接收和发送,移位时钟通过TXD送出,74HC164用于串/并转换,74HC165用于并/串转换。
		C语言程序清单:
#include<reg52.h>
sbitP1_0=P1^0;		
sbitP1_1=P1^1;
unsignedchardata1;
voidmain()
{	
SCON=0x10;	//串行口方式0,允许接收
	ES=1;
	EA=1;				//允许串行口中断	P1_0=0;				//关闭并行输出
	P1_1=1;				//并行置入数据
	P1_1=0;				//开始串行移位
	SBUF=0;				//送入串行数据
	while(1);				//等待中断
}
voids_srv()interrupt4		//中断服务程序
{
	if(TI)				//发送中断
	{	TI=0;
		P1_0=1;			//打开并行输出
	}	else					//接收中断
	{	RI=0;
		data1=SBUF;		//读取接收的数据
		P1_0=0;			//关闭并行输出
		SBUF=~data1;		//送入串行数据
		P1_1=1;			//为接收下一次
		P1_1=0;			//数据做准备
	}
}
		7.4.2异步方式应用定时器T1产生的常用波特率		例7-3将片内RAM50H~5FH中的数据串行发送,用第9个数据位作奇偶校验位,设晶振为11.0592MHz,波特率为2400b/s,编制串行口方式3的发送程序。

		解:用TB8作奇偶校验位,在数据写入发送缓冲器之前.先将数据的奇偶位P写入TB8,这时,第9位数据作奇偶校验用,发送采用中断方式。		C语言程序清单:
#include<reg52.h>
unsignedchari=0;
unsignedchararray[16]_at_0x50;	//发送缓冲区
voidmain()
{	SCON=0xc0;			//串行口初始化
	TMOD
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

单片机C语言编程串行口通讯

文档大小:1.2MB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用