微控制器是采用超大规模集成电路技术,将具有数据处理能力的中央处理器(CPU)、随机存储器RAM、只读存储器ROM、各种I/O端口和中断系统组合在一起的集成电路芯片,定时器/计数器等功能(还可能包括显示驱动电路、脉宽调制电路、模拟多路复用器、A/D转换器等电路)被集成到一块硅芯片上,形成一个虽小但完整的微计算机系统。
分类:
1. 普通型
根据单片机的应用范围来区分。 例如,80C51通用微控制器并不是为特定用途而设计的; 专用单片机是针对某一类产品甚至某一类产品而设计生产的。 例如,为了满足电子体温计的要求,它在芯片上集成了ADC接口等功能。 温度测量控制电路。
2. 总线类型
它以微控制器(Microcontrollers)是否提供并行总线来区分。 总线型微控制器一般配备有并行的地址总线、数据总线和控制总线。 这些引脚用于扩展并行外围设备,可以通过串口连接到微控制器。 此外,许多微控制器已经集成了所需的外围设备和外围接口。 集成到一颗芯片中,很多情况下不需要并行扩展总线,大大降低了封装成本和芯片尺寸。 这种类型的微控制器称为非总线型微控制器。
3、控制类型
它们是根据微控制器的一般应用领域来区分的。 一般来说,工控型寻址范围大,计算能力强; 用于家电的微控制器多为专用型,通常封装小、价格低、外围器件和外围接口集成度高。 显然,上述分类并不唯一和严格。 例如80C51型单片机既是通用型又是总线型,也可用于工业控制。
51单片机的结构与功能
基本技能:
1.8位数据总线、16位地址总线CPU;
2.具备布尔处理能力和位处理能力;
3、采用哈佛结构,程序存储器和数据存储器地址空间独立,方便程序设计;
4、同一地址的64KB程序存储器和64KB数据存储器;
5.0-8KB片内程序存储器(8031无,8051有4KB,8052有8KB,89C55有20KB);
6.128字节片内数据存储器(8051有256字节);
7.32 双向和可位寻址的 I/O 线;
8、两个16位定时器/计数器(8052有3个);
9、一个全双工串行I/O接口;
10、多中断源的中断结构,具有两个中断优先级;
11. 片内时钟振荡器。
特征:
1、以微处理器(CPU)为核心;
2、CPU通过3条总线与其他部件连接。
总线:指可以为多个组件服务的信息传输线路。
内部结构
单片机外部结构
图中共有40个外部引脚:
引脚功能介绍
1、P0口结构
P0口的字节地址为80H,位地址为80H~87H。
如图所示,一个端口由锁存器、输入缓冲器、多路开关、非门、与门和场效应晶体管驱动电路组成。
P0位结构:
输入缓冲器
在P0端口,有两个三态缓冲器。 三态门具有三种状态,即其输出可以是高电平、低电平,也有高阻状态(或禁用状态)。 ,要读取D锁存器输出Q处的数据,需要使能读锁存器中缓冲区的三态控制端。 接下来是读引脚的缓冲区,需要读取P0。 引脚上的数据也必须有效,并且标记为“读引脚”的三态缓冲器的控制端必须有效,引脚上的数据才会传输到单片机的内部数据总线。
D锁存器
为了形成锁存器,通常使用时序电路。 触发器可以保存一个二进制数(即具有保持功能)。 51单片机的32条I/O线中,使用了一个D触发器。 构成一个锁存器。 图1-4中的D锁存器中,D端为数据输入端,CP为控制端(即时序控制信号输入端),Q为输出端,Q为反向输出端。
对于D锁存器来说,当D输入端有输入信号时,如果控制端CP没有信号(即定时脉冲还没有到来),则输入端D的数据无法传输到输出端Q反相。 的输出。 如果定时控制端CP的定时脉冲到来,则D端输入的数据将被传送到Q和Q非端。 数据发送完毕后,当CP时序控制端的时序信号消失时,输出端仍会保持最后一个输入端D的数据(即锁存最后一个数据)。 如果下一个定时控制脉冲信号到来,D端的数据将再次传输到Q端,从而改变Q端的状态。
多路开关
在51单片机中,当内部存储器足够时(即不需要外部扩展存储器时,这里所说的存储器包括数据存储器和程序存储器),P0口可以作为通用输入/输出口(即,输入/输出)。 、对于8031单片机(内部无ROM),或者当编写的程序超出单片机内部存储器容量,需要扩展存储器时,则使用P0口作为地址/数据总线。 然后这个多路选择开关用于选择是否将其用作普通I/O端口或用作地址/数据总线。 从图1-4可以看出,当多路开关接在下端时,P0口作为普通I/O口使用; 当上端连接多路开关时,P0口作为地址/数据总线。
当使用P0口扩展外部存储器和I/O时,P0口将用作地址和数据时分复用。 CPU发出控制信号打开与门,使MUX向上移动,形成推挽结构。 可以直接读取数据信号。 输入或输出到内部总线。 当使用P0作为通用I/O时,此时P0口为准双向口。 CPU发出控制信号,封锁与门,关闭上拉管,并将MUX向下打开连接到D触发器Q。
2、P1口结构
P1口的字节地址为90H,位地址为90H~97H。
P1位结构:
与P0不同的是,P1口只能作为I/O口,没有MUX,但有内部上拉电阻,所以连接外设负载时不需要外接上拉电阻。 这对于 P1、P2 和 P3 来说是相同的。
3、P2口结构
P2 口的字节地址为A0H,位地址为A0H~A7H。
P2位结构:
P2口作为I/O口线使用时,其使用方法与P0口相同。 当内部开关拨向另一个方向,即地址输出时,可输出程序存储器或外部数据存储器的高8位地址并与P0口输出合并。 低地址共同构成16位地址线。
4. P3口结构
P3口的字节地址为B0H,位地址为B0H~B7H。
当作为I/O口线使用时,P3口与其他口相同。 它也是一个准双向端口。 不同的是,P3口的每一位都有另外一个功能,也称为第二功能。 具体功能在使用时确定。 详细解释。 当P3口作为通用I/O口时,准双向口的第二功能端保持高电平。
当P3口作为第二功能时,锁存器输出Q=1,如图为P3口的第二功能列表:
5.注意
(1) 在没有片外扩展存储器的系统中,这四个端口均可用作准双向通用I/O端口。 在具有片外扩展存储器的系统中,端口P2作为高8位地址线,端口P0作为双向总线,分时作为低8位地址和数据的输入/输出线。
(2) 当P0口作为通用双向I/O口使用时,必须外接上拉电阻。
(3) P3口除了用作通用I/O口外,还有第二个功能。 当P3口的某一位作为第二功能输出时,就不能再作为通用I/O口使用。
(4) 当 P0~P4 端口作为输入时,为避免误读,必须先向相应的输出锁存器写入 1,关闭 FET,然后再读取端口引脚。 例如,以下程序:
MOVP1,#0FFH
莫瓦,P1
51的程序存储器和数据存储器是独立的。 除了内部数据寄存器外,还可以扩展数据寄存器。 数据寄存器共存,但访问指令不同。
程序寄存器
当EA引脚接高电平时,CPU将使用内部程序寄存器。 如果程序超出内部程序存储器空间,CPU会自动从外部程序存储器重新读取超出的程序代码。
数据寄存器
0000H~007FH
1.注册组区
0000H~001FH 共有 32 个地址位寄存器组区域。
每个寄存器组包括八个寄存器,包括R0、R1、R2、R3、R4、R5、R6和R7。 任何时候只能使用其中一组寄存器。
寄存器组的切换可以由程序状态字(PSW)中的RS1和RS0来决定。
RS0 RS1 寄存器组地址
0 0 RB0 0000H~0007H
0 1 RB1 0008H~000FH
1 0 RB2 0010H~0017H
1 1 RB3 0018H~001FH
2. 位寻址区
16字节存储区域0020H~002FH是位寻址区域。
将 20H 内存地址的第 5 位设置为 1:SETB 20H.5
将20H内存地址的第5位设置为0:CLR 20H.5
3. 通用数据和堆栈区
0030H~007FH 80字节为通用数据访问区和堆栈区
128B位特殊功能寄存器(SFR) 0080H~00FFH之间
特殊功能寄存器
P0、P1、P2、P3
它们是51的4个输入/输出端口,地址分别是80H、90H、A0H和B0H。
P0口:这8位均为开漏输出。 每个引脚可驱动8个LS型TTL负载; 并且没有内部上拉电阻。 执行输出功能时,必须外接上拉电阻(10 kΩ就够了); 要执行输入功能,必须先输出高电平,然后才能读取端口连接的外部数据; 如果系统连接外部存储器,P0可用作地址总线(A0A7)和数据总线(D0D7)。 功能引脚。
P1口:内部有30kΩ上拉电阻。 执行输出功能时,无需外接上拉电阻; 8位均为开漏输出,每个引脚可驱动4个LS型TTL负载; 如果要执行输入功能,必须先输出高电平,才能读取端口连接的外部数据;
P2口:内部有30kΩ上拉电阻。 执行输出功能时,无需外接上拉电阻; 8位均为开漏输出,每个引脚可驱动4个LS型TTL负载; 如果要执行Input功能,必须先输出高电平,才能读取端口连接的外部数据; 如果系统连接外部存储器且外部存储器的地址线超过8条,则P0口可作为地址总线(A8~A15)引脚。
P3口:内部有30kΩ上拉电阻。 执行输出功能时,无需外接上拉电阻; 8位均为开漏输出,每个引脚可驱动4个LS型TTL负载; 如果要执行输入函数,必须先输出高电平,然后才能读取连接到端口的外部数据;
P3口的其他功能:
P3 其他功能说明
P3.0 RXD 串口接收引脚
P3.1 RTD串口发送引脚
P3.2 INT0 INT0 中断输入
P3.3 INT1 INT1 中断输入
P3.4 T0定时器0输入
P3.5 T1 定时器1输入
P3.6 WR 写外部存储器控制引脚
P3.7 RD 读外部存储器控制引脚
SP
SP为堆栈指针寄存器,地址为81H。
DPL、DPH
DPL和DPH都是8位数据指针寄存器,地址分别为82H和83H。 如果DPL为低8位,DPH为高8位,则可组成16位数据指针寄存器,简称DPTR,从而可寻址64KB数据地址。
电脑控制网络
PCON用作电源控制寄存器,其地址为87H,其功能是设置CPU的电源模式。
它是一个不可位寻址的寄存器。 如图所示:
SMOD ― ― GF1 GF0 PD IDL
位7 位6 位5 位4 位3 位2 位1 位0
他们的描述如下:
SMOD 位是比特率加倍位。 当串口工作在模式1、模式2、模式3,并使用定时器1作为码率发生器时,如果为1,则码率加倍,如果为0,则码率正常。
GF1 和 GF0 位是通用标志位。 用户可以自行设置或清除这两个标志。 这两个标志通常用作中断来唤醒处于空闲模式的8051系统。
PD 位是掉电模式位。 为1时,进入掉电模式; 当为0时,结束掉电模式。
IDL 位是空闲模式位。 为1时,进入空闲模式; 当它为0时,结束空闲模式。
总控
TCON为定时器/计数器控制寄存器,地址为88H
TMOD
TMOD是计数器/计数模式控制寄存器,地址为89H,功能是设置其模式
TL0、TL1、TH0、TH1
TL0和TH0是第一组定时器和计数器的测量寄存器,地址分别为8AH和8CH。 TL0和TH0组合可以进行16位定时/计数。 TL1和TH1是第二组定时器和计数器的测量寄存器,地址分别为8BH和8DH。 TL1和TH1组合可以进行16位定时/计数。
斯康
SCON是串口控制寄存器,地址为98H,功能是设置串口工作模式和标志位。
SBUF
SBUF为串口缓冲区,地址为99H。 它由使用相同地址的两个寄存器组成。 一个寄存器用作发送数据的缓冲区,另一个寄存器用作接收数据的缓冲区。 至于如何区分两个地址相同的寄存器,则取决于指令。 如果是数据传输指令,会自动定位用于传输数据的缓冲区; 如果接收到数据指令,它会自动定位用于接收数据的缓冲区。 稍后会详细介绍。
IE
IE为中断使能寄存器,地址为A8H。
知识产权
IP是中断优先级寄存器。
T2CON
T2CON 是定时器2 的定时器/计数器控制寄存器,地址为C8H。 其功能是设置定时器2的启动、记录定时器/计数溢出、外部中断触发方式。
RCAP、RCAP2H
RCAP和RCAP2H为捕捉寄存器,地址为CAH和CBH。 当定时器2处于捕捉模式时,如果T2EX(P1.1)引脚上的输入信号由高电平变为低电平,则TL2和TH2的内容将被加载到RCAP和RCAP2H中,就像定时器2的内容一样捕获到 RCAP 寄存器中。
TL2、TH2
TL2和TH2是第三组定时器和计数器的测量寄存器,地址分别为CCH和CDH。 TL2和TH2组合可以进行16位定时/计数。
PSW
PSW是CPU的程序状态字寄存器,其地址为D0H,其内容如下:
7 6 5 4 3 2 1 0
PSW CY AC F0 RS1 RS0 OV P
PSW.7:该位是进位位(CY)。 加减法时如果发生进位或偏移,则自行置1,否则置0。
PSW.6:该位是辅助进位位(AC)。 加减运算时如果发生进位或未对齐,则自行置1,否则置0。
PSW.5:该位为用户标志位,可由用户设置。
PSW.4和PSW.3:这两位是寄存器组选择位(RS1、RS0),其功能如下表所示。
RS1 RS0 寄存器组
0 0 RB0
0 1 RB1
1 0 RB2
1 1 RB3
PSW.2:该位是溢出标志位(OV)。 运算过程中,如果发生溢出则为1,否则为0。
PSW.1:该位保留,不提供任何服务。
PSW.0:该位是奇偶校验位(P)。 8051 使用偶校验。 如果ACC中有奇数个1,则为1,如果有偶数个1,则为0。
ACC
ACC累加器又称为A寄存器,地址为E0H。
B寄存器的地址为F0H,其主要作用是配合A寄存器进行乘法或除法运算。 进行乘法运算时,乘法器放入B寄存器,运算结果的高8位放入B寄存器; 当进行除法运算时,除数存放在B寄存器中,运算结果的余数存放在B寄存器中。 如果不进行乘法/除法运算,B寄存器也可以用作通用寄存器。
门电路
与门
或门
非门
相同或门
异或门
门组合电路
门电路的实现 TTL和MOS集成门电路
寄存器和锁存器
触发器类别:
1. 基本RS触发器
2.同步RS触发器、同步D触发器
3、主从RS触发器、主从JK触发器
4. 边沿触发:
上升沿触发器(D触发器、JK触发器)
下降沿触发器(D触发器、JK触发器)
触发逻辑函数的表示方法:
特性表、卡洛图、特性方程、状态图、时序图
各种触发器简介