学习指导十二AT89S51的串行口通信功能.doc

上传人:桔**** 文档编号:559362286 上传时间:2023-02-05 格式:DOC 页数:3 大小:27KB
返回 下载 相关 举报
学习指导十二AT89S51的串行口通信功能.doc_第1页
第1页 / 共3页
学习指导十二AT89S51的串行口通信功能.doc_第2页
第2页 / 共3页
学习指导十二AT89S51的串行口通信功能.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《学习指导十二AT89S51的串行口通信功能.doc》由会员分享,可在线阅读,更多相关《学习指导十二AT89S51的串行口通信功能.doc(3页珍藏版)》请在金锄头文库上搜索。

1、学习指导十二 AT89S51的串行口通信功能主要内容1、 串行通信基础2、 AT89S51的串行端口3、 AT89S51串口控制存储器4、 AT89S51串行口的工作方式5、 AT89S51串行通信波特率的推算学习目标1、 清楚串行通信基础中的通信分类和通信制式。2、 清楚AT89S51单片机如何实现串行通信功能。3、 初步具备使用串行通信功能来解决实际问题的能力。4、 初步具备使用串行口中断功能来解决实际问题的能力。学习要求1、 正确理解串行异步通信中字符帧格式和波特率两个重要通信指标。2、 正确理解串行通信中单工、半双工、全双工三种制式。3、 牢记AT89S51串行口控制寄存器各位符号及功

2、能。4、 牢记AT89S51单片机串行口四种工作方式的个自特点。5、 牢记AT89S51串行口中断源的应用步骤。内容导读一、 串行通信基础1. 串行通信的分类同步通信:数据传送在双方同步脉冲的控制下进行,双方时钟源需同步。异步通信:数据传送以字符帧格式进行传送,双方时钟源彼此独立。2. 异步通信字符帧字符帧也叫数据帧,由起始位、数据位、校验位、停止位四部分组成。起始位:位于字符帧开头,只占1位。数据位:紧跟起始位之后,低位在前高位在后。校验位:数据位之后,占用1位,用于串行通信数据的奇校验或偶校验。停止位:位于字符帧末尾,表示该帧信息传递完毕。3. 异步通信的波特率波特率的定义为每秒钟传送二进

3、制码的个数,单位是bps,即位/秒。用波特率来反映数据传输的速度,波特率越高,帧数据传输速度越快。4. 串行通信的制式半双工制式:通信数据从A站到B站或从B站到A站,双方不能同时收发。全双工制式:通信数据在A站和B站间可以同时发送和接收。二、 AT89S51的串行通信功能1. AT89S51的内部串行通信接口AT89S51内部含有一个全双工串行通信接口,有串行口控制寄存器SCON、发送和接收电路、串行数据缓冲寄存器SBUF组成。发送与接收的SBUF在物理上独立存在,在使用上同名,单片机仅靠指令区分。发送串行数据使用MOV SBUF,A;在这里的SBUF是发送缓冲寄存器SBUF.接收串行数据使用

4、MOV A,SBUF;这里的SBUF是接收缓冲寄存器SBUF2. AT89S51的外部串行通信引脚串行数据接收端RXD-P3.0(10号引脚)。串行数据发送TXD-P3.1(11号引脚)。3. AT89S51的波特率发生器固定波特率由晶振分频产生。可变波特率由T1定时器溢出频分频产生。具体波特率大小由SCON中方式位和相关的传递参数决定。4. 串行口控制寄存器SCON特点:8位、可位寻址、复位后内容位00H。作用:设置串行口的工作方式,提供串行口工作的标志位。 SCON寄存器SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口四种工作方式设置位;SM2:多机通信位。SM2=0,单

5、机对单机通信;SM2=1,多机通信;REN:接收允许控制位。REN=0,禁止接收;REN=1,允许接收;TB8:发送数据第9位;RB8:发送数据第9位;TI:发送中断标志位;RI:接收中断标志位;6. 串行数据缓冲寄存器SBUF特点:8位、复位后内容不确定作用:做串行数据发送接受缓冲区,完成串行数据的发送和接收功能。三 AT89S51串行口的工作方式1. 方式0将SCON中的SM0 SM1设置成00即可。(SM2、TB8、RB8不起作用,设为0)方式0下,串行口是作为同步的移位寄存器来使用,波特率为机器周期。(fose/12)RXD(10引脚)上发送8位数据,TXD(11引脚)上发送同步脉冲。

6、发送数据在TI=0下通过指令MOV SBUF,A来完成。接收数据在RI=0且REN=1下来启动的。2. 方式1将SCON中的SM0 SM1设置成01即可。(SM2、TB8、RB8不起作用,设为0)方式1下,串行口是作10位异步收发通信,波特率为T1溢出频率的1/32.RXD(10引脚)上接收10位数据帧,TXD(11引脚)上发送10位数据帧。发送数据帧在TI=0下通过指令MOV SBUF,A来完成。接收数据在RI=0且REN=1下通过指令MOV A,SBUF来完成、3. 方式2将SCON中的SM0 SM1设置成10即可。11位异步收发,波特率为fosc/64.4. 方式3将SCON中的SM0

7、SM1设置成11即可。11位异步收发,波特率为T1溢出频率的1/32。四 AT89S51的串行口中断源接收中断标志RI,中断矢量0023H;发送中断标志TI,中断矢量0023H;一帧数据发送完毕会使TI自动置1,向CPU提出发送中断申请;一帧数据接收完毕会使RI自动置1,向CPU提出接收中断申请;AT89S51单片机响应串行口中断请求后不会将中断标志位清0,在使用中必须人工将RI、TI标志清0,否则串行口将不能接收和发送数据帧。五 AT89S51串行口中断的应用步骤1. 设置外部中断请求允许位,设置IE寄存器中的EA、ES;2. 根据需要设置SCON寄存器,确定串行口的工作方式并初始化标志位3. 波特率与T1有关则设置TM0D寄存器,设定T1的工作方式4. 推算出对应波特率T1寄存器的初值,传递到T1;5. 启动T1定时器,T1便成为了波特率发生器;6. 将电源控制寄存器PCON最高位SMOD设置成1,单片机系统的波特率将翻一倍;7. 编写中断处理子程序,注意该子程序的返回指令是RETI; 在AT89S51中应用串行口中断源时需要考虑上述七个步骤,但顺序依据编程人员自身特点进行合理安排。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号