单片机结构及工作原理_单片机概述及结构原理
目录
1.单片机概述2。单片机结构原理3。单片机的硬件系统结构。操作单元2。控制单元4。内存结构1。程序存储器2。数据存储器1。程序计数器PC2。累加器A3。b寄存器4。程序状态字寄存器PSW5。堆栈指针SP6。数据指针DPTR7。端口P0-P38。串行数据缓冲器SBUF9。定时器3。外部数据存储器4。/O端口5。I/O端口6的读-修改-写特性。复位电路7。芯片中寄存器的状态8。时间(不清楚,有待更新)9。MCS-51微控制器1的引脚功能。端口线路(48=32) 2。电源线(2) 3。控制线(6) 1。
单片机是将主机(CPU、存储器和I/O接口)集成在一块小小的硅片上的微型计算机。单片机是为工业测控而设计的,也称为MCU。
单片机是一种集成电路芯片,它是利用VLSI技术将CPU、RAM、ROM、各种I/O口、中断系统和具有数据处理能力的定时器/计数器等功能集成在一个硅片上的小型而完善的微型计算机系统。因此,单片机只需配以适当的软件和外部设备,就可以组成单片机控制系统。
2.单片机的结构原理
8051系列单片机的主要功能如下:
1.数据内存(RAM):片内RAM为128Bbytes,片外RAM最多可扩展至64KB。
2.程序存储器(ROM/EPROM): 8031没有这个部件;8051是4K罗;8751是4K的EPROM。片外扩展最高可达64K字节。
3.中断系统:具有5个中断源(包括3个内部和2个外部)和2级中断优先级。
4.定时器/计数器:两个16位定时器/计数器,有四种工作模式。
5.串口:全双工串口,有四种工作模式。
6.P1端口、P2端口、P3端口和P0端口:4个并行8位I/O端口。
7.特殊功能寄存器(SFR): 8051有128个特殊功能寄存器寻址空间和21个SFR,用于管理、控制和监控芯片上的功能模块。事实上,一些控制寄存器和状态寄存器是一个特殊的功能RAM区域。
8.微处理器(CPU):它是一个8位CPU,包含一个1位CPU(位处理器),不仅可以处理字节数据,还可以处理位变量。
3.单片机硬件系统结构
MCS-51系列MCU主要包括算术/逻辑单元ALU、累加器A(有时称为ACC)、ROM、RAM、指令寄存器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态寄存器PSW、寄存器组,此外还有堆栈寄存器SP、数据指针寄存器DPTR等部件。这些组件集成在一个芯片上,通过内部总线连接起来,形成一个完整的微型计算机。如下图所示:
1.运算器
运算单元包括算术逻辑单元ALU、位处理器、累加器A、寄存器B、寄存器和程序状态字PSW寄存器。该模块的功能是实现数据算术、逻辑运算、位变量处理和数据传输。
ALU的功能很强。它不仅能对8位变量进行逻辑与、异或、循环、补码、清零等基本运算,还能进行加、减、乘、除等基本运算。ALU还具有一般微处理器ALU所不具备的功能,即位处理运算,可以对位变量进行位处理,如置位、清零、求补、测试传输和逻辑与、或等等。
累加器A是一个8位累加器:从功能上来说,它和一般微处理器的累加器相比没什么特别的,但需要注意的是,A的进位标志Cy比较特殊,因为它也是位处理器的位累加器。
寄存器B是为乘除而设置的,不需要乘除也可以作为普通寄存器使用。
MCS-51系列单片机的程序状态寄存器PSW是一个8位读写寄存器,它的不同位包含程序状态的不同信息。
执行算术和逻辑指令时,CY (PSW.7)进位标志位可以由硬件或软件设置或清除。在位处理器中,它是一个位累加器。
AC (PSW.6)的辅助进位标志位在加或减产生从低4位到高4位的进位或借位时会被硬件置位,否则会被清零。
F0 (PSW.5)标志位,是用户使用的状态标志位,可以通过软件置位或清零,也可以通过软件测试来控制程序的流向。该标志位在编程时特别有用。
Rs1、RS0 (PSW4、PSW.3)寄存器区选择控制位1和0用于选择四组工作寄存器区。
Over (psw.2)溢出标志位。当一条算术指令被执行时,它被硬件置1或清0以指示溢出状态。
PSW.1是保留位,不使用。
P (PSW.0)奇偶校验标志位。每个指令周期由硬件设置或清除,以表示累加器a中值为1的位数的奇偶性,如果是奇数,则P=1,否则P=0。该标志位对串口通信中的数据传输具有重要意义,奇偶校验常用于检查数据传输的可靠性。
2.控制组件
控制部分是单片机的神经中枢。控制器根据主振频率(每个主振周期称为振荡周期),控制CPU的时序,解码指令,然后发出各种控制信号,把所有的硬件环节组织在一起。
四。记忆结构
程序存储器和数据存储器有各自独立的寻址方式、寻址空间和控制信号。
MCS-51的存储器结构如图所示(内部数据RAM高度为128B只有52子系列单片机拥有,51子系列没有)。
MCS-51系列(8031和8032除外)有四个物理上独立的内存空间,即内外程序内存和内外数据内存。逻辑上分为三个存储空间,即64K字节程序存储器地址空间、256B字节片内数据存储器和64K字节片外数据存储器地址空间(可扩展数据ram或I/O接口)。
1.节目存储器
程序存储器用于存储编程程序和表格常量。
在MCS-51系列的指令系统中,只有两条指令处理外部程序存储器:
MCS-51复位后,程序计数器PC的内容为0000H,因此系统必须从0000H单元获取指令并执行程序。程序存储器中的0000H地址是系统程序的启动地址。通常,跳转指令存储在该单元中,以跳转到用户设计的主程序的起始地址。
MCS-51最多可以扩展64K字节的程序存储器,64K程序存储器中有五个专用单元,这五个专用单元分别对应五个中断源的中断服务程序的入口地址:
通常在这些入口地址放一个跳转指令。增加跳转指令的目的是因为两个中断入口之间的间隔只有八个单位,所以存储中断服务程序往往不够。
2.数据存储
数据存储器用于存储和读取数据,但它不能存储和执行程序指令。
数据存储器在物理上和逻辑上被分成两个地址空间;内部数据存储器(简称内部RAM)和外部数据存储器(简称外部RAM)。内部RAM的地址空间是00H-7FH和128B (8052是00H~0FFH和256B),外部RAM的地址空间是64KB从0000H~0FFFFH。
它们由不同的指令访问:MOV类指令用于访问内部RAM用于访问外部RAM的MOVX指令。
8051内部RAM的128B单元可按功能分为三个区域:
(1)从00h到1fh的单元32B包括四个工作寄存器组。如前所述,每组包括八个工作寄存器,寄存器名称用R0表示,RS1、 RS 02、 r3、 r4、 r5、 r6、 r7。单片机执行程序时只能选择其中之一。设置四组工作寄存器给程序设计带来了好处,子程序嵌套中断时容易实现字段保护。如果用户程序中只有一组内部RAM单元用作工作寄存器,那么其他三组RAM单元可以用作通用内部RAM。MCS-51复位后,RS1、RS0全为0,即00H—07H单元指定为R0-R7。
(2)地址20H-2FH的16B共有128位,是可以按位寻址的内部RAM区域,既可以按字节寻址,也可以按位寻址。这些位寻址单元构成了布尔处理器的数据存储空间。它们的位地址被定义为00h-7fh。
(3)另一个80B是只能字节寻址的内部RAM区,是用户区。MCS-51单片机的堆栈安排在内部RAM中,堆栈的深度限制在不超过内部RAM的空间。8051芯片的最大值为128B,8052芯片的最大值为256B。
1.程序计数器PC
程序计数器PC用于存储下一条要执行的指令的地址。它是一个16位特殊寄存器,可寻址范围为0-65535 (64k)。PC在物理上是独立的,不属于SFR,但和SFR关系密切,所以这里介绍一下。
2.累加器a
累加器A是最常用的特殊寄存器,属于SFR。大多数单操作数指令的操作数取自累加器,许多双操作数指令的一个操作数取自累加器。加、减、乘、除的算术运算指令的运算结果存储在累加器A或A、B寄存器中。
3.基址寄存器
在乘法和除法的指令中,使用B寄存器。乘法指令的两个操作数分别取自A和B,结果存储在A和B寄存器对中。在除法指令中,被除数取自a,除数取自b,运算后的商存入a,余数存入b。
4.程序状态字寄存器PSW
PSW是一个8位寄存器,包含程序状态信息。
5.堆栈指针SP
堆栈指针SP是一个8位专用寄存器。它指示内部RAM块中堆栈顶部的位置。系统复位后,SP初始化为07H,这样堆栈实际上是从08H单元开始的。考虑到0bh-1FH单元分别属于工作寄存器区1 ~ 3,如果要在编程中使用这些区域,最好将SP值改为1FH以上。单片机的堆栈是向上生成的。比如SP=60H,CPU执行调用指令或响应中断后,PC进入堆栈,PC的低8位送到61H,PC的高8位送到62H,(SP)=62H。
6.数据指针DPTR
数据指针DPTR是一个16位SFR,其高字节寄存器由DPH表示,其低字节寄存器由DPL表示。DPTR既可以用作16位寄存器DPTR,也可以用作两个独立的8位寄存器DPH和DPL。
7.港口P0-P3
特殊功能寄存器P0-P3分别是I/O端口P0-P3的锁存器。也就是说,每个8位I/O端口对应于SFR的一个地址(8位)。在MCS-51中,I/O和RAM采用统一的寻址方式,使用方便。访问I/O端口可以使用指令来访问RAM。
8.串行数据缓冲器SBUF
串行数据缓冲器SBUF用于存储要发送或接收的数据。它在SFR模块中只有一个字节地址,但实际上由两个独立的寄存器组成,一个是发送缓冲器SBUF,另一个是接收缓冲器SBUF。当要发送的数据传输到SBUF时,发送缓冲区SBUF进入。接收时,外部数据存储在接收缓冲器SBUF中。
9.计时器
MCS-51单片机有两个16位定时器/计数器T0和T1,由两个独立的8位寄存器组成,共有四个独立的寄存器:TH0、TL0、THL和TL1。这四个寄存器可以被寻址,但T0或T1不能被视为16位寄存器。
3.外部数据存储
MCS-51外部数据存储器的寻址空间为64KB,足以满足大多数应用领域。R0、R1和DPTR可用于间接寻址外部数据存储的寄存器。R0和R1是8位寄存器,寻址范围为256B,DPTR是16位数据指针,寻址范围为64KB。在MCS-51的指令系统中,有四条处理外部数据存储的指令:
4.输入输出端口
MCS-51单片机有四个双向8位并行I/O端口:P0 ~ P3,每个端口有一个8位锁存器。复位后,它们的初始状态都是“1”。
P0端口是一个三态双向端口,既可用作并行I/O端口,也可用作数据总线端口。当扩展外部存储器或I/O端口时,只能使用数据总线和地址总线的低8位。用作数据总线端口时,是分时的,即先输出低8位地址,再用作数据总线。所以外面要加一个锁存器,先发低8位数据锁存,地址锁信号是ALE。
P1端口是用户专用的I/O端口,是一种准双向接口。
P2端口是一个准双向接口,既可以作为并行I/O端口,也可以作为地址总线高8位端口。当外部存储器或I/O端口被扩展时,它只能是地址总线的高8位。
P3港是一个准双向口岸和双功能口岸。端口的每个位可以独立定义为第二个函数。当用作第一功能时,港口的结构和操作与P1港的结构和操作相同。下表显示了当P3端口用作第二个功能时,每个位的定义:
5.I/O端口的读-修改-写特性
每个I/O口有两种读方法,读latch和读pin,都有对应的指令,那么如何区分读口的指令是读latch还是读pin?
读锁存器的指令是从锁存器中读取数据,对其进行处理,并将处理后的数据重新写入锁存器。这种指令称为“读-修改-写”顺序。当当前操作数是I/O端口或I/O端口的位时,这些指令是读锁存器而不是读引脚,即“读-修改-写”指令。以下是一些“读-修改-写”指令。
ANL(逻辑与,如ANL P1,一)
ORL(逻辑或,例如,ORLP2)
XRL(逻辑异或,例如,XRLP3,a)
JBC(如果位=1,它被传输和清除,例如JBC P1.1,标签)。
CPL(反转,例如CPL P3.0)
INC(增加,例如,INC P2)
DEC(递减,例如,DEC P2)
DJNZ(递减,如果不等于0则移位,例如,DJNZ P3,标签)
MOV P1.7,c(进位位发送到P1端口的位7)
CLR P1.4(清除P1端口的位4)
SETB P1.2(设置了P1端口的第2位)
Read pin指令一般是以I/O端口作为原始操作数的指令。执行读引脚指令时,三态门打开,输入端口进入状态。
例如,当读取P1端口的输入状态时,read pin指令为:MOV A,P1。
读-修改-写指令指向锁存器而不是引脚的原因是为了避免对引脚上的电平的可能误解。
6.重接电路
MCS-51的复位输入引脚RST(即复位)为MCS-51提供了一种初始化方法。有了它,程序可以从指定的地方执行,也就是从程序存储器中的0000H地址单元执行。只要RST还在高位。MCS- 51循环复位。只有当RST从高电平变为低电平时,MCS-51才从0000H地址开始执行程序。
7.复位时芯片上每个寄存器的状态。
程序操作由程序计数器(PC)直接指导。
复位后的PC值为0000H,所以复位后的程序入口地址为0000h;
复位后PSW=00H,使片内存储器中0区的工作寄存器被选中,用户标志为F0处于0状态;
复位后SP=07H,并将推栈底设置为07H;
Th1、 TL1、 TH0和TL0均为00H,表示定时器/计数器复位后清零;
Tmod=00h处于模式0的工作状态,T1、T0设置为内部定时器模式,定时器不受外部引脚影响。
控制;
Tcon=00h,禁止计数器计数,表示定时器/计数器没有溢出中断请求,禁止外部中断源的中断请求,为电平触发;
Scon=00h使串口工作在移位寄存器模式(模式0),置位允许串行移位接收或发送;
复位后IE的所有位都为零,表示中断系统中的CPU被禁止响应中断,每个中断源也被中断禁用。
复位后,IP的所有位都为零,表示中断系统中的五个中断源都设置为低优先级中断状态;
复位后,P1、P2和P3的锁存器都处于1状态,这使得这些准双向端口处于输入状态。
在有效复位期间(即高电平),ALE引脚和MCS-51引脚均为高电平,内部RAM不受复位影响。
8.时间序列(不清楚,有待更新)
9.MCS-51单片机引脚功能
MCS-51单片机的DIP封装有40个管脚,分为端口线、电源线、控制线三类。
1.端口线路(48=32)
MCS-51有四个并行I/O端口,每个端口有八条端口线,用于传输数据/地址或其他信息。P0.0-P0.7:
这组有8个引脚,专用于P0端口,其中P0.7为最高位,P0.0为最低位。这八个引脚有两种不同的功能,用于两种不同的情况。
第一种情况是没有片外存储器的MCS-51的型号,P0口可以作为通用I/O口,P0.7~P0.0用来传输CPU的输入/输出数据。
输出数据无需外部专用锁存器即可锁存,输入数据可缓冲,增加了数据输入的可靠性。
第二种情况,有了片外程序存储器,P0.7~ P0.0用来在CPU访问片外存储器时传输片外存储器的低8位地址,然后将CPU读取或写入的数据传输到片外存储器。
P1.0-P1.7:
这八个引脚类似于P0端口的八个引脚,P1.7为最高位,P1.0为最低位。当P1端口用作通用I/O时,P1.0-P1.7的功能与P0端口的第一个功能相同,也用于传输用户的输入/输出数据。
P2.0-P2.7:
第一个功能与上述两组引脚的第一个功能相同,即可以作为通用I/O使用,其第二个功能与P0口引脚的第二个功能相配合,用于输出片外存储器的高8位地址,共同选择片外存储单元,但不能像P0口一样传输存储器的读写数据。
P3.0-P3.7:
这组管脚的第一个功能和其他三个端口的第一个功能一样,第二个功能用于控制,每个管脚不完全一样。
2.电源线(2根)
VCC是5V电源线,VSS是地线。
3.控制线(第六条)
1.
2.
3.
4.
5.
标签:器指令数据
-
无相关信息
- 1绿茶生产基地你不知道的10个惊人秘密
- 2雁荡毛峰茶民间传说(探寻雁荡山茶文化的传承与发展)
- 3普洱茶为什么是越陈越值钱-古董普洱茶并非越陈越值钱
- 4武夷红茶泡(享受武夷山的红茶文化)
- 5喝绿茶真的好(介绍绿茶的健康功效与饮用方法)
- 6女性喝普洱茶有哪些好处?
- 7普洱茶的养生功效及饮用方法详解
- 8安吉白茶是白茶还是绿茶?解答你的疑惑
- 9白瓷杯泡红茶(享受红茶的优雅生活)
- 10国内高档红茶价格分析及推荐
- 11正山小种三盒装价格及购买推荐
- 12铁观音能闷泡吗?
- 13普洱茶到底有多少种(普洱茶的品种分类和特点)
- 14红茶与荔枝哪一个更适合你的口味?
- 15黄花云尖的冲泡方法(品味黄花云尖的独特韵味)
- 16黄山碧云茶叶的种类和产地介绍
- 17滇红茶的价格多少(市面上滇红茶的价格参考)
- 18女生夏天喝绿茶的好处有哪些?
- 19安吉白茶有几个等级及其特点介绍
- 20普洱茶味道苦吗「普洱茶的苦味是如何存在的」
- 21茉莉绿茶涩的原因及如何解决
- 22如何用柑普茶提高工作效率?
- 23龙井生茶怎么喝(品尝龙井生茶的正确方法)
- 24龙井茶2023年生产计划(预测龙井茶产量及市场前景)
- 25普洱茶回甜与回甘区别「普洱茶的回甘是时间转化的滋味」
- 26台地茶的起源,你绝对不知道的惊人秘密
- 27西湖龙井与其他绿茶的区别(了解西湖龙井的独特之处)
- 28铁观音盖碗冲泡时间介绍(让你喝出口感最佳的茶水)
- 29普洱茶用盖碗冲泡的注意事项及正确方法
- 30武阳春雨茶(品尝武阳特色茶饮)