80C51单片机的工作方式共有四种
第3章80C51系列单片机的硬件基础知识

(3) P2口(21脚~28脚):P2口的8条引脚也有两种不同的 功能: 1) 准双向输入/输出接口,每一位也可独立控制。
2) 在接有片外存储器或扩展I/O接口时,P2口作为高8位地
址总线。
引脚
第二功能
说 明
P3.0
RXD
串行口输入
外部中断0输入,低电平
(4) P3口(10 脚~17脚): 8条引脚也有两种不同的功能: P3.1 TXD P3口的 串行口输出
STC
Winbond(华邦) W78C54,W78C58,W78E54,W78C58等 Intel(英特尔) i87C54,i87C58,i87L54,i87C51FB,i87C51FC
Siemens(西门子) C501-1R,C501-1E,C513A-H,C503-1R,C504-2R
3.1.3 80C51系列单片机的选择依据
3.1.1 MCS-51系列单片机
1980年美国INTEL公司推出了高性能的8位单片机: MCS-51系列单片机。 系列单片机是指同一厂家生产的具有相同系统结构 的多种型号的单片机。 MCS-51系列单片机又可分为51和52两个子系列。
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
MCS-51系列 型号 8031 片内ROM 无 4KB掩膜ROM 4KB EPROM 无 8KB掩膜ROM 片内 RAM 128B 128B 128B 256B 256B 定时器/计数 中断源数量 器 2×16位 2×16位 2×16位 3×16位 3×16位 5 5 5 6 6
PDIP (T2)P1.0 (T2EX)P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD)P3.0 (TXD)P3.1 1 40 39 38 37 36 35 VCC P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) EA/VPP ALE/PROG PSEN P0.4(AD4) P0.5(AD5) P2.7 P0.6(AD6) P2.6 P0.7(AD7) EA/VPP P2.5 NC P2.4 ALE/PROG PSEN P2.3 P2.7 P2.6 P2.2 P2.5 P2.1 P2.0
第四章-80C51单片机的功能单元

第四章80C51单片机的功能单元4·1 80C51的四个I/O口在使用上有哪些分工和特点?试比较各分工的特点? 试比较各口的特点?何谓分时复用总线?P3口的第二变异功能有哪些?答:(1)80C51的四个I/O口在使用上的分工和特点①P0口: 可作通用I/O口用,也可作地址/数据线用。
作通用I/O口用时,输出级为开漏极电路,在驱动外部电路时应接上拉电阻;在接有外部存储器时,P0口作地址/数据线用,先输出低8位地址到外部地址锁存器,后输人指令代码或输人/输出数据。
②Pl口: 是一个8位准双向口,作通用I/O口用。
③P2口: 是一个8位准双向口,作通用I/O口用。
当外部接有存储器时,可用于输出高8位地址。
④P3口: 是一个多功能端口。
其基本功能仍然是通用I/O口,使用时与Pl、P2口类似。
其第二功能则是串行口、外部中断线、定时器/计数器的输入及外部数据存储器的选通信号等。
(2)分时复用总线分时复用总线是:在一组总线上,在不同的时间,有时输出地址,有时输人代码或输出/输人数据。
例如,P0口和P2口就组成了一组地址/数据复用总线。
(3)P3口的第二变异功能第一功能第二变异功能串行口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)中断:P3.2 INT0外部中断0P3.3 INT1外部中断1定时器/计数器(T0、T1):P3.4 T0(定时器/计数器0的外部输入)P3.5 T1(定时器/计数器1的外部输入)数据存储器选通:P3.6 WR(外部存储器写选通,低电平有效,输出)P3.7 RD(外部存储器读选通,低电平有效,输出)4·2 80C51端口P0~P3作通用I/O 口时,在输入引脚数据时,应注意什么?答:p0~p3作通用I/O口在输入引脚数据时,应先用软件向口的输出锁存器写1。
4·3 "读一改一写"指令有何特点? 请至少列出五条不同操作的"读—改一写"指令。
单片机03

