第7章 MCS-51单片机的串行通信及其接口
第7章MCS-51单片机的常用外设扩展

(2)数据线
2732的8位数据线直接与单片机的P0口相连。P0口作 为地址/数据线分时复用。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对 2732进行读操作。注意,CPU对EPROM只能进行读操作, 不能进行写操作。CPU对2732的读操作控制都是通过控制线 实现的。2732控制线的连接有以下几条:
2.硬件电路 单片机与6116的硬件连接如图7-4所示。
3.连线说明
• 地址线:A0~A10连接单片机地址总线P0.0~P0.7、P2.0、P2.1、P2.2 共11根;
• 数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;
• 控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15; 读允许线连接单片机的读数据存储器控制线;
• 对于没有内部ROM的单片机或者程序较长、片内ROM容 量不够时,用户必须在单片机外部扩展程序存储器。 MCS-51单片机片外有16条地址线,即P0口和P2口,因此 最大寻址范围为64K字节(0000H—FFFFH)。
• 这里要注意的是,MCS-51单片机有一个管脚 EA跟程序存 储器的扩展有关。如果接高电平,那么片内存储器地址范 围是0000H—0FFFH(4K字节),片外程序存储器地址范 围是1000H—FFFFH(60K字节)。如果接低电平,不使 用片内程序存储器,片外程序存储器地址范围为0000H— FFFFH(64K字节)。
1. 芯片选择
单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8 位)、6264(8K×8位)、62256(32K×8位)等。
根据题目容量的要求我们选用SRAM6116,采 用单一+5V供电,输入输出电平均于TTL兼容,具有 低功耗操作方式,管脚如图7-3所示。
MCS-51单片机串口编程及应用介绍

起 始 位
数
据 位
校 验 位
停 止 位
异步通信的帧格式
二、同步通信传送方式
同步传送:以同步字符 同步传送:以同步字符SYN开始连续发 开始连续发 再以同步字符结束, 送,再以同步字符结束,时钟信号同时发 适用高速、大容量的数据传送。 送。适用高速、大容量的数据传送。
开始 同步字符 同步字符 数据段 同步字符 结束 同步字符
工作原理: 工作原理: 发送:CPU执行 执行MOV SBUF,A,将数据送入SBUF SBUF。 发送:CPU执行MOV SBUF,A,将数据送入SBUF。 发送控制器按波特率发生器(定时器构成) 发送控制器按波特率发生器(定时器构成)提供的时钟速 率将SBUF中的数据一位、一位从TXD输出,发送结束时, SBUF中的数据一位 TXD输出 率将SBUF中的数据一位、一位从TXD输出,发送结束时,置 TI=1。 TI=1。 接收:接收控制器按波特率发生器提供的时钟速率从RXD引 接收:接收控制器按波特率发生器提供的时钟速率从RXD引 RXD 脚一位一位接收数据,当收到一个完整字符时,装入SBUF 脚一位一位接收数据,当收到一个完整字符时,装入SBUF 中,同时置RI=1,通知CPU,CPU执行MOV A,SBUF,将数据读 同时置RI=1,通知CPU,CPU执行MOV A,SBUF, RI=1 CPU 执行 入累加器A 入累加器A。 注意:由于SBUF具有双缓冲作用,它可以在CPU读入之前 注意:由于SBUF具有双缓冲作用,它可以在CPU读入之前 SBUF具有双缓冲作用 CPU 开始接收下一数据, CPU应在下一数据接收完毕前读取 开始接收下一数据, CPU应在下一数据接收完毕前读取 SBUF内容 由于串口的接收、发送各自独立, 内容。 SBUF内容。由于串口的接收、发送各自独立,所以可同时发 送及接收,即可以实现全双工通讯。 送及接收,即可以实现全双工通讯。
单片机习题答案

单片机-习题答案第七章MCS-51的串行口1.串行数据传送的主要优点和用途是什么?答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。
主要用于多个单片机系统之间的数据通信。
2.简述串行口接收和发送数据的过程。
答:以方式一为例。
发送:数据位由TXT端输出,发送1帧信息为10为,当CPU执行1条数据写发送缓冲器SBUF的指令,就启动发送。
发送开始时,内部发送控制信号/SEND变为有效,将起始位想TXD输出,此后,每经过1个TX时钟周期,便产生1个移位脉冲,并由TXD输出1个数据位。
8位数据位全部完毕后,置1中断标志位TI,然后/SEND信号失效。
接收:当检测到起始位的负跳变时,则开始接收。
接受时,定时控制信号有2种,一种是位检测器采样脉冲,它的频率是RX时钟的16倍。
也就是在1位数据期间,有16个采样脉冲,以波特率的16倍的速率采样RXD引脚状态,当采样到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
3.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。
4.串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD/32×定时器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定时器T1的溢出率5.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。
起始位01000000校验位停止位6.判断下列说法是否正确:(1)串行口通信的第9数据位的功能可由用户定义。
第7章补充习题

