版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 8051串行口 及串行通信技术9.1 串行通信基本知识9.2 串行口及应用9.3 RS-232C标准接口总线9.4 8051与8051点对点通信9.5 8051与PC机间通信软件的设计9.6 PC机与多个单片机间的通信9.1 串行通信基本知识9.1.1 数据通信1、什么是通信?计算机的CPU与外部设备之间、计算机与计算机之间的信 息交换称为通信。2、通信方式串行通信和并行通信。如果距离小于30米可采用并行通信 方式;当距离大于30米时采用串行通行方式。(1)并行通信并行通信是指数据的各位同时进行传送(发送或接收)的 通信方式。其优点是传送速度快;缺点是数据有多少位,就需 要有多少根传送
2、线。因此并行通信在位数多、传送距离又远时 就不太适合了。(2)串行通信串行通信指数据是一位一位按顺序传送的通信方式。它 的突出优点是只需一对传输线,这样就大大地降低了传输成 本,特别适用于远距离通信;其缺点是传送速度较低。下图为两种方式的连接图:9.1.2 串行通信的传输方式串行通信的传送方向通常有三种:(1)单向(或单工)配置,只允许数据向一个方向传送。(2)半双向(或半双工)配置,允许数据向两个方向中的任 一方向传送,但每次只能有一个站点发送。(3)全双向(或全双工)配置,允许同时双向传送数据。串行通信传输方式如下图所示。乙9.1.3 异步通信和同步通信一、异步通信案kb字将名堂<&
3、#167;8位效据3S位空闲位*e+l个字符在异步通信中,数据是一帧一帧(包括一个字符代码或一 字节数据)传送的,每一帧数据的格式如下所示:O o/”O/V 0/11 0/11 O/“O/】I 0/11 0/11。71| I i (b>二、同步通信同步通信中,数据开始传送前用同步字符来指示(常 约定1个2个),并由时钟来实现发送端和接收端同步,即 检测到规定的同步字符后,下面就连续按顺序传送数据, 直到通信告一段落。为了保证接收工作正确无误,发送方除了传送数据外, 还要同时传送时钟信号。同步传送可以提高传送速率(达56KB/S或更高),但 硬件比较复杂。同步传送时,字符与字符之间没有间隙
4、,也不用起始 位和停止位,仅在数据开始时用同步字符SYNC来指示,其 数据格式如下图所示:同步字符1 ,同步字符2i n I n i n 卜效川i数据i数据同步字符同步字符的插入可以是单同步字符方式或双同步字符 方式,然后是连续的数据块。同步字符可以由用户约定, 当然也可以采用ASCII码中规定的SYNC代码,即16H。按 同步方式通信时,先发送同步字符,接收方检测到同步字 符之后,即准备接收数据。三、波特率(Baud rate)波特率,即数据传送速率,表示每秒钟传送二进制代码的 位数,它的单位是B/S。波特率对于CPU与外界的通信是很重 要的。异步通信的传送速率在50B/S19200B/S之
5、间,常用于计算 机到终端机和打印机之间的通信、直通电报以及无线电通信的 数据发送等。9.1.4 串行通信的过程及通信协议一、串并转换与设备同步两个通信设备在串行线路上成功地实现通信必须解决两 个问题:即串并转换和设备同步。1、串并转换2、设备同步设备同步对通信双方有两个共同要求:通信双方必须采用统一的编码方法;通信双方必须能产生相同的传送速率。二、串行通信协议通信协议是对数据传送方式的规定,包括数据格式定义 和数据位定义等。通信双方必须遵守统一的通信协议。串行 通信协议包括同步协议和异步协议两种。异步协议包括: 1、数据格式:数据位、奇偶校验位、停止位约定 5、波特率设置6、握手信号约定9.2
6、 串行口及应用9.2.1 8051 串行口一、结构、结构如下图所示:9.2 串行口及应用9.2.1 8051 串行口一、结构移位时钟 n n 11二、串行口控制字及控制寄存器SCON(98H). PCON (87H)1、SCON (98H):可位寻址 D7 D6 D5 D4 D3 D2 DI D0SM0SM1SM2RENTB8RB8TIRI(1) SM0和SM1串行口工作方式选择位,共有四种选择方式。SM0SM1工作方式说明波特率00方式0同步移位寄存器Fosc/1201方式110位异步收发由定时器控制10方式211位异步收发Fosc/32 f<>sc/6411方式311位异步收发
7、由定时器控制(2)SM2多机通信控制位,主要用于方式2和方式3当SM2=1时,允许多机通讯。多机通讯协议规定,第9 位数据(D8)为1,说明本帧数据为地址帧,若第9位数据为 0,则本帧为数据帧。若SM2=0,则不属于多机通讯情况,则接收一帧数据后, 不管第9位数据是0还是1,都置RI=1,接收到的数据装入 SBUF 中(3) REN允许接收控制位由软件置1或清0,只有当REN=1时才允许接收。(4) TB8一发送数据的第9位(D8)装入TB8中。在方式2、 3中由编程设定,在方式0、1中没用。(5) RB8接收数据的第9位在方式2、3中,接收到的第9位数据放在RB8中,它或 是奇偶校验位,或为
8、地址/数据标志位;在方式1中,若 SM2=0, RB8中存放的是已接收到的停止位,在方式0中该位没用。(6) TI发送中断标志该位在一帧数据发送完时被置位,中断响应时不会自动清0,必须由软件清0。(7) RI接收中断标志2、PCON (87H)电源控制寄存器PCON中只有SMOD位与串行口工作有 关。2、PCON (87H)D7SMODSMOD (PCON.7) 波特率倍增位。在串行口方式1、2、3 时,波特率和2Smod成正比,即SMOD=1时,波特率提高一倍。复 位时,SMOD=0«三、串行通信工作方式串行口方式0、方式1、方式2和3的帧格式: D0DlD2D3D4D5D6D7
9、方式1以10位为一帧传输,设有J个起始位(0),8个教据位和1个停止位(1)。其帧格式 为起始 DO Dl D2 D3 D4 D5 D6 D7 停止方式2和方式3以11位为1帧传输,设有1个起始位(0),8个数据位,1个附加第9位司 1个停止位(1)。其帧格式为起始 DO Dl D2 D3 D4 D5 D6 D7 D8 停止附加第9位(D8)由软件置1或清0。发送时在TB8中,接收时送RB8中。1、串行口方式0:同步移位寄存器输入腌出方式以8位数据为一帧,不设起始位和停止位,先发送最低位。 RXD为数据,TXD为移位脉冲,波特率为fosc/12方式0常用于扩展并行I/O 口,其扩展电路如下:R
10、xrx«m)1XDC移位时仲)TI4 5 6 . 10 11 12 13n_n_n_rurvn_n_rxj 一(b)机网期守 900WRI十5Vsi-s« _nRXD(敷恻)'1XD移位时”Lrun_ru_n_n_n_rTJ(b)2、串行口方式1: io位通用异步接口收发一帧数据的格式为1位起始位,8位数据位、1位停止位,在接收时,停止位进入SCON的RB8。 RXD发送数据端,TXD接受数据端波特率可变时?L_n_jLrL_n_n_n_rL_Rji_L_n_JLi 与“SBUL 口SEND起始位<m>cr>cx>G5r>c>&l
11、t;rx5rxi71RX 时忡 _n_n_TLJLJTJl_rLJLLLT_I位检神采样皿阳叩叩叩印用叫皿皿RXD起始位D2XD3B5X 06X07.停止位RI 图9-12 方式1发送和接收时序3、串行口方式2、3: 11位通用异步接口收发一帧数据的格式为1位起始位,8位数据位、 1位可编程第9位和1位停止位。在接收时,第9位进入 SCON 的 RB8。 RXD一发送数据端,TXD一接受数据端方式2波特率固定;方式3波特率可变四、波特率设计I、方式0的波特率方式0的波特率是固定的,即fosc/12。2、方式2的波特率方式2的波特为2Smod/64 * fosc,即为晶振频率的32分频 或64分
12、频。3、方式1和方式3方式1和3的波特率=2Smod/32 * T1溢出速率定时器1方式波恃率foscSMODC/T模式定时器初值方式01M12XXXX方式2375K121XXX187.5K120XXX方式1、 362.5K12102FFH19.2K11.059102FDH9.6K11.059002FDH4.8K11.059002FAH2.4K11.059002F4H1.2K11.059002E8H例、8051单片机时钟振荡频率为1L0592MHZ,选用定时益 T1工作模式2作为波特率发生器,波特率为2400B/S,求初 值。解:设波特率控制位SMOD=0X=256 - (11.0592* 1
13、06 * (0 + 1) / (384 * 2400)=244 = F4H9.2.2 8051串行口应用一、串行口方式0的应用方式。时是同步操作,外接串入并出或并入串出器件,可 实现I/O的扩展。例:用8031串行口外接CD4049或164串入并出移位寄存器扩展8位并行口; 8位并行口的每位都接一个发光二极管,要求 发光二极管从左到右以一定延迟轮流显示,并不断循环。设 发光二极管为共阴极接法,如下图所示:解:设数据串行发送采用中断方式,显示的延迟通过调用延 迟程序DELAY来实现。ORG 0023H ;串行口中断入口AJMP SBR ;转中断服务程序ORG 2000H ;主程序整始地址MOV
14、SCON, #00H ;串行口方式。初始化MOV A, #80H ;最左一检二极管先亮CLR P1.0 ;关闭并行输出MOV SBUF, A;开始串行输出LOOP: SJMP LOOP;等待于断SBR: SETB P1.0 ;启动并行输出ACALL DELAY;显示延时一段时间CLR TI ;清发送中断RR A ; 准备右边一位显示CLR P1.0 ;关闭并行输出_MOV SBUF, A ;再一次串行输出RETI ;中断返回例、用8051串行口外加移位寄存器CD4014 (或165、166)扩展8位输入口,输入数据右8位开关提供,另有一个开关K提供联络信号。当1<=。时,表示要求输入数据
15、,输入的8位 为开关量,提供逻辑模拟子程序的输入信号,如下图所示:解:串行口方式。的接收要用SCON寄存器中的REN位作为开 关来控制。因此,初始化时,除了设置工作方式之外,还要 使REN位为1,其余各位仍然为0对RI采用查询方式来编写程序,当然,先要查询开关K是 否闭合。START: JB Pl.l, START ;开关未闭合等待SETB P1.0 ;并行置入数据CLR P1.0 ;准备串行移位输入MOV SCON, #10H;方式0, REN为1启动接收JNB RI, $ ;查询RICLR RI ;查询结束,清RIMOV A, SBUF;读数据到累加器ACALLLOGSIM ;进行逻辑模拟
16、SJMP START ;准备下一次模拟例:串口控制的键盘/显示器接口。静态显示方式。 采用共阳极LED。接口电路如图所示:键盘扫描和显示子程序:显示缓冲区58H5FH (8位),60H存缓冲区指针初值58HKEY:MOVMOVA, #00H SBUF, AKLO:JNBTL KLO;等待8位数据发送完CLRTIKL1:JNBP1.0, PK1;第一行有键按下,转JBPLL KL1;第二行无键按下,转扫描PK1:ACALLD10MSJNBP1.0, PK2;第一行有键按下,转JBPl.b KL1;第一、二行无键按下,转扫描PK2:MOVR7, #08H;有按键,逐列扫描MOVR6, #0FEH;
17、选中0列MOVR3, #00H;记列号PL5:MOVA, R6;使某一列为低MOVSBUF, A;KL2:JNBTL KL2CLR JNB JNB MOVRL MOV INCTIPLO, PK4;是第一行有按键,转Pl.l, PK5;是第二行有按键,转A, R6;不是本列,继续R6, R3DJNZ RETR7,A;列号加1PL5;未到8列,转;扫描8列未找到,退出PK5:MOVAJMPR4, #08H;送第二行行首初值PK3;转键处理PK4:MOVR4, #00H;送第一行行首初值PK3:MOVA,等待释放键MOVSBUF, AKL3:JNBTL KLO;等待8位数据发送完CLRTIKL4:J
18、NBPLO, KL4;JNBPL1, KL4;MOVA, R4;取键号ADDA, R3SUBBA, #OAH;足命令键吗?JNCKL6;是,转命令键处理MOVDPTR, #TABL;字形码表初值送DPTRADI)A, #OAH;恢复键号MOVCA, ©A+DPTRMOVRO, 60H;取显示缓冲区指针MOVRU, A;存字形码INCR0CJNERO, #60H, KD;不到显示缓冲区末,转MOV60H, #5«H;缓冲区首址送6()HSJMPKD1K»:MOV60H , R0KD1:ACALL RETLEDKL6:MOVB, #03HMULABMOVDPTR, #
19、KTABJMPA+DPTRKTAB;LJMPKILJMPK3TABL:DBCOH, F9H, A4H, BOH, 99H,LED:SETBPl.2;开放显示器控制MOVR7, #08HMOVRO, #58HLED1:MOVA, R0MOVSBUF, ALED2:JNBTI, LED2CLRTIINCRODJNZR7, LED1CLRPl.2 ;各位送完,关闭控制RET92H, 82H, F8H, SOH, 90H二、串行口方式1的发送和接收例、8031串行口按双工方式收发ASCH字符,最高位用来作为 奇偶校验位,采用奇校验方式,要求传送的波特率为1200B/S, 编写有关的通信程序。解:7位A
20、SCII码加1位奇偶校验共8位,故可采用串行口方式1。发送缓冲区首址为20H,接收缓冲区首址为40H,频率为 6MHZ。主程序:MOV TMOD, #20H;定时器1设为模式2MOV TL1, #0F3H;定时器初值MOV TH1, #0F3H; 8位重装值SETB TR1;启动定时器1MOV SCON, #50H;将串行口置为方式1, REN =1MOV RO, #20H ;发送数据区首地址MOV RI, #40H ;接收数据区首地址ACALL SOUT ;先输出一个字符SETB ESSETB EA等待中断中断入口 转服务程序LOOP: SJMP LOOP; 中断服务程序:ORG 0023H
21、;AJMP SBR1;ORG 0100H;SBR1: JNB RI, SEND; RI=0即TI=1 为发送中断ACALL SIN; RI=1为接收中断SJMP NEXT; 转至统一出口SEND: ACALL SOUT;调发送子程序NEXT: RETI;中断返回发送子程序:SOUT: CLR TIMOV A, R0;取发送数据到AMOV C, P;奇偶标志到CCPL C; 奇校验MOV ACC.7, C;加到ASCII码高位INC RO ;修改发送数据指针MOV ABUF, A;发送ASCII RET;返回接收子程序:SIN : CLR RI;MOV A, SBUF;读出接收缓冲区内容MOV
22、C, P;取出校验位CPL C; 奇校验ANL A, #7FH;删除校验位MOVR1, A;读入接收缓冲区INCRET:RI;修改接收数据指针讴向三、串行口方式2、3的发送和接收方式2与3基本一样(只是波特率设置不同),接收/发送11位信息:开始为1位起始位(0),中间9位数据,最后是一位停止位(1)。例、用第9个数据位作奇偶校验位,编制串行口方式2的发送 程序。解:设计一个发送程序,将片内RAM50H5FH中的数据串 行发送,串行口设定为方式2, TB8作奇偶校验位,采用偶校验,在数据写入发送缓冲器之前,先将数据的奇偶位P写ATB8o程序清单如下:TRT: MOV SCON, #80H;方式
23、2设定MOV PCON, #80;取披希奉用fosc/32MOV RO, #50H;首地址50H送ROMOV R7, #10H;数据长度 10H送R7LOOP: MOV A, R0;取数据到AMOV C, PSW.O;取P至!JTB8MOV TB8, C;MOV SBUF, A;数据送SBUF,启动发送WAIT: JBC TL CONT;判断发送中断标志 SJMP WAITCONT: INC RO DJNZ R7, LOOP RET例9U:编制一个接收程序,将接收的16B数据送入片内 RAM的50H5FH单元中。设串行口工作于方式3,波特奉为 2400B/S o解:方式3为11位异步通讯方式,
24、波特率取决于T1的溢出率。 查表92可知,当晶振为11.059MHZ,波特率为2400B/S时, 可取SMOD=0, T1的计数初值为F4H。程序为:MAIN:MOV MOV MOV SETB MOV MOV MOV MOVTMOD, #20H;设T1工作于方式2TH1, #0F4;TL1, #0F4;:循环计数初值浒数值TRI;启动定时器1RO, #50H;首地址送ROR7, #10H;数据长度送R7SCON, #0D0H;串口方式3,可接收PCON, #00H;设SMOD=0WAIT: JBC RL PR1;接收完一帧数据清RL转PR1SJMP WAIT;否则等待PR1: MOV A, S
25、BUF;读入数据JNB P, PNP; P=0彝PNPJNB RB8, PER; P=l, RB8=0,转出错处理SJMP RIGHTPNP; JB RB8, PER; P=(), RB8=1, 转出错处理RIGHT: MOV R0, A;数据送内存INC RO;修改地址指针DJNZ R7, WAIT;数据未接收完继续CLR PSW.5;置正确接收完标志F0=0RET;PER: SETB PSW.5 RET9.3 RS.232C标准接口总线及串行通信硬件设计在实现计算机与计算机、计算机与外设间的串行通信时, 通常采用标准通信接口。这样就能很方便地把各种计算机、 外部设备、测量仪器等有机地连接起来,进行串行通信。RS-232C是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广的标准总线。它包括了按位串行传输 的电气和机械方式的规定,适用于短距离或带调制解调器的 通信场合。9.3.1 RS232C标准接口总线RS-232C接口的具体规定如下:(1)范围RS232C标准适用于DCE (数据电路终端设备)和DTE(数据终端设备)间的串行二进制通信,最高的数据速率为19.2Kb/so如果不增加其它设备,RS232c标准的电缆长度大为15米。(2) RS-23
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔局麻术考试试题及答案
- 2026三年级数学下册 位置与方向探究活动
- 智能家居应用:2026年家庭生活便捷化考试及答案
- 中小学乐理考试题及答案
- 人禽流感知识试题及答案
- 企业领导出差补助及报销制度
- 企业应建立安全隐患排查制度
- 产业园上墙制度
- 五金厂品质管理奖惩制度
- 物流高危行业奖惩制度
- 2024年湖南长郡中学丘成桐少年班选拔数学试题(含答案)
- 儿科常见疾病护理常规
- 2025年四川省高考化学试卷真题(含答案解析)
- 网络工程师第1讲课件
- 2025年湖南省长沙市中考语文真题(解析版)
- T/CAQI 96-2019产品质量鉴定程序规范总则
- 路亚快艇转让协议书
- 企业自行监测指南培训
- 2025中考英语作文复习:12个写作话题写作指导+满分范文
- 证书合作合同协议
- 尾矿坝工程项目施工方案
评论
0/150
提交评论