版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、5.1 串行通信概述 5.2 串行口的结构及工作原理 5.3 MCS-51串行口的应用,第5章 串行数字通信,5.1 串行通信概述,在计算机系统中,主机与外设之间及主机系统与主机系统之间的数据交换称为通信,分为串行通信和并行通信。 并行通信方式下数据的各位同时进行传送,并由传输数据的位数决定传输线的数目。串行通信方式下数据一位一位串行地顺序传送,最少只需一根传输线即可完成。 按照串行数据的时钟控制方式,串行通信可以分为同步通信和异步通信两种。,5.1.1 同步通信和异步通信,1、同步通信,2、异步通信,在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,通过传输
2、线被接收端一帧一帧地接收。发送端和接收端由各自独立的时钟来控制数据的发送和接收。字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等4部分组成,如图所示为11位的帧格式。波特率为每秒传送二进制数码的位数,单位为b/s,是异步通信的一个重要指标。,2、异步通信格式,5.1.2 串行通信的制式, 单工方式 单方向由发送端向接收端传送。 半双工方式 两个工作站之间通过传输线进行数据的交替双向传送。 全双工方式 由两条传输线连接两个工作站,两站之间的数据可同时双向传送。,5.1.2 串行通信的三种制式,5.1.3 串行通信的信号传输,1、通信线的连接方式,图5.4 通信线的连接方式,2、RS-23
3、2C接口标准,(a) 25针的连接器 (b) 9针的连接器 图5.5 RS-232C接口,MCS-51串行口的结构由串行口控制电路、发送电路和接收电路3部分组成,其结构如图所示。发送电路由发送缓冲器SBUF和发送控制电路组成,用于串行口的发送;接收电路由接收缓冲器SBUF和接收控制电路组成,用于串行口的接收。,5.2 串行口的结构及工作原理,5.2.1 串行口的结构,5.2.2 串行口的控制,1、串行口的控制寄存器SCON,方式2或3时,SM2=0,则单机工作,接收一帧数据后,不管第9位(RB8)是0或1,都置RI=1,接收到的数据装入SBUF中; SM2=1,则多机通信,若RB8=1,激活R
4、I,引起接收中断 方式1中,当接收时,SM2=1则只有收到有效停止位才激活RI。 方式0时,SM2置为0,寄存器SCON的结构,2、电源控制寄存器PCON,PCON称为电源控制寄存器,格式如表5.4所示。串行通信中只用了其中的最高位SMOD,初始化时,SMOD=0,其余各位用于电源管理。PCON的字节地址为87H,无位地址,只能进行字节寻址。,为1时,方式1、2、3的波特率加倍,5.2.3 串行口的工作方式 .方式 发送时,“SBUF(发送)”相当于一个并入串出的移位寄存器,由MCS-51的内部总线并行接收8位数据,并从TxD线串行输出;接收时,“SBUF(接收)”相当于一个串入并出的移位寄存
5、器,从RxD线接收一帧串行数据,并把它并行送入内部总线。 发送操作是在TI=0下进行的,CPU通过执行mov sbuf,a指令给“sbuf(发送)”送出发送字符后,RxD线上即可发出8位数据,TxD线上发送同步脉冲。8位数据发送完毕后,TI由硬件置位,并向CPU请求中断。响应后用软件使TI清零,然后再给“sbuf(发送)”送下一个欲发送字符,重复上述过程。 接收过程是在RI=0和REN=1条件下启动的。串行数据由RxD线输入,TxD线输出同步脉冲。接收电路接收到8位数据后,RI自动置“”和发出串行口中断请求。CPU查询到RI=1或响应中断后便可通过mov a, sbuf把接收到的数据送。RI由
6、软件复位。,. 方式 此方式下,串行口设定为10位异步通信方式。字符帧中有8位数据位,1位起始位和1位停止位。 发送操作在TI=0时,执行mov sbuf,A开始,然后发送电路自动在8位发送字符前后分别添加1位起始位和停止位,并在移位脉冲作用下在TxD线上依次发送一帧信息,发送完后自动维持TxD线为高电平。TI由硬件在发送停止位时置位,由软件复位。 接收操作在RI=0和REN=1进行。接收电路连续8次采样到RxD为低电平时,相应检测器便可确认RxD线上有了起始位。此后,接收电路就改为对第7,8,9三个脉冲进行检测,以三中取二原则来确定所采样数据的值。在接收到第9数据位(停止位)时,须满足:RI
7、=0和SM2=0或接收到的停止位为“”,才能把接收到的8位字符存入“sbuf(发送)”中,把停止位送RB8中,使RI=1和发出串行口中断请求。若条件不满足,则此次收到的数据被舍去,不装入“SBUF(接收)”中。,3. 方式和方式 二者都是11位异步收发。方式的波特率由MCS-51主频fosc经32或64分频后提供;方式的波特率由定时器T1的溢出率经32分频后提供,是可调的。 二者的发送和接收过程和方式类似。不同之处在于:发送时,CPU除要把发送字符装入“SBUF(发送)”外,还把第9位数据位预先装入SCON的TB8中。第9位数据由用户安排,可以是奇偶校验位,也可是其他控制位。第9位数据位的装入
8、可通过以下指令来完成: SETB TB8 CLR TB8 第9数据位的值装入TB8后,可用一条以SBUF为目的的传送指令把发送数据装入SBUF来启动发送过程。一帧数据发送完后,TI=1,CPU可通过查询TI来以同样方式发送下一字符帧。,接收时,须满足:RI=0、SM2=0或收到的第9数据位为“”,只有同时满足,接收到的字符才能送入SBUF,第9数据位才能装入RB8中,并使RI=1;否则,此次收到的数据无效,RI也不置位。,串行口的工作方式,串行口的通信波特率 .方式的波特率-固定,为fosc/12 .方式 2 的波特率- fosc/32或fosc/64 可用公式:波特率=(2SMOD/64)f
9、osc .方式或的波特率 其波特率是由定时器的溢出率决定。 波特率 (2SMOD/32)定时器T1溢出率 而 定时器溢出率= 1/(2k-初值)12/fosc ) 代入得 波特率= (2SMOD/32)fosc /(12 (2k-初值)) 其中为1的位数。方式时为13,方式时为16,方式和时为8.,5.3 MCS-51串行口的应用,5.3.1 串并变换,串行口方式0的应用有两种:一种是把串行口变为串入并出的输出口;另一种是把串行口变为并入串出的输入口。,如图所示电路,将串行口设置为方式0,外接一片串入并出的8位同步移位寄存器CD4094或74LS164。串口输出端RxD接移位寄存器串行输入端D
10、ATA,移位时钟脉冲TxD端接移位寄存器时钟控制端CLK,在移位时钟控制下串行数据移入寄存器;P1.0接移位寄存器输出允许端STB,通过软件置位或复位控制并行输出。,1、串入并出的输出口,=1时,DATA输入端关闭,但允许8位数据并行输出; =0时,8位并行数据输出端关闭,但允许串行数据从DATA输入,2、并入串出的输入口,在串口方式0下外接一个并入串出的移位寄存器CD4014或74LS165,即可扩展一个并行输入口。串口RxD端输入CD4014输出端Q8移出的串行数据,TxD端仍然提供移位时钟给移位寄存器的时钟端CLK。,=1时,并行输入数据,串行输出关闭;=0时,开始串行输出,并行输入关闭
11、,串并变换,5.3.2 单片机的双机通信,除方式0外,串口在方式1、方式2和方式3下均用于异步串行通信。MCS-51单片机的异步串行通信根据应用可分为双机通信和多机通信。 双机之间的串行通信应考虑接口电路、通信协议等。,根据两机通信距离的远近采取不同的接口电路,如果两个8051应用系统相距很近,将它们的串行口直接相连,如图5.4(a)所示;如果想增加通信距离,减少通道及电源干扰,必须在通信线路上加入辅助电路,如加入光耦合器和电平转换电路,如图5.4(b) 所示。,1、接口电路,2、双机的通信协议,为确保通信成功,通信双方要遵守共同约定的协议。协议内容包括双方采取一致的通信方式,一致的波特率设定
12、,确认接收机、发送机,设定通信开始发送机的呼叫信号、接收机的应答信号,通信结束的标志信号等。 按图5.4(a)所示,串行口工作方式1进行甲机发送、乙机接收异步通信,通信双方波特率均采用2400波特,甲机的呼叫信号为“10H”,乙机同意接收的应答信号为“20H”,不同意接收的应答信号为“30H”。正确回发0FH。,选波特率2400b/s, T1作波特率发生器,方式2,计数初值C为:,256-(6MHz*2SMOD)/(384*2400b/s),取SMOD=1,则C=243=F3H,通常,双机通信中接收方采用中断方式接收数据,发送方采用查询方式发送数据。,发送方: T1初始化(TMOD、TH1、T
13、L1、TR1) 串行口初始化(SCON、PCON) LOOP:发送一个数据 测试TI=1?为1说明数据已经发送出去,继续发送下一个数据,否则继续查询 修改数据地址指针,或数据块未传送完则跳转至LOOP,例:双机通信实现数据块传送,接收方: (1)主程序: T1初始化(TMOD、TH1、TL1、TR1) 串行口初始化(SCON 、PCON ) 设置数据块首地址和数据块长度 开中断(EA、ES、PS) (2)中断服务程序: RI0(若采用查询方式,则JBC RI,* ,*为1的话表示接收完毕,将SBUF中数据写入指定单元中;同时修改数据地址指针,或数据块未传送完则中断返回;为0的话,中断返回) 读
14、取SBUF中数据,存入指定位置 修改数据地址指针,或数据块未传送完则中断返回 关串行口中断 中断返回,5.3.3 单片机与PC的通信,1、接口设计,在数据处理和过程控制应用领域,通常需要一台PC,由它来管理一台或若干台以单片机为核心的智能测量控制仪表。这时,也就是要实现PC和单片机之间的通信。,采用MAX232芯片的PC和单片机串行通信接口电路,与PC相连采用9芯标准插座。,2、程序编写,单片机通信程序编写,功能为:将PC键盘的输入发送给单片机,单片机收到PC发来的数据后,回送同一数据给PC,并在屏幕上显示出来。只要屏幕上显示的字符与所输入的字符相同,就说明二者之间的通信正常。 通信双方约定:
15、波特率为2400 b/s;信息格式为8个数据位,1个停止位,无奇偶校验位。,MCS-51通过中断方式接收PC发送的数据并回送。单片机串行口工作在方式1,晶振频率为6MHz,波特率2400b/s,定时器T1按方式2工作,经计算,定时器预置值为0F3H,SMOD=1。,参考程序如下: ORG 0000H LJMP CSH ;转初始化程序 ORG 0023H LJMP INTS ;转串行口中断程序 ORG 0050H CSH: MOV TMOD,#20H ;设置定时器1为方式2 MOV TL1,#0F3H ;设置定时器预置值 MOV TH1,#0F3H SETB TR1 ;启动定时器1 MOV SCON,#50H ;串行口初始化 MOV PCON,#80H SETB EA ;允许串行口中断 SETB ES LJMP MAIN ;转主程序(主程序略) INTS: CLR EA ;关中断 CLR RI ;清串行口中断标志 PUSH DPL ;保护现场 PUSH DPH PUSH A MOV A,SBUF ;接收PC发送的数据 MOV SBUF ,A ;将数据回送给PC WAIT:JNB TI,WAIT ;等待发送 CLR TI POP A ;发送完,恢复现场
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省衡阳市常宁市第一中学2025-2026学年高一下学期5月期中考试物理试卷
- 2025年通信专业技术人员职业水平考试中级实务真题与答案
- 复工安全隐患排查表
- 2026年人力资源管理师(三级)综合冲刺押题
- 2026年北京市平谷区初三下学期二模物理试卷和答案
- 2025-2030年地质勘探数据云存储平台行业深度调研及发展战略咨询报告
- 2025-2030年肤癣净茶行业商业模式创新分析研究报告
- 2025-2030年粘胶打包机行业跨境出海战略分析研究报告
- 游戏电子出版物服务行业商业模式创新分析报告
- 供热工程试题及答案解析
- 文旅景区博物馆下年度活动策划方案
- T∕CCEIA 0006-2026 污水处理复合碳源用羧甲基纤维素钠副产浓缩液
- GB/Z 177.3-2026人工智能终端智能化分级第3部分:移动终端
- 石油化工工程建设费用定额(2025版)
- 通信行业培训分析报告
- 2026年Shopee店铺运营实战手册
- T∕CPRA 2104-2025 文化数据价值评价指南
- 2025年《普通生物学》期末考试(重点)训练题库(500题)
- 华为供应商质量管理三化一稳定严进严出
- 乡镇卫生院基药培训课件
- GB/T 46082.1-2025气焊设备用安全装置第1部分:阻火器
评论
0/150
提交评论