MCS-51单片机内部资源及串口模拟初探
51单片机内部资源简介
TXD(串行口输出)
INT0(外部中断0输入) INT1 (外部中断1输入) T0(定时器0的外部输入)
T1 (定时器1的外部输入)
WR(片外数据存储器“写选通控制”输 出) RD (片外数据存储器“读选通控制”输 出)
P3口
二、P3口作为第二功能(内部硬件自动使Q=1) 此时引脚部分输入(Q=1、W=1) 。
单片机内部资源简介
1、整体简介 2、端口 3、定时器 4、串口 5、中断
MCS-51单片机的基本组成
片内资源 中央处理器CPU 程序存储器ROM 数据存储器RAM 并行I/O口 串行口 定时计数器 中断系统中断源
AT89S52 8位
STC89C52RC 8位
8KB
8KB
256B 4个P0—P3
P0口的每一位口线可驱动8个LS型TTL负载。
2. P1~P3口 • P1~P3口都是准双向口,作为输入用时,必须向相应的
端口写“1”; • P1~P3口内部有上拉电阻,其每一位口线可驱动4个LS
型TTL负载。
补充
“灌电流”与“拉电流”
• “灌电流”
“灌电流”与“拉电流”
• “拉电流”
P1、P3口的驱动能力有限,在低电平输出时, 一般也只能提供不到2mA的“灌电流”。
定时/计数器接口
一、定时/计数器的主要特性 1)STC89C52RC单片机三个16位的可编程定时/计数器:定时/计数器T0
和定时/计数器T1以及定时/计数器T2。
2)每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信 号计数实现计数功能,通过编程设定来实现。
3)每个定时/计数器都有多种工作方式,其中T0有四种工作方式;T1有 三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。
51单片机的内部资源
T1
RX TX
EX0 1 EA 1 IE0
ET0 1 TF0
EX1 1 IE1
ET1 1 TF1
RI TI ≥1
SCON
ES 1
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
硬件查询
自
高
然
级
1
优
先
级 中断入口
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
三、中断请求源
51单片机的五个中断请求源 : (1)INT0—外部中断请求0,由引脚INT0 (P3.2)输入,中断
中断请求
执行主 程序
断点
继续执行 主程序
中断响应
执行 中断 处理 程序
中断返回
主程序:CPU正常情况下运行的程序称为主程序。
中断源:把向CPU提出中断申请的设备称为中断源。
中断请求:由中断源向CPU所发出的请求中断的信号称中断 请求。
中断响应:CPU在满足条件情况下接受中断申请,终止现行 程序执行转而为申请中断的对象服务称中断响应。
IE0=0,无中断请求。
IE0=1,外部中断0有中断请求。当CPU响应该中断,转向中 断服务程序时,由硬件清“0”IE0。
(3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式, 意义与IT0类似。
(4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。
(5)TF0—T0溢出中断请求标志位。 T0计数后,溢出时,由硬件置“1”TF0,向CPU申请中断,
串行中断是为串行数据传送的需要而设置的。每当串行 口发送或接收一组串行数据时,就产生一个中断请求。
MCS-51单片机的内部结构及引脚
2021/2/4
1
10
谢谢
2021/2/4
1
11
谢谢!
1
5
结构特点:
MCS-51系列单片机为哈佛结构(而非普林斯顿结构) 1)内ROM:4KB 2)内RAM:128B 3)外ROM:64KB 4)外RAM:64KB 5)I / O线: 32根(4埠,每埠8根) 6)定时/计数器:2个16位可编程定时/计数器 7)串行口:全双工,2 根 8)寄存器区:工作寄存器区、在内128B RAM中,分4个区, 9)中断源:5源中断,2级优先 10)堆栈:最深128B 11)布尔处理机:位处理机,某位单独处理 12)指令系统:五大类,111条
MCS-51单片机的内部结 构及引脚
一、单片机硬件结构
内部结构 引脚功能 内存的配置 CPU时序 I / O接口
2021/2/4
1
2
二、 概述
Intel MCS-51 系列单片机三个版本:8031、8051、 8751(8位机)
Intel MCS-96系列机:8096 (16位机) 除此之外,Motorla公司、Zilog公司、Mcrochip相 继推出产品, 各系列产品内部功能、单元组成、指令系统不尽相 同。 Intel公司单片机问世早,系列齐全,兼容性强,所 以得到广泛使用。
作系统总线、扩展外存、I / O接口芯片
2021/2/4
1
4
5、串行输入/输出口(2条) 串行通信、扩展I / O接口芯片
6、定时/计数器(16位、加1计数) 计满溢出、中断标志置位、向CPU提出中断请求,与 CPU之间独立工作
7、时钟电路 内振、外振。 8、中断系统 五源中断、2级优先。
2021/2/4
2021/2/4
MCS 51单片机
MCS 51单片机
美国INTEL公司生产的一系列单片机的总称
01 分类
03 内部组成
目录
02 主要产品 04 信号引脚
MCS-51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031, 8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进 行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。
分类
1、根据单片机内部程序存储器的配置不同 (1)无ROM(ROMless)型:8031、80C31、8032、80C32 (2)带MaskROM(掩模ROM)型:8051、80C51、8052、80C52 (3)带EPROM型:8751、87C51、8752 ( 4 ) 带 E ²P R O M 型 : 8 9 5 1 、 8 9 C 5 1 、 8 9 5 2 、 8 9 C 5 2 2、根据单片机内部存储器的容量配置不同 (1)51子系列:芯片型号的最末位数字以1作为标志,是基本型产品 。 (2)52子系列:芯片型号的最末位数字以2作为标志,是增强型产品。 3、根据芯片的半导体制造工艺不同 (1)HMOS工艺型:芯片型号中无C的产品 (2)CHMOS工艺型:芯片型号中有C的产品
谢谢观看
主要产品
参考资料
MCS-51单片机资料
MCS-51单⽚机资料⼀、概述MCS-51单⽚机是把那些作为控制应⽤所必需的基本内容都集成在⼀个尺⼨有限的集成电路芯⽚上。
如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并⾏I/O⼝、串⾏⼝、定时器/计数器、中断系统及特殊功能寄存器(SFR)。
它们都是通过⽚内单⼀总线连接⽽成,其基本结构依旧是CPU加上外围芯⽚的传统结构模式。
但对各种功能部件的控制是采⽤特殊功能寄存器(SFR)的集中控制⽅式。
(⼀)控制器控制器是单⽚机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单⽚机各功能部件,从⽽保证单⽚机各部分能⾃动⽽协调地⼯作。
单⽚机执⾏指令是在控制器的控制下进⾏的。
⾸先从程序存储器中读出指令,送指令寄存器保存,然后送⾄指令译码器进⾏译码,译码结果送定时控制逻辑电路,由定时控制逻辑产⽣各种定时信号和控制信号,再送到单⽚机的各个部件去进⾏相应的操作。
这就是执⾏⼀条指令的全过程,执⾏程序就是不断重复这⼀过程。
控制器主要包括程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。
(⼆)存储器的结构MCS-51单⽚机存储器采⽤的是哈佛结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有⾃⼰的寻址⽅式,寻址空间和控制系统。
这种结构对于单⽚机⾯向控制的实际应⽤极为⽅便,有利。
在8051/8751弹⽚击中,不仅在⽚内集成了⼀定容量的程序存储器和数据存储器及众多的特殊功能寄存器,⽽且还具有极强的外存储器的扩展能⼒,寻址能⼒分别可达64KB,寻址和操作简单⽅便.MCS-51的存储器空间可划分为如下⼏类:1.程序存储器单⽚机系统之所以能够按照⼀定的次序进⾏⼯作,主要是程序存储器中存放了经调试正确的应⽤程序和表格之类的固定常数。
程序实际上是⼀串⼆进制码,程序存储器可以分为⽚内和⽚外两部分。
第2章 MCS-51单片机的内部结构
当3个准双向I/O口作输入口使用时,要向该口先写“1”, 个准双向I/O口作输入口使用时,要向该口先写“ I/O口作输入口使用时 P3.5 T1 计数器1外部输入 计数器 外部输入 P3.6 WR 外部数据存储器 另外准双向I/O口无高阻的“浮空”状态。 I/O口无高阻的 另外准双向I/O口无高阻的“浮空”状态。
2.4.2 内部数据存储器 共128个字节, 128个字节, 128个字节 字节地址为00H 7FH。 00H~ 字节地址为00H~7FH 00H~1FH:32个单 00H~1FH:32个单 元,是4组通用工作 寄存器区 20H~2FH:16个单 20H~2FH:16个单 可进行128 128位的 元,可进行128位的 位寻址 30H FH: 用户RAM 30H ~ 7FH : 用户 RAM 区 , 只能进行字节寻 址 , 用作数据缓冲区 以及堆栈区。 以及堆栈区。
I/O口引脚 2.2.3 I/O口引脚 P0口 双向8位三态I/O I/O口 地址总线( (1) P0口:双向8位三态I/O口,地址总线(低8位)及 数据总线分时复用口,可驱动8个LS型TTL负载。 数据总线分时复用口,可驱动8 LS型TTL负载。 负载 P1口 准双向I/O I/O口 可驱动4 LS型TTL负载 负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 转义引 引脚 与地址总线 ( 高 8 位 ) 复 功能说明 准双向I/O I/O口 (3) P2口:8位 准双向I/O 口, 与地址总线( 脚 可驱动4 LS型TTL负载 负载。 用,可驱动4个LS型TTL负载。RXD 串行数据接收端 P3.0 准双向I/O I/O口 双功能复用口,可驱动4 (4) P3口:8位 准双向I/O 口, 双功能复用口 ,可驱动 4 P3.1 TXD 串行数据发送端 P3.2 INT0 外部中断0请求 外部中断 请求 LS型TTL负载 负载。 个LS型TTL负载。 注意:准双向口与双向三态口的差别。 注意:准双向口与双向三态口的差别。
第2章 MCS-51系列单片机的内部结构
第2章 MCS-51系列单片机的内部结构单片机就是将构成计算机最基本的功能部件集成在一块芯片上的集成芯片。
本章主要介绍MCS-51系列单片机芯片内的硬件结构、性能特性,特别是存储器结构及并行I/O接口结构和工作原理。
只有了解了单片机的存储结构和所能提供的内部资源,才能合理地使用单片机。
2.1 MCS-51系列单片机内部结构和引脚说明MCS-51系列单片机是Intel公司于20世纪80年代初推出的系列8位单片机,经过30多年的发展,目前已发展到十多种产品,属于这一系列的单片机有多种,包括51子系列(如8051/8751/8031)和52子系列(如8052/8752/8032)。
在制造上,MCS-51系列单片机按照两种工艺生产。
一种是HMOS工艺,即高密度短沟道MOS工艺。
另一种是CHMOS工艺,即互补金属氧化物的HMOS工艺。
CHMOS是HMOS和CMOS的结合,既保留了HMOS高速度和高密度的特点,还具有CMOS的低功耗特点。
HMOS芯片的电平与TTL电平兼容,而CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。
产品型号中凡带有字母“C”的芯片即为CHMOS芯片(如80C51等),不带字母“C”的芯片即为HMOS芯片(如8051等)。
在功能上,MCS-51系列单片机有基本型和增强型两类,以芯片型号的末位数字来区分,“1”为基本型,“2”为增强型。
如8051/8751/8031、80C51/87C51/80C31为基本型,而8052/8752/8032、80C52/87C52/80C32为增强型。
MCS-51系列单片机在片内程序存储器的配置上有3种形式,即掩膜ROM、EPROM 和片内无程序存储器。
如在基本型中,8051内有4KB的掩膜ROM,8751内有4KB的EPROM,而8031片内无程序存储器,使用时需在单片机外部扩展程序存储器。
另外,属于MCS-51系列的单片机还有8044/8744/8344,这类单片机增加了串行接口单元(SIU),专门负责串行通信管理,使单片机的组网功能大大增强。
MCS-51单片机的内部存储器
③ F0(PSW.5)——用户标志位。这是一个由用户自定义的标 志位,用户根据需要用软件方法置位或复位。例如用它来控 制程序的转向。
4. 堆栈类型
向上生长型和向下生长型。MCS-51的堆栈是向上生长的。
5. 堆栈使用方法
① 调用子程序或中断时,返回地址(断点)自动进栈。程序返回时, 断点再自动弹回PC。
② 使用专用的堆栈操作指令,进行进出栈操作。保护现场(PUSH); 恢复现场(POP)。
1.4 内部程序存储器
MCS-51单片机的程序计数器PC为16位,因此可以寻址的 地址空间为64KB。8051和8751单片机内部有4KB字节 ROM/EPROM程序存储器(0000H~0FFFH),1000H~FFFFH是外 部扩展程序存储器地址空间。而8052单片机内部有8KB ROM程 序存储器,同样可以扩展到64KB。在64KB程序存储器中,有6 个地址单元具有特殊功能。
3. 堆栈指示器
堆栈共有两种操作:进栈和出栈。
但不论是数据进栈还是出栈,都是对堆栈的栈顶单元进行的, 即对堆栈栈顶单元的写和读操作。为了指示栈顶地址,所以 要设置堆栈指示器SP。SP的内容就是堆栈栈顶的存储单元地 址。
MCS-51单片机由于堆栈设在内部RAM上,因此SP是一个8位 寄存器。实际上SP就是专用寄存器的一员。系统复位后,SP 的内容为07H,但由于堆栈最好在内部RAM的30H~7FH单元中 开辟,所以在程序设计时,应注意把SP值初始化为30H。SP的 内容一旦确定,栈顶的位置就确定了。
第6章MCS-51单片机的内部资源
6.2.3 中断的控制
MCS-51单片机中断系统中有两个特殊功能寄存器:中断 屏蔽寄存器IE和中断优先级寄存器IP。用户通过对这两 个特殊功能寄存器的编程设置,可以灵活地控制每个中 断源的中断允许或禁止以及中断优先级。 1. 中允控制
所谓中允控制是中断源的中断请求能否被CPU检测到, 即确定中断请求是否允许送达CPU。MCS-51单片机中没 有专门的开中断和关中断指令,对各个中断源的允许和 屏蔽是由内部的中断允许寄存器IE的各位来控制的。中 断允许寄存器IE的字节地址为A8H,可以进行位寻址。 IE的位定义格式如图6-4所示。
对于电平触发方式,只要P3.2(或P3.3)引脚为低电平, IE0(或IE1)就置1,请求中断,CPU响应后不能够由硬 件自动将IE0(或IE1)清零。如果在中断服务程序返回 时,P3.2(或P3.3)引脚还为低电平,则又会中断,这样 就会出现一次请求,中断多次的情况。为避免这种情况, 只有在中断服务程序返回前撤消P3.2(或P3.3)的中断请 求信号,即使P3.2(或P3.3)为高电平。通常通过下图63所示外电路来实现。
3.中断允许与中断屏蔽
当中断源提出中断请求,CPU检测到后是否立即进行中 断处理呢?结果不一定。CPU要响应中断,还受到中断 系统多个方面的控制,其中最主要的是中断允许和中断 屏蔽的控制。如果某个中断源被系统设置为屏蔽状态, 则无论中断请求是否提出,都不会响应;当中断源设置 为允许状态,又提出了中断请求,则CPU才会响应。另 外,当高优先级中断正在响应时,也会屏蔽同级中断和 低优先级中断。
串行口中断TI、RI
(3)软硬件结合清“0” 低电平触发的外部中断标志位IE0、IE1
6.2.4 中断响应
1. 中断响应条件 中断响应是有条件的,并不是查询到的所有中断请求都 能被立即响应。MCS-51单片机的CPU在每个机器周期会 顺序检查每一个中断源,在机器周期的S6阶段采样并按 优先级顺序处理所有被激活了的中断请求,如果没有被 下述条件所阻止,将在下一个机器周期的状态P1(S1) 响应激活了的最高级中断请求。 (1) 无同级或高级中断正在处理。 (2) 现行指令执行到最后一个机器周期且已结束。 (3) 若现行指令为RETI或访问IE、IP的指令时,执行完该 指令且紧随其后的另一条指令也已执行完毕。 如果存在上述条件之一,CPU将丢弃中断查询结果,不 能对中断请求进行响应。
第2章 MCS-51系列单片机的结构及原理
2.3 引脚功能——封装形式
40P6-PDIP
单 片 机 技 术
2.3 引脚功能——引脚含义
P1. 0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXD/ P3. 0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 24 22 21 VCC P0. 0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0
2mcs51系列单片机的内部总体结构88微处理器运算部件b数据存储器ramp0口p2口程序存储器特殊功特殊功能寄存器sfrromepromvccvss图21mcs51单片机的基本结构控制部件p1口p3口串行口定时计数器中断系统88xtal1xtal2psenaleeareset端口0驱动器端口2驱动器ram地址锁存器ram1288端口0锁存器端口2锁存器rom4k8b寄存器程序地址寄存器缓冲器寄存器vcc5vvss堆栈指针spacctmp2tmp1p00p07p20p27图22mcs51片内总体结构框图rstpc1寄存器pcdptr指针p10p17psw端口3锁存器端口1锁存器端口1驱动器端口3驱动器scontl0tmodth1iepconth0sbuftxrx中断串行口和定时器逻辑tcontl1iposcp30p37alepsenxtal2xtal1alu指令寄存器定时与控制指令译码器返回本节2
51单片机的串口通信分析
51单片机的串口通信分析1. 简介串口通信是51单片机中常用的通信方式之一,它能够实现通过串行端口将数据传输到其他设备或与其他设备进行通信。
本文将对51单片机的串口通信进行分析与讨论。
2. 串口通信原理串口通信主要包括数据传输、数据格式和通信协议三个方面。
在51单片机中,串口通信使用了UART(通用异步收发传输)协议。
UART协议通过选择适当的波特率、数据位、校验位和停止位等参数,实现串口数据的稳定传输。
3. 串口通信硬件连接在51单片机中,串口通信需要将单片机的串行端口与外部设备连接起来。
一般情况下,串口通信需要使用串口线连接单片机的TXD引脚和RXD引脚与外部设备的对应引脚。
4. 串口通信程序设计51单片机的串口通信程序设计主要包括串口初始化和数据发送与接收两个步骤。
在程序设计中,需要设置适当的波特率、数据位、校验位和停止位等参数,并编写相应的发送和接收函数来实现数据的发送和接收功能。
5. 串口通信应用实例串口通信在51单片机的应用非常广泛,可以用于与PC机的通信、与传感器的通信、与其他单片机的通信等等。
在实际应用中,可以通过串口通信实现数据的传输、控制信号的发送与接收等功能。
6. 总结51单片机的串口通信是一种常用且有效的通信方式,通过合理设置通信参数和编写相应的程序,可以实现稳定的数据传输和通信功能。
在应用中,可以根据具体需求选择适当的串口方式和协议来实现串口通信功能。
以上为本文对51单片机的串口通信进行的简要分析与讨论,希望对读者有所帮助。
参考文献:1. 参考书籍12. 参考书籍2。
单片机第2章MCS-51系列单片机的资源配置
单片机第2章MCS-51系列单片机的资源配置单片机作为一种集成电路芯片,在现代电子技术领域中发挥着重要作用。
MCS-51 系列单片机是其中应用广泛且具有代表性的一类。
要深入了解和运用 MCS-51 系列单片机,就必须清楚其资源配置。
MCS-51 系列单片机的中央处理器(CPU)是其核心部分。
它负责执行指令、进行运算和控制整个系统的工作。
该 CPU 由运算器和控制器组成。
运算器能够进行算术运算和逻辑运算,而控制器则按照程序的指令顺序,有条不紊地控制单片机的各项操作。
在存储资源方面,MCS-51 系列单片机拥有程序存储器和数据存储器。
程序存储器用于存放用户编写的程序代码,通常采用只读存储器(ROM)。
而数据存储器则用于存储运行过程中的临时数据,一般使用随机存取存储器(RAM)。
程序存储器又分为片内程序存储器和片外程序存储器。
片内程序存储器的容量因具体型号而异,一般为 4KB 或 8KB。
当程序较大,片内存储器无法满足需求时,可以通过扩展片外程序存储器来解决。
数据存储器也分为片内数据存储器和片外数据存储器。
片内数据存储器包括工作寄存器区、位寻址区、用户 RAM 区等。
工作寄存器区可以提高数据处理的速度,位寻址区方便对单个位进行操作,用户 RAM区则用于存放用户自定义的数据。
片外数据存储器的扩展则可以满足更大的数据存储需求。
MCS-51 系列单片机的 I/O 端口是其与外部设备进行信息交换的通道。
它共有 4 个 8 位的并行 I/O 端口,分别为 P0、P1、P2 和 P3 端口。
每个端口都可以作为输入或输出使用。
P0 端口是一个三态双向端口,既可以作为地址/数据总线的低8 位,也可以作为普通的 I/O 端口。
但作为普通 I/O 端口使用时,需要外接上拉电阻。
P1 端口是一个准双向端口,通常作为普通的 I/O 端口使用。
P2 端口既可以作为普通的 I/O 端口,也可以在访问片外存储器时作为高 8 位地址线。
第五章MCS-51单片机的硬件资源
单片机原理及应用
潭
大 第五章MCS-51单片机的硬件资源
学
单 片
5.1 MCS-51的并行接口及其应用
机 原
5.2 MCS-51的中断系统
理 及
5.3 MCS-51的定时器/计数器
应 用
5.4 MCS-51的串行接口及串行通信
编
著
组
第五章MCS-51单片机的硬件资源
湘 5.1 MCS-51的并行接口及其应用
著 组
MOS输入电路,且能驱动四个LSTTL输入。P2口常用
作外部存储器的高八位地址口。当不用作地址口时,
P2口亦可作通用I/O口,这时它也是一个准双向I/O口。
第五章MCS-51单片机的硬件资源
湘
潭
大 读锁存器
学
单
片
机 原
内部总线
理
DQ
及
应 写入
用
锁存器 CP Q
编
著
组 读引脚
地址
控制
MUX
(b)p2口电路逻辑
理 处于截止状态。引脚上的外部信号即加在下面一个
及 三态缓冲器的输入端,又加在下拉FET的漏极,假
应 用
定在此之前曾输出锁存过数据0 ,则FET是导通的,
编 这样引脚上的电位就始终被钳位在0 电平,使输入
著 组
高电平无法读入。因此作为一般I/O口使用时,P0口
是一个准双向口,即输入数据时,应先向口写“1”,
原 理
P3·1 TxD (串行输出通道)
及
P3·2
INT0 (外中断0)
应 用
P3·3
INT1 (外中断1)
编 著
P3·4
T0 (定时器0外部输入)
2 MCS-51系列单片机的结构和原理
0023H~002AH
地址去执行程序
串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首
但8个单元难以存下一个完整的中断服务程序, 故一般在中断地址区首地址开始存放一条无条件转移指令
JMP、 AJMP以便中断响应后,通过中断地址区,转到
中断服务程序的实际入口地址去
2.3.4 堆栈操作 堆栈只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为插入运算(入栈),PUSH 从堆栈中读出数据称为删除运算(出栈),POP
地址:80H~FFH 存放相应功能部件 的控制命令、状态 或数据 21个专用寄存器
(SFR)
(1)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用 寄存器。在算术/逻辑运算中用于存放操作数或结果。
(2)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
I/O口P0、P1、P2、P3集数据输入缓冲、数据输出驱动及锁
存等多项功能于一体
• 字节地址为90H,位地址为90H~97H,只作通用I/O口使用. • 由一个数据输出锁存器、两个三态输入缓冲器和输出驱动电 路组成。 内有电阻, 输出时无需 外接上拉电 阻 P1口作输出口 使用时: 内部总线 输出数据给输 出数据锁存器 的输入数据线 D.
1. 芯片封装形式
双列直插式DIP(Dual In line Package) 44引脚方形扁平式QFP(Quad Flat Package)
2. 芯片引脚介绍
1)输入/输出口线 4个8位双向口线
2)ALE 地址锁存控制信号 • 在系统扩展时,用于控制把P0口输出的低8位地址
送入锁存器锁存起来,以实现低位地址和数据的分
mcs-51系列单片机基本结构与工作原理
寄存器间接寻址
直接寻址 直接寻址
直接寻址
寄存器寻址 寄存器间接寻址
(4)MOV 60H,@R1
表2-2 特殊功能寄存器SFR的名称及地址(一)
§ MCS-51的扩展应用
一、单片机扩展的基本概念 1、单片机最小系统:使单片机运行的最少器件构成的 系统,就是最小系统。 无ROM芯片:8031 必须扩展ROM,复位、晶振电路 有ROM芯片:89C51等,不必扩展ROM,只要有复位、 晶振电路 2、扩展使用的三总线: 地址总线:由外部程序存储器取指,P0-低8位; P2-高8位 数据总线:指令输入,P0 控制总线:RD、WR、 ALE、 PSEN
立即数寻址
变址间接寻址 相对寻址 位寻址
程序存储器(操作常数)
程序存储器(@A+DPTR、@A+PC) 程序存储器(修改了PC值) 内部数据存储器及特殊功能寄存器中 某些单元位
Example 判断下列指令各操作数的寻址方式
(1)MOV A , #65H
(2)MOV @R1,65H (3)MOV 30H,R2 寄存器寻址 立即数寻址
(读、 写、地址锁存允许、 外程序存储器读选通)
图2-5 8051特殊功能寄存器地址分布图
二、存储器的扩展
1、随机读写存储器RAM的扩展 :数据存储器一般采用RAM芯片, 这种存储器在电源关断后,存储的数据将全部丢失。有两大类: 动态RAM(DRAM),一般容量较大,易受干扰,使用略复杂。例 2116、2186 静态RAM(SRAM),在工业现场常使用SRAM,例:6264、6116
二、专用寄存器组
1、程序计数器 PC 16位计数器,指向程序存储器中被执行的指令所在的地址。本身没 有地址,在物理上独立。 寻址范围0000~FFFFH的64KB空间。 2、数据指针DPTR 16位地址指针,可寻址范围0000~FFFFH 的64KB空间,可指向程 序、数据存储器。 3、堆栈指针SP 8位地址寄存器,SP用来管理堆栈。它指向内部RAM的一个存储单 元,且总是指向栈顶单元。 MCS-51的堆栈是内部RAM中的一个部分,符合“先进后出、后进 先出”原则。 4、累加器ACC ACC是一个具有特殊用途的8位寄存器,主要用于存放操作数或运算 结果。8051指令系统中多数指令的执行都要通过累加器ACC进行。因此, 在CPU中,累加器的使用频率是很高的。也可简写累加器A。
MCS-51单片机的内部结构
整理ppt
6
MCS-51的CPU:运算器 2.寄存器 (3) 程序状态字PSW
➢程序状态字是8位寄存器,用于指示程序运行状态信息。 ➢其中有些位是根据程序执行结果由硬件自动设置的,而 有些位可由用户通过指令方法设定。
PSW中各标志位名称及定义如下:
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 C AC F0 RS1 RS0 OV — P
写操作,但可以通过转移、调用、返回等指令改变 其内容,以实现程序的转移。 ✓ PC的寻址范围为64KB,即地址空间为0000~0FFFFH。
整理ppt
14
MCS-51的CPU:控制器
数据指针DPTR
✓ 数据指针DPTR为16位寄存器,它是MCS—51中 唯一的一个16位寄存器。
✓ DPTR通常在访问外部数据存储器时作为地址指 针使用,寻址范围为64KB。
✓ 编程时,既可按16位寄存器使用,也可作为两 个8位寄存器分开使用。DPH 为DPTR的高八位 寄存器,DPL 为DPTR的低八位寄存器。
1
组1
08~0FH
1
0
组2
10~17H
1
1
组3
18~1FH
整理ppt
10
程序状态字PSW
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 CY AC F0 RS1 RS0 OV — P
OV:溢出标志位
在带符号数(补码数)的加减中,OV=1表示运算的结果 超出了累加器A的八位符号数表示范围(-128~ +127),产生溢出,因此运算结果是错误的。OV=0, 表示未超出表示范围,运算结果正确。
传送、位与、位或等位操作。另外某些控制转移
MCS-51单片机IO口详解
MCS-51单片机IO口详解单片机I O口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。
一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。
由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
图1单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE 选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD 读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。
二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
Newbuff图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
51单片机的存储器的RAM详解及仿真
51单片机的存储器的RAM详解及仿真51单片机的存储器的RAM详解 (1)●传统MCS-51单片机内部数据存储器RAM结构 (1)内部数据存储器低128单元 (1)工作寄存器区 (2)位寻址区 (2)用户RAM区 (2)内部数据存储器高128单元 (3)外部数据存储器 (3)51单片机存储区分配如下: (3)●80C52(80C51增强型单片机)内部RAM结构 (4)内部数据存储器 (5)●ITE EC数据存储器RAM结构(8032单片机内核) (6)●Keil和Proteus设计仿真内部RAM读写 (7)●Keil和Proteus设计仿真外部RAM读写 (11)附录: (14)I:Keil data,bdata,idata,pdata,xdata,code存储类型与存储区 (14)II:Proteus仿真单片机Memory Model的选择问题 (16)III:C51绝对地址访问RAM (18)51单片机的存储器的RAM详解及仿真 传统MCS-51单片机内部数据存储器RAM结构内部数据存储器低128单元8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。
如图所示为低128单元的配置图。
工作寄存器区8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。
寄存器常用于存放操作数中间结果等。
由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。
4组通用寄存器占据内部RAM的00H~1FH单元地址。
在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。
到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。
通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。
此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51单片机内部资源及串口模拟初探【摘要】:由于信息技术和互联网技术的发展,单片机应用系统的网络化已经成为时代发展的必然。
例如家用电器的控制就可以通过具备网络功能的单片机系统来实现。
上班族可以在离开办公室回家的时候通过互联网来操纵家用电器,对家里的电器实现远程控制开机或关机,甚至可以通过互联网实时视频监控家里的情况。
而这些功能的实现就要求单片机具备很强的互联网接入功能。
传统的MCS-51系列单片机不具备网络传输功能,作者立足实践,详细介绍了目前MCS-51单片机的发展现状、接口类型和串口模拟方法。
【关键词】:MCS-51单片机;内部资源;设计;串口的方法1. MCS-51单片机概述MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业培训学校的教材仍以MCS-51单片机作为代表进行理论基础学习。
MCS-51系列单片机主要包括8031、8051和8751等产品,MCS-51以其结构紧凑、逻辑位操作功能丰富和直接面向控制的指令系统等优势,堪称为一代“名机”。
正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,有许多世界大的电气制造商发展了MCS-51单片机,象PHILIPS、Dallas、ATMEL等著名的半导体公司都推出了兼容MCS-51的单片机产品,就连我国的台湾WINBOND公司也发展了兼容C51的单片机产品。
近年来C51获得了飞速的发展,C51的发源公司INTEL由于忙于开发PC 及高端微处理器而无精力继续发展自己的单片机,因而将其独立开发的知识产权核出售给其它厂商,最典型的是PHILIPS和ATMEL公司。
ATMEL公司推出的兼容MCS-C5l的AT89Cxx系列单片机,完美地将Flash (非易失闪存技术)EEPROM与80C51内核结合起来,仍采用C51的总体结构和指令系统,可以通过改写单片机内部程序使得单片机能在开发过程中多次使用。
SIEMENS公司也沿用C5l的内核,相继推出了C500系列单片机,在保持了与C51指令兼容的前提下,其产品的性能得到了进一步的提升,特别是在抗干扰性能,电磁兼容和通信控制总线功能上独树一帜,其产品常用于工作环境恶劣的场合,亦适用于通信和家用电器控制领域。
WINBOND公司亦开发了一系列兼容C5l的单片机,其产品通常具备丰富的功能特性,而且以其质优价廉在市场占有了一定的分额。
2. MCS-51单片机内部资源及接口简述2.1 MCS-51单片机内部资源1) 时钟电路引脚XTALI和XTALZXTALI:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTALZ:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
2) 地址锁存允许ALE在系统扩展时,ALE用于控制地址锁存器锁存PO口输出的低8位地址,从而实现数据与低位地址的复用。
当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。
3) 外部程序存储器读选通信号PSENPSEN是读外部程序存储器的选通信号,低电平有效。
CPU从外部存储器取指令时,它在每个机器周期中两次有效。
4) 程序存储器地址允许输入端E刀VPP当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过OFFFH,将自动转向执行片外程序存储器指令。
当EA为低电平时,CPU只执行片外程序存储器指令。
对于8031,由于其无片内ROM,故EA必须接低电平。
5) 复位信号RST该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。
具有新型接口的MCS-51单片机实验系统设计2.2 国内外单片机应用的基本接口设计方式由于MCS-51单片机的产生时间较其它新型单片机要早,而且在投入市场之后很快得到市场的认可,MCS-51以其性能稳定、成本低廉等特点很快占据了市场,并且在工业控制等领域中得到了广泛的应用。
但是就MCS-51单片机技术的发展更新而言却不如人们想象的那样理想,基本保持了当年面市时的本色。
主要表现为,接口方式简单,自身具备的接口只有并行口、串行口等一些基本的接口类型。
基于该结构的单片机系统,局限于单片机的通信能力,使得其应用面受到一点限制。
存储器的扩展容量受地址总线条数的限制,最大只能扩展到64K。
在开发手段上仍然采用汇编语言作为开发平台,影响了单片机应用系统的开发周期。
2.3 单片机应用中对新型接口的实际需求基于国内外MCS-51单片机接口的实际情况看,在一定程度上限制了MCS-51单片机的进一步推广和应用。
原因如下:1) 现在的单片机系统要求以更加灵活的方式与其它电子设备之间进行通信。
比如单片机应用系统在和计算机通信时仅仅依赖原来的串口通信方式已经不能满足要求,而且现在有些笔记本电脑已经没有了串行接口,另外串行通信接口的通信速度也远远不及当前的USB口通信方式。
2) 由于多媒体技术的发展和推广,要求现在单片机应用系统具备一定的多媒体处理能力,多媒体信息在单片机系统中的存储成为难题,因为MCS-51通过传统的存储器扩展方式外扩存储器的最大容量是64K,而64K的存储空间用于存储多媒体信息几乎是不可能的。
MCS-51单片机通过扩展大容量存储器,如CF卡,SD卡等,可以使单片机系统的数据存储能力大大提高。
3) 信息技术的发展要求现在的单片机系统具备网络通信能力。
为扩展其通信能力,单片机系统的网络化己经成为时代发展的必然。
纵观国内、国外的单片机应用系统,能够很好解决上述问题的应用系统在MCS-51单片机系统的应用中几乎还没有,有些新型单片机虽然在设计时满足了上述的一个或几个要求,但是由于没有经过长时间的市场的考验,所以在一些对单片机系统的稳定性和抗干扰能力有较高要求的情况下,设计师们首选的单片机还是MCS-51系列的产品。
所以解决MCS-51单片机与新型接口的连接已经成为一个具体的实际需求的问题。
3. 51单片机模拟串口的方法随着单片机的使用日益频繁,用其作前置机进行采集和通信在应用中也十分常见。
一般是利用前置机采集各种终端数据后进行处理、存储,再主动或被动上报给管理站。
这种情况下下,采集会需要一个串口,上报又需要另一个串口,这就要求单片机具有双串口的功能,但我们知道一般的51系列只提供一个串口,那么另一个串口只能靠程序模拟。
现在就以11.0592M的晶振为例,谈谈使用延时法是如何模拟串口的。
串口的每位需延时0.104秒,中间可执行96个指令周期。
#define uchar unsigned charsbit P1_0 = 0x90;sbit P1_1 = 0x91;sbit P1_2 = 0x92;#define RXD P1_0#define TXD P1_1#define WRDYN 44 //写延时#define RDDYN 43 //读延时//往串口写一个字节void WByte(uchar input){uchar i=“8”;TXD=(bit)0; //发送启始位Delay2cp(39);//发送8位数据位while(i--){TXD=(bit)(input&0x01); //先传低位Delay2cp(36);input=input>>1;}//发送校验位(无)TXD=(bit)1; //发送结束位Delay2cp(46);}//从串口读一个字节uchar RByte(void){uchar Output=“0”;uchar i=“8”;uchar temp=“RDDYN”;//发送8位数据位Delay2cp(RDDYN*1.5);? ?? ?? ?//此处注意,等过起始位while(i--){Output >>=1;if(RXD) Output??|=0x80;? ???//先收低位Delay2cp(35); //(96-26)/2,循环共占用26个指令周期}while(--temp)//在指定的时间内搜寻结束位。
{Delay2cp(1);if(RXD)break;//收到结束位便退出}return Output;}//延时程序*void Delay2cp(unsigned char i){while(--i);//刚好两个指令周期。
}此种方法在接收上存在一定的难度,主要是采样定位存在需较准确,另外还必须知道每条语句的指令周期数。
此法可能模拟若干个串口,实际中采用它的人也很多,但如果你用Keil C,本人不建议使用此种方法,上述程序在P89C52、AT89C52和W78E52三种单片机上实验通过。
参考文献[1] 杜春雷. ARM体系结构与编程,清华大学出版社,2003.[2] 王卓人, 邓晋钧, 刘宗祥. IC片的技术与应用. 北京:电子L业出版社,1999.2.[3] 罗亚非, 等. 凌阳16位单片机应用基础,北京航空航天大学出版社,2002,7.[4] 边春远, 王志. MCS-51单片机应用开发实用子程序,人民邮电出版社,2005.9.[5] 于京, 张景璐. 51系列单片机C程序设计与应用案例,中国电力出版社,2006.3.。