网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机原理及应用(C语言版)-MCS-51单片机串行口(数据).ppt

单片机原理及应用(C语言版)-MCS-51单片机串行口(数据).ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用 (C语言版) MCS-51单片机串行口;第7章 MCS-51单片机串行口 ;本章要点 本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。 主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。;7.1 串行通信基本知识;7.1.1 数据通信 ;7.1.1 数据通信; 1.异步通信 异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。 ; 2.同步通信 在同步通信中,每一数据块发送开始时,先发送一个或两个同步字符,使发送与接收取得同步,然后再顺序发送数据。数据块的各个字符间取消起始位和停止位,所以通信速度得以提高 。;7.1.3 波特率;7.1.4 通信方向;7.1.4 通信方向;7.1.5 串行通信接口种类;7.2 串行口结构及控制;7.2.1 MCS-51串行口结构;7.2.2 与串行口有关???特殊功能寄存器;SM0和SM1(SCON.7、SCON.6):串行口工作方式选择位。 ;TB8(SCON.3):发送数据的第9位。 RB8(SCON.2):接收数据的第9位。 TI(SCON.1):发送中断标志。 RI(SCON.0):接收中断标志。; 2.电源控制寄存器PCON 电源控制寄存器PCON (地址为87H)中只有SMOD位与串行口工作有关。 ;7.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和方式3;7.3.1 串行口方式0;7.3.1 串行口方式0;7.3.2 串行口方式1;7.3.3 串行口方式2和方式3;7.4 串行口应用举例;7.4.1 同步方式应用;7.4.1 同步方式应用; 解:数据的输入输出通过RXD接收和发送,移位时钟通过TXD送出,74HC164用于串/并转换,74HC165用于并/串转换。 C语言程序清单: #includereg52.h sbit P1_0=P1^0; sbit P1_1=P1^1; unsigned char data1; void main() { SCON=0x10; //串行口方式0,允许接收 ES=1; EA=1; //允许串行口中断; P1_0=0; //关闭并行输出 P1_1=1; //并行置入数据 P1_1=0; //开始串行移位 SBUF=0; //送入串行数据 while(1); //等待中断 } void s_srv() interrupt 4 //中断服务程序 { if(TI) //发送中断 { TI=0; P1_0=1; //打开并行输出 }; else //接收中断 { RI=0; data1=SBUF; //读取接收的数据 P1_0=0; //关闭并行输出 SBUF=~data1; //送入串行数据 P1_1=1; //为接收下一次 P1_1=0; //数据做准备 } } 汇编语言程序清单: ORG 0000H SJMP MAIN ORG 23H SJMP S_SRV ;串行口中断服务程序;MAIN: MOV SCON,#10H ;串行口方式0初始化 SETB ES SETB EA MOV A,#0 CLR P1.0 ;关闭并行输出 MOV SBUF,A ;开始串行输出 SETB P1.1 CLR P

文档评论(0)

baihuamei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档