版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-5-71第第6 6章章 80C5180C51单片机的串行口单片机的串行口计算机计算机串行通信基础串行通信基础6.180C5180C51单片机的单片机的串行口串行口6.280C5180C51单片机的单片机的串行口应用串行口应用6.32022-5-726.1 计算机串行通信基础计算机串行通信基础通信:并行通信与串行通信通信:并行通信与串行通信 并行通信并行通信特点特点:传送控制简单、速度快,但传输线较多,成本高。:传送控制简单、速度快,但传输线较多,成本高。 2022-5-73 串行通信串行通信特点特点:传送控制复杂、速度慢,传输线少,成本低:传送控制复杂、速度慢,传输线少,成本低 20
2、22-5-74 异步通信与同步通信异步通信与同步通信n 收、发设备时钟独立,以字符收、发设备时钟独立,以字符( (帧帧) )为单位传输为单位传输 6.1.1 6.1.1 串行通信的基本概念串行通信的基本概念异步通信异步通信 2022-5-75 异步通信帧格式异步通信帧格式起始位(位);起始位(位);数据位(位);数据位(位);奇偶校验位(位,可无校验位);奇偶校验位(位,可无校验位);停止位(位)。停止位(位)。 特点特点n 易于实现易于实现n 效率不高效率不高 同步通信同步通信(发、收时钟直接连接,效率高。板内元件间的(发、收时钟直接连接,效率高。板内元件间的SPI接口)接口) 2022-5
3、-76 串行通信的传输方向串行通信的传输方向单工单工 半双工半双工 全双工全双工 80C5180C51有有1 1个全双工个全双工串行口串行口 2022-5-77 信号的调制与解调信号的调制与解调DTEDTE:数据:数据终端终端设备设备DCEDCE:数据:数据通信通信设备设备 调制解调器调制解调器n 调制调制n 解调解调 2022-5-78 串行通信的错误校验串行通信的错误校验奇偶校验奇偶校验 发送字符时发送字符时,数据位,数据位尾随尾随1 1位奇偶校验位位奇偶校验位(1 1或或0 0)。)。奇校验时奇校验时,数据中,数据中“1 1”的个数与校验位的个数与校验位“1 1”的个数之和应为奇数;的个
4、数之和应为奇数;偶校验时偶校验时,数据中,数据中“1 1”的个数与校验位的个数与校验位“1 1”的个数之和应为偶数。的个数之和应为偶数。接收字符时接收字符时,对,对“1 1”的个数进行校验,若发现的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。不一致,则说明传输数据过程中出现了差错。 2022-5-79代码和校验代码和校验 发送方发送方将所发将所发数据块求和数据块求和(或各字节异或或各字节异或),产),产生的生的校验和字节校验和字节附加到数据块的末尾。附加到数据块的末尾。 接收方接收方在接收数据时要对在接收数据时要对数据块(数据块(除校验字节外除校验字节外)求和(或各字节异或),
5、求和(或各字节异或),将所得的结果与收到的将所得的结果与收到的“校验和校验和”进行比较,两者相符则无差错,否则进行比较,两者相符则无差错,否则就认为传送过程出现了差错。就认为传送过程出现了差错。 2022-5-710 传输速率与传输距离传输速率与传输距离传输速率传输速率波特率波特率:每秒钟传送信息的位数,单位:波特(:每秒钟传送信息的位数,单位:波特(Baud) 基带传输基带传输(每个(每个码元码元带有带有“1 1”或或“0 0”这这1 bit1 bit信息信息) )。 常用波特率为:常用波特率为:24002400、48004800、 96009600、14.4K14.4K、19.2K19.2
6、K等等 传输距离与传输速率的关系传输距离与传输速率的关系传输距离随波特率的增加而减小。传输距离随波特率的增加而减小。 等时间间隔信号称为码元每个码元可以携带n位信息 2022-5-7116.1.2 6.1.2 串行通信接口标准串行通信接口标准RS-232CRS-232C定义的是定义的是DTEDTE与与DCEDCE间的接口标准。间的接口标准。 机械特性机械特性DB-25DB-25(阳头)连接器(阳头)连接器 DB-9DB-9(阳头)连接器(阳头)连接器 阳头阳头通常用于通常用于计算机侧计算机侧,阴头阴头用于用于连接线侧连接线侧 2022-5-712 功能特性功能特性插针序号插针序号信号名称信号名
7、称功能功能信号方向信号方向 1 PGND保护接地保护接地 2(3)TXD发送数据(串行输出)发送数据(串行输出)DTEDCE 3(2)RXD接收数据(串行输入)接收数据(串行输入)DTEDCE 4(7)RTS请求发送请求发送DTEDCE 5(8)CTS允许发送允许发送DTEDCE 6(6)DSRDCE就绪(数据建立就绪)就绪(数据建立就绪)DTEDCE 7(5) SGND信号接地信号接地 8(1)DCD载波检测载波检测DTEDCE 20(4)DTRDTE就绪(数据终端准备就绪)就绪(数据终端准备就绪)DTEDCE 22(9) RI振铃指示振铃指示DTEDCE2022-5-713 电气特性电气特
8、性RS-232CRS-232C采用负逻辑电平,规定(采用负逻辑电平,规定(-3-3-25V-25V)为逻辑)为逻辑“1 1”,(+3+3+25V+25V)为逻辑)为逻辑“0 0”。-3V-3V+3V+3V是未定义的过渡区。是未定义的过渡区。试比较:试比较: 电平转换电路(如电平转换电路(如MAX232MAX232)。)。 2022-5-714 过程特性过程特性远远程通信,需要调制解调器程通信,需要调制解调器 2022-5-715近近程通信,不需要调制解调器程通信,不需要调制解调器 无联络线方式无联络线方式 联络线短接(伪连接)方式联络线短接(伪连接)方式 2022-5-716 RS-232CR
9、S-232C电平与电平与TTLTTL电平转换驱动电路电平转换驱动电路早期采用早期采用MC1488MC1488、MC1489MC1489 近期常用近期常用MAXM232MAXM232: 片内带有自升压电路片内带有自升压电路 仅需仅需+5V+5V电源电源 内含内含2 2个发送器,个发送器,2 2个接收器个接收器 2022-5-717 采用采用RS-232CRS-232C接口存在的问题接口存在的问题 传输距离短、速率低传输距离短、速率低 通常不超过通常不超过1515米,速率米,速率20Kbps20Kbps 有电平偏移有电平偏移 RS-232RS-232收发共地,地电流会使电平偏移出现逻辑错误。收发共
10、地,地电流会使电平偏移出现逻辑错误。 抗干扰能力差抗干扰能力差 RS-232RS-232单端输入,易混入干扰。(单端输入,易混入干扰。(故用大摆幅故用大摆幅) 新标准新标准RS-485RS-485改善了传输特性,应用广泛!改善了传输特性,应用广泛! 2022-5-7186.2 80C51单片机的串行口单片机的串行口6.2.1 80C516.2.1 80C51串行口的结构串行口的结构 1 1个全双工串口:个全双工串口:通信通信或或接口扩展接口扩展 接收发送缓冲器接收发送缓冲器逻辑同名、物理分开;逻辑同名、物理分开;接收双缓冲。接收双缓冲。 2022-5-7196.2.2 80C516.2.2 8
11、0C51串行口的控制寄存器串行口的控制寄存器 串行口控制寄存器串行口控制寄存器SCONSCONSM0SM0和和SM1SM1:工作方式选择位:工作方式选择位76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98HSM0SM1方 式说 明波特率000移位寄存器fosc/1201110位UART(8位数据)可变10211位UART(9位数据)fosc/64或fosc/3211311位UART(9位数据)可变2022-5-720SM2SM2:多机通信控制位:多机通信控制位SM2=1SM2=1时时, ,接收机接收机地址帧甄别地址帧甄别使能使能 。若若RB8RB81 1,接收的
12、信息接收的信息可进入可进入SBUFSBUF,并使,并使RIRI为为1 1,进而在中断服务中再进行地址号比较进而在中断服务中再进行地址号比较; ;若若RB8RB80 0,该帧不接收,丢弃掉,且保持,该帧不接收,丢弃掉,且保持RI=0RI=0。 SM2=0SM2=0时,时,接收机接收机地址帧甄别地址帧甄别禁止禁止。不论收到的不论收到的RB8RB8为为0 0或或1 1,均可以使接收帧进入,均可以使接收帧进入SBUFSBUF,并使,并使RI=1RI=1。此时的此时的RB8RB8通常为校验位。通常为校验位。 RENREN:串行接收使能位,软件置:串行接收使能位,软件置1 1时,启动接收过程时,启动接收过
13、程2022-5-721TB8TB8:多机方式发送的第:多机方式发送的第9 9位位发送的发送的地址地址/ /数据帧数据帧标志。标志。也可作为奇偶校验位。也可作为奇偶校验位。 RB8RB8:多机方式接收的第:多机方式接收的第9 9位位接收的接收的地址地址/ /数据帧数据帧标志。标志。也可作为奇偶校验位。也可作为奇偶校验位。 TITI:发送中断标志位,要由:发送中断标志位,要由软件清软件清0 0RIRI:接收中断标志位,要由:接收中断标志位,要由软件清软件清0 02022-5-722 电源控制寄存器电源控制寄存器PCON PCON SMODSMOD:波特率倍增位。波特率倍增位。在串行口方式在串行口方
14、式1 1、方式、方式2 2、方式方式3 3时,波特率与时,波特率与SMODSMOD有关,有关,当当SMOD=1SMOD=1时,波时,波特率提高一倍。特率提高一倍。复位时,复位时,SMOD=0SMOD=0。 76543210PCONSMOD字节地址:字节地址:97H2022-5-7236.2.3 80C516.2.3 80C51串行口的工作方式串行口的工作方式 方式方式0 0:同步移位寄存器:同步移位寄存器,用于,用于扩展并行口扩展并行口 RXDRXD:输入输入或或输出输出引脚引脚 TXDTXD:移位脉冲移位脉冲输出引脚输出引脚发送和接收都是发送和接收都是8 8位位波特率固定为波特率固定为:fo
15、sc/12fosc/122022-5-724数据输数据输出出: CRCR用于对用于对74LS16474LS164清清0 0 2022-5-725数据输数据输入入: S/LS/L下降沿下降沿将并行数将并行数据装入据装入,高电平,高电平启动启动数据移入。数据移入。 2022-5-726 方式方式1 1:1010位帧,用于位帧,用于双双机通信机通信 起始位:起始位:1 1位位 数据位:数据位:8 8位位停止位:停止位:1 1位位2022-5-727串行发送串行发送:(:(写写SBUFSBUF启动启动发送过程)发送过程) 串行接收串行接收:( (置置REN=1REN=1启动启动接收过程接收过程) )
16、2022-5-728 方式方式2 2和方式和方式3 3:1111位帧,用于位帧,用于多机多机通信通信 起始位:起始位:1 1位位 数据位:数据位:9 9位位停止位:停止位:1 1位位2022-5-729串行串行发送发送:(写:(写SBUFSBUF启动发送过程)启动发送过程) 串行串行接收接收:( (置置REN=1REN=1启动接收过程启动接收过程) ) 2022-5-7306.2.4 80C516.2.4 80C51波特率确定与初始化步骤波特率确定与初始化步骤 波特率的确定波特率的确定 波特率的计算波特率的计算固定波特率:固定波特率: 方式方式0 0波特率波特率= fosc/12= fosc/
17、12 方式方式2 2波特率波特率= =(2 2SMODSMOD/64/64)* * foscfosc可变可变波特率波特率:( (方式方式1 1、方式、方式3 3) ) 波特率波特率= =(2 2SMODSMOD/32/32)* *(T1T1溢出率溢出率) T1T1溢出率溢出率 = = foscfosc /12 /12256 256 (TH1TH1)2022-5-731 波特率的选择波特率的选择 波特率要选择波特率要选择标称值标称值,由于,由于TH1TH1的的初值是整数初值是整数,为了,为了获得标称值,依公式获得标称值,依公式晶振频率要选晶振频率要选11.059211.0592MHzMHz。 方
18、式方式1 1和方式和方式3 3波特率与波特率与TH1TH1初值的对应关系:初值的对应关系: 波特率波特率/(b/s)19.2 k9600480024001200TH1初值初值FDHFDHFAHF4HE8HSMOD10000若晶振为若晶振为12MHz12MHz,TH1TH1初值取初值取FDHFDH,依公式算出的波特,依公式算出的波特率为率为10416.610416.6; TH1TH1初值取初值取FCHFCH,为,为7812.57812.5。 2022-5-732 串行口初始化步骤串行口初始化步骤 确定确定T1T1的工作方式(的工作方式(TMODTMOD)计算计算T1T1的初值,的初值,装载装载T
19、H1TH1、TL1TL1启动启动T1T1(置位置位TR1TR1)确定串行口工作方式(确定串行口工作方式(SCONSCON)串口中断设置(串口中断设置(IEIE、IPIP)2022-5-7336.3 80C51单片机的串行口应用单片机的串行口应用6.3.1 6.3.1 利用单片机串口的并行利用单片机串口的并行I/OI/O扩展扩展 占用串口!占用串口!单片机端的电平转换单片机端的电平转换6.3.2 6.3.2 单片机与单片机与PCPC机间的通信机间的通信与与PCPC机的硬件连接机的硬件连接 直通连接直通连接交叉连接交叉连接PCPC机串行口检查机串行口检查 nPCPC机的串行口的机的串行口的收、发信
20、号引脚收、发信号引脚短接短接 n运行运行串口调试软件串口调试软件 连机编程测试连机编程测试void void main(voidmain(void) ) ucharuchar temp; temp; init(); init(); while (1) while (1) temp = temp = ReceiveCharReceiveChar();();/接收数据接收数据SendChar(tempSendChar(temp); ); /发送数据发送数据 void void init(voidinit(void) ) SCON = 0 xSCON = 0 x5050; /; /方式方式1 1(N
21、,8,1N,8,1),接收允许),接收允许PCON = 0 x00; /PCON = 0 x00; /波特率不倍增波特率不倍增TMOD = 0 xTMOD = 0 x2020; /; /置置T1T1为为8 8位自动重装方式位自动重装方式TL1 = 0 xfd;TL1 = 0 xfd;TH1 = 0 xfd; /TH1 = 0 xfd; /波特率波特率96009600TR1 = 1; TR1 = 1; 76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98Hucharuchar ReceiveCharReceiveChar() () ucharuchar chch;
22、;while (!RI); while (!RI); /等待接收完等待接收完chch = SBUF; = SBUF; RI = 0; RI = 0; return (return (chch);); void void SendChar(ucharSendChar(uchar chch) ) SBUF = SBUF = chch; ; /发送字符发送字符while (!TI); while (!TI); /等待发送完等待发送完TI = 0; TI = 0; /清标志清标志 通信程序的扩充与完善通信程序的扩充与完善通讯协议:通讯协议:n 每帧:每帧:数据数据8 8位,起始位位,起始位1 1位,停
23、止位位,停止位1 1位,无检位,无检验,波特率验,波特率96009600。 n PC PC机作为主机,机作为主机,主机命令主机命令由由4 4个字符形成的字符个字符形成的字符串构成,首字符串构成,首字符$是同步头,次字符为命令关是同步头,次字符为命令关键字,其他键字,其他2 2个字符未定义。个字符未定义。n设命令设命令关键字为关键字为1 1时时,单片机要将缓冲区的数据,单片机要将缓冲区的数据以由以由前至后的顺序前至后的顺序发送到发送到PCPC机端;当命令机端;当命令关键字为关键字为2 2时时,单片机要将缓冲区的数据以由,单片机要将缓冲区的数据以由后至前的顺序后至前的顺序发送到发送到PCPC机端,
24、其他关键字未定义。机端,其他关键字未定义。 v单片机端程序:单片机端程序:void void DataInit(voidDataInit(void) ) / /设置缓冲区调试数据设置缓冲区调试数据ucharuchar i; i;for(ifor(i=0;i10;i+)=0;i10;i+)OutBuffiOutBuffi=i+0 x30; =i+0 x30; void void SPortInit(voidSPortInit(void) ) TMOD |=0 x20; TMOD |=0 x20; SCON=0 x50; SCON=0 x50; TH1=0 xfd; TH1=0 xfd; TL1=
25、0 xfd; TL1=0 xfd; TR1=1; TR1=1; ES = 1; ES = 1; EA = 1; EA = 1; void void SendCharSendChar(uchar(uchar chch) ) SBUF = SBUF = chch; /; /发送字符发送字符while (!TI); /while (!TI); /等待发送完等待发送完TI = 0; TI = 0; void void SPortIsrSPortIsr () interrupt 4 () interrupt 4 ucharuchar i,chi,ch; ; ES=0; ES=0; chch = SBUF
26、; = SBUF; RI=0; RI=0; if(chif(ch= =0 x24) /= =0 x24) /检测检测$ InBuff0= InBuff0=chch; ; for(ifor(i=1;i4;i+) =1;i4;i+) while (!RI); while (!RI); RI=0; RI=0; InBuffiInBuffi = SBUF; = SBUF; InFullFlagInFullFlag=1;=1; ES=1; ES=1; void void main(voidmain(void) ) DataInitDataInit();(); SPortInitSPortInit();
27、(); InFullFlagInFullFlag = 0; = 0; while(1) while(1) if(InFullFlagif(InFullFlag) ) switch(InBuff1)switch(InBuff1) /依命令完成相应功能依命令完成相应功能 InFullFlagInFullFlag = 0; = 0; switch(InBuff1)switch(InBuff1) /依命令完成相应功能依命令完成相应功能 case 0 x31case 0 x31: : for(ifor(i=0;i10;i+)=0;i10;i+) SendChar(OutBuffiSendChar(Out
28、Buffi);); break;break; case 0 x32:case 0 x32: for(ifor(i=0;i10;i+)=0;i10;i+) SendChar(OutBuff9-i); SendChar(OutBuff9-i); break;break; default:default:breakbreak; ; 2022-5-746PCPC机端程序:机端程序:Private Sub Private Sub Form_LoadForm_Load()()MSComm1.CommPort = 1 MSComm1.CommPort = 1 设置通信端口号为设置通信端口号为COM1COM1
29、MSComm1.Settings = MSComm1.Settings = 9600,n,8,19600,n,8,1 设置串口参数设置串口参数MSComm1.InputMode = 0 MSComm1.InputMode = 0 接收文本型数据接收文本型数据MSComm1.PortOpen = True MSComm1.PortOpen = True 打开串行口打开串行口End SubEnd Sub2022-5-747Private Sub Private Sub Cmdsend_ClickCmdsend_Click()()If If Textsend.TextTextsend.Text =
30、Then = Then pp = pp = MsgBoxMsgBox(发送数据不能为空!发送数据不能为空!, 16), 16) Exit Sub Exit SubEnd IfEnd IfMSComm1.Output = MSComm1.Output = Trim(Textsend.TextTrim(Textsend.Text) ) For i = 1 To 20000000For i = 1 To 20000000Next iNext iEnd Sub End Sub Private Sub Timer1_Timer()Private Sub Timer1_Timer()Dim Dim buf
31、buf$ $bufbuf = Trim(MSComm1.Input) = Trim(MSComm1.Input) 将缓冲区数据读入将缓冲区数据读入bufbuf变量变量If If Len(bufLen(buf) 0 Then ) 0 Then 判缓冲区是否有数据判缓冲区是否有数据TextReceive.TextTextReceive.Text = = TextReceive.TextTextReceive.Text + Chr(13) + Chr(10) + + Chr(13) + Chr(10) + bufbuf End IfEnd IfEnd SubEnd Sub6.3.3 6.3.3 单片
32、机与单片机间的通信单片机与单片机间的通信硬件连接硬件连接 通讯协议:通讯协议:n 每每帧数据帧数据为为8 8位,位,1 1位起始位,位起始位,1 1位停止位,无检位停止位,无检验,波特率验,波特率96009600。 n 申请接收数据的单片机,按下本机的请求键(按申请接收数据的单片机,按下本机的请求键(按键接在键接在P3.5P3.5引脚),按下键后有引脚),按下键后有3 3种按键事件可能发种按键事件可能发生:生:短击、长击和双击短击、长击和双击,分别对应,分别对应3 3种请求接收数据种请求接收数据的命令,即:的命令,即:“$1”$1”、“$2”$2”和和“$3”$3”。3 3种命令会种命令会根据
33、发生的按键事件发送到对方;发送数据的单片根据发生的按键事件发送到对方;发送数据的单片机依据接收到的命令完成对应的数据发送任务。数机依据接收到的命令完成对应的数据发送任务。数据传送采用据传送采用“!”为同步字符。为同步字符。 程序见教材程序见教材2022-5-7526.1 计算机串行通信基础计算机串行通信基础通信:并行通信与串行通信通信:并行通信与串行通信 并行通信并行通信特点特点:传送控制简单、速度快,但传输线较多,成本高。:传送控制简单、速度快,但传输线较多,成本高。 2022-5-753 串行通信串行通信特点特点:传送控制复杂、速度慢,传输线少,成本低:传送控制复杂、速度慢,传输线少,成本
34、低 2022-5-754 异步通信与同步通信异步通信与同步通信n 收、发设备时钟独立,以字符收、发设备时钟独立,以字符( (帧帧) )为单位传输为单位传输 6.1.1 6.1.1 串行通信的基本概念串行通信的基本概念异步通信异步通信 2022-5-755 异步通信帧格式异步通信帧格式起始位(位);起始位(位);数据位(位);数据位(位);奇偶校验位(位,可无校验位);奇偶校验位(位,可无校验位);停止位(位)。停止位(位)。 特点特点n 易于实现易于实现n 效率不高效率不高 同步通信同步通信(发、收时钟直接连接,效率高。板内元件间的(发、收时钟直接连接,效率高。板内元件间的SPI接口)接口)
35、2022-5-756 串行通信的传输方向串行通信的传输方向单工单工 半双工半双工 全双工全双工 80C5180C51有有1 1个全双工个全双工串行口串行口 2022-5-757 信号的调制与解调信号的调制与解调DTEDTE:数据:数据终端终端设备设备DCEDCE:数据:数据通信通信设备设备 调制解调器调制解调器n 调制调制n 解调解调 2022-5-758 串行通信的错误校验串行通信的错误校验奇偶校验奇偶校验 发送字符时发送字符时,数据位,数据位尾随尾随1 1位奇偶校验位位奇偶校验位(1 1或或0 0)。)。奇校验时奇校验时,数据中,数据中“1 1”的个数与校验位的个数与校验位“1 1”的个数
36、之和应为奇数;的个数之和应为奇数;偶校验时偶校验时,数据中,数据中“1 1”的个数与校验位的个数与校验位“1 1”的个数之和应为偶数。的个数之和应为偶数。接收字符时接收字符时,对,对“1 1”的个数进行校验,若发现的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。不一致,则说明传输数据过程中出现了差错。 2022-5-759代码和校验代码和校验 发送方发送方将所发将所发数据块求和数据块求和(或各字节异或或各字节异或),产),产生的生的校验和字节校验和字节附加到数据块的末尾。附加到数据块的末尾。 接收方接收方在接收数据时要对在接收数据时要对数据块(数据块(除校验字节外除校验字节外)求
37、和(或各字节异或),求和(或各字节异或),将所得的结果与收到的将所得的结果与收到的“校验和校验和”进行比较,两者相符则无差错,否则进行比较,两者相符则无差错,否则就认为传送过程出现了差错。就认为传送过程出现了差错。 2022-5-760 传输速率与传输距离传输速率与传输距离传输速率传输速率波特率波特率:每秒钟传送信息的位数,单位:波特(:每秒钟传送信息的位数,单位:波特(Baud) 基带传输基带传输(每个(每个码元码元带有带有“1 1”或或“0 0”这这1 bit1 bit信息信息) )。 常用波特率为:常用波特率为:24002400、48004800、 96009600、14.4K14.4K
38、、19.2K19.2K等等 传输距离与传输速率的关系传输距离与传输速率的关系传输距离随波特率的增加而减小。传输距离随波特率的增加而减小。 等时间间隔信号称为码元每个码元可以携带n位信息 2022-5-7616.1.2 6.1.2 串行通信接口标准串行通信接口标准RS-232CRS-232C定义的是定义的是DTEDTE与与DCEDCE间的接口标准。间的接口标准。 机械特性机械特性DB-25DB-25(阳头)连接器(阳头)连接器 DB-9DB-9(阳头)连接器(阳头)连接器 阳头阳头通常用于通常用于计算机侧计算机侧,阴头阴头用于用于连接线侧连接线侧 2022-5-762 功能特性功能特性插针序号插
39、针序号信号名称信号名称功能功能信号方向信号方向 1 PGND保护接地保护接地 2(3)TXD发送数据(串行输出)发送数据(串行输出)DTEDCE 3(2)RXD接收数据(串行输入)接收数据(串行输入)DTEDCE 4(7)RTS请求发送请求发送DTEDCE 5(8)CTS允许发送允许发送DTEDCE 6(6)DSRDCE就绪(数据建立就绪)就绪(数据建立就绪)DTEDCE 7(5) SGND信号接地信号接地 8(1)DCD载波检测载波检测DTEDCE 20(4)DTRDTE就绪(数据终端准备就绪)就绪(数据终端准备就绪)DTEDCE 22(9) RI振铃指示振铃指示DTEDCE2022-5-7
40、63 电气特性电气特性RS-232CRS-232C采用负逻辑电平,规定(采用负逻辑电平,规定(-3-3-25V-25V)为逻辑)为逻辑“1 1”,(+3+3+25V+25V)为逻辑)为逻辑“0 0”。-3V-3V+3V+3V是未定义的过渡区。是未定义的过渡区。试比较:试比较: 电平转换电路(如电平转换电路(如MAX232MAX232)。)。 2022-5-764 过程特性过程特性远远程通信,需要调制解调器程通信,需要调制解调器 2022-5-765近近程通信,不需要调制解调器程通信,不需要调制解调器 无联络线方式无联络线方式 联络线短接(伪连接)方式联络线短接(伪连接)方式 2022-5-76
41、6 RS-232CRS-232C电平与电平与TTLTTL电平转换驱动电路电平转换驱动电路早期采用早期采用MC1488MC1488、MC1489MC1489 近期常用近期常用MAXM232MAXM232: 片内带有自升压电路片内带有自升压电路 仅需仅需+5V+5V电源电源 内含内含2 2个发送器,个发送器,2 2个接收器个接收器 2022-5-767 采用采用RS-232CRS-232C接口存在的问题接口存在的问题 传输距离短、速率低传输距离短、速率低 通常不超过通常不超过1515米,速率米,速率20Kbps20Kbps 有电平偏移有电平偏移 RS-232RS-232收发共地,地电流会使电平偏移
42、出现逻辑错误。收发共地,地电流会使电平偏移出现逻辑错误。 抗干扰能力差抗干扰能力差 RS-232RS-232单端输入,易混入干扰。(单端输入,易混入干扰。(故用大摆幅故用大摆幅) 新标准新标准RS-485RS-485改善了传输特性,应用广泛!改善了传输特性,应用广泛! 2022-5-7686.2 80C51单片机的串行口单片机的串行口6.2.1 80C516.2.1 80C51串行口的结构串行口的结构 1 1个全双工串口:个全双工串口:通信通信或或接口扩展接口扩展 接收发送缓冲器接收发送缓冲器逻辑同名、物理分开;逻辑同名、物理分开;接收双缓冲。接收双缓冲。 2022-5-7696.2.2 80
43、C516.2.2 80C51串行口的控制寄存器串行口的控制寄存器 串行口控制寄存器串行口控制寄存器SCONSCONSM0SM0和和SM1SM1:工作方式选择位:工作方式选择位76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98HSM0SM1方 式说 明波特率000移位寄存器fosc/1201110位UART(8位数据)可变10211位UART(9位数据)fosc/64或fosc/3211311位UART(9位数据)可变2022-5-770SM2SM2:多机通信控制位:多机通信控制位SM2=1SM2=1时时, ,接收机接收机地址帧甄别地址帧甄别使能使能 。若若RB8
44、RB81 1,接收的信息接收的信息可进入可进入SBUFSBUF,并使,并使RIRI为为1 1,进而在中断服务中再进行地址号比较进而在中断服务中再进行地址号比较; ;若若RB8RB80 0,该帧不接收,丢弃掉,且保持,该帧不接收,丢弃掉,且保持RI=0RI=0。 SM2=0SM2=0时,时,接收机接收机地址帧甄别地址帧甄别禁止禁止。不论收到的不论收到的RB8RB8为为0 0或或1 1,均可以使接收帧进入,均可以使接收帧进入SBUFSBUF,并使,并使RI=1RI=1。此时的此时的RB8RB8通常为校验位。通常为校验位。 RENREN:串行接收使能位,软件置:串行接收使能位,软件置1 1时,启动接
45、收过程时,启动接收过程2022-5-771TB8TB8:多机方式发送的第:多机方式发送的第9 9位位发送的发送的地址地址/ /数据帧数据帧标志。标志。也可作为奇偶校验位。也可作为奇偶校验位。 RB8RB8:多机方式接收的第:多机方式接收的第9 9位位接收的接收的地址地址/ /数据帧数据帧标志。标志。也可作为奇偶校验位。也可作为奇偶校验位。 TITI:发送中断标志位,要由:发送中断标志位,要由软件清软件清0 0RIRI:接收中断标志位,要由:接收中断标志位,要由软件清软件清0 02022-5-772 电源控制寄存器电源控制寄存器PCON PCON SMODSMOD:波特率倍增位。波特率倍增位。在
46、串行口方式在串行口方式1 1、方式、方式2 2、方式方式3 3时,波特率与时,波特率与SMODSMOD有关,有关,当当SMOD=1SMOD=1时,波时,波特率提高一倍。特率提高一倍。复位时,复位时,SMOD=0SMOD=0。 76543210PCONSMOD字节地址:字节地址:97H2022-5-7736.2.3 80C516.2.3 80C51串行口的工作方式串行口的工作方式 方式方式0 0:同步移位寄存器:同步移位寄存器,用于,用于扩展并行口扩展并行口 RXDRXD:输入输入或或输出输出引脚引脚 TXDTXD:移位脉冲移位脉冲输出引脚输出引脚发送和接收都是发送和接收都是8 8位位波特率固定
47、为波特率固定为:fosc/12fosc/122022-5-774数据输数据输出出: CRCR用于对用于对74LS16474LS164清清0 0 2022-5-775数据输数据输入入: S/LS/L下降沿下降沿将并行数将并行数据装入据装入,高电平,高电平启动启动数据移入。数据移入。 2022-5-776 方式方式1 1:1010位帧,用于位帧,用于双双机通信机通信 起始位:起始位:1 1位位 数据位:数据位:8 8位位停止位:停止位:1 1位位2022-5-777串行发送串行发送:(:(写写SBUFSBUF启动启动发送过程)发送过程) 串行接收串行接收:( (置置REN=1REN=1启动启动接收
48、过程接收过程) ) 2022-5-778 方式方式2 2和方式和方式3 3:1111位帧,用于位帧,用于多机多机通信通信 起始位:起始位:1 1位位 数据位:数据位:9 9位位停止位:停止位:1 1位位2022-5-779串行串行发送发送:(写:(写SBUFSBUF启动发送过程)启动发送过程) 串行串行接收接收:( (置置REN=1REN=1启动接收过程启动接收过程) ) 2022-5-7806.2.4 80C516.2.4 80C51波特率确定与初始化步骤波特率确定与初始化步骤 波特率的确定波特率的确定 波特率的计算波特率的计算固定波特率:固定波特率: 方式方式0 0波特率波特率= fosc
49、/12= fosc/12 方式方式2 2波特率波特率= =(2 2SMODSMOD/64/64)* * foscfosc可变可变波特率波特率:( (方式方式1 1、方式、方式3 3) ) 波特率波特率= =(2 2SMODSMOD/32/32)* *(T1T1溢出率溢出率) T1T1溢出率溢出率 = = foscfosc /12 /12256 256 (TH1TH1)2022-5-781 波特率的选择波特率的选择 波特率要选择波特率要选择标称值标称值,由于,由于TH1TH1的的初值是整数初值是整数,为了,为了获得标称值,依公式获得标称值,依公式晶振频率要选晶振频率要选11.059211.059
50、2MHzMHz。 方式方式1 1和方式和方式3 3波特率与波特率与TH1TH1初值的对应关系:初值的对应关系: 波特率波特率/(b/s)19.2 k9600480024001200TH1初值初值FDHFDHFAHF4HE8HSMOD10000若晶振为若晶振为12MHz12MHz,TH1TH1初值取初值取FDHFDH,依公式算出的波特,依公式算出的波特率为率为10416.610416.6; TH1TH1初值取初值取FCHFCH,为,为7812.57812.5。 2022-5-782 串行口初始化步骤串行口初始化步骤 确定确定T1T1的工作方式(的工作方式(TMODTMOD)计算计算T1T1的初值
51、,的初值,装载装载TH1TH1、TL1TL1启动启动T1T1(置位置位TR1TR1)确定串行口工作方式(确定串行口工作方式(SCONSCON)串口中断设置(串口中断设置(IEIE、IPIP)2022-5-7836.3 80C51单片机的串行口应用单片机的串行口应用6.3.1 6.3.1 利用单片机串口的并行利用单片机串口的并行I/OI/O扩展扩展 占用串口!占用串口!单片机端的电平转换单片机端的电平转换6.3.2 6.3.2 单片机与单片机与PCPC机间的通信机间的通信与与PCPC机的硬件连接机的硬件连接 直通连接直通连接交叉连接交叉连接PCPC机串行口检查机串行口检查 nPCPC机的串行口的
52、机的串行口的收、发信号引脚收、发信号引脚短接短接 n运行运行串口调试软件串口调试软件 连机编程测试连机编程测试void void main(voidmain(void) ) ucharuchar temp; temp; init(); init(); while (1) while (1) temp = temp = ReceiveCharReceiveChar();();/接收数据接收数据SendChar(tempSendChar(temp); ); /发送数据发送数据 void void init(voidinit(void) ) SCON = 0 xSCON = 0 x5050; /;
53、/方式方式1 1(N,8,1N,8,1),接收允许),接收允许PCON = 0 x00; /PCON = 0 x00; /波特率不倍增波特率不倍增TMOD = 0 xTMOD = 0 x2020; /; /置置T1T1为为8 8位自动重装方式位自动重装方式TL1 = 0 xfd;TL1 = 0 xfd;TH1 = 0 xfd; /TH1 = 0 xfd; /波特率波特率96009600TR1 = 1; TR1 = 1; 76543210SCONSM0SM1SM2RENTB8RB8TIRI字节地址:98Hucharuchar ReceiveCharReceiveChar() () ucharuc
54、har chch; ;while (!RI); while (!RI); /等待接收完等待接收完chch = SBUF; = SBUF; RI = 0; RI = 0; return (return (chch);); void void SendChar(ucharSendChar(uchar chch) ) SBUF = SBUF = chch; ; /发送字符发送字符while (!TI); while (!TI); /等待发送完等待发送完TI = 0; TI = 0; /清标志清标志 通信程序的扩充与完善通信程序的扩充与完善通讯协议:通讯协议:n 每帧:每帧:数据数据8 8位,起始位位
55、,起始位1 1位,停止位位,停止位1 1位,无检位,无检验,波特率验,波特率96009600。 n PC PC机作为主机,机作为主机,主机命令主机命令由由4 4个字符形成的字符个字符形成的字符串构成,首字符串构成,首字符$是同步头,次字符为命令关是同步头,次字符为命令关键字,其他键字,其他2 2个字符未定义。个字符未定义。n设命令设命令关键字为关键字为1 1时时,单片机要将缓冲区的数据,单片机要将缓冲区的数据以由以由前至后的顺序前至后的顺序发送到发送到PCPC机端;当命令机端;当命令关键字为关键字为2 2时时,单片机要将缓冲区的数据以由,单片机要将缓冲区的数据以由后至前的顺序后至前的顺序发送到
56、发送到PCPC机端,其他关键字未定义。机端,其他关键字未定义。 v单片机端程序:单片机端程序:void void DataInit(voidDataInit(void) ) / /设置缓冲区调试数据设置缓冲区调试数据ucharuchar i; i;for(ifor(i=0;i10;i+)=0;i10;i+)OutBuffiOutBuffi=i+0 x30; =i+0 x30; void void SPortInit(voidSPortInit(void) ) TMOD |=0 x20; TMOD |=0 x20; SCON=0 x50; SCON=0 x50; TH1=0 xfd; TH1=0
57、 xfd; TL1=0 xfd; TL1=0 xfd; TR1=1; TR1=1; ES = 1; ES = 1; EA = 1; EA = 1; void void SendCharSendChar(uchar(uchar chch) ) SBUF = SBUF = chch; /; /发送字符发送字符while (!TI); /while (!TI); /等待发送完等待发送完TI = 0; TI = 0; void void SPortIsrSPortIsr () interrupt 4 () interrupt 4 ucharuchar i,chi,ch; ; ES=0; ES=0; chch = SBUF; = SBUF; RI=0; RI=0; if(chif(ch= =0 x24) /= =0 x24) /检测检测$ InBuff0= InBuff0=chch; ; for(ifor(i=1;i4;i+) =1;i4;i+) while (!RI); while (!RI); RI=0; RI=0; InBuffiInBuffi = SBUF; = SBUF; InFullFlagInFullFlag=1;=1; ES=1; ES=1; void void main(voidmain(void) ) DataInitDataInit();(); SPortInitSP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF(石化)087-2023涂料耐溶剂擦拭仪校准规范
- 福建医科大学《侵权责任法》2025-2026学年期末试卷
- 南昌工学院《政策与法律法规》2025-2026学年期末试卷
- 安徽绿海商务职业学院《病原微生物与免疫学》2025-2026学年期末试卷
- 厦门软件职业技术学院《音乐教学导论》2025-2026学年期末试卷
- 江西应用科技学院《刑法学》2025-2026学年期末试卷
- 武夷山职业学院《口腔工艺技术》2025-2026学年期末试卷
- 江西理工大学《临床微生物学及检验》2025-2026学年期末试卷
- 合肥科技职业学院《微观经济学现代观点》2025-2026学年期末试卷
- 宁德师范学院《中医方剂学》2025-2026学年期末试卷
- 点菜英语教学课件
- 训犬基本知识培训课件
- DB32-T 5160-2025 传媒行业数据分类分级指南
- 随州国投面试题目及答案
- 电频炉买卖合同协议书范本
- 产业集群资金管理办法
- 《应用文写作》高职应用文全套教学课件
- 祠堂修建计划方案(3篇)
- 公司作风纪律管理制度
- JG/T 547-2018风光互补路灯装置
- 皮肤新药生产基地及研发试验中心环评资料环境影响
评论
0/150
提交评论