MCS51-串行接口

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

80C51单片机的串行口计算机串行通信基础80C51单片机的串行口80C51单片机的串行口应用计算机串行通信基础并行通信串行通信并行通信T0T1T2T3T4T5T6时钟D0D1D5D6D7:::10110T7接收设备发送设备选通状态0110110101101101并行通信并行通信是在多根数据线上以数据字节或字为单位传输数据。并行通信适用于近距离数据传输。一次同时传送多位数据,传送速度快。并行通信的信息不要求固定的格式,这与串行通信的信息有固定格式的要求不同。串行通信T0T1T2T3T4T5T6时钟D71T71111000D6D5D4D3D2D1D0数据线发送设备接收设备D7D6D5D4D3D2D1D001D0D1D2(1)01101101TXDRXD串行通信数据一位一位地依次传输,每一位数据占据一个固定的时间长度。只要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外部设备之间的远距离通信,但串行通信的速度比较慢。串行通信的基本概念异步通信同步通信异步通信11100110110100100010100100101110011010以“0”作为起始以“1”作为停止各帧间隔时间任意发送设备接收设备TXDRXD收、发设备时钟独立,以字符(帧)为单位传输异步通信帧格式停止位数据位校验位起始位D0D7空闲下一字符起始位空闲一个字符帧起始位(1位);数据位(8位);奇偶校验位(1位,可无校验位);停止位(1位)。同步通信发、收时钟直接连接,效率高串行通信的传输方向全双工半双工单工全双工当数据的发送和接收分流,分别由两根不同的传输线传送,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工(FullDuplex)制。部中断0(INT0)发送接收发送接收半双工使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工(HalfDuplex)制。时间1时间2发送接收发送接收单工使用一根传输线作为接收或发送,数据只能在一个方向上传送。接收发送串行通信的错误校验奇偶校验发送字符时,数据位尾随1位奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。串行通信的错误校验代码和校验发送方将所发数据块求和(或各字节异或),产生的校验和字节附加到数据块的末尾。接收方在接收数据时要对数据块(除校验字节外)求和(或各字节异或),将所得的结果与收到的“校验和”进行比较,相符则无差错,否则就认为传送过程出现了差错。传输速率与传输距离并行通信中,传输速度以每秒传输的字节(B/s)表示;在串行通信中,传输速率用波特率来表示波特率指单位时间内传送二进制数据的位数,单位为位/秒(b/s)每秒钟所传输的字符数(字符速率)和波特率是两个概念传输距离随波特率的增加而减小串行通信接口标准-RS-232CRS-232C定义的是DTE与DCE间的接口标准96512514131阳头通常用于计算机侧,阴头用于连接线侧RS-232C电气特性RS-232C采用负逻辑电平,规定(-3~-25V)为逻辑“1”,(+3~+25V)为逻辑“0”。-3V~+3V是未定义的过渡区+25+3-3-25Vt010101+520.80Vt101010RS232电平TTL电平RS-232C远、近程通信计算机MODEMMODEMTXDRXDRTSTXDRTSDSR电话线DSRRXD计算机计算机乙计算机甲TXDTXDRXDRXD计算机乙计算机甲TXDTXDRXDRXD4562045620RS-232C存在的问题传输距离短、速率低,通常不超过15米,速率20Kbps有电平偏移,RS-232收发共地,地电流会使电平偏移出现逻辑错误。抗干扰能力差,RS-232常用单端输入,易混入干扰。RS485标准两线差分传输传输距离远抗干扰能力强,可用于工业场合80C51单片机的串行口80C51串行口的结构80C51串行口的寄存器80C51串行口的工作方式80C51串行口的结构全双工串口≥1SBUF发送控制器接收控制器移位寄存器控制门TIRITXDRXD去中断逻辑SMOD01TH1TL1÷2÷16SBUFT1溢出率写SBUF读SBUF99H99H80C51串行口的寄存器串行数据缓冲寄存器SBUF串行控制/状态寄存器SCON电源控制寄存器(PCON)串行数据缓冲寄存器SBUFSBUF是可直接寻址的特殊功能寄存器。在物理上,它对应着两个寄存器,即接收寄存器和发送寄存器,它们公用一个缓冲器名称和地址CPU写SBUF,就是将预发送的数据写入发送寄存器;读SBUF,就是读接收寄存器串行控制/状态寄存器SCONSM0、SM1:串行工作方式选择位,选择4种工作方式之一SM2:方式2、3中多机通信允许位;方式0、1时,设SM2=0REN:允许接收位TB8/RB8:发送/接收数据位8,方式2、3中发送出去/接收到的第9位数据,软件置/复位TI/RI:发送/接收中断标志,方式0时,发送/接收完第8位数据时,由硬件置位;其他方式时,在开始发送停止位/接收停止位的中间时由硬件置位,必须由软件复位串行控制/状态寄存器SCONSM0SM1模式功能波特率000同步移位寄存器模式Fosc/120111+8+1位异步通信UART可变1021+9+1位异步通信UARTFosc/64或/321131+9+1位异步通信UART可变电源控制寄存器(PCON)PCON不可位寻址,字节地址为87H。它主要是为CHMOS型单片机80C51的电源控制而设置的专用寄存器串行通信有关的只有D7位(SMOD),该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0时,串行口波特率为设定值。当系统复位时,SMOD=0串行端口工作方式方式0:串行数据从RXD输入或输出;TXD输出移位时钟脉冲,发送/接收8个数据位(低位在前),波特率固定为振荡器频率的1/12方式1:通过TXD发送或通过RXD接收10个数据位,波特率是可变方式2:通过TXD发送或通过RXD接收11个数据位,波特率可编程为振荡器频率的1/32或1/64方式3:除波特率是可变外,其余完全与方式2相同工作方式0方式0是一种移位寄存器工作方式,也称为同步工作方式。在这种工作方式中,RXD引脚作为串行数据发送/接受端,TXD引脚作为同步脉冲(8个移位脉冲串)输出端。波特率固定为振荡器频率的1/12/计数器操作时钟(脉冲)工作方式0-输出D0D1D2D3D4D5D6D7写入SBUFRXD(数据)TXD(移位脉冲)TI(中断标志)TCY74LS164RXDTXDP1.080C51CRCPABGND工作方式0-输入REN=1RXD(数据输入)TXD(移位脉冲)RI=0D0D1D2D3D4D5D6D774LS165RXDTXDP1.080C51S/LCPQGNDINH工作方式0中断发送完8位数据后,发送中断标志TI硬件置位,须由软件复位接收到8位数据,并将数据移位到接收寄存器后,接收中断标志RI硬件置位,须由软件复位工作方式1方式1是一种标准的异步通信方式,每帧包括10位数据信息:1位起始位(0),8位数据位(低位在先),1位停止位(1)。在这种方式中,TXD引脚为数据发送端,RXD引脚为数据接受端,波特率可变停止位数据位8位起始位LSBMSB空闲空闲D0D71帧共10位工作方式1D0D1D2D3D4D5D6D7写入SBUF停止位TXDTI(中断标志)起始D0D1D2D3D4D5D6D7停止位RXDRI(中断标志)起始位采样脉冲工作方式1中断发送完10位数据后,发送中断标志TI硬件置位,须由软件复位接收到停止位后,接收中断标志TI硬件置位,须由软件复位工作方式2波特率可编程为振荡器频率的1/32或1/64。在数据发送时,串行口控制寄存器中的TB8作为第9位数据同时发送。当接收时,只有接收到第9位为1时才将串行口的中断标志RI置“1”(SM2=1)。按方式2进行数据传送时不允许进行奇/偶校验,第9位数据可作为数据/地址标志位停止位数据位9位起始位LSBMSB空闲空闲D0D71帧共11位RB8/TB8工作方式2D0D1D2D3D4D5D6D7写入SBUF停止位TXDTI(中断标志)起始TB8RI(中断标志)位采样脉冲D0D1D2D3D4D5D6D7停止位RXD起始RB8工作方式2中断发送完11位数据后,发送中断标志TI硬件置位,须由软件复位如果SM2=1;RB8=1,接收到停止位后,则接收中断标志TI硬件置位,须由软件复位如果SM2=0,接收到停止位后,则接收中断标志TI硬件置位,须由软件复位工作方式3方式3的数据传送方式与方式2相同,波特率可变,由定时器1的溢出速率决定80C51波特率确定与初始化步骤1/161/2T1溢出10SMOD1/2focs/210SMOD模式2串行口的波特率模式1、3时串行口的波特率1/16focs/12模式0串行口的波特率B=focs/12B=focs/32或=fosc/64B=1/32×T1溢出率或=1/16×T1溢出率发送、接收控制器发送、接收控制器发送、接收控制器方式0波特率方式0时的波特率是固定的,为振荡频率的1/12方式2波特率方式2时的波特率有两种,振荡器频率的1/64或振荡器频率的1/32。PCON(电源控制寄存器)中的第7位SMOD=0,波特率是振荡器频率的1/64,若SMOD=1,波特率是振荡器频率的1/32方式1/3波特率方式1和方式3时的波特率由定时器1的溢出速率和寄存器PCON中的SMOD位的值来决定来决定。方式1和方式3的波特率=2SMOD/32×(定时器/计数器1的溢出速率)定时器/计数器1的溢出速率取决于计数速率和定时器的预置值串行口初始化步骤确定T1的工作方式(TMOD)计算T1的初值,装载TH1、TL1启动T1(置位TR1)确定串行口工作方式(SCON)串口中断设置(IE、IP)80C51单片机的串行口应用

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功