单片微型计算机(Single Chip Microcomputer)简称为单片机,又称微控制器。是指在一块芯片上集成了*处理器(CPU)、随机存储器(RAM)、程序存储器(ROM、EPROM或E2PROM)、定时/计数器、并行I/O接口、中断控制器和串行接口等部件而构成的微型计算机系统。
MCS-51单片机是指由美国INTEL公司生产的一系列单片机的总称,是高性能8位单片微型计算机。MCS-51包含一个8位*处理器CPU、4KB程序存储器ROM(Read-Only Memory)、128B随机存取存储器RAM(Rndom Access Memory)、4个8位并行I/O接口、1个全双工串行口、2个16位定时/计数器及21个特殊功能寄存器。
1.*处理器CPU:
*处理器是进行算术/逻辑运算和控制程序执行的部件,包括运算器和控制器两部分。
1.1 运算器:
算术/逻辑部件ALU:ALU的功能主要是对数据进行加减乘除等算术运算及与、或、非、异或等逻辑运算。
累加器ACC:是一个8位寄存器,在算术逻辑运算时用来存放一个原操作数和运算结果,在与外部数据存储器,程序存储器和I/O接口传送数据时都要经过ACC。
寄存器B:与累加器ACC配合用于乘除法指令中。在乘法运算时,用B存放一个乘数和乘积的高位,在除法运算中,用于存放除数和商。
程序状态寄存器PSW:PSW寄存器共有8位,全部用作程序运行时的状态标志。P:奇偶标志位 OV:溢出标志 RS0、RS1:寄存器工作区选择 F0:用户标志位 AC:辅助进位标志位 CY:最高进位标志位
1.2控制器
控制器包括程序计数器PC、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等,程序计数器PC、指令译码器、定时控制与条件转移逻辑电路对用户来说是透明的。
程序计数器PC:程序存放在程序存储器中,每条指令都有自己的地址,由PC指示将要执行的指令的地址,PC是一个16位寄存器,可寻址范围为0000H~FFFFH,共64K。系统复位时,PC的值为0000H。
堆栈指针SP:是个8位的寄存器。堆栈是按先进后出原则进行数据存取的数据区域,用于子程序调用与返回及中断处理时保存断点的数据。堆栈工作区不要与所选寄存器工作区、位地址区重叠。系统复位后,堆栈指针的初值为07H,指向寄存器工作区0.因此,用户在初始化程序中应对SP设置初值,一般设在30H-7FH为宜。
数据指针寄存器DPTR:DPTR是一个16位寄存器,可分为两个8位寄存器DPH和DPL,在访问数据存储器或I/O接口时,用于提供16位地址。
2.存储器结构
程序存储器和数据存储器互相独立,程序存储器为只读存储器,数据存储器为随机存取器。从物理地址空间看,共有4个存储地址空间,片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。
2.1程序存储器
内部为4KB,地址范围为0000H~0FFFH,外部可以扩展64KB,地址范围为0000H~FFFFH。在芯片引脚有一个控制端EA(上面有一横),若该端接高电平,程序执行内部程序存储器中的地址,当地址大于等于1000H后,执行外部程序存储器中的程序。若该端接低电平,则全部执行外部程序存储器中的程序。
2.2数据存储器
内部数据存储器分为128字节的RAM区和128字节的特殊功能寄存器区。
内部RAM的地址范围为00H~7FH,分布如(a)。寄存器工作区的选择是通过程序状态寄存器PSW的RS0、RS1进行的。设置4个工作寄存器可以提高现场保护能力和CPU实时响应的速度。
20H~2FH的16个单元既可以按字节寻址,作为一般的工作单元,又可以按位寻址,进行位操作。这16个单元共有128位,每位有一个位地址,位地址范围为00H~7FH。30H~7FH区只能按字节寻址,一般用作数据缓冲区或堆栈区,存放程序执行过程中的临时数据。 疑问(按位寻址和按字节寻址是什么意思?16个单元为什么有128位)
特殊功能寄存器有21个,离散地分布在80H~FFH地址区域中。
外部数据存储器:外部可扩充64KB的数据存储器,地址范围为0000H~FFFFH,地址由P0和P2提供。
3.MCS-51单片机对外引脚
并行口P0:8位双向I/O接口,连接外部存储器或扩充外设时,作为低8位地址线和8位数据线(8位二进制数相当与于2位十六进制数)
并行口P1:8位双向I/O接口,在编程和校验时接收低8位地址,每一位可以独立地输入/输出
并行口P2:8位双向I/O接口,连接外部存储器或扩充外设时,作为高8位地址线和8位数据线
并行口P3:8位双向I/O接口,另外还兼有中断、定时/计数器、串行通信等功能。见表。
RST/VPD:复位及提供后备电源。一旦主电源Vcc出现故障后可由VPD接通备用电源,以保证内部RAM存储器中的信息不丢失。
ALE/PROG(上划线用下划线表示 0.0) :ALE地址输出锁存信号,访问外部存储器时作为地址锁存信号,EPROM编程时输入编程脉冲。
PSEN :外部程序存储器读出选通信号,读出内容送并行口P0
EA/VDD:EA(Exteral Address)内部/外部程序存储器选择信号。EA为高电平,表示选择内部程序存储器;EA为低电平,表示选择外部程序存储器。对于内部没有程序存储器的单片机,EA必须接地。对于EPROM(EPROM芯片可重复擦除和写入)编程时VDD接21V电源。
XTAL1、XTAL2:外接晶体振荡器或外部时钟
Vcc:+5V电源
Vss:接地端
4.复位与掉电保护 (P12)(其中的电容起到滤波的作用)
5.时钟电路与工作时序
MCS-51单片机芯片内部有一个反向放大器构成的振荡器,XTAL1和XTAL2引脚分别为振荡器的输入端和输出端。时钟可以由内部或外部产生。(图P14)
对于MCS-51单片机来说是六倍时钟周期,一个机器周期定为6个时钟周期,6个时钟周期表示为S1~S6.在一个机器周期中,包括有两个机器周期信号ALE。时钟信号S为振荡器频率P的2分频,一般情况下,算术/逻辑运算在S的前半周期进行,内部寄存器传送在S的后半期进行。MSC-51单片机的大部分指令执行时间为一个机器周期,少数为2个机器周期,乘法和除法指令需要4个机器周期。
6.单片机最小系统
接上时钟电路和复位电路,将EA接高电平即可。(图P15)
总结:很多知识要记忆,书上的图比较重要,关注下课后题。