




已阅读5页,还剩96页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用教程(C语言版)第7章MCS51单片机的串行口主编周国运中国水利水电出版社2018/1/101第7章MCS51单片机串行口目录71串行通信基本知识72串行口结构及控制73串行口工作方式74串行口应用举例75单片机与PC机通信接口电路2018/1/102本章要点本章主要讲述MCS51单片机串行口的结构、工作原理以及应用。主要内容包括串行通信基本知识、MCS51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。2018/1/10371串行通信基本知识主要内容711数据通信712异步通信和同步通信713波特率714通信方向715串行通信接口种类2018/1/104711数据通信计算机与外界的信息交换称为通信。基本的通信方式有并行通信和串行通信两种。1并行通信单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。2串行通信单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。2018/1/105711数据通信图71并行通信示意图两种通信特点并行通信连线多,速度快,适合近距离通信;串行通信连线少,速度慢,适合远距离通信。图71并行通信示意图图72串行通信示意图RXDTXD89C52GNDTXDRXDGND外部设备2018/1/1061异步通信(时钟不同,甚至频率不同)异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。712异步通信和同步通信图73异步通信的一帧数据格式10/10/10/100/10/10/10/10/10/118位数据第N帧00/1空闲位或停止位起始位停止位校验位空闲位起始位2018/1/1072同步通信(用同一个时钟)在同步通信中,每一数据块发送开始时,先发送一个或两个同步字符,使发送与接收取得同步,然后再顺序发送数据。数据块的各个字符间取消起始位和停止位,所以通信速度得以提高。712异步通信和同步通信图74同步通信数据帧格式2018/1/108713波特率在串行通信中,对数据传送速度有一定要求。波特率表示每秒传送的位数,单位为B/S(记作波特)。例如数据传送速率为每秒钟10个字符,若每个字符的一帧为11位,则传送波持率为11B/字符10字符/S110B/S异步通信的传送速率一般在5019200B/S之间。2018/1/109714通信方向单工方式一对传输线只允许单方向传送数据;半双工方式一对传输线允许向两个方向中的任一方向传送数据,但不能同时进行;全双工方式用两对传输线连接在发送器和接收器上,发送和接收能同时进行。2018/1/1010714通信方向图75串行通信传输方式发送器发送器数据流(B)半双工方式接收器接收器接收器发送器发送器发送器数据流(A)单工方式(C)全双工方式接收器接收器2018/1/1011715串行通信接口种类根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的UART(通用异步串行通信接口)USB(通用串行总线接口)I2C(集成电路间的串行总线)SPI(同步串行外设总线)485总线、CAN总线接口等2018/1/101272串行口结构及控制主要内容721MCS51串行口结构722特殊功能寄存器723波特率设计2018/1/1013721MCS51串行口结构图76串行口方式1、3内部结构示意简图分为三个部分时钟、发送部分、接收部分16发送SBUF99H16输入移位寄存器TXD写SBUF发送程序读SBUF接收程序RITI移位时钟RXD装载SBUF自动12TH1TL1FOSC2SMOD1SMOD0T1溢出率接收SBUF99HP30P312TH2TL2FOSCT2溢出率2018/1/1014722与串行口有关的特殊功能寄存器1控制状态寄存器SCON功能设置串行口的工作方式和标识串行口状态。字节地址98H,可位寻址。复位值00000000B。格式如下D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI2018/1/1015LSM0和SM1(SCON7、SCON6)串行口工作方式选择位。722与串行口有关的特殊功能寄存器SM0SM1工作方式功能说明波特率00方式0同步移位寄存器FOSC/1201方式110位异步通信可变,T1或T2提供10方式211位UART、可多机FOSC/64或FOSC/3211方式311位UART、可多机可变,T1或T2提供LSM2(SCON5)多机通信控制位,在方式2或3中使用。LREN(SCON4)允许接收控制位。设置1,允许接收;清0禁止接收。2018/1/1016LTB8(SCON3)发送数据的第9位。LRB8(SCON2)接收数据的第9位。LTI(SCON1)发送中断标志。LRI(SCON0)接收中断标志。722与串行口有关的特殊功能寄存器关于TI和RI串行发送中断标志TI和接收中断RI是同一个中断源,CPU不知道是发送中断标志TI还是接收中断标志RI产生的中断请求,所以,在全双工通信时,必须由软件来判别。2018/1/1017多机通信实现的原理各个从机的SM2设置为1;主机TB8发送1表明是地址,选择接收机;主机TB8发送0为数据。(1)实现的条件各个从机的SM2设置为1。当SM21时RB81,则保留接收到的数据;RB80则丢弃。(2)实现的方法主机先发送从机地址,并且TB8为1。这时各个从机均可接收此地址,目标从机,则对自己的SM2清0;其它从机保留SM21。主机再发送数据,并且TB8为0这时目标从机正常接收数据,其它从机均丢弃。722与串行口有关的特殊功能寄存器地址2018/1/10182电源控制寄存器PCON电源控制寄存器PCON地址为87H中只有SMOD位与串行口工作有关。D7D6D5D4D3D2D1D0SMODGF1GF0PDIDL722与串行口有关的特殊功能寄存器SMOD(PCON7)波特率倍增位。串行口工作于方式1、方式2和方式3时,SMOD1,串行口波特率加倍。复位值00000000B。不能进行位寻址。2018/1/1019723波特率设计方式0和方式2的波特率是固定的,方式1和方式3的波特率是由定时器T1的溢出率来决定的。在增强型单片机中,也可以使用T2作波特率发生器。1方式0的波特率方式0为同步移位寄存器方式。固定为振荡频率的1/12。并不受PCON寄存器中SMOD位的影响。方式0的波特率FOSC/122018/1/10202方式2的波特率方式2是波特率只有两种(FOSC/64或FOSC/32)、11位的异步通信,可多机通信。时钟接收与发送的时钟直接来自振荡频率FOSC,是FOSC/2,并且还与PCON中SMOD位有关。其波特率为当SMOD0时,波特率为FOSC的1/64;若SMOD1,则波特率为FOSC的1/32。即方式2的波特率2SMODFOSC/64723波特率设计2018/1/10213方式1和方式3的波特率(1)T1作波特率发生器在最典型应用中,定时器T1选用模式2定时,此时N8,设定时器的初值为X于是,X256方式1、3的波特率(T1溢出速率)即波特率/(2N初值)723波特率设计2018/1/1022(2)T2作波特率发生器设寄存器T2CON的位TCLK1和(或)RCLK1时,允许串行口从T2获得发送和(或)接收的波特率。串行口方式1、3的波特率T2溢出率/16定时器2作波特率发生器时,计数在每个状态周期递增。这样方式1、3的波特率FBRCAP2H、RCAP2L65536FOSC/FB/32控制字、模式字T2CON00110100B34HT2MOD00H723波特率设计2018/1/1023主要内容731串行口方式0732串行口方式1733串行口方式2和方式373串行口工作方式2018/1/1024731串行口方式0方式0为同步移位寄存器输入/输出方式,常用于扩展I/O口。RXD为数据输入或输出,TXD输出移位时钟,作为外接部件的同步信号。方式0下,收/发的仅8位数据,无起始位、奇偶校验位及停止位,低位在前、高位在后;波特率是固定的,为FOSC/12,即机器周期频率。启动发送TI0、写SBUF启动接收RI0、REN置12018/1/1025731串行口方式0方式方式0发送方式0接收2018/1/1026731串行口方式011621531441351261171089SH/LDCLKE并F入GH串出QGND74LS165VCC时钟禁止DC并B入A串入QH串出并入/串出11621531441351261171089Q1Q2Q3Q4Q5Q6Q7GND74HC595串入/并出串入Q0DSOEST_CPSH_CPMRQ72018/1/1027731串行口方式0串A入BQAQBQCQDGNDVCCQHQGQFQECLRCLK114213312411510697874LS16411621531441351261171089Q1Q2Q3Q4Q5Q6Q7GND74HC595VCCQ0DSOEST_CPSH_CPMRQ7并出串入/并出串入/并出串入2018/1/1028用串行口方式0扩展并行输出/输入口731串行口方式0发送电路接收电路7SH/LD扩展并行输出扩展并行输入2018/1/1029732串行口方式1方式1真正用于串行发送或接收。TXD与RXD分别用于发送、接收数据。帧格式1位起始位、8位数据位(低位在前)、1位停止位,共10位。在接收时,停止位进入SCON的RB8此方式的波特率可调,由T1或T2控制。SCON01010000B0X501、方式1发送TI0、写SBUF启动发送2018/1/1030731串行口方式0方式方式1接收方式1发送2018/1/1031732串行口方式12、方式1接收1)接收条件SCON中的REN置12)接收过程REN置1后,串行口对接收引脚RXD检测,当RXD由高变低时开始移位接收;接收完后将停止位装入RB8中。3)接收的数据有效的条件两条A、RI0;B、SM20,或者SM21并且RB81满足以上2条,则将8位数据装入SBUF,且RI置1。有以下情况之一则数据无效A)RI1;B)SM21并且RB80注意除了方式2、3的多机通信之外,SM2应清02018/1/1032733串行口方式2和方式3串行口工作在方式2和方式3均为每帧11位异步通信格式,由TXD和RXD发送与接收。方式2和3的操作是完全一样的,不同的只是特波率。每帧11位即1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位。发送时,第9数据位(TB8)可以设置为1或0,在校验时可将奇偶位装入TB8;接收时,第9数据位进入SCON的RB8。SCON10010000B0X90方式2接收SCON11010000B0XD0方式3接收2018/1/103374串行口应用举例主要内容741同步方式应用742异步方式应用2018/1/1034741同步方式应用MSC51单片机的串行口在方式0时,以同步方式操作。外接串入/并出或并入/串出器件,可实现I/O口的扩展。例72用89C52串行口外接74HC595串入/并出移位寄存器扩展8位并行输出口,8位并行输出口的每位都接一个发光二极管,要求8位发光二极管循环点亮。数据的输出通过RXD发送,移位时钟通过TXD送出,74HC595用于串/并转换。2018/1/1035741同步方式应用图713方式0扩展输出电路89C52RXDTXDP36DSOE74HC595SH_CPMRQ7ST_CP级联输出输出清02018/1/1036C语言程序清单INCLUDEINCLUDESBITP1_0P10VOIDMAINUNSIGNEDCHARISCON0X00/串行口方式0初始化ES1EA1WHILE1FORI0ISBITLOAD165P10SBITKEYP112018/1/1046C语言程序清单INCLUDESBITLOAD165P10SBITKEYP11VOIDDELAY10XMSUNSIGNEDCHARX/设晶振为12MHZUNSIGNEDINTIWHILEXFORI0IUNSIGNEDCHARI0,ARRAY16_AT_0X50/数据区VOIDMAINSCON0XC0/置串口方式3,只发TMOD0X20/定时器初始化TL1250TH1250TR11ES1EA1/中断初始化ACCARRAYI/发送第一个数据送TB8P/累加器,目的取P位SBUFACC/发送一个数据WHILE1/等待中断742异步方式应用2018/1/1052VOIDSERIAL_INTINTERRUPT4/串口中断服务程序IFRIRI0ELSETI0/清发中断标志ACCARRAYI/取下一个数据TB8PSBUFACCIFI14/发送完毕,ES0/禁止串口中断742异步方式应用2018/1/1053汇编语言程序清单ORG0000HSJMPMAIN上电,转主程序ORG0023HSJMPSERVER转中断服务程序MAINMOVSP,0DFH设置堆栈指针MOVSCON,0C0H设置串口方式3发送MOVTMOD,20HT1以模式2定时MOVTL1,0F4HMOVTH1,0F4HSETBTR1SETBES允许串行口中断SETBEACPU开中断MOVR0,50HMOVR7,15742异步方式应用2018/1/1054MOVA,R0MOVC,PMOVTB8,C送奇偶标志位到TB8MOVSBUF,A发送第一个数据SJMPSERVERJBCRI,ENDT清除发送中断标志CLRTIINCR0修改数据地址MOVA,R0MOVC,PMOVTB8,CMOVSBUF,A发送下一个数据DJNZR7,ENDT判断数据块是否发送完CLRES否则,禁止串行口中断ENDTRETI中断返回742异步方式应用2018/1/1055例75编写一单片机程序,将从串行口接收的16字节数据送入片内RAM的50H5FH单元中。要求波特率为2400B/S,作奇偶校验,设单片机的晶振频率为110592MHZ。解RB8作奇偶校验位,接收时,将接收到的数据的奇偶校验位与RB8对比,以判断正确与否。将串行口设置为方式3工作。用中断方式接收。742异步方式应用2018/1/1056C语言程序清单INCLUDEUNSIGNEDCHARUNSIGNEDCHARI0,ARRAY16_AT_0X50/定义数据VOIDMAINSCON0XD0/设置串口方式3,允许接收TMOD0X20/T1模式2定时TH10XF4TL10XF4TR11ES1EA1WHILE1742异步方式应用2018/1/1057VOIDINT_SERINTERRUPT4IFTITI0/循环接收16个数据ELSERI0ACCSBUFIFRB8P/校验正确ARRAYIACCIFI15ES0ELSE/校验不正确F01ERR742异步方式应用2018/1/1058C语言程序清单INCLUDEUNSIGNEDCHARIUNSIGNEDCHARARRAY16_AT_0X50/接收缓冲区VOIDMAINSCON0XD0/设置串口方式3,允许接收TMOD0X20/T1模式2定时TH10XF4TL10XF4TR11742异步方式应用2018/1/1059FORI0IUNSIGNEDCHARBUFFER,KVOIDMAINSCON0XD0/置串口方式3,允许接收TMOD0X20/T1以模式2定时TL10XFDTH10XFDTR11ES1/开串行口中断EA1/开总中断742异步方式应用2018/1/1064WHILE1KKEY/读取按键值IFK0XFF/无键按下返回0XFFACCK/将键值送累加器,取P位TB8P/送TB8SBUFACC/发送DISPLAY/显示程序742异步方式应用2018/1/1065VOIDSERIAL_SERVERINTERRUPT4IFTI/发送引起,清TITI0ELSE/否则,接收引起RI0ACCSBUF/读取接收数据IFRB8P/校验正确,BUFFERACC/存入缓冲区742异步方式应用2018/1/1066汇编语言程序清单ORG0000HSJMPMAIN跳转到主程序ORG23HLJMPS_SERV跳转到串口中断服务程序MAINMOVSP,0DFH设置堆栈指针MOVSCON,0D0H串口初始化MOVTMOD,20HT1以模式2定时MOVTL1,0FDHMOVTH1,0FDH定时器1赋初值742异步方式应用2018/1/1067SETBTR1启动定时器1SETBES开中断SETBEALOOPLCALLKEY读取按键存于A中,有键按下返回键值,CJNEA,0FFH,SEND无键按下返回0FFH,有键按下转发送NEXTLCALLDISPLAY调用显示SJMPLOOP主程序循环742异步方式应用2018/1/1068SENDMOVC,PMOVTB8,CMOVSBUF,A带校验位发送LJMPNEXT循环S_SERV;中断服务程序JBCRI,RECV是接收中断转接收处理CLRTI是发送中断,清TIRETI742异步方式应用2018/1/1069RECV接收处理程序MOVA,SBUF取接收值送AJBP,ONE校验位为1,转JBRB8,I_END校验错,转中断返回SJMPRIGHT校验正确,正确处理ONEJNBRB8,I_END校验错,转中断返回RIGHTMOVBUFFER,A接收数据送缓冲区I_ENDRETI中断返回742异步方式应用2018/1/107075单片机与PC机通信的接口电路主要内容761MAX232芯片简介762PC机与89C52串行通信的接口电路2018/1/1071利用PC机配置的异步通信适配器,可以很方便地完成PC机与单片机的数据通信。PC机与89C52单片机最简单的连接是零调制3线经济型,这是进行全双工通信所必须的最少数目的线路。75单片机与PC机通信的接口电路2018/1/1072串行通信电平89C52单片机为TTL电平PC机串行接口是RS232C标准数字值10TTL电平5V0V232电平5V15V5V15V串行通信电平转换用MAX232等芯片75单片机与PC机通信的接口电路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绵阳飞行职业学院《机械振动》2023-2024学年第二学期期末试卷
- 湖南三一工业职业技术学院《法理学》2023-2024学年第二学期期末试卷
- 阜阳科技职业学院《计算机专业英语》2023-2024学年第二学期期末试卷
- 闽江学院《数字信号处理B》2023-2024学年第二学期期末试卷
- 江西师范大学科学技术学院《马克思主义基本原理》2023-2024学年第二学期期末试卷
- 重庆城市职业学院《基础微生物学实验》2023-2024学年第二学期期末试卷
- 绥化学院《地球物理计算方法》2023-2024学年第二学期期末试卷
- 浙江同济科技职业学院《纳米材料合成与表征》2023-2024学年第二学期期末试卷
- 黄河交通学院《小学英语课堂教学观摩》2023-2024学年第二学期期末试卷
- 韩山师范学院《银行综合业务实验实训》2023-2024学年第二学期期末试卷
- 2024年江苏连云港中考满分作文《天呐原来这么有意思》12
- TCAWAORG 032-2024 家庭医生远程与互联网健康服务规范
- 电磁悬浮手术床技术-深度研究
- 大型活动安保人员配置措施
- 大华单元门口机使用说明书
- 2025年春季新北师大版生物七年级下册全册教学课件
- 《社会化网格治理研究的国内外文献综述》5700字
- 水井清理淤泥施工方案
- 1-41届全国中学生物理竞赛预赛试题 第40届(2023年) 含答案
- 建筑业商务礼仪指南
- 烹饪原料知识试题库(含参考答案)
评论
0/150
提交评论