深入了解单片机的原理及应用

AT89S51单片机片内硬件结构

(  本节以AT89S51为例介绍51单片机的基本结构,如下图所示)

AT89S51单片机的片内结构,从图中可见 AT89S51单片机的基本组成:

1. CPU:8位的CPU 由控制器和运算器构成

2. 数据存储器(RAM):128B 用于存放读写数据、运算的中间结果

3. 程序存储器(ROM):4KB 用于存放用户程序、原始数据或表格

4. 4个8位的并行I/O口:P0~P3 用于数据的输入/输出

5. 1个全双工的异步串行口:UART 用于与其他设备间的串行数据传送

6. 中断系统: 具有5个中断源,2级中断优先级

7. 定时/计数器:有2个16位的T/C 可作为定时器也可作为计数器使用

8. 特殊功能寄存器:SFR 在80H~FFH地址区间内,离散地分布26个特殊功能寄存器

9. 看门狗定时器:WDT 可将单片机复位,使程序恢复正常运行

单片机的外部结构

   目前,51单片机多采用40引脚双列直插式(PDIP)封装形式。此外,还有44引脚塑料方型扁平式(TQFP)封装形式的芯片,如下图所示

AT89S51的引脚功能

40个引脚按其功能可分为4类:

1.电源引脚:Vcc(40脚):接+5V电源正端          

                     Vss(20脚):接+5V电源地端

2.时钟电路引脚:XTAL1(19脚):片内振荡器的反相放大器输入端

                            XTAL2(18脚):片内振荡器的反相放大器输出端。

3.并行I/O口引脚: 4个并行I/O口(P0~P3),每个口都有8个引脚,用于传送数据和地址  

4. 控制引脚

(1)RST(9脚):复位信号输入引脚,在该引脚出现2个机器周期以上的高电平,可使单片机复位。正常工作,此引脚应为≤ 0.5V的低电平

(2) PSEN(29脚):片外程序存储器读选通信号输出引脚,低电平有效

(3)ALE/PROG(30脚):低8位地址锁存控制信号输出引脚,低电平有效

         ① CPU访问外部程序存储器或外部数据存储器时,将低8位地址锁存在片外的地址锁存器中

         ② 单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6

(4)EA/VPP(31脚):外部程序存储器访问允许控制信号输入引脚

AT89S51单片机存储器的结构

存储器分为两大类:

数据 存储器 (RAM):CPU在运行时,能随时对其进行数据的写入和读出。但在关闭电源时,其所存储的数据信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果

程序 存储器 (ROM):是一种写入信息后,不易改写的存储器。 断电后,ROM中的信息保留不变。用来存放固定的程序、原始的数据或表格等

AT89S51单片机的存储器有4个存储物理空间,具体如下图所示:

存储器中的每个存储单元是8位,每一个单元有一个地址编号,从0000H~FFFFH

~ROM和RAM分别在两个独立的空间,即分开编址

程序存储器(ROM)

1. 计算机的工作原理:计算机在工作时,CPU自动从程序存储器中逐条取出指令、分析指令,并根据指令的操作类型和操作对象执行指令,完成相应的操作。如此重复,直至执行完程序的所有指令,从而实现程序的基本功能,这就是微型计算机的基本工作原理

2.程序计数器PC: PC是CPU中的一个16位寄存器,用于存放CPU将要从ROM中读取的下一个指令字节码的地址,因此也称为地址指针;单片机复位后,PC的值为0000H,CPU从程序存储器0000H地址单元开始读取一个指令字节,并开始执行程序,同时PC+1→PC;依次进行,一次读取一个指令字节

3.片内与片外程序存储器的选择:

(1)EA引脚接高电平,EA接+5V

        ① 当PC值没有超出0FFFH时,只读取片内Flash存储器中程序

        ② 当PC值超出0FFFH时,CPU会自动转向读取片外程序存储器空间1000H~FFFFH内的程序

(2)EA引脚接低电平,EA接地

        CPU只根据PC值读取片外程序存储器(0000H~FFFFH)中的程序。不会读取片内4KB Flash存储器

4.程序存储器低端的几个特殊单元

程序存储器中几个低端的地址固定用作特定的入口地址

        0000H:单片机复位后的地址

        0003H:外部中断0的中断程序入口地址

        000BH:定时/计数器0溢出中断程序入口地址

        0013H:外部中断1的中断程序入口地址

        001BH:定时/计数器1溢出中断程序入口地址

        0023H:串行口的中断程序入口地址

数据存储器(RAM)

一、 片内数据存储器

AT89S51片内RAM 128字节(00H—7FH) AT89S52片内RAM 256字节(00H—FFH)

1.工作寄存器区