规定一个机器周期的宽度为 个状态,并依次表示为 一个机器周期的宽度为6个状态 一个机器周期的宽度为 个状态, S1~S6。由于一个机器周期共有12个振荡脉冲周期,因 ~ 。 此机器周期就是振荡脉冲的12分频。 当振荡脉冲频率为 12 MHZ时,一个机器周期为 lµS; 当振荡脉冲频率为6MHZ时,一个机器周期为2 µS。 机器周期是单片机的最小时间单位。 (4)指令周期 指令周期 执行一条指令所需要的时间称为指令周期。它是最 大的时序定时单位。80C51的指令周期根据指令的不同 , 的指令周期根据指令的不同, 的指令周期根据指令的不同 可包含有一、 四个机器周期。 可包含有一、二、三、四个机器周期。
2.5 80C51单片机的工作方式 单片机的工作方式
80C51单片机有复位、程序执行、低 功耗、编程和校验等几种工作方式。
2.5.1复位方式 复位方式 ⒈ 复位操作 复位是单片机的初始化操作,其主要功能是把PC初始 化为0000H,使单片机从0000H单元开始执行程序。当由 于程序运行出错或操作错误使系统处于死锁状态时,为 摆脱困境,可以按复位键 复位键以重新启动,也可以通过WDT 复位键 看门狗定时器来强迫复位 强迫复位(WDT可在单片机系统受干扰 强迫复位 使程序不能正常运行时,自动产生复位信号。目前不少 集成电路厂家已生产集成WDT芯片,如DALLAS公司生 产的DS1232芯片就是使用较多一种集成WDT。 )。 除PC之外,复位操作还对其它一些特殊功能寄存器有 影响,它们的复位状态见下表(或见教材P34)
2.4.2 时序定时单位 单片机执行指令是在时序电路的控制下一步一步进行 的。时序是用定时单位来说明的。80C51的时序定时单位 共有4个:振荡周期/节拍、时钟周期/状态、机器周期和指 令周期。单片机各周期的关系见图所示。
80c51单片机定时器计数器工作原理

80c51单片机定时器计数器工作原理80C51单片机是一种常用的微控制器,其定时器/计数器(Timer/Counter)是实现定时和计数功能的重要组件。
以下简要介绍80C51单片机定时器/计数器的工作原理:1. 结构:定时器/计数器由一个16位的加法器构成,可以自动加0xFFFF(即65535)。
定时器/计数器的输入时钟可以来自系统时钟或外部时钟源。
2. 工作模式:定时模式:当定时器/计数器的输入时钟源驱动加法器不断计数时,可以在达到一定时间后产生中断或产生其他操作。
计数模式:当外部事件(如电平变化)发生时,定时器/计数器的输入引脚可以接收信号,使加法器产生一个增量,从而计数外部事件发生的次数。
3. 定时常数:在定时模式下,定时常数(即定时时间)由预分频器和定时器/计数器的初值共同决定。
例如,如果预分频器设置为1,定时器/计数器的初值为X,那么实际的定时时间 = (65535 - X) 预分频系数输入时钟周期。
在计数模式下,定时常数由外部事件发生的时间间隔决定。
4. 溢出和中断:当加法器达到65535(即0xFFFF)时,会产生溢出,并触发中断或其他操作。
中断处理程序可以用于执行特定的任务或重置定时器/计数器的值。
5. 控制寄存器:定时器/计数器的操作可以通过设置相关的控制寄存器来控制,如启动/停止定时器、设置预分频系数等。
6. 应用:定时器/计数器在许多应用中都很有用,如时间延迟、频率测量、事件计数等。
为了充分利用80C51单片机的定时器/计数器功能,通常需要根据实际应用需求配置和控制相应的寄存器,并编写适当的软件来处理定时器和计数器的操作。
单片机考试知识

