617-第一讲 80C51的串行接口.ppt

上传人:本田雅阁 文档编号:3022283 上传时间:2019-06-26 格式:PPT 页数:44 大小:866.51KB
返回 下载 相关 举报
617-第一讲 80C51的串行接口.ppt_第1页
第1页 / 共44页
617-第一讲 80C51的串行接口.ppt_第2页
第2页 / 共44页
617-第一讲 80C51的串行接口.ppt_第3页
第3页 / 共44页
617-第一讲 80C51的串行接口.ppt_第4页
第4页 / 共44页
617-第一讲 80C51的串行接口.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《617-第一讲 80C51的串行接口.ppt》由会员分享,可在线阅读,更多相关《617-第一讲 80C51的串行接口.ppt(44页珍藏版)》请在三一文库上搜索。

1、模块四:单片机接口技术串行口,第一讲 80C51的串行接口,模块四:单片机接口技术串行口,学习目标:,单片机串行通信I/O接口的结构 串行通信控制寄存器 单片机串行通信的工作方式 以及串行通信应用。,模块四:单片机接口技术串行口,一、 串行通信基本概念,通讯:信息交换,计算机 计算机,计算机 外设,应用:多机系统、计算机网络,方 式,并行通信,串行通信,异步通信方式按字符传输,同步通信方式按数据块传输,单工 半双工 全双工,模块四:单片机接口技术串行口,并行通信:数据多位同时传送,控制简单,传输速度快,传输线较多,模块四:单片机接口技术串行口,串行通信:数据字节一位一位在一条传输线上逐个传送。

2、,传输线少,可利用电话网,但传送控制复杂。,模块四:单片机接口技术串行口,异步通信:收、发设备使用各自时钟 。,字符之间是异步的,但同一字符内是同步的(各位间距均为”位间隔”的整数倍),模块四:单片机接口技术串行口,同步通信:发送方时钟与接收方时钟同步。既保持位同步,也保持字符同步。,外同步 自同步,保持位同步,也保持字符同步.,模块四:单片机接口技术串行口,单工 半双工 全双工 例如:广播 大哥大 手机,串行通信的传输方向,模块四:单片机接口技术串行口,传输速率 比特率:每秒钟传输二进制代码的位数bps 波特率:每秒钟调制信号变化的次数。 单位是:波特(Baud)。 例如:数据传送的速率为1

3、20个字符每秒,每个字符由1个起始位、8个数据位和1个停止位组成,则其传送波特率为: 10b120s1200bs1200波特 传输距离与传输速率的关系: 传输距离随传输速率的增加而减小。,传输速率与传输距离,模块四:单片机接口技术串行口,1、RS-232C接口 EIA(美国电子工业协会)1969年修订RS-232C标准,它定义了DTE与DCE间的物理接口标准。,二、串行通信接口标准,模块四:单片机接口技术串行口,过程特性 规定了信号间的时序关系 。,机械特性 使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头),功能特性:,电气特性 : 负逻辑,DC(-3-15v)为1。

4、 DC(+3+15v)为0, DC(-3+3v)为过渡区。,模块四:单片机接口技术串行口,近程通信连接,远程通信连接,模块四:单片机接口技术串行口,2、PC与外设的RS-232直接连接,模块四:单片机接口技术串行口,PC机与单片机串行通信接口示意图,模块四:单片机接口技术串行口,三、串行接口的结构,主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器,以及一个串行控制寄存器SCON(TIRI)等组成。,A,SCON,模块四:单片机接口技术串行口,设定工作方式、接收/发送控制以及设置状态标志,1、80C51串行口的控制寄存器-SC0N,SM0 SM1 SM2 REN TB8 RB8 TI RI,

