第2章 单片机的硬件基础.docx
- 文档编号:5357652
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:16
- 大小:450.70KB
第2章 单片机的硬件基础.docx
《第2章 单片机的硬件基础.docx》由会员分享,可在线阅读,更多相关《第2章 单片机的硬件基础.docx(16页珍藏版)》请在冰豆网上搜索。
第2章单片机的硬件基础
第2章单片机的硬件基础
2.1单片机内部结构
微型计算机的基本组成有三部分,即CPU+存储器+I/O接口。
若将这些部件集成在一块芯片上,称为单片机
这些部分通过内部总线连接起来,基本结构仍然是通用CPU加上外围芯片的结构模式,但功能单元上的控制与先前相比有重大变化,采用了特殊功能寄存器(SFR)进行集中控制的方法
T0T1两个定时/计数器,用以对外部事件进行计数,也可用作定时器
时钟电路:
内部时钟电路
串行接口:
一个串行端口,用于数据的串行通信
中断系统:
中断控制系统
并行接口:
四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出
Cpu:
一个8位微处理器CPU
内部程序存储器ROM
功能寄存器SFR
2.2MCS-51单片机内部结构
2.1.1中央处理器CPU
1运算器
运算器的结构ALU:
进行算术运算(加减乘除)和逻辑操作(逻辑乘,逻辑加,异或,取反)。
A:
指令执行前存放操作数,指令执行后存放操作结果。
PSW:
存放指令执行后的状态信息(如:
最高位有无进位,有无溢出等等)。
TMP:
存放另一操作数,对用户不开放(即用户不可把它用在指令中)。
•程序状态字PSW
2.1.2存储器结构
微型计算机的存储器结构分为两大类型:
1)程序存储器和数据存储器合用一个存储空间,即统一编址,称为普林斯顿结构
2)程序存储器和数据存储器相互独立,分开编址,称为哈佛(Haward)结构
一般微机通常采用普林斯顿结构,即只有一个逻辑空间,可以随意安排ROM或RAM。
访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令(8086/8088)。
1.存储原理
为了探讨计算机的存储原理,我们做一个实验:
这里有两盏灯,我们知道灯只有亮和灭两种状态,我们能用‘0’和‘1’来代替这两种状态,规定亮为‘1’,灭为‘0’。
现在这两盏灯总共有几种状态呢?
我们列表来看一下,如图所示:
P16页图2.2
存储器是利用电平的高低来存放数据的。
它是由大量寄存器组成的,其中每一个寄存器就称为一个存储单元。
它可存放一个有独立意义的二进制代码。
一个代码由若干位(bit)组成,代码的位数称为位长,习惯上也称为字长。
1.单片机的存储器地址分配
8051在物理结构上设计成程序存储器与数据存储器独立分开的哈佛结构,有四个存储空间:
片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器
高于4K部分的ROM只可能有一片,EA电平的高低只确定低4K是片内/片外,当地址超过0FFFH时自动指向片外片内和片外RAM地址重叠,通过指令区别
8051在逻辑上,即从用户角度上8051有三个存储空间:
片内外统一编址的程序存储,片内外不统一编址的数据存储器,特殊功能寄存器(片内)
访问这几个不同的逻辑空间时,采用的指令:
片内外程序存储器空间----MOVC,片内数据存储器空间和SFR----MOV,片外数据存储器地址空间----MOVX
2.程序存储器
程序存储器用于存放程序和表格常数。
AT89s52片内有8K字节Flash,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。
如果EA端保持高电平,执行片内前8KBFlash地址(0000H~1FFFH)中的程序。
当寻址范围超过8KB(1FFFH~FFFFH)时,则从片外存储器取指令。
当EA端保持低电平时,所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从0000H开始编址。
6个单元具有特殊功能
0000H:
8051复位后,PC=0000H,程序从0000H开始执行指令。
(8086复位后CS=0fffffh,IP=00000h)
0003H:
外部中断0入口。
000BH:
定时器0溢出中断入口。
0013H:
外部中断1入口。
001BH:
定时器1溢出中断入口。
0023H:
串行口中断入口。
使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。
–
3.数据存储器RAM
低128单元分三个区域:
工作寄存器、位寻址区和数据缓冲区P17图2.3,表2.2
高128字节与特殊功能寄存器地址是重叠的,当访问高128字节时,是通过寻址方式区别的:
直接寻址---------特殊功能寄存器
间接寻址---------高128字节RAM
寄存器区4组(32B)
1.通用寄存器区(00H-1FH)
①由PSW中的2位RS1、RS0来决定选哪一组为当前工作寄存器:
RS1、RS0=00选0组
RS1、RS0=01选1组
RS1、RS0=10选2组
RS1、RS0=11选3组
2)位寻址区
在位地址区,每一个BIT都有一个地址,
共6×8=128位
布尔处理器(位处理器)是51单片机ALU所具有的一种功能。
单片机指令系统的位处理指令集(17条位操作指令),存储器中的位地址空间,以及借用程序状态寄存器PSW中的进位标志CY做为位操作“累加器”,构成了51单片机内的布尔处理器。
它可对直接寻址的位(bit)变量进行位处理,这一部分空间就是布尔处理器的RAM
注意字节地址和位地址的区别:
在程序里是通过指令来区别的,如:
MOVA,20H;字节操作
MOVC,20H;位操作
3)数据缓冲区
共80个字节,作为一般的数据缓冲区并可设置堆栈区,只能字节寻址
堆栈指针SP
8位,堆栈是按照先进后出、后进先出的原则进行存取的RAM区域。
堆栈共有两种操作:
进栈和出栈。
不论是数据进栈还是数据出栈,都是对堆栈的栈顶单元进行的,即对栈顶单元进行读、写操作。
最后进栈的数据所在单元称为栈顶,为了指示栈顶地址,需要设置堆栈指示器,SP称为堆栈指示器,也称为堆栈指针,它具有自动加1、减1功能,它始终指向栈顶地址。
堆栈有两种类型:
向上生长型和向下生长型(19页图2.4)
4.特殊功能寄存器(21个字节)
21个特殊功能寄存器,又称为专用寄存器(SFR)。
它们离散地分布在80H-0FFHRAM空间中。
21个特殊功能寄存器地址不连续,空闲地址无意义,对用户来讲,这些单元是不存在的。
对特殊功能寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。
11个SFR寄存器具有位寻址
4.特殊功能寄存器(21个字节)
16到21:
与定时/计数器相关的(6个):
TMOD(Timer/CounterModeRegister)定时器工作模式寄存器。
TCON(Timer/CounterControlRegister)定时器控制寄存器。
TH0、TL0、TH1、TL1:
分别是T0、T1的记数初值寄存器。
9到15:
与端口相关的7个寄存器
P0、P1、P2、P3:
四个并行输入/输出口的寄存器。
它里面的内容对应着管脚的输出。
与中断相关的2个寄存器:
IP(InterruptPriorityRegister)IE(InterruptEnableRegister)
DPTR(DataPointer)(DPH、DPL)
数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。
SP(StackPointer):
堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H。
它是加1计数.注意:
堆栈的位置和寄存器组的冲突问题
PSW用于作为程序运行状态的标志。
存放了CPU工作时的很多状态,借此,可以了解CPU的当前状态,并作出相应的处理。
BRegister:
暂存寄存器。
暂存寄存器。
在做乘、除法时放乘数或除数及结果。
ARegister(Accumulator):
累加器,通常用A或ACC表示。
可字节寻址,也可位寻址(E0H~E7H),在运算器做运算时其中一个数一定是在ACC中。
5和6:
与指针相关的2个寄存器
1到3:
与ALU相关的三个寄存器
11个可位寻址的SFR
2.1.3I/O端口结构
1.并行I/O端口
8051单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。
每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。
通常把4个端口笼统地表示为P0~P3。
在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。
在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
8051单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。
下面简单介绍一下输入/输出端口结构。
P0口每位由一个输出锁存器、2个三态输入缓冲器1个输出驱动电路和1个输出控制电路组成。
输出驱动电路由一对FET(场效应管)T1、T2组成。
输出控制电路由一个与门电路、1个反相器和1路多路开关MUX组成
P0口既可以作为I/O用,也可以作为地址/数据线用
漏极开路输出,P0.X悬浮,为了使P0.X有一个高电平的状态需加一个上拉电阻
输入时----分读引脚或读锁存器
读引脚
读引脚的条件是:
先输出一个“1
输入跟随外部变化,读引脚:
由传送指令(MOV)实现
输入被嵌位在逻辑“0”,不能实现正确的输入
这时,输入口是一个带高阻悬浮态的、带缓冲的输入口,一个输出带锁存输入带缓冲的双向口
当P0口作为一般I/O使用时,P0口也是一个准双向口,即输入数据时,应先向口写"1",使两个FET均截止,然后方可作高阻抗输入。
但在P0口连接到外部存储器时,由于访问外部存储其器件,CPU会自动向P0口的锁存器写入0FFH,所以,对用户而言,P0口作地址/数据总线时则是一个真正的双向口
读锁存器
有些指令如:
ANLP0,A称为“读-改-写”指令,需要读锁存器。
上面一个缓冲器用于读端口锁存器数据。
准双向口:
从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。
所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。
这就是所谓的准双向口。
P0作为地址/数据总线看ppt
P1的内部结构
P1口通常作为通用I/O口使用,准双向口。
P1口与P0口不同:
不再需要MUX;有内部上拉电阻。
P1口与P0口相同:
作输入口时,也需先向其锁存器写入“1”。
P1口的特点
1.输出锁存,输出时没有条件.
2.输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出1.
3.工作过程中无高阻悬浮状态,也就是该口不是输入态就是输出态。
具有这种特性的口不属于“真正”的双向口,而被称为“准”双向口。
P2口的功能
1.作I/O口使用:
P2口为准双向口。
2.作地址输出:
P2口可以输出程序存储器或片外数据存储器的高8位地址,与P0输出的低地址一起构成16位地址线,从而可分别寻址64KB的程序存储器或片外数据存储器。
地址线是8位一起自动输出的。
P2口上有一个多路开关,多路开关的输入有两个:
一个是口输出锁存器的输出端Q;一个是地址寄存器(PC或DPTR)的高位输出端。
多路开关的输出经反相器反相控制输出EFT的Q0。
多路开关的切换由内部控制信号完成。
P3的内部结构
作为通用I/O口与P1口类似----准双向口(W=1)
P3第二功能(Q=1)
此时引脚部分输入(Q=1、W=1T截止)输出(Q=1、W输出)
2.串行I/O端口
P3口是一个多功能口。
可作I/O口使用,为准双向口。
既可以字节操作,也可以位操作。
既可以读引脚,也可以读锁存器,实现“读一修改一输出”操作。
可以使用第二功能进行输入、输出。
P3第二功能各引脚功能定义
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外部读控制
2.1.4定时器/计数器结构
8051有两个16位定时器/计数器T0和T1,分别与2个8位寄存器T0L、T0H及T1L、T1H对应。
8051的定时器/计数器可以工作在定时方式或计数方式。
1.定时方式
定时方式实现对单片机内部的时钟脉冲或分频后的脉冲进行计数。
2.计数方式
实现对外部脉冲的计数,读者将对定时器/计数器将在后续章节中进行具体学习。
2.1.5中断系统
在单片机系统设计设计中,中断是一个必不可少的概念。
8051有5个中断源,两个中断优先级控制,可以实现两个中断服务嵌套。
两个外部中断INT0、INT1,两个定时器中断T0、T1,还有一个串行口中断。
中断的控制由中断允许寄存器IE和中断优先级寄存器IP实现。
关于中断的设置和实现将在后续章节进行具体讲解学习。
2.2单片机的引脚功能
26页pdip图
8751有片内EPROM,用户程序可以自己写入,因此,EA一般接+5V,使用片内EPROM
8051有片内ROM,但由于用户程序无法自己写入,因此,片内ROM一般用不到,故,EA应接地,使用片外ROM
8031无片内ROM,EA应接地,使用片外ROM
1.RST/VPD:
复位信号输入/备用电源输入
2.外接晶振引脚XTAL1、XTAL2
3.电源Vcc电源地Vss
4.-PSEN程序存储器读选通信号
5.ALE/PRG地址锁存允许/编程脉冲输入
6.–EA/Vpp访问外部ROM控制信号
单片机的引脚除了电源、复位、时钟接入、用户I/O口外,其余引脚都是为了实现系统扩展而设置的。
这些引脚构成了三总线形式。
(1)地址总线(AB):
地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7);P2口直接提供高8位地(A8~A15)。
地址信号是由CPU发出的,故地址总线是单方向的。
(2)数据总线(DB):
数据总线宽度为8位,用于传送数据和指令,由P0口提供。
(3)控制总线(CB):
控制总线随时掌握各种部件的状态,并根据需要向有关部件发出命令。
2.3.1时钟电路
1、内部时钟方式:
8051内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
把放大器与作为反馈元件的晶体或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲
2.3.1振荡器和时钟电路
2、外部时钟方式:
就是把外部已有的时钟信号引入单片机内
2.3.2时序定时单位
计算机工作要有严格的时序。
事实上,计算机更象一个大钟,什么时候分针动,什么时候秒针动,什么时候时针动,都有严格的规定,一点也不能乱。
单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。
或者说是:
CPU在执行指令时所需产生的时间顺序
指令周期指CPU执行一条指令所需要的时间。
一个指令周期通常含有1~4个机器周期。
通常将完成一个基本操作所需的时间称为一个机器周期。
由6个S状态组成,共12拍
时钟周期是振荡源信号经二分频后形成的时钟脉冲信号,称为一个S状态,由两个P组成
振荡周期是单片机提供时钟信号的振荡源的周期,又称为1拍
1、拍(P):
振荡脉冲的周期,用P表示。
是晶体的振荡周期,或是外部振荡脉冲的周期,是MCS-51单片机中最小的时序单位。
2、状态或时钟周期(S):
振荡脉冲经二分频后得到的时钟信号,把时钟信号的周期称为状态,用S表示。
一个状态包括两个拍P1和P2(前拍和后拍)。
是最基本的时间单位。
3、机器周期:
CPU完成一个基本操作所需的时间称为机器周期。
由6个状态(12拍)组成。
4、指令周期:
是执行一条指令所需要的时间。
是MCS-51单片机最大的时序单位。
一个指令周期通常含有1~4个机器周期。
若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:
振荡周期=1/12MHz=1/12μs=0.0833μs
时钟周期=1/6μs=0.167μs
机器周期=1μs
指令周期=1~4μs
2.3.3CPU指令的取指/执行时序
•
ALE是地址锁存信号。
该信号每有效一次就能对存储器进行一次读指令操作。
ALE信号以振荡脉冲六分之一的频率出现。
因此,在一个机器周期中,ALE信号两次有效:
第一次在S1P2和S2P1期间第二次在S4P2和S5P1期间,有效宽度为一个时钟周期
1.单字节单周期指令
•
这类指令的执行从S1P2开始,在S1P2期间读入操作码并把它锁存到指令寄存器中。
在S4处虽仍有一次读操作,但由于程序计数器PC没有加1,读出的是原指令,因此属于一次无效的读操作。
2.双字节单周期指令
•
一条指令2个字节,每次总线操作是8位,需要进行2次总线操作。
对应于ALE的两次读操作都是有效的,第一次是读指令操作码,第二次是读指令第二字节
3..单字节双周期指令
两个机器周期内进行了四次读操作(产生4次ALE信号),但由于是单字节指令,故后面三次读操作无效。
2.4单片机的工作方式
2.4.1复位方式
单片机运行出错或进入死循环时,可按复位键重新运行(初始化)。
21个特殊功能寄存器复位后的状态为确定值,
注意:
8051进入复位状态后,除SP为07H,
P0~P3为FFH外,其余均为0。
2.4.1单片机的复位方式
(1)简单的复位电路:
简单复位电路有上电复位和手动复位两种。
不管是哪一种复位电路都要保证在RST引脚上提供10ms以上稳定的高电平。
见图33页
a是常用的上电复位电路。
这种上电复位利用电容器充电来实现。
当加电时,电容器C充电,电路有电流流过,构成回路,在电阻R上产生压降,RST引脚为高电平;当电容C充满电后,电路相当于断开,RST的电位与地相同,复位结束。
可见复位的时间与充电的时间有关,充电时间越长复位时间越长。
增大电容或增大电阻都可以增加复位时间。
b是按键式复位电路。
它的上电复位功能与(a)相同,但它还可以通过按键实现复位,按下键后,通过R1和R2形成回路,使RST端产生高电平。
按键的时间决定了复位时间。
单片机的复位状态
复位信号高电平有效,电平持续时间应为24个时钟周期以上,才可以使单片机可靠复位。
复位后P0~P3可以不用输出1而直接进行输入
sp复位后SP=07,栈底地址与R7相同,堆栈操作的第一个数据放入08H(第二组R0)
psw复位后RS0=RS1=0,寄存器选择0组,R0地址为00H,R7地址为07H,F0=0
pc复位后第一条要执行指令的地址为0000H
PC
0000H
TCON
00H
ACC
00H
TL0
00H
PSW
00H
TH0
00H
SP
07H
TL1
00H
DPTR
0000H
TH1
00H
P0~P3
FFH
SCON
00H
IP
XX000000B
SBUF
不定
IE
0X000000B
PCON
0XXX0000B
TMOD
00H
2.5单片机的最小系统
单片机最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机处于正常的运行状态。
电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,因此51单片机最小系统的功能主要如下:
●能够运行用户程序。
●用户可以复位单片机。
●具有相对强大的外部扩展功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 单片机的硬件基础 单片机 硬件 基础