知识结构图2-1典型单片机的基本组成结构P3——8位、准双向I/O口,具有内部上拉电阻。
P3还提供各种替代功能。
在提供这些功能时,其输出锁存器应由程序置1。
P3口可以驱动4个LSTTL负载。
·串行口:P3.0——RXD(串行输入口),输入。
P3.1——TXD(串行输出口),输出。
·中断:P3.2——INT0,外部中断0,输入。
P3.3——INT1,外部中断1,输入。
·定时器/计数器:P3.4——T0 ,定时器/计数器0的外部输入,输入。
P3.5——T1 ,定时器/计数器1的外部输入,输入。
·数据存储器选通:P3.6——WR,低电平有效,输出,片外数据存储器写选通。
P3.7——RD,低电平有效,输出,片外数据存储器读选通。
(3) 控制线:共4根。
①输入:RST——复位输入信号,高电平有效。
在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。
EA/V PP——片外程序存储器访问允许信号,低电平有效。
在编程时,其上施加21 V或12 V 的编程电压。
②输入、输出:ALE/PROG——地址锁存允许信号,输出。
用做片外存储器访问时,低字节地址锁存。
ALE以1/6的振荡频率稳定速率输出,可用做对外输出的时钟或用于定时。
在EPROM编程期间,作输入。
输入编程脉冲(PROG)。
1ALE 可以驱动8个LSTTL负载。
③输出控制线:PSEN——片外程序存储器选通信号,低电平有效。
在从片外程序存储器取指期间,在每个机器周期中,当PSEN有效时,程序存储器的内容被送上P0口(数据总线)。
PSEN可以驱动8个LSTTL负载。
2) 数据指针DPTR数据指针是80C51中一个功能比较特殊的寄存器。
从结构上说,DPTR是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器寻址用的地址寄存器(间接寻址),故称为数据指针。
访问片外数据存储器的指令为:MOVX A,@DPTR 读MOVX @DPTR,A 写此时,DPTR的输出,即片外数据存储器的地址,与P0、P2口之间的关系如图2--5所示。
《80C51单片机实用教程》PPT 第1章 微型计算机系统基本知识

目前我国国内应用最广泛的是 Atmel公司的AT89系列和宏晶公司的STC系列单片机芯片
1.2 80C51单片机片内结构和引脚功能
1.2.1 片内结构
⑷ 数据指针DPTR(Data Pointer) 16位的特殊功能寄存器,由两个8位寄存器DPH、DPL组成 主要用于存放一个16位地址,作为访问外部存储器的地址指针
⑸ 堆栈指针SP(Stack Pointer) 堆栈是CPU用于暂时存放特殊数据的“仓库” 例如子程序断口地址,中断断口地址和其他需要保存的数据 堆栈指针SP专用于指出堆栈顶部数据的地址 堆栈中数据存取按先进后出、后进先出的原则
1.3.3 内部数据存储器(内RAM)
可分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区
1.3.4 特殊功能寄存器(SFR)
特殊功能寄存器(Special Flag Register,缩写为SFR) 共有21个,离散地分布在高128B片内RAM 80H~FFH中
⑴ 累加器ACC(Accumulator) ACC是80C51单片机中最常用的寄存器 许多指令的操作数取自于ACC 许多运算的结果存放在ACC中 乘除法指令必须通过ACC进行 ACC的指令助记符为A
3个不同的存储空间 用不同的指令和控制信号实现读、写功能操作: (1) ROM空间用MOVC指令实现只读功能操作,
用PSEN信号选通读外ROM。 (2) 外RAM空间用MOVX指令实现读写功能操作
用RD信号选通读外RAM,用WR信号选通写外RAM。 ⑶ 内RAM(包括特殊功能寄存器)
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 的波特率加倍。
定时计数器详解

mcs-51单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。
可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。
在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。
:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。
其访问地址依次为8AH-8DH。
每个寄存器均可单独访问。
这些寄存器是用于存放定时或计数初值的。
此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。
这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。
TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。
当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。
定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。
当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。
因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。
如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。
若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。
当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。
计数器在每个机器周期的S5P2期间采样引脚输入电平。
若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。
串行通信工作方式