第7章 MCS-51的串行口一、填空1. MCS-51单片机的串行接口有种工作方式。
其中方式为多机通信方式。
2. 串行口中断标志RI/TI由置位,清零。
3. MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器()加以选择.4. 用串口扩并口时,串行接口工作方式应选为方式。
5. 串行通信按照数据传送方向可分为三种制式: 、 和 。
6. 波特率定义为 。
串行通信对波特率的基本要求是互相通信的甲乙双方必须具有的 波特率。
7. 多机通信时,主机向从机发送信息分地址帧和数据帧两类,以第9位可编程TB8作区分标志。
TB8=0,表示 ;TB8=1,表示 。
8. 当从机 时,只能接收主机发出的地址帧,对数据不予理睬。
9. 多机通信开始时,主机首先发送地址,各从机核对主机发送的地址与本机地址是否相符,若相符,则置 。
二、判断1. 要进行多机通信,MCS-51串行接口的工作方式应为方式1。
()2. MCS-51的串行接口是全双工的。
()3. MCS-51上电复位时,SBUF=00H。
()。
三、简答1. 串行通信和并行通信有什么区别?各有什么优点?2. 什么是串行异步通信,它有哪些作用?并简述串行口接收和发送数据的过程。
3. 简述MCS-51单片机多机通信的特点。
4. 若异步通信按方式2传送,每分钟传送3000个字符,其波特率是多少?5. 什么是串行异步通信,它有哪些作用?并简述串行口接收和发送数据的过程。
6. 8051单片机四种工作方式的波特率应如何确定?7. 某异步通信接口,其帧格式由1个起始位(0),7个数据位,1个偶校验和1个停止位(1)组成。
当该接口每分钟传送1800个字符时,试计算出传送波特率。
8. 串行口工作方式在方式1和方式3时,其波特率与fosc、定时器T1工作模式2的初值及SNOD位的关系如何?设fosc=6MHz,现利用定时器T1模式2产生的波特率为110bps。
试计算定时器初值。
MCS51单片机的结构

MCS51单片机的结构MCS-51单片机是Intel公司设计开发的一种高度集成的8位微控制器(microcontroller),主要应用于嵌入式系统中。
它采用了Harvard 架构,包含一个CPU核心、片内存储器、外围接口和定时器/计数器等功能模块。
在本文中,我将详细介绍MCS-51单片机的结构。
MCS-51单片机的结构主要分为以下几个部分:1.中央处理器(CPU)核心:MCS-51单片机的CPU核心采用了8位的数据总线和地址总线,以及一组功能强大的指令集。
该CPU支持多种指令,包括数据传送指令、算术逻辑指令、位操作指令和条件跳转指令等。
它还包括一个累加寄存器和标志寄存器,用于存储操作数和标志位信息。
2.存储器部分:MCS-51单片机包含片内存储器和片外存储器。
片内存储器主要用于存储程序代码和数据,包括ROM(只读存储器)和RAM(随机存储器)。
ROM用于存储程序代码,RAM用于存储数据和临时变量。
片外存储器通过地址线和数据线与单片机连接,可以扩展存储器容量。
3.输入输出(I/O)接口:MCS-51单片机通过多个I/O口与外部世界进行数据交互。
每个I/O 口包含一组引脚,可以用作输入或输出。
这些引脚可以通过配置寄存器来选择其功能。
MCS-51单片机还支持中断输入,可以用于实现外部设备的中断功能。
4.定时器/计数器(Timer/Counter):MCS-51单片机内置了多个定时器/计数器模块,用于生成精确的时间延迟或测量外部事件的时间间隔。
定时器可以产生周期性的中断信号,用于实现定时任务。
计数器可以计数外部事件的脉冲数量,用于测量时间间隔。
5.串行通信接口:MCS-51单片机内置了一个串行通信接口,可以用于与其他设备进行数据传输。
该接口支持异步串行通信协议,如UART(通用异步收发器)或SPI(串行外围接口)等。
它可以通过配置寄存器来设置通信参数,如波特率和数据格式等。
6.时钟电路:MCS-51单片机需要一个精确的时钟源来驱动内部运算和外设操作。
第7章 MCS-51单片机常用接口技术

