7串行口-单片机电子教案
《单片机串行接口》课件
目录
CONTENTS
• 单片机串行接口概述 • 单片机串行接口的硬件结构 • 单片机串行接口的编程实现 • 单片机串行接口的调试与测试 • 单片机串行接口的应用实例
01
CHAPTER
单片机串行接口概述
定义与特点
定义:单片机串行接口是指单片机与其 他设备或系统之间进行串行通信的接口 。
示波器
用于测量信号的波形和参数,如电压、频率等。
逻辑分析仪
用于分析单片机的串行接口信号,以便于调试和 测试。
串行接口的性能评估
传输速率
评估串行接口的传输速度,确保满足应用需 求。
误码率
评估数据传输的准确性,确保数据传输无误 码。
兼容性
评估串行接口与其他设备的兼容性,以便于 与其他设备进行通信。
05
串行接口的中断处理
中断请求
当串行接口接收到数据或发生错误时,会产生 中断请求信号。
中断服务程序
在中断服务程序中,根据中断类型执行相应的 处理操作,如数据接收或错误处理。
中断优先级
根据实际情况,为不同的中断类型分配不同的优先级,以确保重要中断得到及 时处理。
04
CHAPTER
单片机串行接口的调试与测 试
为了提高数据传输的准确性,可以选择奇校验或偶校 验方式。
串行数据的发送与接收
发送数据
将要发送的数据按照串行 协议打包,并通过串行接 口发送出去。
接收数据
从串行接口接收数据,并 根据协议进行解析,提取 出有用的信息。
数据缓冲
为了提高数据传输的效率 ,可以设置数据缓冲区, 以暂存待发送或待处理的 数据。
单片机串行接口的硬件结构
串行接口的电路组成
单片机课程教案
单片机课程教案一、课程概述单片机原理及应用是一门涉及微处理器、数字电路和计算机接口技术的综合性课程。
本课程的目标是使学生掌握单片机的原理和应用,了解单片机在嵌入式系统设计中的地位和作用,为学生进一步深入学习和应用单片机打下坚实的基础。
二、课程目标1、理解单片机的内部结构和工作原理。
2、掌握单片机的基本操作和编程方法。
3、熟悉单片机在嵌入式系统中的应用和设计方法。
4、培养学生的创新能力和实践操作能力。
三、课程内容第一章:单片机概述1、1单片机的基本概念及发展历程2、2单片机的特点和应用领域3、3单片机的主要产品和发展趋势第二章:单片机的基本结构和工作原理2、1单片机的内部结构和主要部件功能介绍21、2单片机的引脚和信号说明211、3单片机的存储器和寄存器介绍2111、4单片机的时钟系统和定时器/计数器介绍第三章:单片机的编程语言和开发环境3、1单片机的编程语言概述和特点31、2 C语言在单片机编程中的应用311、3 Keil C51开发环境和程序设计流程介绍3111、4程序调试和下载方法说明第四章:单片机的应用实例和实验指导4、1单片机在LED闪烁和流水灯控制中的应用实例41、2单片机在按键输入和数码管显示中的应用实例411、3单片机在A/D和D/A转换中的应用实例4111、4单片机在电机控制和红外线遥控中的应用实例本文5单片机的实验指导和实验报告要求说明第五章:单片机的发展趋势和应用领域的扩展本文1单片机在物联网和智能家居中的应用扩展本文2单片机在汽车电子和医疗设备中的应用扩展本文3单片机在工业控制和智能制造中的应用扩展本文4单片机在人工智能和机器人技术中的应用扩展第六章:课程总结和答疑解惑本文1课程总结和学习方法分享本文2答疑解惑和常见问题解答1、3学生自我评估和改进建议收集四、教学方法与手段本课程采用理论教学和实践操作相结合的方法,以案例分析和程序示范为主要手段,通过课堂讲解、小组讨论、实验指导等多种形式,使学生更好地理解和掌握单片机的原理和应用。
《单片机原理及应用教程》第7章:单片机的串行通信及接口
单片机原理及接口技术电子教案
单片机原理及接口技术电子教案一、教学目标1.了解单片机的原理和组成结构;2.掌握单片机的接口技术;3.能够应用接口技术实现各种功能。
二、教学内容1.单片机的原理及组成结构a.单片机的定义和作用;b.单片机的组成结构及各部分功能介绍;c.单片机的工作原理;d.单片机与外部设备的连接方式。
2.单片机的接口技术a.并行接口技术:i.三态门的作用及使用方法;ii. 数据总线、地址总线和控制总线的作用和关系;iii. 并行接口的工作原理;iv. 并行接口的应用实例。
b.串行接口技术:i.串行数据传输的基本概念;ii. 串行接口的工作原理;iii. 串行接口的应用实例;iv. 串口通信协议及其应用。
三、教学过程本节课主要采用理论教学与实践相结合的方式,通过演示和编程实验,让学生更好地理解和掌握单片机的原理与接口技术。
1.单片机的原理及组成结构(40分钟)a.通过图解和实物展示,详细介绍单片机的组成结构及各部分功能,让学生对单片机有一个整体的了解。
2.单片机的接口技术(40分钟)a.并行接口技术:i.通过示例演示三态门的使用方法,让学生了解其在并行接口中的作用;ii. 介绍数据总线、地址总线和控制总线的作用和关系,并通过实例演示并行接口的工作原理;iii. 基于实例,让学生进行实际操作,实现并行接口的应用。
b.串行接口技术:i.介绍串行数据传输的基本概念,包括串行数据传输的优点和缺点;ii. 通过实例演示串行接口的工作原理,包括串行通信的时序和数据传输方式;iii. 基于实例,让学生进行实际操作,实现串行接口的应用。
3.总结与实验(20分钟)a.进行问题总结与回答,解决学生在学习过程中遇到的疑问;b.分发实验资料,让学生按照实验步骤进行实验,巩固所学内容;c.实验结束后,让学生总结实验过程中的经验和教训。
四、教学评估1.设计实验练习题,进行手写答题;2.实验报告评分;3.课堂表现评估。
五、扩展拓展。
单片机应用电子教案第5章 串行口与通信
5.1串行通信的基础知识
在实际应用中,80C51单片机经常要与外设进行信息交换; 单片机与单片机之间或单片机与计算机之间往往也要交换信息, 这些信息交换都可以称为通信。
数据通信的传输方式:并行通信和串行通信 并行通信:数据的各位同时送出。占用I/O多,速度快。 串行通信:数据的各位逐位送出。线路简单,速度慢。
在RI=0的前提下,用指令置REN=1,启动一帧数据的接收。串 行口采样RXD,当采样到1至0的跳变时,表明接到串行数据的起始位, 开始接收一帧数据,直到停止位到来时,把停止位送到RB8中,此时 RI自动置1,请求中断并通知CPU从SBUF中取走已接收到的数据 。 想继续接收时要用指令清除RI。
3.方式2和方式3
在异步通信中,数据通常是以字符(或字节)为单位组成 字符帧传送的。字符帧由发送端逐帧发送,接收端逐帧接收。 发送端和接收端由各自的时钟来控制。这两个时钟源可以彼 此独立、互不同步。
在帧格式中,一个字符由4个部分组成:起始位、二进 制数据位、奇偶校验位和停止位。下图给出了典型的异步帧 格式。
5.1.2串行通信的方式
如果数据传送的速率是120帧/秒,每个 帧包含10位,则波特率为 10×120=1200 bps,于是每位传送的时间 T=1/1200=0.833ms
标准波特率系列为110、300、600、 1200、1800、2400、4800、9600和 19200bps。
5.1.4调制解调器(MODEM 又称猫)
(2)发送操作 由指令MOV SBUF,A 启动发送操作,发送时由TXD输出移位
脉冲,RXD发送SBUF中的数据。发送完8位数据后,TI自动置1,请 求中断。要继续发送时,TI必须由指令清0(CLR TI)。 (3)接收操作
第7章AT89S51单片机的串行口
PCONSMOD — — — GF1 GF0 PD IDL
GF1,GF0:用户可自行定义使用的通用标志位 GF1: General purpose Flag bit. GF0 :General purpose Fபைடு நூலகம்ag bit.
PD:掉电方式控制位 Power Down bit. =0:常规工作方式. =1:进入掉电方式:振荡器停振片内RAM和SRF的
例如:120字符/秒,1个字符10位, 波特率为:120×10=1200bps 平均每一位传送占用时间:Td=1/1200=0.833ms
常用的波特率有:(离散) 19200/9600/4800/2400/1200/600/300/150/100
/50, 还有10M/100M
7.1.1 与串行通信有关的寄存器
TB8:在串行工作方式2和方式3中,是要发送的第9位数据。 The 9th bit that will be transmitted in modes 2&3. Set/Cleared
by software 多机通信中: TB8=0 表示发送的是数据;
TB8=1 表示发送的是地址.
RB8:在串行工作方式2和方式3中,是收到的第9位数据.该数据来自发
REN:串行口接收允许控制位 Set/Cleared by software to Enable/Disable reception
=1 允许接收; (SETB REN) =0 禁止接收.
系统复位后,REN=0,不允许接受
SM0 SM1 SM2 REN TB8 RB8 TI RI
模式选择 多机通讯位 允许接收位 发送、接收第9位 发送、接收标志
1
1
3 Split timer mode (Timer 0) TL0 is an 8-bit Timer/Counter controlled by the
《单片机原理与接口技术》第7章 串行接口
PCON寄存器的D7位为SMOD,称为波特率倍增位。即当SMOD=1时,波 特率加倍; 当SMOD=0时,波特率不加倍。 通过软件可设置SMOD=0或SMOD=1。因为PCON无位寻址功能,所以, 要想改变SMOD的值,可通过相应指令来完成: ANL ORL MOV PCON,#7FH PCON,#80H PCON,#00H ;使SMOD=0 ;使SMOD=1 ;使SMOD=0
高等职业教育 计算机类课程规划教材
大连理工大学出版社
第7章
7.1 7.2 7.3 7.4
串行接口
串行通信的基本概念 MCS-51 单片机串行接口及控制寄存器 MCSMCSMCS-51 单片机串行口的工作方式 串行口的应用
7.1 串行通信的基本概念
7.1.1 数据通信的概念 计算机的CPU与外部设备之间、计算机与计算机之间的信息交换称 为数据通信。 1.并行通信 1.并行通信 并行通信是数据的各位同时进行传送(发送或接收)的通信方式。 其优点是数据传送速度快; 缺点是数据有多少位,就需要多少根传送线。 2.串行通信 2.串行通信 串行通信是数据的各位一位一位顺序传送的通信方式。
7.3
7.3.1 方式0 方式0
MCS-51单片机串行口的工作方式 MCS-51单片机串行口的工作方式
串行口工作于方式0下,串行口为8位同步移位寄存器输入/输出口, 其波特率固定为fosc/12。
数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端 输出,发送、接收的是 8位数据。不设起始位和停止位,低位在前,高 位在后。其帧格式为:
起始0 D0 D1 D2 D3 D4 D5 D6 D7 TB8/RB8 停止1
单片机串行口课件62页文档
(4) 停止位: 字符帧格式的最后部分是停止位,逻辑“1”电平
有效,它可占1/2位、1位或2位(在串行通信时每 位的传送时间是固定的)。停止位表示传送一帧信 息的结束,也为发送下一帧信息作好准备。
二、串行通信的波特率
波特率(Baud Rate)是串行通信中一个重要概念, 它是指传输数据的速率, 亦称比特率。波特率的定 义是每秒传输二进制数码的位数。如:波特率为 1200bps是指每秒钟能传输1200位二进制数码。
接收控制器
接收 SBUF (99H)
输入移位寄存器
TXD(P3.1) RXD(P3.0)
图8.8 AT88C51串行口结构框图
(1). 串行数据缓冲器SBUF SBUF是串行口缓冲寄存器,包括发送寄存
器和接收寄存器,以便能以全双工方式进行通信。 此外,在接收寄存器之前还有移位寄存器,从而 构成了串行接收的双缓冲结构,这样可以避免在 数据接收过程中出现帧重叠错误。发送数据时, 由于CPU是主动的,不会发生帧重叠错误,因此 发送电路不需要双重缓冲结构。
五、8051单片机的串行接口
8051内部有一个可编程全双工串行通信接口。 该部件不仅能同时进行数据的发送和接收,也可 作为一个同步移位寄存器使用。
下面将对其内部结构、工作方式以及波特率 进行介绍。
1、串行接口的结构及寄存器
发送 SBUF
门电路
(99H)
内
发送控制器
部 总 线
时 钟
串行口中 断
TI ≥1 RI
(2) 数据位: 在起始位之后,发送端发出(或接收端接收)的是
数据位,数据的位数没有严格的限制,5~8位均 可。由低位到高位逐位传送。
(3) 奇偶校验位: 数据位发送完(接收完)之后,可发送一位用来检
单片机第七课--串口
1、方式2和方式3发送
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7 TB8
停止位
发送前,先根据用户约定的通信协议由软件设置TB8的值, 然后把要发送的数据写入SBUF启动发送过程,先把起始位 0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到 TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移 一位,并由TXD引脚输出。 第一次移位时,停止位“1”移入输出移位寄存器的第9位 上 ,以后每次移位,左边都移入0。当停止位移至输出位时, 左边其余位全为0,检测电路检测到这一条件时,使控制电 路进行最后一次移位,并置TI=1,向CPU请求中断。
一个字符帧 空 闲 起 始 位 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
LSB
MSB
异步通信对硬件要求较低,实现起来比较简单、灵活, 适用于数据的随机发送/接收,但因每个字节都要建立一次同 步,即每个字符都要额外附加两位,所以工作速度较低,在 单片机中主要采用异步通信方式。
2、同步通信 以一串字符为一个传送单位,字符间不加标识位,字符串开 始用同步字符标识(一般约定为1~2个字符),以触发同步时 钟开始发送或接收数据;多字节数据之间不允许有空隙,每位 占用的时间相等;空闲位需发送同步字符。 硬件要求高,通讯双方须严格同步,适用于成批数据传送。 单片机不用该方式。
在单片机的应用中,常用的晶振频率为:12MHz和 11.0592MHz。所以,选用的波特率也相对固定。 常用的串行口波特率以及各参数的关系如表所示。
串行口工作之前,应对其进行初始化,主 要是设置产生波特率的定时器1、串行口控 制和中断控制。具体步骤如下:
确定T1的工作方式(编程TMOD寄存器);
串行口的课程设计
串行口的课程设计一、课程目标知识目标:1. 学生能理解串行口的基本概念,掌握串行通信的原理和特点;2. 学生能掌握串行口的编程方法,学会使用相关指令进行数据收发;3. 学生能了解串行口在嵌入式系统中的应用场景,并掌握基本的调试方法。
技能目标:1. 学生能够运用所学知识,独立完成串行口编程任务,实现数据的发送与接收;2. 学生能够通过实际操作,解决串行通信过程中遇到的问题,具备一定的故障排查能力;3. 学生能够结合实际需求,设计简单的串行通信系统,提高创新实践能力。
情感态度价值观目标:1. 学生通过学习串行口相关知识,培养对计算机硬件和嵌入式系统的兴趣,提高学习积极性;2. 学生在学习过程中,学会合作与交流,培养团队意识和沟通能力;3. 学生能够认识到串行通信技术在现实生活中的应用价值,激发对科技发展的关注和热情。
本课程针对高中年级学生,课程性质为理论与实践相结合,强调学生的动手实践能力。
根据学生特点和教学要求,课程目标既注重知识传授,又强调技能培养和情感态度价值观的塑造。
通过具体的学习成果分解,为后续的教学设计和评估提供明确的方向。
二、教学内容1. 串行口基础知识:介绍串行口的概念、分类、通信原理和特点,使学生了解串行口的基本理论。
教材章节:第一章 计算机硬件基础2. 串行口编程方法:讲解串行口编程的相关指令、数据格式及通信协议,指导学生掌握编程技巧。
教材章节:第二章 嵌入式系统编程基础3. 串行口应用实例:分析串行口在实际应用中的案例,如嵌入式系统调试、传感器数据采集等,提高学生的实际应用能力。
教材章节:第三章 嵌入式系统接口技术4. 串行口编程实践:安排学生进行实际编程操作,实现数据发送与接收,巩固所学知识。
教材章节:第四章 嵌入式系统实践5. 故障排查与调试:介绍串行通信过程中的常见问题及解决方法,培养学生的故障排查能力。
教材章节:第五章 嵌入式系统故障分析与调试6. 串行通信系统设计:引导学生结合实际需求,设计简单的串行通信系统,激发学生的创新意识。
(完整版)单片机电子教案
第1讲单片机应用概述教学目的:1、初步了解单片机的发展历史, 基础知识以及应用范围;2、通过演示单片机产品的实物来激发学生的学习兴趣;3、了解单片机的发展方向和主流技术。
重点、难点:1、单片机的概念和特点;2、单片机的主要发展方向和主流技术;3、几种常见的单片机产品。
教学方式、步骤:一、课程介绍、学习的目标、学习本课程的方法1、课程介绍单片机是当今信息时代的产物,自20世纪70年代问世以来,以实时控制能力强,成本低,体积小,受到人们的重视和关注,应用很广,发展很快。
尤其在电子产品、工业控制等领域的应用广泛,已对人类社会产生了巨大的影响。
单片机技术开发和应用水平已成为衡量一个国家工业化发展水平的标志之一。
由于单片机的广泛使用使得社会对掌握单片机技术的人才的需求在不断增加,目前全国普通工科大学均已经将单片机课列为必修的专业(基础)课程。
2、学习的目标通过对孝感周边相关电子企业(亚光电子公司、○六六集团、四四○四厂等)的毕业生跟踪调查和人才需求调研,相关工作岗位都对单片机应用能力都提出了一定的要求。
且不同的岗位对单片机应用能力要求的高低不同。
要求较高的岗位如电路联调岗和电子线路设计助理工程师岗,对单片机的应用能力要求如下:掌握常见单片机芯片及外围芯片的功能和引脚分布;理解掌握单片机系统结构、存储器结构、指令系统,中断、定时器、串行口、接口技术等重要概念和基本知识;具备一定的电子线路基本知识,能看懂典型单片机外围硬件的原理图,并具备相应的硬件线路调试的基本技能;能看懂程序流程图,掌握程序调试的基本技能;具有基本的单片机编程能力;掌握单片机软硬件联调的基本技能;掌握单片机产品开发的基本流程和工艺。
课程标准:作为一门核心的专业基础课程,本课程的专业目标定位为:通过基于实际工作过程(项目制作)的项目导向、任务驱动的理论实践一体化教学模式,教、做、学三者合一,使学生在做中学,学中做,在理解掌握单片机系统结构、存储器结构、指令系统,中断、定时器、串行口、接口技术和单片机初步应用知识的基础上,掌握智能电子应用相关岗位所需要的单片机应用系统的初步的应用分析和软硬件设计能力,掌握基本的编程和程序调试能力,掌握单片机典型外围硬件线路的分析与初步设计能力、硬件调试能力,掌握单片机系统的安装和软硬件联调、故障诊断维护技能,掌握单片机产品开发的基本流程和工艺。
单片机教案(讲稿)
单片机教案(讲稿)第一章:单片机概述一、教学目标:1. 了解单片机的定义、发展历程和分类。
2. 掌握单片机的主要性能指标和应用领域。
3. 熟悉单片机的结构组成和基本工作原理。
二、教学内容:1. 单片机的定义和发展历程。
2. 单片机的分类及特点。
3. 单片机的主要性能指标。
4. 单片机的应用领域。
5. 单片机的结构组成和基本工作原理。
三、教学方法:1. 讲授法:讲解单片机的定义、发展历程、分类、性能指标和应用领域。
2. 演示法:展示单片机的实物图片和结构组成图。
四、教学准备:1. 教学PPT。
2. 单片机实物图片和结构组成图。
五、教学过程:1. 导入:引导学生思考什么是单片机,为什么要学习单片机。
2. 讲解:详细讲解单片机的定义、发展历程、分类、性能指标和应用领域。
3. 演示:展示单片机的实物图片和结构组成图,让学生更直观地了解单片机。
4. 互动:提问学生,了解他们对单片机的认识,解答他们的疑问。
5. 总结:概括本节课的重点内容,布置课后作业。
第二章:单片机编程基础一、教学目标:1. 掌握单片机的编程语言和编程环境。
2. 熟悉单片机的指令系统及其功能。
3. 学会使用单片机编程软件进行程序编写和烧录。
二、教学内容:1. 单片机的编程语言。
2. 单片机的编程环境。
3. 单片机的指令系统及其功能。
4. 单片机编程软件的使用方法。
三、教学方法:1. 讲授法:讲解单片机的编程语言、编程环境和指令系统。
2. 演示法:展示单片机编程软件的使用方法。
3. 实践法:让学生动手编写简单的单片机程序并进行烧录。
四、教学准备:1. 教学PPT。
2. 单片机编程软件。
3. 编程实例及烧录设备。
五、教学过程:1. 导入:回顾上节课的内容,引导学生进入本节课的学习。
2. 讲解:详细讲解单片机的编程语言、编程环境和指令系统。
3. 演示:展示单片机编程软件的使用方法,并进行编程实例演示。
4. 实践:让学生动手编写简单的单片机程序并进行烧录,体会编程过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)方式0接收
REN=1,接收数据,REN=0,禁止接收。向串口的SCON写入 控制字(置为方式0,并置“1”REN位,同时RI=0)时,产生一 个正脉冲,串行口即开始接收数据。RXD为数据输入端,TXD为 移位脉冲信号输出端,接收器也以fosc/12的固定波特率采样 RXD引脚的数据信息,当收到8位数据时置“1” RI,表示一帧数 据接收完,时序如下:
(1)单工方式:在单工方式下,数据的传送方向是固定的。 如图(a)中所示,甲只能做发送器,而乙只能做接收器,数 据的传送方向只能是从甲到乙。
(2)半双工方式:半双工方式下,数据的传送方向是双向的 。但是在某一个时刻,数据的传送方向是唯一的。 如图(b )中,某一个时刻数据只能从甲站点传送到乙站点,或者只 能从乙站点传送到甲站点,只有在当前传送过程结束后,数 据传送的方向改变。
(6)TI——发送中断标志位
方式0时,串行发送第8位数据结束时由硬件置“1”, 其它工作方式,串行口发送停止位的开始时置“1”。 TI必须由软件清0。 (7)RI——接收中断标志位 方式0时,接收完第8位数据时,RI由硬件置1。 其它工作方式,串行接收到停止位时,该位置“1”。 RI必须由软件清“0”。 3.特殊功能寄存器PCON
7.2 MCS-51串行口的结构和工作方式
全双工的异步通讯串行口,4种工作方式,波特 率由片内定时器/计数器控制。每发送或接收一帧数 据,均可发出中断请求。可用于串行通讯和扩展并 行I/O口。 7.2.1 串行口的结构
1.串行口结构:串行口内部结构如下图,两个物理上独 立地接收和发送缓冲器,可同时收、发数据。两个缓冲器共 用一个特殊功能寄存器字节地址:SBUF(99H)。
可将定时器T1设置为方式1定时。但在这种情况下,T1溢出时,
需用在中断服务程序中重新装入初值。中断响应时间和执行指
令时间会使波特率产生一定的误差,可用改变初值的方法加以
调整。
例7-1 若MCS-51单片机的时钟振荡频率为11.0592MHz,
选用T1为方式2定时作为波特率发生器,波特率为4800b/s,求
当上述两个条件满足时,接收到的数据送入SBUF(接收缓 冲器),第9位数据送入RB8,并置“1”RI。若不满足两个条件, 接收的信息将被丢弃。
方式2接收数据的时序如图所示。
4.方式3 SM0、SM1=11,串口为方式3。
波特率可变的9位异步通讯方式,除波特率外,方式3和 方式2相同。方式3的时序见方式2。
若fosc=12MHz: SMOD=0 波特率=187.5kb/s; SMOD=1 波特率=375kb/s
(3)方式1或方式3时,波特率为:
波特率=(2SMOD/32)×T1的溢出率 实际设定波特率时,T1常设置为方式2定时(自动装初值) 这种方式不仅操作方便,也可避免因软件重装初值而带来的定时 误差。 实际使用时,为避免烦杂的初值计算,常用的波特率和初值 X间的关系列成表7-2,以供查用。 表7-2有两点需要注意:
位停止位1。 当执行一条数据写发送缓冲器SBUF的指令,就启动发送。
图中TX时钟的频率就是发送的波特率。 发送开始时,内部发送控制信号变为有效。将起始位向
TXD输出,此后,每经过一个TX时钟周期,便产生一个移位脉 冲,并由TXD输出一个数据位。8位数据位全部发送完毕后,置 “1” TI。方式1发送数据的时序,如图所示。
字节地址为87H,没有位寻址功能。
SMOD:波特率倍频因子
例如:方式1的波特率的计算公式为:
方 式 1 波 特 率 = ( 2 SMOD/32)× 定 时 器 T1 的 溢 出 率
定时器T1的溢出率=
fosc 12 (256 X)
也称SMOD位为波特率倍增位。
7.2.2 串行口的工作方式 1.方式0
第7章 MCS-51的串行口
7.1 串行通信的基本概念
串行通信方式下,被交换的数据时一位一位按顺序 进行传送。它的这种数据传送方式决定了只需要一根数据线 就可以进行数据通信,所以它特别适合于远距离通信的应用。 但是,它的按位传送的方式也决定了,采用串行通信方式时, 通信的速度较慢。
P1.0
D0
P1.1
若这两个条件不同时满足,收到的数据将丢失。 3.方式2
9位异步通信接口。每帧数据均为11位,1位起始 位0,8位数据位(先低位),1位可程控的第9位数据 和1位停止位。帧格式如下。
方式2波特率= (2SMOD/64)×fosc
(1)方式2发送
发送前,先根据通讯协议由软件设置TB8(例如, 双机通讯时的奇偶校验位或多机通讯时的地址/数据的 标志位)。
(3)全双工方式:在全双工方式下,数据被允许在同一时刻 双向的传送。如图(c)所示,全双工的硬件配置是由两个数 据传送方向相反的单工配置组成的。
7.1.2 串行通信的方式
串行通信的基本通信方式有两种,异步通信和同步通信。 1. 异步通信:异步通信中,数据是以帧的形式进行传送的。 每一帧都是有起始位、数据位、奇偶校验位和停止位构成, 以起始位开始,以停止位结束。
控制串口特殊功能寄存器共两个:特殊功能寄存器SCON和PCON。
2.串行口控制寄存器SCON 字节地址98H,可位寻址,格式如图所示。
(1)SM0、SM1——串行口4种工作方式的选择位
串行口的4种工作方式
SM0 SM1 方式
功能说明
0 0 0 同步移位寄存器方式(用于扩展I/O口)
0 1 1 8位异步收发,波特率可变(由定时器控制)
2. 同步通信:同步通信过程中,要求收发双方保持绝对的同 步。因此接收和发送端应该使用同一时钟。由同步传输的特 点可知,它的传输速度较快,但与异步通信方式相比硬件比 较复杂。
7.1.3 串行通信的控制信号
控制信号主要用于实现对数据传送过程的控制,最常用的 控制信号是握手信号。常用的方法有硬件握手和软件握手方法。 1. 硬件握手
由软件置“1”或清“0”。
REN=1 允许串行口接收数据。 REN=0 禁止串行口接收数据。 (4)TB8——发送的第9位数据 方式2和3时,TB8是要发送的第9位数据,可作为奇偶 校验位使用,也可作为地址帧或数据帧的标志。 TB8 = 1为地址帧, TB8 = 0为数据帧 (5)RB8——接收到的第9位数据 方式2和3时,RB8存放接收到的第9位数据。在方式1, 如果SM2=0,RB8是接收到的停止位。在方式0,不使 用RB8。
1 0 2 9位异步收发,波特率为fosc/64或fosc/32
1 1 3 9位异步收发,波特率可变(由定时器控制)
(2)SM2 ——多机通信控制位
用于方式2或方式3中。
方式2或方式3接收:如果SM2=1,只有接收到第9位数据(RB8) 为“1”时,才将接收到的前8位数据送入SBUF,并置“1” RI, 产生中断请求;当接收到的第9位数据(RB8)为“0”时,则 将接收到的前8位数据丢弃。 如果SM2=0,则不论第9位数据是“1”还是“0”,都将前8位 数据送入SBUF中,并置“1” RI,产生中断请求。 方式1时:如果SM2=1,则只有收到停止位时才会激活RI。 方式0时:SM2必须为0。 (3)REN——允许串行接收位
ORG START: MOV
MOV CLR LOOP: LCALL LCALL SJMP
0000H SCON, A, P1.0 S_Ser DELAY 入口地址 ;串行口初始化,方式0,禁止数据接收,RI、TI清0 ;显示控制数据送入累加器A,对应最左一位LED亮 ;关闭74LS164输出
初值。上述结果可直接从表7-2中查到。
2SMOD
波特率=(2SMOD/32)×T1的溢出率=
•
fosc
32 12 (256 X )
SMOD = 0,X = 250 = 0FAH
7.4 串行口的编程和应用
7.4.1 串行口方式0的应用
例7-2:图7-20中,使用74LS164(串入-并出移位寄存器)将 89C51的串行口扩展为8位并行输出I/O口,74LS164的8根I/O口 线各接一发光二极管,通过程序控制使发光二级管从左到右循 环亮起。
(2)方式1接收
数据从RXD(P3.0)脚输入。当检测到起始位的负跳变时, 开始接收数据。
定时控制信号有两种: 接收移位时钟(RX时钟,频率和波 特率相同)和 位检测器采样脉冲(频率是RX时钟的16倍,1位 数据期间,有16个采样脉冲), 当采样到RXD端从1到0的跳变 时就启动检测器, 接收的值是3次连续采样(第7、8、9个脉冲
2.方式1 SM0、SM1=01 方式1一帧数据为10位,1个起始位(0),8个数据位, 1个停止位(1),先发送或接收最低位。帧格式如下:
方式1波特率=(2SMOD/32)×定时器T1的溢出率 SMOD为PCON寄存器的最高位的值(0或1)。
(1)方式1发送
方式1输出时,数据由TXD输出, 一帧信息为10位,1位起始位0,8位数据位(先低位)和1
D1
P1.2
D2
P1.3
D3
P1.4
D4
P1.5
D5
P1.6
D6
P1.7
D7
GND
GND
MCS-51
外设
(a) 并行通信
RXD
TXD
TXD
RXD
GND
GND
MCS-51
外设
(b) 串行通信
7.1.1 串行通信的数据传送方向
按照串行通信中的数据传送方向,可以将串行通信分为 单工、半双工和全双工三类。
同步移位寄存器输入/输出方式,常用于外接移 位寄存器,以扩展并行I/O口。
8位数据为一帧,不设起始位和停止位,先发送 或接收最低位。波特率固定为fosc/12。 帧格式如下:
方式0时,SM2位必须为0。
(1)方式0发送
当CPU执行一条将数据写入发送缓冲器SBUF的指令时,产生 一个正脉冲,串行口即把SBUF中的8位数据以fosc/12的固定波 特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲, 发送完8位数据置“1”中断标志位TI。时序如图所示。