片内RAM前32个单元(00H—1FH)是4个工作寄存器区                                

4个工作 寄存器区:每个工作寄存器区有8个工作寄存器: R0、R1、R2、R3、R4、R5、R6、R7

注:当前工作寄存器区只能有一个

     当前工作寄存器的选择:首先由RS1,RS0选择工作寄存器区,然后确定工作寄存器对应的单元。 复位后,默认的工作寄存器区为0区

程序状态字寄存器PSW:

▼RS1(PSW.4)、RS0(PSW.3)工作寄存器区选择位

若在一个实际的单片机应用系统中,并不需要4个工作寄存器区,这个区域的多余单元可以作为一般的数据缓冲器使用

2. 位寻址区

片内RAM中,20H-2FH 这16个单元是位寻址区

这16个单元中共有128位, 每一位都有一个位地址

位地址空间:00H—7FH    

CPU对位寻址区内的RAM单元(20H~2FH):

1、既可以采用字节操作指令,整体操作某个字节

2、又可以采用位操作指令,直接对字节中的某一位进行操作

用途: 一般可用作程序运行标志、开关量控制以及位变量等

           这种位寻址能力是一般微机所不具备的,是单片机所独有的

位寻址区多余的RAM单元也可以作为一般的数据缓冲器使用

3.  数据缓冲区

地址:30H-7FH(30H-FFH)单元  

用途:存放各种读写数据和中间结果,起到数据缓冲的作用       

二、片外数据存储器

片内RAM不够用时,AT89S51最多可外扩64KB的片外RAM

注意:片外RAM和外扩的I/O接口是统一编址的,要注意地址分配的问题

特殊功能寄存器区

特殊功能寄存器区:80H~FFH的地址空间,只允许直接寻址SFR,26个特殊功能寄存器 离散地分布在80H~FFH的地址空间

特殊功能寄存器SFR(专用寄存器) 专用于控制、选择、管理、存放单片机内部各功能部件的工作方式、条件、状态、结果的寄存器

不同的SFR管理不同的功能部件,负责不同的功能——各司其职

换言之:要让单片机内部各功能部件实现预定的功能,很重要的一项工作就是对SFR写命令(编程)

AT89C51特殊功能寄存器位地址和字节地址表,如下图所示

注:字节地址尾数为0或8的特殊功能寄存器,每位都有位地址,可位操作

特殊功能寄存器每一位的定义和作用与单片机的各个部件直接相关

特殊功能寄存器详细用法在相应的章节进行说明

AT89S51的中央处理器(CPU)

组成:运算器+控制器

功能:从ROM中读取指令、分析指令并根据指令的操作类型和操作对象,控制各个功能部件执行指令

运算器

组成:算术逻辑单元ALU+有关寄存器

功能:进行数据的算术运算、逻辑运算、位操作运算以及数据传输等

专用寄存器

1.累加器A(E0H):是CPU中使用最频繁的一个8位寄存器。它既是ALU的输入数据源之一,同时又是ALU运算结果的存放单元之一;CPU中的数据传送大多都通过累加器A

2.通用寄存器B(F0H):用于乘、除法运算;若不作乘除法运算时,则可作为通用寄存器使用

3.程序状态字PSW(D0H):用于保存指令执行结果的状态信息,以供程序查询和判断

▼CY(PSW.7) 进位/借位标志位:若在执行某些算术运算类指令时,最高位发生了进位或借位,则CY=1,否则CY=0。它也是位处理器中的位累加器C,可用于位操作

▼AC(PSW.6) 辅助进位/借位标志位:若在执行某些算术运算类指令时,D3位向D4位发生了进位或借位,则AC=1,否则AC=0

▼F0(PSW.5) 用户自定义标志位:在编程时,用户可根据需要对F0赋予一定的含义,通过指令来使它置1或清0;也可由指令来测试该标志位,根据测试结果控制程序的流向

▼OV (PSW.2) 溢出标志位:当执行带符号8位二进制数(-128~+127)的某些算术运算类指令时,用来指示运算结果是否产生溢出(超出范围)。如果结果产生溢出,OV=1;否则,OV=0

▼P (PSW.0) 奇偶标志位:在指令执行完后,CPU根据累加器A中“1”的个数是奇数还是偶数自动给该标志位置1或清0。累加器A中“1”的个数为奇数:P=1;为偶数:P=0  

控制器 

组成:程序计数器(PC)、指令寄存器、指令译码器、定时控制逻辑电路等

功能:是整个单片机的控制中心;

           对内:控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制

           对外:发出ALE、PSEN等控制信号

作者:Pedestrians74

物联沃分享整理
物联沃-IOTWORD物联网 » 深入了解单片机的原理及应用

发表评论