5、SCON (98H),SM0、SM1:工作方式设置位,0 0:移位寄存器 ,fosc/12 0 1:10位异步收发器(8位数据),波特率可变 1 0:11位异步收发器(9位数据),fosc/64或fosc/32 1 1:11位异步收发器(9位数据),波特率可变,模块四:单片机接口技术串行口,SM2,多机通信控制位。 主要用于方式2和方式3。对于接收机 SM2=0,收到RB8(0或1)既可使收到的数据进入SBUF,并激活RI。 SM2=1,收到的RB80时,收到的信息丢弃,不激活RI ;若收到的RB81时,收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走。 方式0时,SM

6、2必须是0。 方式1时,SM2=1时,只有接收到有效停止位时,RI才激活。,REN,允许串行接收位。 置REN=1,启动串口接收过程 置REN=0,则禁止串口接收,模块四:单片机接口技术串行口,TB8,在方式2、3中,是发送数据的第9位 数据的奇偶校验位 地址帧/数据帧的标志位,RB8,在方式2、3中,是接收到数据的第9位 奇偶校验位 地址帧/数据帧的标志位。 方式1时,若SM2=0,则RB8是接收到的停止位。,模块四:单片机接口技术串行口,TI,发送中断标志位。 方式0时,串行发送第8位数据结束时 其它方式,串行发送停止位的开始时 硬件使TI置1,发中断申请。必须在中断服务程序中用软件将其清

7、0。,RI,接收中断标志位。 方式0时,串行接收第8位数据结束时 其它方式,串行接收停止位的中间时 硬件使RI置1,发中断申请。必须在中断服务程序中用软件将其清0。,模块四:单片机接口技术串行口,2、PCON :,SMOD, 波特率倍增位。 在方式1、2、3时,波特率与SMOD有关: SMOD=1时,波特率提高一倍。复位时SMOD=0。,SMOD,PCON (97H),模块四:单片机接口技术串行口,四、80C51串行口的工作方式,1方式0_ 8位数据 串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。TXD引脚输出同步移位脉冲,RXD引脚串行输入

8、/输出。,方式0接收和发送电路,模块四:单片机接口技术串行口,方式0掌握:,1、8位数据,波特率为F0SC/12 2、低位在前,高位在后 3、TI,再发送数据,软件清0,CLR TI 4、RI,再接收数据,软件清0,CLR RI 5、同步通信,无起始位和停止位,模块四:单片机接口技术串行口,2方式1_ 10位数据 在方式l时,串行口被设置为波特率可变的8位异步通信接口。发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和,10位数据的异步通信。帧格式如图所示.,模块四:单片机接口技术串行口,方式1掌握:,1、一帧为10位信息,1位起始(0),8位数据,1位停止(1) 2、波

9、特率=P127 3、异步通信 4、接收时,RB8里是停止位,数据位在SBUF(SM2=0),模块四:单片机接口技术串行口,3方式2_ 11位数据 串行口工作为方式2时,被定义为9位异步通信接口。发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。控制/校验位为第9位数据。 4方式3_ 11位数据 方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余同方式2。,11位数据的异步通信,模块四:单片机接口技术串行口,工作方式掌握:,1、几中工作方式波特率不同 2、传送的位数不同,方式0是8位(数据位),方式1是10(8位数据SBUF,1个起始、1位停

10、止RB8),方式2和方式3都是11位(8位数据,1位控制/校验位RB8、TB8,1位起始和1位停止位) 3、方式0是同步,方式1、2、3是异步,模块四:单片机接口技术串行口,5、波特率的计算 方式0、2的波特率是固定的,而方式1、3的波特率是可变的,由定时器T1的溢出率来决定。,方式0波特率 = fosc/12 方式2波特率 =(2SMOD/64) fosc 方式1波特率 =(2SMOD/32)(T1溢出率) 方式3波特率 =(2SMOD/32)(T1溢出率),K为定时器T1的位数。,模块四:单片机接口技术串行口,1、 单片机与单片机的通信,点对点的通信 硬件连接,五、单片机串行口应用举例,模