在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
单片机基础_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显示器。
80C51单片机内部结构和工作原理

80C51存储空间配置图 80C51存储空间配置图
程序存储器(ROM) 2.2.1 程序存储器(ROM)
地址范围:0000H~FFFFH, 64KB。其中: 地址范围:0000H~FFFFH,共64KB。其中: 低段4KB 0000H~ 4KB: 低段4KB:0000H~0FFFH 80C51和87C51在片内 80C31在片外 在片内, 在片外。 80C51和87C51在片内,80C31在片外。 高段60KB 1000H~FFFFH。在片外。 60KB: 高段60KB:1000H~FFFFH。在片外。 读写ROM MOVC指令 控制信号是PSEN EA。 ROM用 指令, PSEN和 读写ROM用MOVC指令,控制信号是PSEN和EA。
8031 80C31 8032 80C32
8051 80C51
(4K字节)
8751 87C51
(4K字节)
2x164ຫໍສະໝຸດ 8位158052 80C52
(8K字节)
8752 87C52
(8K字节)
256 字节
3x16
4x8位
1
6
1051(1K)/ 2051(2K)/ 4051(4K) 128 20条引脚DIP封装 条引脚DIP封装) (20条引脚DIP封装) 89C51(4K)/ 89C52(8K) 40条引脚DIP封装 条引脚DIP封装) (40条引脚DIP封装) 128/ 256
§2 - 1
内部结构和引脚功能
2.1.1 内部结构
MCS-51单片机基本特性
8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 CPU, 片内有振荡器和时钟电路,
89Cxx Cxx为 24MHz MHz) 1~12MHz(Atmel 89Cxx为0~24MHz) 12MHz( MHz 片内有 128/256字节 RAM 128/256字节 片内有 0K/4K/8K字节 程序存储器ROM K/4K/8 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM 64K 数据存储器RAM 可寻址片外 64K字节 程序存储器ROM 64K 程序存储器ROM 片内 21/26个 特殊功能寄存器(SFR) 21/26个 特殊功能寄存器(SFR) 4个8位 的并行I/O口(PIO) 的并行I/O I/O口 PIO) 1个 全双工串行口(SIO/UART) 全双工串行口(SIO/UART) 2/3个16位 定时器/计数器(TIMER/COUNTER) 16位 定时器/计数器(TIMER/COUNTER) 可处理 5/6个中断源,两级中断优先级 个中断源, 内置1个布尔处理器和1个布尔累加器(Cy) 内置1个布尔处理器和1个布尔累加器(Cy) MCS-51指令集含 111条指令 MCS-51指令集含 111条指令
单片机考点

一、例题例4—1 使用定时器/计数器T0的方式0,设定1 ms的定时。
在P1.0引脚上产生周期为2 ms 的方波输出.晶体振荡器的频率为fosc=6 MHz。
(p100)解:①定时常数计算振荡器的频率fosc=6 MHz=6×106 Hz方式0计数器长度L=13,2L=213=8 192定时时间t=1 ms=1×10-3 s定时常数TC=2L—fosc×t/12=8192-6×106×10—3/12=8 192—500=7 692定时常数TC转换成二进制数TCB=1 1110 0000 1100 B所以TCH=0F0H,TCL=0CH②TMOD的设定(即控制字)#00H③编程MOV TMOD,#00H ;写控制字MOV TH0,#0F0H ;写定时常数MOV TL0,#0CHSETB TR0 ;启动T0SETB ET0 ;允许T0中断SETB EA ;开放CPU中断AJMP $ORG 000BH ;T0中断矢量地址AJMP INQPORG 00××H ;中断服务程序INQP:MOV TH0,#0F0H ;重写定时常数MOV TL0,#0CHCPL P1。
0 ;P1.0变反输出RETI ;中断返回例4—2使用定时器/计数器T1的方式1,设定1 ms的定时.同样,在P1.0引脚上产生周期为2 ms的方波输出。
晶体振荡器的频率为fosc=6 MHz。
(p101)解:①定时常数计算振荡器的频率fosc=6 MHz=6×106 Hz,方式1计数器长度L=16,2L=216=65 536定时时间t=1 ms=1×10—3 s定时常数TC=2L—fosc×t/12=65536-6×106×10-312= 65 536—500=65 036定时常数TC转换成二进制TCB=1111 1110 0000 1100 B=0FE0CH所以TCH=0FEH (高8位),TCL=0CH(低8位)②TMOD的设定(即控制字)#10H③编程ORG 001BH ;T1中断矢量地址AJMP INQPORG 100H ;主程序入口MOV TMOD,#10H ;写控制字MOV TH1,#0FEH ;写定时常数MOV TL1,#0CHSETB TR1 ;启动T1SETB ET1 ;允许T1中断SETB EA ;开放CPU中断AJMP $ORG 00××H ;中断服务程序INQP:MOV TH1,#0FEH ;重写定时常数MOV TL1,#0CHCPL P1.0 ;P1。
单片机 第四章答案

