您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > qh-第6章80C51单片机的串行口.
2020/1/101第6章80C51单片机的串行口计算机串行通信基础6.180C51单片机的串行口6.280C51单片机的串行口应用6.32020/1/1026.1计算机串行通信基础通信:并行通信与串行通信并行通信T0T1T2T3T4T5T6时钟D0D1D5D6D7:::10110T7接收设备发送设备选通状态0110110101101101特点:传送控制简单、速度快,但传输线较多,成本高。2020/1/103串行通信T0T1T2T3T4T5T6时钟D71T71111000D6D5D4D3D2D1D0数据线发送设备接收设备D7D6D5D4D3D2D1D001D0D1D2(1)01101101TXDRXD特点:传送控制复杂、速度慢,传输线少,成本低2020/1/104异步通信与同步通信收、发设备时钟独立,以字符(帧)为单位传输6.1.1串行通信的基本概念11100110110100100010100100101110011010以“0”作为起始以“1”作为停止各帧间隔时间任意发送设备接收设备TXDRXD异步通信2020/1/105异步通信帧格式停止位数据位校验位起始位D0D7空闲下一字符起始位空闲一个字符帧起始位(1位);数据位(8位);奇偶校验位(1位,可无校验位);停止位(1位)。特点易于实现效率不高同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)2020/1/106串行通信的传输方向单工接收发送半双工时间1时间2发送接收发送接收全双工发送接收发送接收80C51有1个全双工串行口2020/1/107信号的调制与解调DCEDTE电话网DCEDTERS-232CRS-232CDTE:数据终端设备DCE:数据通信设备调制解调器调制解调2020/1/108串行通信的错误校验奇偶校验发送字符时,数据位尾随1位奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。2020/1/109代码和校验发送方将所发数据块求和(或各字节异或),产生的校验和字节附加到数据块的末尾。接收方在接收数据时要对数据块(除校验字节外)求和(或各字节异或),将所得的结果与收到的“校验和”进行比较,两者相符则无差错,否则就认为传送过程出现了差错。2020/1/1010传输速率与传输距离传输速率波特率:每秒钟传送信息的位数,单位:波特(Baud)基带传输(每个码元带有“1”或“0”这1bit信息)。常用波特率为:2400、4800、9600、14.4K、19.2K等传输距离与传输速率的关系传输距离随波特率的增加而减小。等时间间隔信号称为码元每个码元可以携带n位信息2020/1/10116.1.2串行通信接口标准RS-232C定义的是DTE与DCE间的接口标准。机械特性96512514131DB-25(阳头)连接器DB-9(阳头)连接器阳头通常用于计算机侧,阴头用于连接线侧2020/1/1012功能特性插针序号信号名称功能信号方向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/1/1013电气特性RS-232C采用负逻辑电平,规定(-3~-25V)为逻辑“1”,(+3~+25V)为逻辑“0”。-3V~+3V是未定义的过渡区。试比较:+25+3-3-25Vt010101+520.80Vt101010RS232电平TTL电平电平转换电路(如MAX232)。2020/1/1014过程特性远程通信,需要调制解调器计算机MODEMMODEMTXDRXDRTSTXDRTSDSR电话线DSRRXD计算机2020/1/1015近程通信,不需要调制解调器计算机乙计算机甲TXDTXDRXDRXD计算机乙计算机甲TXDTXDRXDRXD4562045620无联络线方式联络线短接(伪连接)方式2020/1/1016RS-232C电平与TTL电平转换驱动电路早期采用MC1488、MC1489近期常用MAXM232:片内带有自升压电路仅需+5V电源内含2个发送器,2个接收器2020/1/1017采用RS-232C接口存在的问题传输距离短、速率低通常不超过15米,速率20Kbps有电平偏移RS-232收发共地,地电流会使电平偏移出现逻辑错误。抗干扰能力差RS-232单端输入,易混入干扰。(故用大摆幅)新标准RS-485改善了传输特性,应用广泛!2020/1/10186.280C51单片机的串行口6.2.180C51串行口的结构1个全双工串口:通信或接口扩展≥1SBUF发送控制器接收控制器移位寄存器控制门TIRITXDRXD去中断逻辑SMOD01TH1TL1÷2÷16SBUFT1溢出率写SBUF读SBUF99H99H接收发送缓冲器逻辑同名、物理分开;接收双缓冲。2020/1/10196.2.280C51串行口的控制寄存器串行口控制寄存器SCONSM0和SM1:工作方式选择位76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98HSM0SM1方式说明波特率000移位寄存器fosc/1201110位UART(8位数据)可变10211位UART(9位数据)fosc/64或fosc/3211311位UART(9位数据)可变2020/1/1020SM2:多机通信控制位SM2=1时,接收机地址帧甄别使能。若RB8=1,接收的信息可进入SBUF,并使RI为1,进而在中断服务中再进行地址号比较;若RB8=0,该帧不接收,丢弃掉,且保持RI=0。SM2=0时,接收机地址帧甄别禁止。不论收到的RB8为0或1,均可以使接收帧进入SBUF,并使RI=1。此时的RB8通常为校验位。REN:串行接收使能位,软件置1时,启动接收过程2020/1/1021TB8:多机方式发送的第9位发送的地址/数据帧标志。也可作为奇偶校验位。RB8:多机方式接收的第9位接收的地址/数据帧标志。也可作为奇偶校验位。TI:发送中断标志位,要由软件清0RI:接收中断标志位,要由软件清02020/1/1022电源控制寄存器PCONSMOD:波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。76543210PCONSMOD字节地址:97H2020/1/10236.2.380C51串行口的工作方式方式0:同步移位寄存器,用于扩展并行口RXD:输入或输出引脚TXD:移位脉冲输出引脚发送和接收都是8位波特率固定为:fosc/122020/1/1024D0D1D2D3D4D5D6D7写入SBUFRXD(数据)TXD(移位脉冲)TI(中断标志)TCY数据输出:CR用于对74LS164清074LS164RXDTXDP1.080C51CRCLKAB1K*8Q0Q7D0D7R0R72020/1/1025数据输入:REN=1RXD(数据输入)TXD(移位脉冲)RI=0D0D1D2D3D4D5D6D7S/L下降沿将并行数据装入,高电平启动数据移入。74LS165RXDTXDP1.080C51S/LCLKQVCCINHK0R0R7K710K*8D0D72020/1/1026方式1:10位帧,用于双机通信停止位数据位8位起始位LSBMSB空闲空闲D0D71帧共10位起始位:1位数据位:8位停止位:1位2020/1/1027串行发送:(写SBUF启动发送过程)D0D1D2D3D4D5D6D7写入SBUF停止位TXDTI(中断标志)起始串行接收:(置REN=1启动接收过程)D0D1D2D3D4D5D6D7停止位RXDRI(中断标志)起始位采样脉冲2020/1/1028方式2和方式3:11位帧,用于多机通信起始位:1位数据位:9位停止位:1位停止位数据位9位起始位LSBMSB空闲空闲D0D71帧共11位RB8/TB82020/1/1029串行发送:(写SBUF启动发送过程)串行接收:(置REN=1启动接收过程)D0D1D2D3D4D5D6D7写入SBUF停止位TXDTI(中断标志)起始TB8RI(中断标志)位采样脉冲D0D1D2D3D4D5D6D7停止位RXD起始RB82020/1/10306.2.480C51波特率确定与初始化步骤波特率的确定波特率的计算固定波特率:方式0波特率=fosc/12方式2波特率=(2SMOD/64)*fosc可变波特率:(方式1、方式3)波特率=(2SMOD/32)*(T1溢出率)T1溢出率=fosc/{12×[256-(TH1)]}2020/1/1031波特率的选择波特率要选择标称值,由于TH1的初值是整数,为了获得标称值,依公式晶振频率要选11.0592MHz。方式1和方式3波特率与TH1初值的对应关系:波特率/(b/s)19.2k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD10000若晶振为12MHz,TH1初值取FDH,依公式算出的波特率为10416.6…;TH1初值取FCH,为7812.5。2020/1/1032串行口初始化步骤确定T1的工作方式(TMOD)计算T1的初值,装载TH1、TL1启动T1(置位TR1)确定串行口工作方式(SCON)串口中断设置(IE、IP)2020/1/10336.380C51单片机的串行口应用6.3.1利用单片机串口的并行I/O扩展80C51RXD74LS164&QAQBQCQDQEQFQGQHA+5VabcdefgdpabcdefgdpTXDBCP74LS164QAQBQCQDQEQFQGQHABCPABCP74LS164P1.2P1.1P1.001234567FEDCBA98300Ω×2QAQBQCQDQEQFQGQH占用串口!T1INR1OUTT1OUTR1INT2INR2OUTT2OUTR2INMAX232+13+45+2+10V+6-10V16141378910111215TXDRXD80C51235+5V单片机端的电平转换6.3.2单片机与PC机间的通信与PC机的硬件连接TXDRXD80C51TXDRXD单片机PC机GNDGND235325直通连接MAX232直通连接TXDRXD80C51TXDRXD单片机PC机GND23525交叉连接MAX232GND3交叉连接PC机串行口检查发送窗口接收窗口PC机的串行口的收、发信号引脚短接运行串口调试软件连机编程测试voidmain(void){uchartemp;init();while(1){temp=ReceiveChar();//接收数据SendChar(temp);//发送数据}}voidinit(void){SCON=0x50;//方式1(N,8,1),接收允许PCON=0x00;//波特率不倍增TMOD=0x20;//置T1为8位自动重装方式TL1=0xfd;TH1=0xfd;//波特率9600TR1=1;}76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98HucharReceiveChar(){ucharch;while(!RI);//等待接收完ch=SBUF;RI=0;return(ch);}voidSendChar(ucharch){SBUF=ch;//发送字符while(!TI);//等待发送完TI=0;//清标志}通信程序的扩充与完善通讯协议:每帧:数据8位,起始位1位,停止位1位,无检验,波特率9600。PC机作为主机,主机命令由4个字符形成的字符串构成,首字符‘$’是同步头,次字符为命令关键字,其他2
本文标题:qh-第6章80C51单片机的串行口.
链接地址:https://www.777doc.com/doc-2854343 .html