您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第5章80C51单片机的串行口
2020/2/251第5章80C51单片机的串行口计算机串行通信基础5.180C51单片机的串行口5.280C51单片机的串行口应用5.32020/2/2525.1计算机串行通信基础通信:并行通信与串行通信并行通信T0T1T2T3T4T5T6时钟D0D1D5D6D7:::10110T7接收设备发送设备选通状态0110110101101101特点:传送控制简单、速度快,但传输线较多,成本高。2020/2/253串行通信T0T1T2T3T4T5T6时钟D71T71111000D6D5D4D3D2D1D0数据线发送设备接收设备D7D6D5D4D3D2D1D001D0D1D2(1)01101101TXDRXD特点:传送控制复杂、速度慢,传输线少,成本低2020/2/254异步通信与同步通信收、发设备时钟独立,以字符(帧)为单位传输5.1.1串行通信的基本概念11100110110100100010100100101110011010以“0”作为起始以“1”作为停止各帧间隔时间任意发送设备接收设备TXDRXD异步通信2020/2/255异步通信帧格式停止位数据位校验位起始位D0D7空闲下一字符起始位空闲一个字符帧起始位(1位);数据位(8位);奇偶校验位(1位,可无校验位);停止位(1位)。特点易于实现效率不高同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)2020/2/256串行通信的传输方向单工接收发送半双工时间1时间2发送接收发送接收全双工发送接收发送接收80C51有1个全双工串行口2020/2/257信号的调制与解调DCEDTE电话网DCEDTERS-232CRS-232CDTE:数据终端设备DCE:数据通信设备调制解调器调制解调2020/2/258串行通信的错误校验奇偶校验发送字符时,数据位尾随1位奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。2020/2/259代码和校验发送方将所发数据块求和(或各字节异或),产生的校验和字节附加到数据块的末尾。接收方在接收数据时要对数据块(除校验字节外)求和(或各字节异或),将所得的结果与收到的“校验和”进行比较,相符则无差错,否则就认为传送过程出现了差错。2020/2/2510传输速率与传输距离传输速率比特率:每秒钟传送的信息量。单位:位/秒(bps)波特率:每秒钟传送码元数目,单位:波特(Baud)基带传输(每个码元带有“1”或“0”这1bit信息,传码率与传信率相同),波特率和比特率是相同的。常用波特率为:2400、4800、9600、14.4K、19.2K等传输距离与传输速率的关系传输距离随波特率的增加而减小。2020/2/25115.1.2串行通信接口标准RS-232C定义的是DTE与DCE间的接口标准。机械特性96512514131DB-25(阳头)连接器DB-9(阳头)连接器阳头通常用于计算机侧,阴头用于连接线侧2020/2/2512功能特性插针序号信号名称功能信号方向1PGND保护接地2(3)TXD发送数据(串行输出)DTE→DCE3(2)RXD接收数据(串行输入)DTE←DCE4(7)RTS请求发送DTE→DCE5(8)CTS允许发送DTE←DCE6(6)DSRDCE就绪(数据建立就绪)DTE←DCE7(5)SGND信号接地8(1)DCD载波检测DTE←DCE20(4)DTRDTE就绪(数据终端准备就绪)DTE→DCE22(9)RI振铃指示DTE←DCE2020/2/2513电气特性RS-232C采用负逻辑电平,规定(-3~-15V)为逻辑“1”,(+3~+15V)为逻辑“0”。-3V~+3V是未定义的过渡区。试比较:+25+3-3-25Vt010101+520.80Vt101010RS232电平TTL电平电平转换电路(如MAX232)。2020/2/2514过程特性远程通信,需要调制解调器计算机MODEMMODEMTXDRXDRTSTXDRTSDSR电话线DSRRXD计算机2020/2/2515近程通信,不需要调制解调器计算机乙计算机甲TXDTXDRXDRXD计算机乙计算机甲TXDTXDRXDRXD4562045620无联络线方式联络线短接(伪连接)方式2020/2/2516RS-232C电平与TTL电平转换驱动电路早期常用MC1488、MC1489近期常用MAXM232:片内带有自升压电路仅需+5V电源内含2个发送器,2个接收器2020/2/2517采用RS-232C接口存在的问题传输距离短、速率低通常不超过15米,速率20Kbps有电平偏移RS-232收发共地,地电流会使电平偏移出现逻辑错误。抗干扰能力差RS-232常用单端输入,易混入干扰。(故用大摆幅)新标准RS-485改善了传输特性,应用广泛!2020/2/25185.280C51单片机的串行口5.2.180C51串行口的结构1个全双工串口:通信或接口扩展≥1SBUF发送控制器接收控制器移位寄存器控制门TIRITXDRXD去中断逻辑SMOD01TH1TL1÷2÷16SBUFT1溢出率写SBUF读SBUF99H99H接收发送缓冲器逻辑同名、物理分开;接收双缓冲。2020/2/25195.2.280C51串行口的控制寄存器串行口控制寄存器SCONSM0和SM1:工作方式选择位76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98HSM0SM1方式说明波特率000移位寄存器fosc/1201110位UART(8位数据)可变10211位UART(9位数据)fosc/64或fosc/3211311位UART(9位数据)可变2020/2/2520SM2:多机通信控制位SM2=1时,接收机处于地址帧筛选状态。若RB8=1,该地址帧信息可进入SBUF,并使RI为1,进而在中断服务中再进行地址号比较;若RB8=0,该帧不是地址帧,应丢掉,且保持RI=0。SM2=0时,接收机处于地址帧筛选被禁止状态。不论收到的RB8为0或1,均可以使收到的信息进入SBUF,并使RI=1。此时的RB8通常为校验位。REN:串行接收使能位,软件置1时,启动接收过程2020/2/2521TB8:多机方式发送的第9位多机方式的地址/数据帧标志。也可作为奇偶校验位。RB8:多机方式接收的第9位多机方式的地址/数据帧标志。也可作为奇偶校验位。TI:发送中断标志位,要由软件清0RI:接收中断标志位,要由软件清02020/2/2522电源控制寄存器PCONSMOD:波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。76543210PCONSMOD字节地址:97H2020/2/25235.2.380C51串行口的工作方式方式0:同步移位寄存器,用于扩展并行口RXD:输入或输出引脚TXD:移位脉冲输出接收和方式都是8位波特率固定为:fosc/122020/2/2524D0D1D2D3D4D5D6D7写入SBUFRXD(数据)TXD(移位脉冲)TI(中断标志)TCY数据输出:74LS164RXDTXDP1.080C51CRCPABGNDCLR用于对74LS164清02020/2/2525数据输入:REN=1RXD(数据输入)TXD(移位脉冲)RI=0D0D1D2D3D4D5D6D774LS165RXDTXDP1.080C51S/LCPQGNDINHS/L负脉冲将并行数据装入,高电平时启动单片机进行数据输入。2020/2/2526方式1:10位帧,用于双机通信停止位数据位8位起始位LSBMSB空闲空闲D0D71帧共10位起始位:1位数据位:8位停止位:1位2020/2/2527串行发送:(写SBUF启动发送过程)D0D1D2D3D4D5D6D7写入SBUF停止位TXDTI(中断标志)起始串行接收:(置REN=1启动接收过程)D0D1D2D3D4D5D6D7停止位RXDRI(中断标志)起始位采样脉冲2020/2/2528方式2和方式3:11位帧,用于多机通信起始位:1位数据位:9位停止位:1位停止位数据位9位起始位LSBMSB空闲空闲D0D71帧共11位RB8/TB82020/2/2529串行发送:(写SBUF启动发送过程)串行接收:(置REN=1启动接收过程)D0D1D2D3D4D5D6D7写入SBUF停止位TXDTI(中断标志)起始TB8RI(中断标志)位采样脉冲D0D1D2D3D4D5D6D7停止位RXD起始RB82020/2/25305.2.480C51波特率确定与初始化步骤波特率的确定波特率的计算固定波特率:方式0波特率=fosc/12方式2波特率=(2SMOD/64)*fosc可变波特率:方式1波特率=(2SMOD/32)*(T1溢出率)方式3波特率=(2SMOD/32)*(T1溢出率)T1溢出率=fosc/{12×[256-(TH1)]}2020/2/2531波特率的选择波特率要选择标称值,由于TH1的初值是整数,为了减小波特率计算误差,晶振频率要选为11.0592MHz。方式1和方式3波特率与TH1初值的对应关系:波特率/(b/s)19.2k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD100002020/2/2532串行口初始化步骤确定T1的工作方式(TMOD)计算T1的初值,装载TH1、TL1启动T1(置位TR1)确定串行口工作方式(SCON)串口中断设置(IE、IP)2020/2/25335.380C51单片机的串行口应用5.3.1利用单片机串口的并行I/O扩展80C51RXD74LS164&QAQBQCQDQEQFQGQHA+5VabcdefgdpabcdefgdpTXDBCP74LS164QAQBQCQDQEQFQGQHABCPABCP74LS164P1.2P1.1P1.001234567FEDCBA98300Ω×2QAQBQCQDQEQFQGQH串口无通信需求时!2020/2/2534硬件连接近程连接(直连)5.3.2单片机与单片机间的通信TXDRXD80C51TXDRXD80C51GNDGNDR2INT2OUTTXDRXDMAX232AT1INGNDR2OUTT1OUT80C51TXDRXD80C51GNDR1INT2OUTMAX232AGNDR2INR1OUTA机B机T2IN远程连接(电平转换)2020/2/2535T1INR1OUTT1OUTR1INT2INR2OUTT2OUTR2INMAX232+13+45+2+10V+6-10V16141378910111215TXDRXD80C51235+5V电平转换器件与接线2020/2/2536通信协议串口方式1,2400Baud,T1定时方式2,晶振选11.0592MHz,查表知:TH1=TL1=F4H,SMOD=0A机发“E1”联络,B机同意接收发“E2”响应A机收到“E2”后,发数据块及校验字节。B机接收数据块及校验字节,判传输是否正确正确时向A机发送“00H”,否则发送“FFH”A机接收到“00H”则本次传输结束。否则重新传输数据2020/2/2537流程图设置波特率启动定时器T1开始设置串口工作方式B机允许发送?N发送“E1”联络信号发送数据块YB机接收正确?NY返回设置波特率启动定时器T1开始设置串口工作方式A机请求发送?N等待A机联络接收数据块Y接收正确?NY返回发送应答信号发送出错标志发送正确标志2020/2/25385.3.3单片机与PC机间的通信硬件连接TXDRXD80C51TXDRXD单片机PC机GNDGND235325直通连接MAX232直接连接TXDRXD80C51TXDRXD单片机PC机GND23525交叉连接MAX232GND3交叉连接2020/2/2539通信协议串口方式1,1200Baud,T1定时方式2,晶
本文标题:第5章80C51单片机的串行口
链接地址:https://www.777doc.com/doc-4004582 .html