LP1: JBC TF0 ,LP2
JB P3.2 , LP1
INC R0
;低电平到,停止定时器1,存储单元地址加1
SJMP LP0
;低电平到,停止定时器1 宽度
LP2: INC @R0
;存储溢出次数加1ms
MOV TH0,#0FCH ;定时1ms
MOV TL0,#18H SJMP LP1
INT1
INT1 为高时T1 开始计数
中断程序结构框架
20.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正 脉冲信号,晶振频率为12MHz。试设计程序。参照【例4-6】
解:因方式2是8位计数器,其最大定时时间为:256×1 s = 256 s,为实现1 s延时,
可选择定时时间为200 s,再循环5000次。定时时间选定后,可确定计数值为200,则定
时器0的初值为:X = M 计数值=256 200 = 56 。采用定时器0,方式2工作,因此,
TMOD =02H。
ORG 0000H
MOV TMOD,#02H ;置定时器0为方式2
MOV TH1,#56
;置定时器初值
MOV TL1,#56
CLR P1.0 MAIN: MOV R5,#50
;置20 ms计数循环初值 1s
②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH
ORG START:MOV
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END
0000H TMOD, #00H
ORG 0000H
START:MOV TMOD, #02H;定时器T0工作方式2
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;从左向右依次点亮, 每次增加一个,直至全部点亮; 每次增加一个,直至全部点亮;
王雷《单片机系统设计基础》课后答案_

注黑体的题要重点掌握。
练习题一1. 选择(1) 单片机片内集成了基本功能单元( ③)①微处理器②运算器③中央处理单元(2) 工业自动化设备采用工控机实现自动控制,工控机属于( ①)①通用计算机②嵌入式计算机③微处理器(3) 单片机的英文缩写为( ②)①SCM ②MCU ③PCL2. 叙述单片机的含义答:利用大规模集成技术,将计算机的各个基本功能单元集成在一块硅片上,这块芯片就具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。
3. 叙述计算机发展的两大分支及其特点。
答:计算机形成了通用计算机系统和嵌入式计算机系统两大分支。
通用计算机系统以高速数值计算为已任,不必兼顾控制功能,其数据总线宽度不断更新,通用操作系统不断完善,以突出发展海量、高速数值计算能力。
以单片机为代表的嵌入式系统,以面向对象控制为已任,不断增加控制功能,提高可靠性,降低成本,减小体积,改善开发环境。
4. 叙述半导体工艺MOS、HMOS、CMOS和HCMOS的特点,说明新型单片机广泛采用HCMOS工艺的目的。
提示:从速度、密度和功耗三个方面比较。
答:HMOS工艺(高速MOS),即高密度短沟道MOS工艺,虽然有较高的集成度和速度,但其功耗较大。
HCMOS工艺,即互补金属氧化物的HMOS工艺,是CMOS和HMOS的结合,除了具有HMOS的高速高密度之外,还具有CMOS的低功耗的特点。
5. 试述单片机应用系统低功耗设计的主要内容。
答:(1)对于那些采用电池供电的单片机应用系统,降低功耗尤为必要。
降低功耗的重要手段是采用CMOS技术。
新型单片机广泛采用了HCMOS工艺,大大降低了功耗。
(2)降低单片机的工作电源电压也可降低功耗。
(3)选用低功耗的外围芯片及设备,也是降低功耗的措施之一。
过去单片机的外围扩展多采用74TTL芯片,其功耗较大。
为了降低功耗,应选用CMOS(HCMOS)工艺外围芯片。
6. MCS-51、80C51、80C51系列这三个概念有何区别?答:(1)MCS-51指Intel公司推出的利用HMOS或HCMOS工艺制造的一个单片机系列,它又分成51和52两个子系列,其中51子系列是基本型,而52子系列属于增强型。
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,表示一帧数据接收完成。
80C51的定时、计数器