图7.3 用8031的P1口设计的4×4键盘
第7章 MCS-51单片机常用接口技术
7.1.2 键盘按键识别方法
首先在键处理程序中将P1.3~P1.0依次按位变低, P1.3~P1.0在某一时刻只有一个为低。在某一位为低时读行线, 根据行线的状态即可判断出哪一个按键被按下。 如9号键按下时,当列线P1.2为低时,读回的行线状态中 P1.4被拉低,由此可知2号键被按下。 一般在扫描法中分两步处理按键,首先是判断有无键按下, 即使列线(P1.3~P1.0)全部为低,读行线,如行线 (P1.4~P1.7)全为高,则无键按下,如行线有一个为低,则 有键按下。当判断有键按下时,使列线依次变低,读行线,进 而判断出具体哪个键按下。
第7章 MCS-51单片机常用接口技术
7.2.2 LED显示器接口及显示方式
表7.2 段选码、位选码及显示状态表
段选码 (字型) F9H A4H B0H 99H 92H 位选码 P2.4~P2.0 11110 11101 11011 10111 01111 1 2 3 4 5 显示器显示状态
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
图7.6为LED显示器的内部结构及外形。
(a)共阴极 (b)共阳极 (c)LED实物 图7.6 LED显示结构及实物
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
7段LED显示数字0~F,符号等字型见表7.1,其中a段为最 低位,dp为最高位。
第7章 MCS-51单片机常用接口技术
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞
第7章 MCS-51单片机常用接口技术
binbin详解第7章-串行输入输出接口电路

5. 信号的调制和解调
利用电话信道(频带宽度通常为 利用电话信道(频带宽度通常为300~3400Hz)进行远距离传输,为完 ~ )进行远距离传输, 成传输数字信号,通常把数字信号的“ 或 成传输数字信号,通常把数字信号的“0”或“1”转换成较高的不同频率的模拟 转换成较高的不同频率的模拟 信号,而在接收端再将该模拟信号转换成数字信号。前一种转换称为调制, 调制 信号,而在接收端再将该模拟信号转换成数字信号。前一种转换称为调制,后 一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem) 一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem)。 解调 调制解调器
波特率与字符的传送速率不同: 波特率与字符的传送速率不同:
波特率是每秒钟传送的二进制位数,传送率是每秒钟传送的字符个数, 波特率是每秒钟传送的二进制位数,传送率是每秒钟传送的字符个数,二 者之间存在如下关系: 者之间存在如下关系:
波特率=位 字符 字符/秒 位 秒 字符× 波特率 位/字符×字符 秒=位/秒
串行通信按通信的格式分为:异步通信和同步通信。 串行通信按通信的格式分为:异步通信和同步通信。
通信协议:通信的双方约定,何时开始发送, 通信协议:通信的双方约定,何时开始发送,何时发送完毕以及双方的 联络方式、正确与否等。 联络方式、正确与否等。
第7章 MCS-51串行接口