11、块四:单片机接口技术串行口,串行口初始化具体步骤: 确定T1的工作方式(编程TMOD寄存器); 计算T1的初值,装载TH1、TL1; 启动T1(编程TCON中的TR1位); 确定串行口控制(编程SCON寄存器);,串行口在中断方式工作时,还要进行中断设置(编程IE、IP寄存器)。,模块四:单片机接口技术串行口,2、多机通信 硬件连接 主从系统 在实际系统中,常采用RS-485标准进行数据传输。,模块四:单片机接口技术串行口,六、单片机与PC机的通信,应用系统设计中,单片机与PC机可以方便地组合成分布式控制系统。主计算机监督管理各子系统分机的运行状况。其特点是灵活性好、可靠性高。,模块四:单片机

12、接口技术串行口,DOS环境下,要实现通信只要直接对微机接口芯片8250进行口地址操作即可,WINDOWS环境下,不允许用户直接操作串口地址。可以调用API函数,但较为复杂。使用 VB通信控件(Mscomm)很容易完成通信任务,VB简明易用,实用性强。它具备基本的串行通信能力:即通过串行口发送和接收数据。,模块四:单片机接口技术串行口,MSComm控件主要属性如下: CommPort:设置并返回通信端口号; Settings: 以字符串的方式设置并返回波特率、奇偶校验、数据位、停止位; PortOpen:设置并返回端口的状态,也可以打开和关闭端口; Input: 从接收缓冲区返回字符和删除字符;

13、 Output: 向传输缓冲区写一个字符。,模块四:单片机接口技术串行口,单片机程序清单如下:,ORG 3000H MAIN:MOV TMOD,#20H ;在11.0592MHz下,串行口波特率 MOV TH1,#0FDH ;9600bps,方式3 MOV TL1,#0FDH MOV PCON,#00H SETB TR1 MOV SCON,#0D8H LOOP:JBC RI,RECEIVE ;接收到数据后立即发出去 SJMP LOOP RECEIVE:MOV A,SBUF MOV SBUF,A SEND:JBC TI,SENDEND SJMP SEND SENDEND:SJMP LOOP,模块

14、四:单片机接口技术串行口,七、 单片机串行口的应用,1、 串行口扩展显示器 【例1】用8位串入并出移位寄存器74HC164扩展显示器。,模块四:单片机接口技术串行口,【例2】 :把数据从显示缓冲区送到数码管。 入口;将要显示的数放在以DIS0为首的8个单元中。 出口:把预置的数输出以更新原有的显示。,MOV R2,08H ;显示8个数码管 MOV R0,DIS7 ;显示缓冲区未地址送入R0 DL0:MOV A,R0 ;取要显示数作查表偏移量 MOV DPTR,TAB ;指向字形表首 MOVC A,ADPTR;查表得字形码 MOV SBUF,A ;发送显示 DL1: JNB T1,DL1 ;等待

15、发送完一帧 CLR T1 ;清中断标志,准备继续发送 DEC R0 ;更新显示单元 DJNZ R2,DL0 ;重复显示所有数码管 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4, DB 92H,82H,0F8H,80H,90H;5,6,7,8,9, DB 88H,83H,0C6H,0A1H,86H;A,B,C,D,E, DB 8EH,0BFH,8CH,0FFH;F,P,暗,模块四:单片机接口技术串行口,2、 串行口扩展的键盘,在方式0下,串行口作同步移位寄存器用,以8位数据为一帧,先发送或接收最低位,每个机器周期发送或接收一位,故其波特率是固定的,为fosc

16、12。串行数据由RXD(P3.0)端输入或输出。,模块四:单片机接口技术串行口,CJNE R1,08,LP1 SJMP RCVI N1:MOV A,R0 ADD A,A JMP ADPTR TAB:AJMP OPR0 AJMP OPR1 AJMP OPR7 OPR0: LJMP START OPR7: LJMP START END,ORG 0100H START: MOV R7,20 MOV R0,50H MOV DPTR,#TAB RCVI:MOV SCON,10H JNB RI,$ CLR RI MOV A,SBUF MOV R0,#0 MOV R1,#0 LP1:RRC A JNC N1