工作方式3将 分成为两个独立的 位计数器TL0和TH0 。 分成为两个独立的8位计数器 工作方式 将T0分成为两个独立的 位计数器 和
5.3.4 定时 计数器用于外部中断扩展 定时/计数器用于外部中断扩展
扩展方法是,将定时 计数器设置为计数器方式 计数器设置为计数器方式, 扩展方法是,将定时/计数器设置为计数器方式,计数初值 设定为满程,将待扩展的外部中断源接到定时/计数器的外部 设定为满程,将待扩展的外部中断源接到定时 计数器的外部 计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产 计数引脚。从该引脚输入一个下降沿信号,计数器加 后便产 生定时/计数器溢出中断 计数器溢出中断。 生定时 计数器溢出中断。 例如,利用 扩展一个外部中断源 扩展一个外部中断源。 例如,利用T0扩展一个外部中断源。将T0设置为计数器方 设置为计数器方 按方式2工作 工作, 的初值均为0FFH,T0允许中 式,按方式 工作,TH0、TL0的初值均为 、 的初值均为 , 允许中 开放中断。 断,CPU开放中断。其初始化程序如下: 开放中断 其初始化程序如下: MOV TMOD,#06H 为计数器方式2 , ;置T0为计数器方式 为计数器方式 MOV TL0,#0FFH , ;置计数初值 MOV TH0,#0FFH , SETB TR0 启动T0工作 ;启动 工作 SETB EA ;CPU开中断 开中断 SETB ET0 允许T0中断 ;允许 中断
GATE:门控位。GATE=0时,只要用软件使 :门控位。 = 时 只要用软件使TCON中的 中的 TR0或TR1为1,就可以启动定时 计数器工作;GATA=1时, 计数器工作; 或 为 ,就可以启动定时/计数器工作 = 时 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 要用软件使 或 为 , 平时,才能启动定时/计数器工作 计数器工作。 平时,才能启动定时 计数器工作。即此时定时器的启动条 加上了或引脚为高电平这一条件。 件,加上了或引脚为高电平这一条件。 :定时 计数模式选择位。 定时/计数模式选择位 为定时模式; 定时 计数模式选择位。 =0为定时模式; =1 为定时模式 C/T C /T C /T 为计数模式。 为计数模式。 M1M0:工作方式设置位。定时 计数器有四种工作方式, 计数器有四种工作方式, :工作方式设置位。定时/计数器有四种工作方式 进行设置。 由M1M0进行设置。 进行设置
单片机原理及应用-第四章80C51单片机的功能