5.通信协议
(1) 奇偶校验 (2) 累加和校验 (3) 循环冗余码校验 (Cyclic Redundancy Check, 简称CRC)
7.2 MCS-51串行口结构与工作原理
MCS-51单片机内部含有1个可编程全双工串行通信接口, 它有4种工作方式。串行口内部结构如下图,两个物理上独立地 接收和发送缓冲器,可同时收、发数据(全双工)。 两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)
发送指令:MOV SBUF,A ;将数据写到发送缓冲器SBUF 接收指令:MOV A,SBUF ;读出接收缓冲器SBUF中接收到的数据 控制寄存器共两个:特殊功能寄存器SCON和PCON。
串行数据缓冲器SBUF 在逻辑上只有一个,既表示发送寄存器,又表示接收寄 存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,另一个是接 收缓冲寄存器。 发送时,只需将发送数据输入SBUF,CPU将自动启动和 完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只 需从SBUF中读出接收数据。 指令 MOV SBUF,A 启动一次数据发送,可向SBUF 再发送下一个数 指令 MOV A,SBUF 完成一次数据接收,SBUF可再 接收下一个数
(2)同步通信 同步通信依靠同步字符保持通信同步。同步通信 是由1~2个同步字符和多字节数据位组成,同步字符作 为起始位以触发同步时钟开始发送或接收数据;多字节 数据之间不允许有空隙,每位占用的时间相等;空闲位 需发送同步字符。(同步字符可以用户约定,也可以有 用ASCⅡ码中规定的SYNC同步字符(即16H)) 同步通信传输速度较快,但要求有准确的时钟来实 现收发双方的严格同步,对硬件要求较高,适用于成批 数据传送。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.3 MCS-51串行接口的结构
7.3.2 串行口的控制寄存器
3. 特殊功能寄存器PCON
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器。 位序号 位名称 D7 SMOD D6 / D5 / D4 / D3 GF1 D2 GF0 D1 PD D0 ID
在HMOS单片机中,该寄存器除最高位外,其它位都是虚设的。 最高位SMOD为串行口波特率倍增位。 当SMOD=1时,方式1、2、3的波特率加倍;系统复位时,SMOD=0。
7.3 MCS-51串行接口的结构
7.3.2 串行口的控制寄存器
2. 串行控制寄存器SCON
位地址
位名称
9FH
SM0
9EH
SM1
9DH
SM2
9CH
REN
9BH
TB8
9AH
RB8
99H
TI
98H
RI
TB8:发送数据位8 ,在方式2和方式3时,TB8为所要发送的第9位数据。 可用作数据的奇偶校验位,该位由软件置位或复位。
MEMO:CPU在响应串行中断要用软件清除TI或者RI,若用查询的方式 同样也需要清除TI或者RI.
7.4 串行接口的工作方式
7.4.1 方式0
在方式0下,串行口作为8位同步移位寄存器使用,这种方式不能用
于串行异步通信,但可以通过外接移位寄存器来实现I/O口扩展。 ①串行口作为并行输出口使用时,要有“串入并出”的移位寄存器(例 如CD4094或74LS164、74HC164等)配合。(设置STB状态控制 CD4094的输出。)
7.3 MCS-51串行接口的结构
7.3.2 串行口的控制寄存器
2. 串行控制寄存器SCON
位地址
位名称 需要通过指令清除 TI或者RI
9FH
SM0
9EH
SM1
9DH
SM2
9CH
REN
9BH
TB8
9AH
RB8
99H
TI
98H
RI
TI:发送中断标志位,发送完一帧,硬件自动置1,向CPU提出申请中断。 RI:接收中断标志位,接收完一帧,硬件自动置1,向CPU提出申请中断。 MEMO: TI和RI共用一个中断源与中断服务入口地址,因此单片机在 既做为发送机又做为接收机时,应识别是哪种中断,并在对应的中断 清除对应的标志位。
SM0、SM1:串行口工作方式选择位.
SM0 0 SM1 0 工作方式 0 功能说明 8位移位寄存器(用于I/O扩展、fosc/12)
0
1
1
0
1
2
8位异步串行通信(波特率可变,由定时器控制 )
9位异步串行通信(fosc/32或fosc/64)
1
1
3
9位异步串行通信(波特率可变,由定时器控制
7.3 MCS-51串行接口的结构
并行输入
数据输入
RXD 80C51 TXD P1.0 D7 …….. D0
P/ S
7.4 串行接口的工作方式
7.4.1 方式0
例1:利用串口方式0的功能实现8个发光二极管从上到下 依次点亮,并循环反复。
7.4 串行接口的工作方式
7.4.1 方式0
例1:利用串口方式0的功能实现8个发光二极管从上到下 依次点亮,并循环反复。 查询方式: MOV SCON,#00H ACALL DELAY MOV IE,#00H CLR TI RR A MOV A,#80H AJMP DELR DELR:CLR P1.0 MOV SBUF,A JNB TI,$ SETB P1.0
数据输出 移位脉冲 Fosc/12
7.4 串行接口的工作方式
7.4.1 方式0
在方式0下,串行口作为8位同步移位寄存器使用,这种方式不能用
于串行异步通信,但可以通过外接移位寄存器来实现I/O口扩展。 ②串行口作为并行输入口使用时,要有“并入串出”的移位寄存器(例 如CD4014或74LS165、74HC165等)配合。
举例:设有一帧信息,1个起始位、8个数据位、1个停止 位,传输速率为240字符/s。求波特率。 解:(1+8+1)×240 = 2400 b/s = 2400波特。
7.2 串行通信的一般概念
7.2.5 串行通信的接口电路
在串行通信中,数据是逐位按顺序传送的,而计算机 内部的数据是并行的。因此当计算机和外设进行通信时, 必须进行数据转换,实现这种功能目前主要采用通用异步 接收/发送器UART。 UART的主要功能是:一是从计算机接收8位并行数据 并将其转换为串行数据送到串口输出;二是从串口读入外 部串行数据并将其转换为8位并行数据送到计算机。
7.2 串行通信的一般概念
7.2.3 串行的通信类型
三种方式:单工、半双工和全双工
单工 A发 B接
单向
半双工 A发 A接 全双工 A发 A接 B接 B发 B发 B接
双向、分时
双向、同时
三种通信的示意图Βιβλιοθήκη 7.2 串行通信的一般概念
7.2.4 波特率
波特率,即数据传送速率,表示每秒传送二进制代码的 位数,它的单位是b/s (波特 bps)。波特率的倒数即为每位 传输所需的时间。 它与字符的传送速率(字符/秒)之间存在如下关系: 波特率=位/字符×字符/秒=位/秒
1. 数据缓冲器SBUF
在物理上两个独立的接收、发送缓冲器,可同时发送 、接收数据。两个缓冲器只用一个字节地址99H,可通 过指令对SBUF的读写来区别是对接收缓冲器的操作 还是对发送缓冲器的操作。
MEMO: MOV A,SUBF;指令对SBUF读,接收数据 MOV SUBF,A;指令对SBUF写,发送数据
7.4 串行接口的工作方式
7.4.1 方式0
同步移位寄存器方式,波特率固定为fosc/12
①发送过程:CPU执行MOV SBUF,A,即启动发送。数据在TXD同步 脉冲的作用下,由低位至高位通过RXD引脚输出。发送数据过程演示 D7 D6 D5 D4 D3 D2 D1 D0
②接收过程:数据在TXD同步脉冲的作用下,由低位至高位通过RXD 引脚接收,接收完后硬件自动置RI=1,通知CPU提取数据。
7.3 MCS-51串行接口的结构
7.3.2 串行口的控制寄存器
2. 串行控制寄存器SCON
位地址
位名称
9FH
SM0
9EH
SM1
9DH
SM2
9CH
REN
9BH
TB8
9AH
RB8
99H
TI
98H
RI
REN:允许串行接收控制位,该位由软件置位或复位。 REN=0,禁止从串行口RXD接收数据。
REN=1,允许从串行口RXD接收数据。
7.1 任务5:用串行接口控制信号灯
7.1.3 编写、汇编、运行程序
这个系统中共使用了两台单片机,它们需要有各自的
程序,一个作为发送,另一个作为接收,因此,需要 各自编程。 参考程序在任务5文件中。甲机 乙机
7.1 任务5:用串行接口控制信号灯
7.1.4 问题的提出
① MCS-51单片机在进行串行通信时,使 用到了定时器1,串行通信与之有关系吗? ② SCON、SBUF这两个寄存器,它们的 作用是什么?如何使用?
7.4 串行接口的工作方式
7.4.1 方式0
例7-1:利用串口方式0的功能实现8个发光二极管从上到下 依次点亮,并循环反复。
中断方式: ORG 0000H LJMP START ORG 0023H LJMP SBR ORG 2000H START:MOV SCON,#00H SETB EA SETB ES MOV A,#80H CLR P1.0 MOV SBUF,A SJMP $ ORG 2100H SBR: SETB P1.0 ACALL DELAY CLR TI RR A CLR P1.0 MOV SBUF,A RETI
③ TI、RI两个中断标志位的用途是什么? 在其后均有清零的指令,这又是为何呢?
7.2 串行通信的一般概念
7.2.1 两种基本通信方式
并行通信与串行通信 并行通信是数据的各位同时发送或同时接收。 并行通信优点:传送速度快。缺点:不便长距离传送,小于30M。
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 串行通信是数据的各位依次逐位发送或接收。 P0.6 外部设备 P0.7 串行通信优点:便于长距离传送,几米到几千公里。缺点:传送速度较慢。
第7章 MCS-51单片机的串行通信及其接口
7.1 任务5:用串行接口控制信号灯
7.1.1要求
通过甲机向乙机发送数据,乙机P1口所连接的8个
LED实现亮点流动。
7.1 任务5:用串行接口控制信号灯
7.1.2任务分析
在上述图中,甲机、乙机之间通过了TXD、RXD引脚
相连。 由于一条线路在一个时刻只能进行一位的数据传输, 所以这个系统就无法应用8位同时传送数据的方式。 因此,我们则可通过单片机的串行通信口进行相应的 数据传输。 甲机作为发送方,乙机作为接收方。
按低位在前、高位在后顺序排列应为1010110。 前面加1位起始位0,后面配上偶校验位1位0,最后面加1位停止位1, 所以,传送的字符格式为0101011001
7.2 串行通信的一般概念
7.2.2 串行通信的两种基本方式 2. 同步通信
指在发送端与接收端的时钟频率一致的条件下,发送端先发送 1~2个同步字符,随之发送若干个数据字符的方式,适用于大批量 数据传送。优点是传送速率高,缺点是硬件复杂,造价高。
7.3 MCS-51串行接口的结构
7.3.1 串行口的内部结构
发送 SBUF 波特率发生器 门 串行控制寄存器 TXD
发送控制器
串行中断 +