17、 INC R0 INC R1,模块四:单片机接口技术串行口,3 双机通信,编程使乙机从甲机接收16个字节数据块,并存入片外3000H300FH单元。接收过程中要求判奇偶校验标志RB8。若出错则置F0标志为1,若正确则置F0标志为0,然后返回。,【例3】编程把甲机片内RAM50H5FH单元中的数据块从串行口输出。定义在方式3下发送,TB8作奇偶校验位。采用定时器1方式2作波特率发生器,波特率为1200波特,fosc110592MHz,预置值TH10E8H。,模块四:单片机接口技术串行口,发送子程序如下:,MOV TMOD,#20H ;设置定时器1为方式2 MOV TL1,0E8H ;设预置值 M

18、OV TH1,0E8H SETB TRI ;启动定时器1 MOV SCON,0C0H ;设置串行口为方式3 MOV PCON,00H ;SMOD0 MOV R0,#50H ;设数据块指针 MOV R7,10H ;设数据长度10H TRS: MOV A,R0;取数据送至A MOV C,P MOV TB8,C ;奇偶位P送至TB8 MOV SBUF,A 启动发送 WAIT: JNB TI,$ ;判1帧是否发送完 CLR TI INC R0 ;更新数据单元 DJNZ R7,TRS ;循环发送至结束,模块四:单片机接口技术串行口,接收子程序编程如下:,MOV TMOD,20H ;设置定时器1为方式2

19、MOV TL1,0E8H ;设预置值 MOV TH1,0E8H SETB TR1 ;启动定时器1 MOV SCON,0C0H ;设置串行口为方式3 MOV PCON3,00H ;SMOD0 MOV DPTR,3000H ;设置数据块指针 MOV R7,10H ;设数据块长度 SETB REN ;允许接收 WAIT: JNB RI,$ ;判1帧是否接收完 CLR RI,模块四:单片机接口技术串行口,MOV A,SBUF ;读入1帧数据 JNB PSW.0,PZ ;奇偶位P为0则跳转 JNB RB8,ERR ;Pl,RB80则出错 SJMP YES ;二者全为1则正确 PZ: JB RB8,ERR

20、 ;P0,RB8l则出错 YES: MOVX DPTR,A ;正确,存放数据 INC DPTR ;修改地址指针 DJNZ R7,WAIT ;判断数据块接收完否 CLR PSW.5 ;接收正确且接收完清F0标志 RET ;返回 ERR: SETB PSW.5 ;出错则置F0标志为“l” RET ;返回,模块四:单片机接口技术串行口,【例4】主机向02号从机发送50H5FH中的数据;02号从机将接收到的数据放到内RAM30H 3FH单元中。,主机程序: ORG 0030H MAIN:MOV SCON,98H M1: MOV SBUF,02H L1: JNB TI,$ CLR TI JNB RI,$

21、 MOV A,SUBF XRL A,#02H JZ RHT AJMP M1,RHT :CLR TB8 MOV R0,50H M1: MOV R7,10H L3: MOV A,R0 MOV SBUF,A JNB TI,$ CLR TI INC R0 DJNZ R7,L3 AJMP MAIN END,模块四:单片机接口技术串行口,从机程序: ORG 0030H MAIN: MOV R0,30H MOV R6,10H SI: MOV SCON,0B0H SR1: JNB RI,$ CLR RI SR2: MOV A,SUBF XRL A,#02H JNZ SR1 CLR SM2 MOV SBUF,#02H JNB TI,$ CLR TI,SR3 :JNB RI,$ CLR RI JNB TB8,RHT SETB SM2 SJMP SR1 RHT: MOV A,SBUF MOV R0 , A INC R0 DJNZ R6,SR3 AJMP SI END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1