对两个操作数执行逻辑异或操作, 并将结果存放在目标地址中。
03
02
OR
对两个操作数执行逻辑或操作,并 将结果存放在目标地址中。
NOT
对操作数执行逻辑非操作,并将结 果存放在目标地址中。
04
控制转移指令
JMP
无条件跳转到指定地址。
JC/JNC
当进位标志位为1或0时,跳转 到指定地址。
JZ/JE
06
80C51单片机的串行通信 接口
串行通信的基本概念
串行通信
通过一条数据线,按照位顺序传输数据,实现数 据的发送和接收。
异步通信
数据传输速率不固定,发送器和接收器使用各自 的时钟。
同步通信
数据传输速率固定,发送器和接收器使用同一时 钟源。
80C51单片机的串行口结构及控制寄存器
要点一
串行口结构
算术运算指令
ADD
将两个操作数相加,并将结果存放在 目标地址中。
SUB
从源地址中减去目标地址中的值,并 将结果存放在源地址中。
MUL
将两个操作数相乘,并将结果存放在 目标地址中。
DIV
将源地址中的值除以目标地址中的值, 并将商存放在源地址中,余数存放在 累加器中。
逻辑运算指令
01
AND
对两个操作数执行逻辑与操作,并 将结果存放在目标地址中。
80C51单片机的应用领域
工业控制
80C51单片机在工业控制领域应用广泛, 如电机控制、自动化生产线控制等。
通信设备
80C51单片机在通信设备领域应用广 泛,如调制解调器、路由器、交换机
等。
智能仪表
80C51单片机可以用于各种智能仪表 的控制系统,如温度、压力、流量等 传感器采集和处理。
80C51串行接口

80C51单片机的串口是一个能进行全双工异步通信或同步移位寄存器,具有4种工作方式的可编程接口。
其帧格式可为8位、10位或11位,并可以设置多种不同的波特率。
通过引脚RXD(P3.0串行数据接收引脚)和引脚TXD(P3.1 串行数据发送引脚)与外界进行通信。
80C51单片机串行口是由发送缓冲寄存器SBUF、发送控制器、发送控制门、接收缓冲寄存器SBUF、接收控制寄存器、移位寄存器和中断等部分组成。
1.SBUF在逻辑上,SBUF只有一个,既表示发送寄存器,又表示接收寄存器。
具有同一个单元地址99H。
在物理上,SBUF有两个,一个是发送寄存器,另一个是接收寄存器。
接收器是双缓冲结构;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。
2.控制寄存器与串行通信有关的控制寄存器共有三个。
(1)串行控制寄存器SCONSCON是80C51的一个可位寻址的专用寄存器,用于串行数据通信的控制。
单元地址98H,位地址9FH-98H。
寄存器及位地址表示如下:当方式0时,接收完第8位数据后,该位由硬件置位。
在其它方式下,当接收到停止位时,该位由硬件置位。
因此RI=1,表示帧接收结束,其状态既可供软件查询使用,也可以请求中断。
RI位由软件清0。
(2)电源控制寄存器PCONPCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器。
单元地址为87H。
其内容如下:在HMOS的单片机中,该寄存器中除最高位之外,其它位都是虚设的。
最高位(SMOD)是串行口波特率的倍增位,当SMOD=1时串行口波特率加倍。
系统复位时,SMOD=0。
PCON寄存器不能进行位寻址,因此表中写了“位序”而不是“位地址”。
7.2.2 80C51单片机串行通信工作方式1.串行工作方式0在方式0下,串行口是作为同步移位寄存器使用。
这时以RXD(P3.0)端作为数据移位的入口和出口,而由TXD(P3.1)端提供移位脉冲。
移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后。
(完整版)第六章80C51的串行口习题及答案

