中学生制作网站,中卫网站建站设计,商城网站页面设计,wordpress电视剧采集解析AT89S51单片机片内硬件结构
#xff08; 本节以AT89S51为例介绍51单片机的基本结构#xff0c;如下图所示#xff09; AT89S51单片机的片内结构#xff0c;从图中可见 AT89S51单片机的基本组成#xff1a;
1. CPU#xff1a;8位的CPU 由控制器和运算器构成
2. 数据存…AT89S51单片机片内硬件结构 本节以AT89S51为例介绍51单片机的基本结构如下图所示 AT89S51单片机的片内结构从图中可见 AT89S51单片机的基本组成
1. CPU8位的CPU 由控制器和运算器构成
2. 数据存储器(RAM)128B 用于存放读写数据、运算的中间结果
3. 程序存储器(ROM)4KB 用于存放用户程序、原始数据或表格
4. 4个8位的并行I/O口P0P3 用于数据的输入/输出
5. 1个全双工的异步串行口UART 用于与其他设备间的串行数据传送
6. 中断系统 具有5个中断源2级中断优先级
7. 定时/计数器有2个16位的T/C 可作为定时器也可作为计数器使用
8. 特殊功能寄存器SFR 在80HFFH地址区间内离散地分布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口(P0P3)每个口都有8个引脚用于传送数据和地址
4. 控制引脚
1RST(9脚)复位信号输入引脚在该引脚出现2个机器周期以上的高电平可使单片机复位。正常工作此引脚应为≤ 0.5V的低电平
2 PSEN(29脚)片外程序存储器读选通信号输出引脚低电平有效
3ALE/PROG(30脚)低8位地址锁存控制信号输出引脚低电平有效 ① CPU访问外部程序存储器或外部数据存储器时将低8位地址锁存在片外的地址锁存器中 ② 单片机正常运行时ALE端一直有正脉冲信号输出此频率为时钟振荡器频率fosc的1/6
4EA/VPP(31脚)外部程序存储器访问允许控制信号输入引脚
AT89S51单片机存储器的结构
存储器分为两大类
数据 存储器 (RAM)CPU在运行时能随时对其进行数据的写入和读出。但在关闭电源时其所存储的数据信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果
程序 存储器 (ROM)是一种写入信息后,不易改写的存储器。 断电后ROM中的信息保留不变。用来存放固定的程序、原始的数据或表格等
AT89S51单片机的存储器有4个存储物理空间具体如下图所示 存储器中的每个存储单元是8位每一个单元有一个地址编号从0000HFFFFH
~ROM和RAM分别在两个独立的空间即分开编址
程序存储器ROM
1. 计算机的工作原理计算机在工作时CPU自动从程序存储器中逐条取出指令、分析指令并根据指令的操作类型和操作对象执行指令,完成相应的操作。如此重复直至执行完程序的所有指令从而实现程序的基本功能这就是微型计算机的基本工作原理
2.程序计数器PC PC是CPU中的一个16位寄存器用于存放CPU将要从ROM中读取的下一个指令字节码的地址因此也称为地址指针单片机复位后PC的值为0000HCPU从程序存储器0000H地址单元开始读取一个指令字节并开始执行程序同时PC1→PC依次进行一次读取一个指令字节
3.片内与片外程序存储器的选择
1EA引脚接高电平EA接5V ① 当PC值没有超出0FFFH时只读取片内Flash存储器中程序 ② 当PC值超出0FFFH时CPU会自动转向读取片外程序存储器空间1000HFFFFH内的程序
2EA引脚接低电平EA接地 CPU只根据PC值读取片外程序存储器(0000HFFFFH)中的程序。不会读取片内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单元20H2FH
1、既可以采用字节操作指令整体操作某个字节
2、又可以采用位操作指令直接对字节中的某一位进行操作
用途 一般可用作程序运行标志、开关量控制以及位变量等 这种位寻址能力是一般微机所不具备的是单片机所独有的
位寻址区多余的RAM单元也可以作为一般的数据缓冲器使用
3. 数据缓冲区
地址30H-7FH30H-FFH)单元
用途存放各种读写数据和中间结果,起到数据缓冲的作用
二、片外数据存储器
片内RAM不够用时AT89S51最多可外扩64KB的片外RAM
注意片外RAM和外扩的I/O接口是统一编址的要注意地址分配的问题
特殊功能寄存器区 特殊功能寄存器区80HFFH的地址空间只允许直接寻址SFR26个特殊功能寄存器 离散地分布在80HFFH的地址空间
特殊功能寄存器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) 进位/借位标志位若在执行某些算术运算类指令时最高位发生了进位或借位则CY1,否则CY0。它也是位处理器中的位累加器C可用于位操作
▼AC(PSW.6) 辅助进位/借位标志位若在执行某些算术运算类指令时D3位向D4位发生了进位或借位则AC1,否则AC0
▼F0(PSW.5) 用户自定义标志位在编程时用户可根据需要对F0赋予一定的含义通过指令来使它置1或清0也可由指令来测试该标志位根据测试结果控制程序的流向
▼OV (PSW.2) 溢出标志位当执行带符号8位二进制数(-128127)的某些算术运算类指令时用来指示运算结果是否产生溢出(超出范围)。如果结果产生溢出OV1否则OV0
▼P (PSW.0) 奇偶标志位在指令执行完后CPU根据累加器A中“1”的个数是奇数还是偶数自动给该标志位置1或清0。累加器A中“1”的个数为奇数P1为偶数P0
控制器
组成程序计数器(PC)、指令寄存器、指令译码器、定时控制逻辑电路等
功能是整个单片机的控制中心 对内控制指令的读入、译码和执行从而对各功能部件进行定时和逻辑控制 对外发出ALE、PSEN等控制信号