89C51单片机硬件结构和原理
- 格式:doc
- 大小:111.50 KB
- 文档页数:5
目 录第一章 微机基础知识 第 章 89C51单片机的结构和原理 单片机的结构和原理 第 章 89C51指 系统 指 第四章 汇编语言程序 计知识 第五章 中断系统 第六章 定时器及应用 第七章 89C51串行口及通信技术 串行口及通信技术 第八章 单片机小系统片外扩展 附录A 89C51指 系统表 附录 指 参考资料第2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8章 MCS-51单片机的结构和原理 单片机的结构和原理MCS-51单片机的结构 单片机的结构 MCS-51单片机引脚及 单片机引脚及 89C51 储器配置 能CPU时时序 时时序 复 及复 电路 89C51单片机的 单片机的 输出/输入端口结构 输出 输入端口结构 思考题 题 耗工 方式MCS-5令单片机的结构 该.令 MCS-5令单片机的结构该.令.令 MCS-5令单片机概述 MCS-5令单片机 单片机概 MCS-5令单片机内部结构 该.令.该 MCS-5令单片机内部结构MCS-5令单片机概述 该.令.令 MCS-5令单片机概述一组成MCS-51系列单片机简介 系列单片机简 系列单片机89C51单片机结构框图 如图 所示 单片机结构框图 如图2-1所示外部时钟源 外部 件计数振荡器和时序 OSC程序 储器 4KBROM数据 储器 256B RAM/SFR2×16 × 定时器/计数器 定时器 计数器89C51 CPU 64KB 总线 扩展控制器可编程I/O 可编程可编程全双工 串行口内中断 外中断 控制 并行口 串行通信2.1.180C51系列简介 80C51系列简介MCS-51系列 一 MCS-51系列 是Intel公司生产的一个单片 1 MCS-51是Intel公司生产的一个单片 机系列名称 属于这一系列的单片机有多 种,如 ﹡8051/8751/8031 ﹡8052/8752/8032 ﹡80C51/87C51/80C31 ﹡80C52/87C52/80C32等 等2系列生产工艺有两种一是HMOS工艺 高密度短沟道 工艺 高密度短沟道MOS工 一是 工 是CHMOS工艺 互补金属氧化物 艺 是 工艺 的HMOS工艺 工艺 CHMOS是 CMOS和 HMOS的结合 既保 是 和 的结合 持了HMOS高速度和高密度的特点 持了 高速度和高密度的特点 有 CMOS的 的 耗的特点 在产品型号中凡带有母 “ C” 的 即CHMOS 芯 片TTL电平兼容 电平兼容 又CHMOS芯片的电平既 芯片的电平既 CMOS电平兼容 电平兼容3 在 能 和增 型两大类系列单片机有基本型基本型 8051/8751/8031 80C51/87C51/80C31 增 型 8052/8752/8032 80C52/87C52/80C324 在片内程序 储器的配置 系列单片机有 种形式 即掩膜 ROM EPROM 和 ROMLess( 无 片 内 储器) 程序 储器 如 节的掩膜ROM ﹡80C51有4K 节的掩膜 有 节的EPROM 有 ﹡87C51有4K 节的 ﹡80C31在芯片内无程序 储器 在芯片内无程序80C5令型产品资源配置单片机的要能·8 CPU ·4kbytes 程序 储器 储器(ROM) (52 8K) ·256bytes的数据 储器 的数据 储器(RAM) 52有384bytes的RAM 有 的 ·32条I/O口线 条 口线 ·111条指 条指 大部分 单 节指 ·21个专用寄 器 个专用寄定时/计数器 ● 2个可编程定时 计数器 个可编程定时● 5个中断源 个中断源2个优先级 个优先级52有6个 有 个 ●一个全双工串行通信口 ●外部数据 储器寻址空间 ●外部程序 储器寻址空间 ●逻辑操 寻址 能 双列直插40PinDIP封装 ●双列直插 封装 单一+5V电源供电 ●单一 电源供电64kB 64kB●5个中断源的中断控制系统 个中断源的中断控制系统 个全双工UART 通用异步接收发 个全双工 ●1个全双工 的串行I/O口 送器 的串行 口 用于实现单片 机之间或单片机 微机之间的串行 通信 ●片内振荡器和时钟产生电路 石英 晶体和微调电容需要外接◆ CPU 由运算和控制逻辑组成 时 包括 中断系统和部分外部特殊 能寄 器 ◆ RAM 用 放可 读写的数据 如运算的 中间结果 最终结果 及欲显示的数据 ◆ ROM 用 放程序 一些原始数据和表格 并行I/O口 ◆ I/O口 四个 口 四个8 并行 口 既可用 输入 可用 输出 两个定时/记数器 ◆ T/C 两个定时 记数器 既可 工 在定时模 式 可 工 在记数模式2.1.2 MCS-51单片机内部结构 单片机内部结构一 结构图 结构组成一 结构图●由 中央处理单元 CPU 储器 ROM及RAM 和I/O接口组成 接口组成 及 接口 ● MCS-51单片机内部结构如 图2-2 MCS-51单片机内部结构如 所示89C5令单片机内部 89C5令单片机内部 结构图RAM地 地 址寄 器 128B RAMP0.0-P0.7 P0驱 器 驱P2.0-P2.7P2驱 器 驱P0锁 器 锁P2锁 器 锁4KB Flash ROM程序地址 寄 器 B寄 器 寄 器1 暂 器 器2 暂 器 ACC SP 缓冲器 ALU 中断 串行口和定时器 PSEN ALE EA RST 定 时 控 制 指 译 码 器 OSC XTAL1 XTAL2 指 PSW 寄 器 P1锁 器 锁 P1驱 器 驱 P1.0-P1.7 P3锁 器 锁 P3驱 器 驱 P3.0-P3.7 PC DPTR PC增1 增结构组成一 中央处理单元 储器 I/O接口 接口 CPU一● 1 ● 2中央处理单元 CPU运算器 控制器11 2 3 4 5 6运算器8 的 的ALU 8 累 器 器ACC A 8 程序状态寄 器 器PSW 8 寄 器 器B 布尔处理器 2个8 暂 器 个1 运算器令 8 的 的AL栈AL栈AL栈●可对可对44 8 令6令6 数据进行操 数据进行操 数据进行操1 运算器2 8 累 器ACC A它 常 一个运算数 暂 器该它 常 一个运算数 暂 器该进入进入AL栈AL栈的输入端的输入端 另一个来自暂 器 另一个来自暂 器令令的运算数进行运算数进行运算 运算结果又送回运算结果又送回ACC ACC ACC1 运算器3 8 程序状态寄 器PSW指示指 执行 的状态信息供程序查询和判别用和判别用1 运算器4 8 寄 器B在乘除运算时在乘除运算时 用来 放一个操 数 用来 放运算 的一部分结果数 用来 放运算 的一部分结果 如 能做乘除运算时如 能做乘除运算时 通用寄 器1 运算器布尔处理器5 布尔处理器中PS上中专门用于处理 操 的 PS上专门用于处理 操 的的C 累 器累 器1 运算器暂 器6 2个8 暂 器的两个入口处 AL栈的两个入口处AL栈的两个入口处1 程序计数器PC 16 ●由两个由两个88 计数器 计数器PC寻PC寻PC寻 PCL PCL组成组成组成 ●PC PC是程序的 节地址计数器是程序的 节地址计数器是程序的 节地址计数器,,PC PC内容 将要执行的指 地址内容 将要执行的指 地址内容 将要执行的指 地址 ●改变改变PC PC PC内容内容内容,,改变执行的流向改变执行的流向 ●PC PC可可对64KB 64KB的的ROM ROM直接 址直接 址,也可对可对89C5令89C5令89C5令片内片内片内RAM RAM RAM 址 址2 指 寄 器IR 及指 译码器ID ●由PC PC中的内容指定中的内容指定中的内容指定ROM ROM ROM地址地址,取出来的指 指 寄 器 指 寄 器导R 导R 导R送至送至送至导D 导D ,由导D 对指 译码产生一定序列的控制信号, 执行指 所规定的操作 执行指 所规定的操作3 振荡器和定时电路●89C51单片机片内有振荡电路单片机片内有振荡电路,,只需外接石英晶体和频率微调电容 2个30pF 右 右 , , ,其频率范围 其频率范围1.2MHz~24MHz 该信号作 89C51 作的基本节拍即时间的最小单 时间的最小单储器储器程序 储器 ROM 1 程序 储器数据 储器 RAM 2 数据 储器1 程序 储器程序 储器 ROM开始◆地址从0000H开始◆用于 放程序和表格常数用于 放程序和表格常数2 数据 储器数据 储器 RAM ◆片外64kB 0000H ~FFFFH 片内片内256 节 0000H ~00FFH◆ 中00H ~7FH 用于 放运算的中间结果用于 放运算的中间结果 数据暂 及数据缓冲等数据暂 及数据缓冲等 ◆ 128B 的RAM 中有32个 节单元可指定 工 寄 器个 节单元可指定 工 寄 器 ◆片内 有21个特殊 能寄 器个特殊 能寄 器 SFR 它它们 128 节RAM 统一编址统一编址 地址 80H ~FFH 面 细介绍 面 细介绍I/O 接口◆89C5令89C5令有四个有四个有四个88 并行 并行导/O 导/O 导/O接口接口接口P0P0~P左P左 ◆它们都是它们都是((准) 向端口 向端口,, 个端口各有8各有8条导/O 导/O线线◆P0P0--P左P左口四个锁 器同口四个锁 器同口四个锁 器同RAM RAM RAM统一编址统一编址统一编址,,可作 可作 SFR SFR SFR来 址来 址来 址2.2MCS-51单片机引脚及 能2.2.1 MCS-51单片机引脚2.2.2 MCS-51单片机引脚 能2.2.189C51单片机引脚所示89C5令单片机引脚如•89C5令单片机引脚如图该-详所示单片机引脚图89C5189C51单片机引脚图2.2.2 89C51单片机引脚 能电源引脚 Vcc和Vss•一 电源引脚时钟电路引脚 XTAL1和XTAL2• 时钟电路引脚• 控制信号引脚RST ALE PSEN和EA •四 I/O端口P0 P1 P2和P3一 电源引脚Vcc和Vss电源引脚•令.三cc(40脚) 电源端, +5三 •工.三ss(工0脚) 接地端 图该-详时钟电路引脚时钟电路引脚 XTAL1和XTAL2•XTAL2 18脚 接外部晶体和微调电容的一端容的一端 在89C51 片内它是振荡电路 向放大器的输出端 向放大器的输出端,,振荡电路的频率就是晶体固有频率就是晶体固有频率 若需采用外部时钟电路时电路时,,该引脚悬空该引脚悬空 89C51/8031 常 作时 作时,,该引脚应有脉冲信号输出该引脚应有脉冲信号输出•XTAL1 令9令9脚脚 接外部晶体和微调电容的另一端 时钟电路引脚时钟电路引脚 XTAL1和XTAL2容的另一端 在片内它是振荡电路 向放大器的输入端放大器的输入端,,在采用外部时钟时在采用外部时钟时,,该引脚输入外部时钟脉冲该引脚输入外部时钟脉冲控制信号引脚控制信号引脚RST ALE PSEN 和EA•RS标/三PD 9脚RST RST 复 信号输入端复 信号输入端,,高电平有效高电平有效 当 输入端保持两个机器周期的高电平时,就可 完成复 操作就可 完成复 操作•RS标/三PD 9脚三 控制信号引脚控制信号引脚RST ALE PSEN 和EAPD RST RST引脚的第二功能引脚的第二功能引脚的第二功能,,备用电源输入端入端 当 电源当 电源三cc 三cc 三cc 发生故障发生故障发生故障,,降 到 电平规定值时到 电平规定值时,,将+5三+5三电源自动接电源自动接入该引脚入该引脚,, RAM RAM提供备用电源提供备用电源提供备用电源,, 保证RAM RAM中的信息不丢失中的信息不丢失中的信息不丢失,,使得复 后能继续 常运行继续 常运行•ALE/PROG ALE/PROG 详0详0脚脚ALE 控制信号引脚控制信号引脚RST ALE PSEN 和EAALE 地址锁 允许信号端地址锁 允许信号端 常 作时,该引脚 振荡频率的该引脚 振荡频率的令/6令/6令/6固定输出固定输出 脉冲 脉冲 CPU CPU访问片外 储器时访问片外 储器时访问片外 储器时,,该引脚输出信号作 锁 脚输出信号作 锁 88 地址的控制信号信号 它的负载能力 它的负载能力 88个LS LS型型TTL TTL负负载•ALE/PROG ALE/PROG 详0详0脚脚PROG 控制信号引脚控制信号引脚RST ALE PSEN 和EAPROG 是对片内带有是对片内带有4KB EPROM 4KB EPROM 4KB EPROM的的875令编程写入时的编程脉冲输入端编程写入时的编程脉冲输入端•PSEN 29脚控制信号引脚控制信号引脚RST ALE PSEN 和EA▲程序 储器允许信号输出端程序 储器允许信号输出端▲在访问片外ROM 时,定时输出负脉冲作 读片外作 读片外ROM ROM ROM的选通信号的选通信号的选通信号,,接片外ROM 的OE 端▲它的负载能力 它的负载能力 88个LS 型标标L 负载负载•EA/V pp 31脚EA 外部程序 储器地址允许输入端外部程序 储器地址允许输入端 控制信号引脚控制信号引脚RST ALE PSEN 和EA当该引脚接高电平时当该引脚接高电平时,,CPU 访问片内EPROM/ROM 并执行片内程序 储器中的指 ,但当PC 值超过0FFFH 片内ROM 4KB 时,将自动转向执行片外ROM 中的程序中的程序 当该引脚接 电平时当该引脚接 电平时,,CPU 只访问片外EPROM/ROM 并执行外部程序 储器中的程序•EA/V pp 31脚 三 控制信号引脚控制信号引脚RST ALE PSEN 和EA pp 对875令875令片内片内EPROM 固化编程时固化编程时,,编程电压输入端编程电压输入端 令工令工--工令三工令三四 I/O I/O端口端口端口P0P0P0 P令P令 P该P该和和P详•令 准双向•该 P0P0口口•详 P 令口•4 P 该口•5 P 详口1 准双向当导/O 导/O口作 输入时口作 输入时口作 输入时,,应先向 口锁 器写入全令锁 器写入全令, 时该口引脚浮空浮空,,可作高阻抗输入可作高阻抗输入。
A T89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和(1)运算器运算器主要用来实现算术、逻辑运算和位操作。
其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。
ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。
算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。
暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。
ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。
累加器是CPU使用最频繁的一个寄存器。
ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。
单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。
B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。
运算结果存于AB寄存器中。
(2)控制器控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。
at89c51的工作原理AT89C51是一款基于MCS-51体系结构的8位单片机,其工作原理如下:1. 存储器结构:AT89C51具有4KB的内部FLASH存储器,可用于存储程序和数据。
它还拥有128字节的RAM,用于存储变量和临时数据。
2. 中央处理单元(CPU):AT89C51的CPU是一个8位的高性能单元,由一个ALU(算术逻辑单元)、寄存器组和控制单元组成。
它能够执行各种指令,包括算术和逻辑运算,以及控制和数据传输操作。
3. 输入/输出(I/O)口:AT89C51具有4个通用输入/输出端口,每个端口有8个引脚,可用于连接外部设备和传感器。
通过配置这些引脚,可以实现与外部环境的数据交换和控制。
4. 定时/计数器:AT89C51具有2个16位定时/计数器,可以用作计时和事件计数器。
这些定时器可以配置为不同的工作模式,例如计时延时、PWM生成和捕获模式等。
5. 串行通信接口:AT89C51集成了一个可配置的串行通信接口(UART),用于与其他设备进行串行数据传输。
它支持标准的异步串行通信协议,例如RS232。
6. 中断系统:AT89C51具有多种中断源和优先级控制,可以响应外部事件和内部发生的事件。
通过使用中断,可以实现实时响应和处理紧急事件。
7. 时钟和复位电路:AT89C51需要外部提供时钟信号来驱动其内部运行。
一个复位电路用于初始化和复位芯片的状态。
总之,AT89C51是一款多功能的单片机,通过集成的CPU、存储器、I/O口、定时/计数器、串行通信接口和中断系统等组件,实现了各种数据处理、控制和通信功能。
它被广泛应用于各种领域,如自动控制、仪器仪表、家电等。
89C51单⽚机硬件结构和原理第1部分 89C51单⽚机硬件结构和原理1. 89C51单⽚机⽚内包含哪些主要逻辑功能部件?答:89C51单⽚机是个完整的单⽚微型计算机。
芯⽚内部包括下列硬件资源:(1)8位CPU;(2)4KB的⽚内Flash ROM。
可寻址64KB程序存储器和64KB外部数据存储器;(3)256B内部 RAM/SFR;(4)21个 SFR;(5)4个8位并⾏I/O⼝P0~P3(共32位I/O线);(6)⼀个全双⼯uart的异步串⾏I/O⼝,⽤于实现单⽚机之间或单⽚机与PC机之间的串⾏通讯;(7)两个16位定时器/计数器;(8)5个中断源,两个中断优先级;(9)内部时钟发⽣器。
2. 89C51的EA端有何⽤途?答:作外部程序存储器地址允许输⼊端和固化编程电压输⼊端。
3. 89C51的存储器分哪⼏个空间?如何区别不同空间的寻址?答:89C51存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:(1)64KB的程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为⽚内4KB的Flash ROM地址空间,1000H~FFFFH为外部ROM地址空间;(2)256B的内部数据存储器地址空间,00H~FFH,分为两⼤部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;(3)64KB的外部数据存储器地址空间:0000H~FFFFH,包括扩展I/O地址空间。
MCS-51单⽚机存储器三类空间地址存在重叠,单⽚机设计了不同的数据传送指令符号来区分:CPU访问⽚内、⽚外ROM指令⽤MOVC,访问⽚外RAM指令⽤MOVX,访问⽚内RAM 指令⽤MOV。
4. 简述89C51⽚内RAM的空间分配。
答:89C51内部256B的数据RAM区,包括有⼯作寄存器组区、可直接位寻址区和数据缓冲区、特殊功能寄存器组区。
89C51单片机中文资料一、概述89C51是一款由英特尔公司推出的单片机,广泛应用于嵌入式系统和物联网设备中。
本文将为您介绍89C51单片机的中文资料,包括其基本特性、应用领域、技术参数等内容。
二、基本特性1. 架构:89C51采用8位的CMOS单片机架构,具有强大的数据处理能力。
2. 存储器:89C51具有4KB的闪存程序存储器,用于存储程序代码和数据。
此外,它还配备了128字节的RAM,用于存储临时数据。
3. 时钟系统:89C51内置了一个可编程的时钟/计数器,可提供准确的时钟信号和定时功能。
4. 输入/输出:89C51具有多个通用输入/输出引脚,可用于连接外部设备和传感器。
5. 串行通信:89C51支持串行通信接口,可与其他设备进行数据交换和通信。
6. 中断系统:89C51具有灵活的中断系统,可实现对外部事件的快速响应。
三、应用领域89C51单片机广泛应用于各种嵌入式系统和物联网设备中,其应用领域包括但不限于:1. 工业控制:89C51可用于工业自动化控制系统,如温度控制、压力控制等。
2. 家电产品:89C51可用于家电产品,如洗衣机、冰箱、空调等,实现智能控制和功能扩展。
3. 交通系统:89C51可用于交通信号灯、智能停车系统等,提高交通效率和安全性。
4. 安防设备:89C51可用于安防设备,如入侵报警系统、监控摄像头等,实现智能化监控和报警功能。
5. 医疗设备:89C51可用于医疗设备,如血压计、心电图仪等,提供准确的数据采集和处理功能。
四、技术参数以下是89C51单片机的一些典型技术参数:1. 工作电压:3.3V-5V2. 最大时钟频率:12MHz3. I/O口数量:32个4. 串行通信接口:支持SPI和I2C协议5. 温度范围:-40℃至85℃6. 封装形式:DIP、PLCC、QFP等五、学习资料推荐如果您对89C51单片机感兴趣并希望深入学习,以下是一些中文学习资料的推荐:1. 《单片机原理与应用》:该书详细介绍了单片机的原理、应用和编程方法,适合初学者入门学习。
第1部分 89C51单片机硬件结构和原理1. 89C51单片机片内包含哪些主要逻辑功能部件?答:89C51单片机是个完整的单片微型计算机。
芯片内部包括下列硬件资源:(1)8位CPU;(2)4KB的片内Flash ROM。
可寻址64KB程序存储器和64KB外部数据存储器;(3)256B内部 RAM/SFR;(4)21个 SFR;(5)4个8位并行I/O口P0~P3(共32位I/O线);(6)一个全双工uart的异步串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通讯;(7)两个16位定时器/计数器;(8)5个中断源,两个中断优先级;(9)内部时钟发生器。
2. 89C51的EA端有何用途?答:作外部程序存储器地址允许输入端和固化编程电压输入端。
3. 89C51的存储器分哪几个空间?如何区别不同空间的寻址?答:89C51存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:(1)64KB的程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为片内4KB的Flash ROM地址空间,1000H~FFFFH为外部ROM地址空间;(2)256B的内部数据存储器地址空间,00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;(3)64KB的外部数据存储器地址空间:0000H~FFFFH,包括扩展I/O地址空间。
MCS-51单片机存储器三类空间地址存在重叠,单片机设计了不同的数据传送指令符号来区分:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM 指令用MOV。
4. 简述89C51片内RAM的空间分配。
答:89C51内部256B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区、特殊功能寄存器组区。
各区域的特性如下:(1)00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。
当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。
如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。
(2)20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH。
当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。
(3)30H~7FH为堆栈、数据缓冲区。
(4)80H~FFH高128字节的RAM有21个特殊功能寄存器(SFR)。
访问SFR只允许使用直接寻址方式。
其中11个具有位寻址能力,它们的字节地址正好被8整除。
5. 简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。
答:20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH;还有80H~FFH高128字节的RAM有11 个SFR具有位寻址能力,它们的字节地址正好被8整除,如PO、P1、P2、P3、TCON、SCON、IE、IP、PSW、A、B。
6. 如何简捷地判断89C51正在工作?答:用示波器看/PSEN端有脉冲输出。
7. 89C51如何确定和改变当前工作寄存器组?答:通过查看PSW的RS0和RS1位确定哪一组工作寄存器为当前工作寄存器组。
通过用户用软件改变RS0和RS1值的组合,以切换当前选用的工作寄存器组。
8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为什么?答:当P0口作输入口使用时,应先向口锁存器写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。
从P0口硬件图可知,在读入端口引脚数据时,由于输出驱动FET(T2)并接在引脚上,如果FET(T2)导通,就会将输入的高电平拉成低电平,从而产生误读。
所以,在端口进行输入操作时,应先向端口锁存器写入1。
9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?答:读端口锁存器,使用“读-修改-写”指令,如执行“ANL P0,A”指令,它不直接读引脚上的数据,而是CPU先读P0口D锁存器中的数据;当“读锁存器”信号有效时,三态门缓冲器1开通,Q端数据送入内部总线和累加器A中的数据进行逻辑与操作,结果送回P0端口锁存器。
这样避免错读引脚上的电平信号的可能性。
“读引脚”使用“MOV A,PO”。
10. 89C51 P0~P3口结构有何不同?用作通用I/O口输入数据时,应注意什么? 答:89C51 P0~P3口结构相同之处:P0~P3都是准双向I/O口,做输入时,必须先向相应端口的锁存器写入“1”。
不同之处:P0口的输出级与P1~P3口不相同,它无内部上拉电阻,不能提供拉电流输出,而P1~P3口则带内部上拉电阻,可以提供拉电流输出。
当P0口作通用I/O口使用时,需外接上拉电阻才可输出高电平;但做地址/数据总线时,不需要外接上拉电阻。
P1~P3口作通用I/O口使用时,均不需要外接上拉电阻。
11. 89C51单片机的EA信号有何功能?在使用80C31时,EA信号引脚应如何处理?答:EA/V PP是双功能引脚,功能如下:(1)EA接高电平时,在低4KB程序地址空间(0000H~0FFFH),CPU执行片内程序存储器的指令,当程序地址超出低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令。
(2)EA接低电平时,CPU只能执行外部程序存储器的指令。
80C31单片机内部无ROM,必须外接程序存储器。
因此,8031的EA引脚必须接低电平。
12. 89C51单片机有哪些信号需要芯片引脚以第2功能的方式提供?答:RXD、TXD、/INTO、/INT1、T0、T1、/WR、/RD这些信号引脚以第2功能的方式提供。
13. 内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能是什么? 答:89C51内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。
各区域的特性如下:(3)00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。
当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。
如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。
(4)20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH。
当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。
(3)30H~7FH为堆栈、数据缓冲区。
14. 使单片机复位有几种方法?复位后机器的初始状态如何?答:单片机的复位有上电自动复位和按钮手动复位两种。
使用时应注意,上电复位的最短时间应保证为振荡周期建立时间加上两个机器周期的时间;当单片机运行程序出错或进入死循环时,可用按钮复位来重新启动。
复位后,把PC初始化为0000H,使单片机从0000H单元开始执行程序。
在SFR中,除P0~P3的复位值为FFH、堆栈指针SP为07H、SBUF内为不定值外,其余的寄存器全部清零。
15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?答:单片机开机复位后,CPU使用的是0组寄存器,0组R0~R7的地址是00H~07H。
通过用户用软件改变RS0和RS1值的组合,以切换当前选用的工作寄存器组。
16. 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?答:程序状态字寄存器PSW:是一个8位寄存器,用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。
定义格式如下。
其中,CY:进借位标志;AC:辅助进借位标志; F0:软件标志;OV:溢出标志;F1:用户标志位;P:奇偶校验标志; RS1、RS0:工作寄存器组选择(如表所示)。
17. 位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?答:字节地址是片内RAM的单元地址,而位地址是片内RAM单元的某一位。
7CH字节地址RAM的7CH单元,而7CH位地址是RAM 2FH单元中的D4位。
18. 89C51单片机的时钟周期与振荡周期之间有什么关系?什么叫机器周期和指令周期?答:时钟周期为最基本的时间单位。
振荡周期是晶振的振荡周期,是最小的饿时序单位。
一个时钟周期为振荡周期的2倍。
机器周期则是完成某一个规定操作所需的时间。
指令周期是指执行一条指令所占的全部时间。
通常一个指令周期含1~4个机器周期。
19. 一个机器周期的时序如何划分?答:一个机器周期为6个时钟周期,共12个振荡周期,依次可表示为S1P1、S1P2、…、S6P1、S6P2。
2 0. 什么叫堆栈?堆栈指针SP的作用是什么?89C51单片机堆栈的容量不能超过多少字节?答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。
实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。
堆栈指针SP的作用,是用来指示保存内容的存储地址,可指向89C51片内的00H~7FHRAM的任何单元。
89C51单片机堆栈的容量不能超过128个字节。
21. 89C51有几种低功耗方式?如何实现?答:89C51有两种低功耗方式,分别是待机(休闲)方式和掉电方式。
置PCON中的D0位即IDL为“1”,单片机即进入待机(休闲)方式;置D1为即PD为“1”,则进入掉电方式。
22. PC与DPTR各有哪些特点?有何异同?答:PC是16位程序计数器(Program Counter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PC。
PC是专门用于在CPU取指令期间寻址程序存储器。
PC总是保存着下一条要执行的指令的16位地址。
通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1。
如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC。
DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。