第7章80C51单片机的串行口
2.3 80C51单片机的并行端口结构
80C51单片机的并行端口结构80C51共有4个8位的并行I/O口,分别记作P0、P1、P2、P3。
被归入专用寄存器。
I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。
(1)并行I/O口的功能①PO口:电路中包括一个数据输出锁存器和两个三态数据输入缓存器,另外还有一个数据输出的驱动和控制电路。
这两组端口用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口的总线接口,而不像P1、P3直接用做输出口。
P0.0~P0.7,P0口是8位双向I/O口,P0.i引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。
该8位都是漏极开路(漏极开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态)输出,每个引脚可以驱动8个LS型TTL负载且内部没有上拉电阻,执行输出功能时外部必须接上拉电阻(10K 即可)。
若要执行输入功能,必须先输出高电平方能读取该端口所连接的外部数据;若在访问外部存储器(RAM、ROM)和扩展的I/O口时,P0可作为地址总线(A0~A7)和数据总线(D0~D7),分时进行工作。
在指令的前半周期,P0口作为地址总线的低8位,在指令的后半周期为8位的数据总线。
P1口的各个单元:输入缓冲器:在P0口中,有两个三态的缓冲器,三态门有三个状态,即在其输出端可以是高电平、低电平和高阻状态(或称为禁止状态)。
上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为…读锁存器‟端)有效。
要读取P0.i引脚上的数据,也要使标号为…读引脚‟的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。
D锁存器:存储器中可以存放电荷,加一个小的存储器的单元,并在它的面前加一个开关,要让这一位输出时,就把开关打开,信号就进入存储器的单元,然后马上关闭开关,这一位的状态就被保存下来,直到下一次命令让它把开关再打开为止,这就是锁存器。
80C51单片机的串行口
80C51单片机的串行口在单片机的世界里,80C51 单片机凭借其稳定性和广泛的应用一直占据着重要的地位。
而串行口作为 80C51 单片机的重要通信接口,发挥着至关重要的作用。
要理解 80C51 单片机的串行口,首先得知道串行通信的概念。
简单来说,串行通信就是数据一位一位地依次传输,相比并行通信,它只需要较少的数据线,这在很多场景下能大大减少硬件成本和布线难度。
80C51 单片机的串行口有 4 种工作方式,分别是方式 0、方式 1、方式 2 和方式 3。
方式 0 是同步移位寄存器输入/输出方式。
在这种方式下,数据以 8 位为一帧,低位在前,高位在后,没有起始位和停止位。
它通常用于扩展并行 I/O 口,例如外接串入并出的移位寄存器 74LS164 或并入串出的移位寄存器 74LS165。
方式 1 是 8 位异步通信方式,波特率可变。
这是最常用的串行通信方式之一。
一帧数据由 1 位起始位(低电平)、8 位数据位(低位在前)和 1 位停止位(高电平)组成。
发送和接收都是通过专门的寄存器来实现的。
方式 2 是 9 位异步通信方式,波特率固定。
一帧数据由 1 位起始位、8 位数据位、1 位可编程的第 9 位数据和 1 位停止位组成。
这种方式常用于多机通信,第 9 位数据可以作为地址/数据的标识位。
方式 3 与方式 2 类似,也是 9 位异步通信方式,但波特率可变。
串行口的波特率是一个非常关键的概念。
波特率决定了数据传输的速度。
在 80C51 单片机中,方式 0 和方式 2 的波特率是固定的,而方式 1 和方式 3 的波特率则是由定时器 T1 的溢出率来决定的。
通过设置定时器 T1 的工作方式和初值,可以得到不同的波特率,以适应不同的通信需求。
在实际应用中,要使用 80C51 单片机的串行口进行通信,还需要对相关的寄存器进行配置。
比如,串行控制寄存器 SCON 用于设置串行口的工作方式、接收/发送控制等;电源控制寄存器 PCON 中的 SMOD 位用于控制方式 1、2、3 的波特率加倍。
智慧树知道网课《单片机原理及应用(山东联盟)》章节测试满分答案.
第一章测试1【单选题】(2分)AT89S51单片机为()位单片机。
A.32位B.8位C.4位D.16位2【单选题】(2分)掉电后数据即丢失的存储器是哪一种A.FlashMemoryB.EPROMC.ROMD.SRAM3【判断题】(2分)51系列单片机在做最小系统工作时,P0口不加外接上拉电阻,也能正常工作。
A.错B.对4【判断题】(2分)STC系列单片机是8051内核的单片机。
A.对B.错5【判断题】(2分)MCS-51系列单片机是高档16位单片机。
A.错B.对6【判断题】(2分)复位信号是由复位电路产生的,一般有上电自动复位和上电手动复位。
A.错B.对7【单选题】(2分)在Keil软件中,C语言源文件的扩展名为()。
A.*.aB.*.hC.*.c8【单选题】(2分)80C51单片机片内集成了()KB的FlashROM。
A.8B.16C.2D.49【单选题】(2分)当CPU访问片外的存储器时,其低八位地址由()提供。
A.P0B.P3C.P1D.P210【单选题】(2分)在80C51中,一个机器周期包括()个振荡周期,而每条指令都由一个或几个机器周期组成。
A.2B.12C.8D.111【单选题】(2分)RST是单片机的()引脚。
A.复位B.电源C.晶振D.地址锁存12【单选题】(2分)单片机复位需要()。
A.B.高电平C.低电平D.下降沿13【判断题】(2分)当80C51单片机的晶振频率为12MHz时,ALE地址锁存信号端的输出频率为2MHz的脉冲。
A.对B.错14【判断题】(2分)80C51单片机的程序存储器用于存放运算中间结果。
A.B.错15【单选题】(2分)80C51单片机中,输入/输出引脚中有专门的第二功能的引脚是()。
A.P0B.P3C.P2D.P1第二章测试1【单选题】(2分)立即寻址的寻址空间为()A.SFR单元范围B.片外RAM单元C.片内RAM单元D.ROM单元范围2【单选题】(2分)单片机硬件最小系统不包括()A.电源电路B.时钟电路C.复位电路D.输出控制电路3【单选题】(2分)for语句实现软件延时的控制条件不包括()A.循环控制条件B.变量自增或自减C.数组范围D.初始值4【单选题】(2分)函数定义内容可以不包括为()A.单元范围B.参数形式C.函数名称D.函数体5【单选题】(2分)下列关系运算符中优先级最高的为()A.<B.==C.<=D.!=6【单选题】(2分)for语句常用的功能不包括()A.实现执行语句循环B.ROM单元范围C.实现无限循环D.实现延时7【单选题】(2分)keil软件使用时第一步是()A.安装串口B.新建工程C.新建源文件D.下载程序8【判断题】(2分)在写汇编程序时,常常用具有一定含义的助记符来表示相应的操作命令()A.错B.对9【判断题】(2分)P0输出信号由一种状态向另一种状态变化时,编写延时子程序实现一定的时间间隔()A.错B.对10【判断题】(2分)C语言编译器提供了很多标准库函数,具有较强的数据处理能力()A.对B.错11【判断题】(2分)每个C程序都必须有(且仅有)一个主函数(),程序的执行总是从主函数开始()A.对B.错12【判断题】(2分)赋值语句左边必须是变量或寄存器,且必须先定义()A.对B.错13【判断题】(2分)while语句用来实现“当型”循环,执行过程首先判断表达式()A.对B.错14【判断题】(2分)do-while结构用来做“直到型”先执行一次循环体再做条件判断()A.对B.错15【判断题】(2分)51单片机的定时/计数器由T0、T1、工作方式寄存器和控制寄存器TCON四大部分组成()A.错B.对第三章测试1【判断题】(2分)单片机的时序中时钟周期用于计量指令执行的时间长度。
串行通信工作方式
在RI=0的条件下,用指令置REN=1即可开始串行接收。TXD端输出移位脉冲,数据依次 由低到高以fosc/12波特率经RXD端接收到SBUF中,一帧数据接收完成后硬件置接收中断标 志位RI为1。若要再次接收一帧数据,应该用指令MOV A,SBUF将上一帧数据取走,并用指 令将RI清零。用方式0通信时,多用查询方式。
1.2 串行工作方式1
方式1是一帧10位的异步串行通信方式,包括1个起始位,8个数据 位和一个停止位。波特率可变,由定时器/计数器T1的溢出率和SMOD (PCON.7)决定。其帧格式如下:
起始 D0 D1 D2 D3 D4 D5 D6 D7 停止
1、 数据发送
发送时只要将数据写入SBUF,在串行口由硬件自动加入起始位和停 止位,构成一个完整的帧格式。然后在移位脉冲的作用下,由TXD端串 行输出。一帧数据发送完毕后硬件自动置TI=1。再次发送数据前,用指 令将TI清零。
单片机原理与应用
串行通信工作方式
80C51串行通信共有4种工作方式,由串行控制寄存器SCON 中SM0 SM1决定。
1.1 串行工作方式0(同步移位寄存器工作方式)
以RXD(P3.0)端作为数据移位的输入/输出端, 以TXD(P3.1)端输出移位脉冲。 移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入 /输出,均低位在前高位在后。 其帧格式为:
1.3 串行工作方式2
串行接口工作方式2为9位异步通信接口,传送一帧数据有11位。1位起 始位(低电平信号),8位数据位(先低位后高位),1位可编程位,1位停止位 (高电平信号)。其格式如下:
起始位
数据位
0
D0
D1
D2
D3
D4
D5 D6
《单片机原理与应用及上机指导》第7章:80C51单片机系统扩展
表7.4 常用SRAM芯片的主要性能
表7.6 80C51与6264的线路连接
7.2 并行I/O扩展
MCS-51系列单片机共有4个并行I/O口,分别是P0、P1、 P2和P3。其中P0口一般作地址线的低8位和数据线使用; P2口作地址线的高8位使用;P3口是一个双功能口,其第 二功能是一些很重要的控制信号,所以P3一般使用其第二 功能。这样供用户使用的I/O口就只剩下P1口了。另外,这 些I/O口没有状态寄存和命令寄存的功能,所以难以满足复 杂的I/O操作要求。因此,在大部分MCS-5l单片机应用系 统的设计中都不可避免地要进行I/O口的扩展。 7.2.1 并行I/O扩展原理 7.2.2 常用的并行I/O扩展芯片
线选法
若系统只扩展少量的RAM和I/O口芯片,可采用线选法。 线选法是把单片机高位地址分别与要扩展芯片的片选端相连,控制选 择各条线的电路以达到选片目的,其优点是接线简单,适用于扩展芯 片较少的场合,缺点是芯片的地址不连续,地址空间的利用率低。
图7.7 片外RAM的读时序
图7.8 片外RAM的写时序
4.数据存储器芯片及扩展电路
(1) 数据存储器 数据存储器扩展常使用随机存储器芯片,用得较多的是 Intel公司的6116(容量为2KB)和6264(容量为8KB), 其性能 如表7.4所示。 (2) 数据存储器扩展电路 80C51与6264的连接 如表7.6所示。
全地址译码法
利用译码器对系统地址总线中未被外扩芯片用到的高位地址线进行译 码,以译码器的输出作为外围芯片的片选信号。常用的译码器有 74LS139、74LS138、74LS154等。优点是存储器的每个存储单元只 有唯一的一个系统空间地址,不存在地址重叠现象;对存储空间的使 用是连续的,能有效地利用系统的存储空间。缺点是所需地址译码电 路较多,全地址译码法是单片机应用系统设计中经常采用的方法 。
51单片机-串行口ppt课件
为发送时CPU是主动的,不会产生重叠错误。
最新课件
21
8.2.2 80C51串行口的控制寄存器
SCON 是一个特殊功能寄存器,用以设定串行口的工 作方式、接收/发送控制以及设置状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
最新课件
22
●SM2,多机通信控制位,主要用于方式2和方式3。 当接收机的SM2=1时可以利用收到的RB8来控制是否 激活RI(RB8=0时不激活RI,收到的信息丢弃; RB8=1时收到的数据进入SBUF,并激活RI,进而在 中断服务中将数据从SBUF读走)。当SM2=0时,不 论收到的RB8为0和1,均可以使收到的数据进入 SBUF,并激活RI(即此时RB8不具有控制RI激活的 功能)。通过控制SM2,可以实现多机通信。
起 空始 闲位
一个字符帧 数据位
校停 验止 位位
空 下一字符 闲 起始位
LSB
MSB
异步通信的特点:不要求收发双方时钟的
严格一致,实现容易,设备开销较小,但 每个字符要附加2~3位用于起止位,各帧 之间还有间隔,因此传输效率不高。
最新课件
9
2、同步通信
同步通信时要建立发送方时钟对接收方时钟的直接控制, 使双方达到完全同步。此时,传输数据的位之间的距离均 为“位间隔”的整数倍,同时传送的字符间不留间隙,即 保持位同步关系,也保持字符同步关系。发送方对接收方 的同步可以通过两种方法实现。
波特率=2SMOD/32×T1的溢出率 = 2SMOD × fosc/[ 32 × 12×(2K-初值)]
最新课件
19
回目录 上页 下页
3、传输距离与传输速率的关系
串行接口或终端直接传送串行信息位流的
单片机基础_80C51
5. 串行I/O口 目前高档 8 位单片机均设置了全双工串行 I/O 口,用以 实现与某些终端设备进行串行通信,或者和一些特殊功能 的器件相连接的能力,甚至用多个单片机相连构成多机系 统。随着应用的拓宽,有些型号的单片机内部还包含有二 个串行I/O口。 6. 定时器/计数器
3. 控制线:共4根。
· RST(VPD:备用电源引入端,当电源发生故障,电源降到下限值时, 备用电源经此端向内部 RAM提供电压,以保护内部RAM中的数据不 丢失)——复位输入信号,高电平有效。在振荡器工作时,在RST上 作用两个机器周期以上的高电平,将器件复位。 ·/EA(Vpp:编程电压,具体电压值视芯片而定)——片外程序存储 器访问允许信号,低电平有效。/EA=1,选择片内程序存储器(80C51 为4KB,80C52为8KB) ;/EA=0,则程序存储器全部在片外而不管片 内是否有程序存储器。 使用80C31时,必须接地,使用8751编程时,施加 21V的编程电 压。 · ALE(PROG:编程脉冲)——地址锁存允许信号,输出。 在访问片外存储器或 I/O 时,用于锁存低八位地址,以实现低八 位地址与数据的隔离。即使不访问外部存储器,ALE端仍以固定的频 率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存储器 时,出现一个ALE脉冲。
在单片机中,常把寄存器(如工作寄存器、特殊功能 寄存器、堆栈等)在逻辑上划分在片内 RAM 空间中,所 以可将单片机内部 RAM 看成是寄存器堆,有利于提高运 行速度。
当内部 RAM 容量不够时,还可通过串行总线或并行 总线外扩数据存储器。
4. 并行I/O口
单片机往往提供了许多功能强、使用灵活的并行输入 /输出引脚,用于检测与控制。有些I/O引脚还具有多种功 能,比如可以作为数据总线的数据线、地址总线的地址线、 控制总线的控制线等。单片机 I/O 引脚的驱动能力也逐渐 增大,甚至可以直接驱动外扩的LED显示器。
51单片机基础知识试题题库(含答案)
第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
单片机 (8)
单片机1. 使用单片机开发系统调试C语言程序时,首先应新建文件,该文件的扩展名是 ( ) [单选题] *A、 .C(正确答案)B、 .HEXC、 .binD、 .asm2. 2.51单片机的CPU主要由()组成。
[单选题] *A、运算器、控制器(正确答案)B、加法器、寄存器C、运算器、加法器D、运算器、译码器3. 程序是以()形式存放在程序存储器中。
[单选题] *A、 C语言源程序B、汇编程序C、二进制编码(正确答案)D、 BCD码4. 下面叙述不正确的是() [单选题] *A、一个C源程序可以由一个或多个函数组成。
B、一个C源程序必须包含一个主函数main( )。
C、在C程序中,注释说明只能位于一条语句的后面。
(正确答案)D、 C程序的基本组成部分单位是函数。
5. 5 在C语言中,当do-while语句中的条件为()时,循环结束。
[单选题] *A、 0(正确答案)B、 falseC、 trueD、非06. C程序总是从()开始执行的。
[单选题] *A、主函数(正确答案)B、主程序C、子程序D、D、主过程7. 在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。
[单选题] *A、赋值语句B、表达式语句C、循环语句D、空语句(正确答案)8. 在单片机应用系统中,LED数码管显示电路通常有()显示方式。
[单选题] *A、静态B、动态C、静态和动态(正确答案)D、查询9. ()是单片机的控制核心,完成运算和控制功能。
[单选题] *A、 CPU(正确答案)C、 ROMD、 ALU10. 具有可读可写功能,掉电后数据丢失的存储器是() [单选题] *A、 CPUB、 RAM(正确答案)C、 ROMD、 ALU11. 51单片机的定时器T0用做定时方式时,采用工作方式1,则工作方式控制字为() [单选题] *A、 0x01(正确答案)B、 0x05C、 0x10D、 0x5012. 在定时/计数器的计数初值计算中,若设最大计数值为M,对于工作方式1下的M值为()。
《单片机原理与技术》课件第7章-中断
1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •
•
定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3
•
中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:
80C51系列单片机有一个全双工的串行口
2、串行控制寄存器SCON 串行控制寄存器SCON
SCON 位名称 位地址 功能 1) 2) 3) 4) 5) 6) 7) SM0 SM0 SM2 SM2 REN TB8 TB8 RB8 TI RI D7 SM0 9FH D6 SM1 9EH D5 SM2 9DH D4 REN 9CH D3 TB8 9BH D2 RB8 9AH 接收 第9位 D1 TI 99H 发送 中断 D0 RI 98H 接收 中断
T1初值 T1初值 = 256 -
2SMOD 32
×
fosc 12 ×波特率
⑷ 应用举例
设甲乙机以串行方式1进行数据传送,fosc=11 0592MHz 11. MHz, 【例6-3】设甲乙机以串行方式1进行数据传送,fosc=11.0592MHz,波特 率为1200b/s。甲机发送的16个数据存在内RAM 40H 1200b/s 16个数据存在内 FH单元中 单元中, 率为1200b/s。甲机发送的16个数据存在内RAM 40H~4FH单元中,乙机接 收后存在内RAM 50H为首地址的区域中。 收后存在内RAM 50H为首地址的区域中。 解: 串行方式1波特率取决于T 溢出率( SMOD=0),计算T 定时初值: 串行方式1波特率取决于T1溢出率(设SMOD=0),计算T1定时初值: 计算
解:编程如下: 编程如下:
LIGHT: SCON,#00 00H 串行口方式0 LIGHT:MOV SCON,#00H ;串行口方式0 CLR ES ;禁止串行中断 MOV DPTR,#TAB ;置发光二极管亮暗控制字表首址 置顺序编号0 LP1: MOV R7,#0 ;置顺序编号0 LP2: MOV A,R7 ;读顺序编号 MOVC A,@A+DPTR ;读控制字 CLR P1.0 ;关闭并行输出 MOV SBUF,A ;启动串行发送 JNB TI,$ ;等待发送完毕 CLR TI ;清发送中断标志 SETB P1.0 ;开启并行输出 调用延时0.5秒子程序(参阅例4 0.5秒子程序 LCALL DLY500ms ;调用延时0.5秒子程序(参阅例4-13) INC R7 ;指向下一控制字 判循环操作完否? CJNE R7,#30,LP2 ;判循环操作完否?未完继续 顺序编号0 29依次操作完毕 依次操作完毕, SJMP LP1 ;顺序编号0~29依次操作完毕,从0开始重新循环 TAB: FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00 从左向右依次暗灭, 07H,03H,01H,00H TAB: DB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;从左向右依次暗灭, 每次减少一个,直至全灭; 每次减少一个,直至全灭; 80H,40H,20H,10H,08H,04H,02H,01H 从左向右依次点亮, H,40H,20H,10H,08H,04H,02H,01 DB 80H,40H,20H,10H,08H,04H,02H,01H;从左向右依次点亮,每次亮一个 02H,04H,08H,10H,20H,40H,80H 从右向左依次点亮, H,04H,08H,10H,20H,40H,80 DB 02H,04H,08H,10H,20H,40H,80H;从右向左依次点亮,每次亮一个 H,0 H,0 H,0 H,0FCH,0FEH;从左向右依次点亮, DB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;从左向右依次点亮, 每次增加一个,直至全部点亮; 每次增加一个,直至全部点亮;
80C51系列单片机有一个全双工的串行口
解:编程如下:
LIGHT:MOV SCON,#00H ;串行口方式0 CLR ES ;禁止串行中断 MOV DPTR,#TAB ;置发光二极管亮暗控制字表首址 LP1: MOV R7,#0 ;置顺序编号0 LP2: MOV A,R7 ;读顺序编号 MOVC A,@A+DPTR ;读控制字 CLR P1.0 ;关闭并行输出 MOV SBUF,A ;启动串行发送 JNB TI,$ ;等待发送完毕 CLR TI ;清发送中断标志 SETB P1.0 ;开启并行输出 LCALL DLY500ms ;调用延时0.5秒子程序(参阅例4-13) INC R7 ;指向下一控制字 CJNE R7,#30,LP2 ;判循环操作完否?未完继续 SJMP LP1 ;顺序编号0~29依次操作完毕,从0开始重新循环 TAB: DB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;从左向右依次暗灭, 每次减少一个,直至全灭; DB 80H,40H,20H,10H,08H,04H,02H,01H;从左向右依次点亮,每次亮一个 DB 02H,04H,08H,10H,20H,40H,80H;从右向左依次点亮,每次亮一个 DB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;从左向右依次点亮, 每次增加一个,直至全部点亮;
(2) 数据接收
串行口作为并行输入口使用时,要有“并入串出” 的移位寄存器配合。
74HC165 S/L 端为移位 / 置入端,当 S/L=0 时,从 Q0 ~ Q7并行置入数据,当S/L=1时,允许从QH端移出数据。在 80C51串行控制寄存器SCON中的REN=1时,TXD端发出移位 时钟脉冲,从RXD端串行输入8位数据。当接收到第8位数 据D7后,置位中断标志RI,表示一帧数据接收完成。
串行接口与双机通信
制解调器MODEM)之间串行二进制数据交换接口技术标准”。
它适合于数据传输速率在0~20 000bps范围内的通信。
图5-8 RS-232C串口结构
目前较为常用的RS-232C有9针串口(DB9)和25针串
口(DB25),结构分别如图5-8所示。在保证通信准确性 的前提下,如果通信距离较近 (小于12米),可以用电缆线 直接连接,图5-9是这种连接方式的示意图;若距离较远, 需附加调制解调器(MODEM),见图5-7。
SMOD=l时,方式1、2、3的波特率加倍,否则不加倍。
PCON的格式如下:
5.2.3串行口的四种工作方式
80C51单片机串行口有4种工作方式,用特殊功能寄 存器SCON中的SM0、 SM1两位进行设定,见表5-1。
1.方式0
(1)特点
用于串行I/O口扩展,有固定的波特率,为fOSC/12。 同步发送/接收功能,由TXD提供移位脉冲,RXD用作数据输入/
2、与其它标准接口的对照
表5-3 列出了RS-485与其它标准接口的对照表
接口标准 功能 RS-232C 双向,全双工 RS-422A 双向,全双工 RS-485 双向,半双工
工作方式
逻辑“0”电平 逻辑“1”电平 节点数 最大传输距离 最大传输速率 驱动器加载输出电压 接收器输入电阻(Ω) 抗干扰能力
2.逻辑电平
RS-232C是早期为促进公用电话网络进行数据 通信而制定的标准。它采用负逻辑,即 -3V~-15V规定为“1”; +3V~+15V规定为“0”; -3V~+3V为过渡区,不做定义。
3.电平转换芯片与接口电路
RS-232C信号的电平和单片机串口信号的电平不一致,
必须进行二者之间的电平转换。常用芯片有MC1488(TTL
单片机第七课--串口
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寄存器);
MCS-51单片机的串行口及串行通信技术
MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。
单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。
例如,⽬前的有线电视节⽬,只能单⽅向传送。
半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。
也就是说,半双⼯通信可以分时双向传送数据。
例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。
全双⼯通信:数据可同时向两个⽅向传送。
全双⼯通信效率最⾼,适⽤于计算机之间的通信。
此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。
实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。
异步通信在异步通信中,数据⼀帧⼀帧地传送。
每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。
每⼀帧的数据格式如图7-1所⽰。
⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。
起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。
通信线在不传送字符时,⼀直保持为“1”。
接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。
起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。
数据位数据位是要传送的数据,可以是5位、6位或更多。
当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。
奇偶校验位奇偶校验位只占⼀位,其数据位为D8。
当传送数据不进⾏奇偶校验时,可以省略此位。
此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。
停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。
单片机复习题
一、填空题:1、当P1 口做输入口输入数据时,必须先向该端口的锁存器写入(FF ),否则输入数据可能出错。
2、中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由(IP )寄存器的内容决确定的。
3、寄存器PSW 中的RS1 和RS0 的作用是(选择工作寄存器组)。
4、LED 数码显示有(静态显示)和(动态显示)两种显示形式。
5、当单片机CPU 响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程序。
其中INT1 的入口地址为(0013H),串行口入口地址为(0023H ),T0 的入口地址为(000BH )。
6、用汇编语言编写的程序称为(源)程序,通过汇编后得到的用机器码表示的程序称为(机器)程序。
7、堆栈的地址由(SP)的内容确定,其操作规律是“( 先) 进( 后)出”。
8、扩展并行I/O 口时,常采用(8255 )和(8155 )可编程芯片。
9、编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用(PUSH)指令,恢复现场用(POP)指令。
10、能在紫外线照射下擦除和重写的存储器是(EPROM) 型存储器,能够直接在线路中快速写入和读出的存储器是(flashROM ) 型存储器。
11、单片机内部与外部ROM 之间的查表指令是(MOVC A,@A+PC )。
1、8031 单片机一般使用的时钟晶振频是(6MHZ )、(12MHZ )。
2、假定(SP)=40H,(39H)=30H ,(40H)=60H 。
执行下列指令:POP DPH ,POP DPL 后,DPTR 的内容为(6030H ),SP 的内容是(38H )。
3、单片机的堆栈栈顶由(SP)来指示,复位时起位置在(07H )单元。
4、当P1 口做输入口输入数据时,必须先向该端口的锁存器写入(FFH ),否则输入数据可能出错。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=
1 1200
= 0. 833 ( ms )
波特率和字符帧的传输速率不同,若采用前面图中的
数据帧格式,并且数据帧连续传送(无空闲位),则实
际的字符传输速率为1200/11=108.08帧/秒。
再例如:每秒钟传送240个字符,而每个字符格式包
含10位(1个起始位、1个停止位、8个数据位),这时
2014-11-19 15
串行通信的错误校验
检错:数据在传输过程中可能受干扰使接收的数据出错,如何 发现错误——检错。 纠错:发现错误后,如何消除或纠正错误——纠错。 抗干扰编码:最简单的编码是奇偶校验; 奇校验:所传送的数据中1的个数为奇数;
偶校验:所传送的数据中1的个数为偶数;
时也可不用奇偶校验。
(4) 停止位:
字符帧格式的最后部分是停止位,逻辑“1”电平
有效,它可占1/2位、1位或2位(在串行通信时每位
的传送时间是固定的)。停止位表示传送一帧信息的
结束,也为发送下一帧信息作好准备。
2、同步通信
同步通信:是把数据块作为整体来传输,由定时时钟实现接收 端与发送端同步。 每次传一组数据,加入帧头和帧尾。 一帧
的波特率为10位*240个/秒=2400bps。
信号的调制与解调
RS-232C RS-232C
电话网
DCE DCE
DTE 调制解调器 调制 解调
DTE
DTE:数据终端设备 DCE:数据通信设备 计算机 MODEM
串行通信的目的不只是传送数据信息,更重要的是应确
保准确无误地传送。因此必须考虑在通信过程中对数据差错进 行校验,校验方法有奇偶校验、累加和校验等。
2014-11-19
25
近程通信,不需要调制解调器
TXD RXD 计 4 算 5 6 机 甲 20 TXD RXD 计 4 算 5 6 机 20 乙
TXD RXD 计 算 机 甲
TXD RXD 计 算 机 乙
无联络线方式 用汇编指令编写
联络线短接(伪连接)方式 高级语言或汇编中的中断调用
2014-11-19
空闲 0 1 0 0 1 1 1 0 起 D0 始 位 空闲
字符位编码
1/ 1 0 D7 校 停 验 止 位 位
0
7.1.2
串行通信接口标准
RS-232C定义的是DTE与DCE间的接口标准。 RS-232C标准接口是EIA(美国电子工业协会)于 1969 年 颁 布 的 串 行 通 信 接 口 标 准 。 RS 是 “ Recommended Standard”(推荐标准)的缩写, 232 为标准的编号, C 为版本号。在 RS-232C 之前为 RS-232A 与 RS-232B , 1987 年修订为 EIA-232D , 1991 年修订为 EIA-232E , 1997 年又修订为 EIA-232F 。其 中,RS-232C最为常用。
发送字符时,数据位尾随1位奇偶校验位(1或0)。奇校验时 ,数据中“1”的个数与校验位“1”的个数之和应为奇数;偶校验 时,数据中“1”的个数与校验位“1”的个数之和应为偶数。 奇偶校验能够检测出奇数位误码,但是不能纠错,比较低级 ,一般只用在异步通信中。
代码和校验
发送方将所发数据块求和(或各字节异或),产 生的校验和字节附加到数据块的末尾。 接收方在接收数据时要对数据块(除校验字节外) 求和(或各字节异或),将所得的结果与收到的 “校验和”进行比较,两者相符则无差错,否则 就认为传送过程出现了差错。
***传输距离随波特率的增加而减小。
2014-11-19
18
7.1.2 串行通信接口种类
根据串行通信格式及约定(如同步方式、通信
速率、数据块格式等)不同,形成了许多串行通信
接口标准,如常见的:
UART(串行异步通信接口)、
USB(通用串行总线接口)、 I2C(集成电路间的串行总线)、 SPI(串行外设总线)、 485总线、CAN总线接口等。
第n个字符 停 止 位 0/1 0/1 1 起 始 位 0 校 验 位 停 止 位 1 起 始 位 0
第n+1个字符
8位数据
数据 0/1 0/1 „
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
异步通信的一帧数据格式
注:PC机上的RS-232C接口就是典型的异步通信 异步通信帧格式
2014-11-19 3
串行通信
发送 设备
0 1 1 0 1 1 0 1 D7 D6 D5 D4 D3 D2 D1 D0 TXD
时钟
接收 设备
数据线
0 1 0 1 1 0 1 1 D0 D1 D2 D3 D4 D5 D6 D7
D1 D0
0 1
D2(1)
RXD
T0 T1 T2 T3 T4 T5 T6 T7
1 13 1 5
14
25
6
9
DB-25(阳头)连接器
DB-9(阳头)连接器
阳头通常用于计算机侧,阴头用于连接线侧
22
2014-11-19
功能特性
插针序号 1 2( 3) 3( 2) 4( 7) 5( 8) 6( 6) 7( 5) 信号名称 PGND TXD RXD RTS CTS DSR SGND 保护接地 发送数据(串行输出) 接收数据(串行输入) 请求发送 允许发送 DCE就绪(数据建立就绪) 信号接地 DTE→DCE DTE←DCE DTE→DCE DTE←DCE DTE←DCE 功能 信号方向
2014-11-19
17
传输速率与传输距离
传输速率
等时间间隔信号称为码元 每个码元可以携带n位信息
单片机通信属于基带传输(每个码元带有“1”或“0”这1 bit信息)。 波特率:每秒钟传送信息的位数,单位:波特(Baud) 常用波特率为:2400、4800、 9600、14.4K、19.2K等
传输距离与传输速率的关系
由于收发信号采用共地传输,容易产生共模干 扰,所以抗干扰能力较差。
新标准RS-485改善了传输特性,应用广泛!
7.2 80C51单片机的串行口
1个全双工串口:通信或接口扩展,帧格式为 8位、10位或11位
7.2.1 80C51串行口的结构
99H
SBUF 写SBUF TH1 TL1 发送控制器 1 T1溢出率 读SBUF ÷2 0 SMOD ÷16 接收控制器
空 闲 起 始 位 一个字符帧 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
D0
D7
起始位(1位); 数据位(8位); 奇偶校验位(1位,可无校验位);
停止位(1位)。
特点
易于实现 效率不高
同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)
2014-11-19 7
(1) 起始位: 在没有数据传送时,通信线上处于逻辑“1”状 态 。当发送端要发送1个字符数据时,首先发送1个逻
特点:传输线少,成本低;传送控制复杂、速度慢 串行通信的必要过程是:发送时要把并行数据变成串行数据发 送到线路上;接收时要把串行数据变成并行数据,才能被计算 机和其他设备处理。
2014-11-19 4
7.1.1
串行通信的基本概念
异步通信与同步通信
异步通信( 通信的发送和接收设备各自使用自己的时钟 )
辑“0”信号,这个低电平便是帧格式的起始位。其
作用是向接收端表示发送端开始发送一帧数据。接 收端检测到这个低电平后,就准备接收数据信号。
(2) 数据位: 在起始位之后,发送端发出(或接收端接收)的
是数据位,数据的位数没有严格的限制,5~8位
均可。由低位到高位逐位传送。 (3) 奇偶校验位: 数据位发送完 ( 接收完 ) 之后,可发送一位用来检 验数据在传送过程中是否出错的奇偶校验位。奇偶 校验是收发双方预先约定好的差错检验方式之一有
51单片机的串行接口:
作通用异步收发器(UART),也可作同步移位寄存器 通信只有3根线(P3.0—RXD,P3.1—TXD,GND) 全双工通信,有4种工作方式 TTL电平正逻辑输出 (RS-232C为负逻辑),实现RS-232C 接口需要电平转换 —— MAX232芯片 实现RS485接口需要变换 —— MAX485芯片 以下是P3.1发送字符“9”的时序:
接收
2014-11-19
12
二、串行通信的波特率
波特率(Baud Rate)是串行通信中一个重要概念,它是
指传输数据的速率, 亦称比特率。波特率的定义是每秒传输 二进制数码的位数。如:波特率为1200bps是指每秒钟能传 输1200位二进制数码。
波特率的倒数即为每位数据传输时间。例如:波 特率为1200bps,每位的传输时间为:
以“0”作为起始 以“1”作为停止 各帧间隔时间任意
发送 设备
10100100 0
TXD
接收 设备
1 11100110
RXD
1 10100100 0
1 11100110 0
收、发设备时钟独立,以字符(帧)为单位传输
2014-11-19 5
1.异步通信
异步通信中,传送的数据可以是一个字符代码或一个字节数 据,数据以帧的形式一帧一帧传送。
V
+5 1 2 0.Fra bibliotek 0 00 1 0 1
V
+25 +3 -3
0 1 0 1
0
t
t
1
-25 RS232电平
TTL电平
电平转换电路(如MAX232)。
2014-11-19 24
过程特性 远程通信,需要调制解调器
TXD 计 算 机 RXD RTS DSR
M O D E M
电话线