第六章80C51的串行口习题及答案1、80C51单片机串行口有几种工作方式?如何选择?简述其特点?答:80C51单片机串行口有4种工作方式。
各方式的特点:方式0:串行口为同步移位寄存器的输入输出方式。
主要用于扩展并行输入或输出口。
波特率固定为晶振频率的1/12。
方式1:为10位数据异步通信口。
波特率可变。
方式2或方式3:为11位数据的异步通信口。
方式2波特率固定,相对于固定的晶振频率只有两种波特率。
方式3波特率可变。
使用时,根据需要和各方式的特点配合选择。
2、串行通信的接口标准有哪几种?答:串行通信接口标准有:1.RS_232C接口;2.RS_422A接口;3. RS_485接口。
3、在串行通信中,通信速率与传输距离之间的关系如何?答:在串行通信中,传输距离与传输速率的关系:当传输线使用每0.3m (约1ft)有50pF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。
5、利用单片机串行口扩展24个发光二极管和8个按键,要求画出电路图并编写程序,使24个发光二极管按照不同的顺序发光(发光的时间间隔为1s)o 答:实现电路图如下:扩展I/O 口时使用方式0,波特率固定,实现程序如下:BOOT:CLR EAMOV SCON,#10HCLR P1.0 ;关闭I0 扩展口CLR P1.1CLR P1.2CLR P1.3 ;对键盘扩展芯片165 使能MAIN: SETB P1.0 ;对第一个扩展IO 口芯片使能ACALL DISPLAYCLR P1.0SETB P1.1 ;第一个扩展IO 口顺序显示完毕,对第二个扩展IO 芯片使能ACALL DISPLAYCLR P1.1SETB P1.2ACALL DISPLAYCLR P1.2SJMP MAIN ;循环显示DISPLAY: MOV A,#00000001b ;从第一个开始MOV R4,#8 ;送显示长度LOOP:MOV SBUF, ACALL DELAY1SDJNZ R4, LOOPRETEND6、编制图6.30 的中断方式的数据接收程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意: PCON字节地址87H,不能位寻址。
读写时,只能整体字节操作,不能按位操作。
⒈ 待机(休闲)方式⑴ 待机休闲)方式状态片内时钟仅向中断源提供,其余被阻断; ✓ PC、特殊功能寄存器和片内RAM状态保持不变; ✓ I/O引脚端口值保持原逻辑值; ✓ ALE、保持逻辑高电平; ✓ CPU不工作,但中断功能继续存在。
TMOD: 00H TCON: 00H
TH0: 00H TL0: 00H TH1: 00H
TL1: 00H SCON: 00H SBUF: 不定 PCON: 0×××0000B
二、低功耗工作方式
⑴ 待机(休闲)方式(Idle) ⑵ 掉电保护方式(Power Down)。
在Vcc=5V,fosc=12MHz条件下, 正常工作时电流约20mA; 待机(休闲)方式时电流约5mA; 掉电保护方式时电流仅75A。
§2-5 复位和低功耗工作方式
80C51单片机的工作方式共有四种: ⑴ 复位方式; ⑵ 程序执行方式; ⑶ 低功耗方式; ⑷ 片内ROM编程(包括校验)方式。
一、复位方式
⒈ 复位条件
RST引脚保持2个机器周期以上的高电平。
⒉ 复位电路
⒊ 复位后CPU状态
PC: 0000H Acc: 00H B: 00H PSW: 00H SP: 07H DPTR:0000H P0~P3:FFH IP:×××00000B IE:0××00000B
⑵ 待机(休闲)状态进入
只要使PCON中IDL位置1。
⑶ 待机(休闲)状态退出
①产生中断; ②复位。
⒉ 掉电保护方式
⑴ 掉电保护方式状态 ●片内振荡器停振,所有功能部件停止工作; ●片内RAM数据信息保存不变; ● ALE、PSEN为低电平; ● Vcc可降至2V,但不能真正掉电。 ⑵ 掉电保护状态进入 只要使PCON中PD位置1。 唯一方法是硬件复位,复位后片内RAM数据不变,特殊功能 寄存器内容按复位状态初始化。 唯一方法是硬件复位,复位后片内RAM数据不变,特殊功能 寄存器内容按复位状态初始化。
两种低功耗工作方式由电源控制寄存器PCON确定。
MSB
LSB
PSON SMOD — — — GF1 GF0 PD IDL
SMOD:波特率倍增位(在串行通信中使用) GF1、GF0:通用标志位 PD: 掉电方式控制位,
PD=1,进入掉电工作方式; IDL:待机(休闲)方式控制位,
IDL=1,进入待机工作方式。