版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1单片机原理与应用电气工程及其自动化专业电气与自动化工程学院2022/6/252课程内容:第1章 单片机概述第2章 AT89S51单片机硬件结构第3章 C51编程根底第4章 AT89S51片内并行端口的原理及编程第5章 AT89S51单片机的中断系统第6章 AT89S51单片机的定时器/计数器第7章 AT89S51单片机的串行口第8章 AT89S51单片机外部存储器的扩展第9章 AT89S51单片机的I/O扩展第10章 AT89S51单片机与输入/输出外设的接口基于时钟/日历芯片的电子钟设计,单片机与继电器的接口,串行口扩展2543第2章 AT89S51单片机单片机硬件结构内容概要3认识AT8
2、9S51单片机的片内硬件结构、引脚功能、存储器结构、特殊功能存放器功能、4个并行I/O口的结构和特点。学习复位电路与时钟电路的设计等。目的:为AT89S51系统的应用设计打下根底。8位CPU运算器控制器1 数据存储器128B RAM2程序存储器4KB Flash ROM34P0P2P1P3 2个16位可编程定时器/计数器5中断系统75个中断源5个中断向量 特殊功能存放器26个(SFR)8 看门狗WDT9全双工异步串行口6AT89S51单片机的片内硬件结构如下: 2.1 AT89S51单片机的硬件组成4第2章 AT89S51单片机单片机硬件结构4个8位可编程并行口5第2章 AT89S51单片机单
3、片机硬件结构 2.1 AT89S51单片机的硬件组成续功能特性及部件如下:(1) 8位微处理器CPU;(2) 数据存储器128B RAM;(3) 程序存储器4KB Flash ROM;(4) 4个8位可编程并行I/O口P0口、P1口、P2口、P3口;(5) 1个全双工的异步串行口;(6) 2个可编程的16位定时器/计数器;(7) 1个看门狗定时器;(8) 中断系统具有5个中断源、5个中断向量;(9) 特殊功能存放器SFR:26个,对片内各功能部件管理、控制和监视。是各 个功能部件的控制存放器和状态存放器,映射在片内RAM区80HFFH内。(10) 低功耗模式有空闲模式和掉电模式,且具有掉电模式
4、下的中断恢复模式;(11) 3个程序加密锁定位。6第2章 AT89S51单片机单片机硬件结构 2.1 AT89S51单片机的硬件组成续AT89S51完全兼容AT89C51,在充分保存原来软、硬件条件下,完全可以用AT89S51直接代换。与AT89C51比,AT89S51更突出的优点: (1) 增加在线可编程功能ISPIn System Program,字节和页编程,现场程 序调试和修改更加方便灵活; (2) 数据指针增加到两个,方便了对片外RAM的访问过程; (3) 增加了看门狗定时器,提高了系统的抗干扰能力; (4) 增加断电标志; (5) 增加掉电状态下的中断恢复模式。7第2章 AT89S
5、51单片机单片机硬件结构 2.2 AT89S51单片机的引脚功能AT89S51与51系列中各种型号芯片的引脚互相兼容。目前多采用40只引脚双列直插,如图2-2 。此外,还有44引脚的PLCC和TQFP封装方式的芯片。 引脚按其功能可分为如下3类: (1) 电源及时钟引脚VCC、VSS;XTAL1、XTAL2。 (2) 控制引脚 PSEN*、ALE/PROG*、EA*/VPP、RSTRESET (3) I/O口引脚P0、P1、P2、P3,为4个8位I/O口图2-2 AT89S51双列直插封装方式的引脚8第2章 AT89S51单片机单片机硬件结构2.2.1 电源及时钟引脚1电源引脚 (1) VCC
6、40脚:+5V电源。 (2) VSS20脚:地GND2时钟引脚 (1) XTAL119脚:片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器的信号。 (2) XTAL218脚:片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。图2-2 AT89S51双列直插封装方式的引脚9第2章 AT89S51单片机单片机硬件结构2.2.2 控制引脚1RST (RESET,9脚)复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作时,此脚电平应 。
7、当看门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期的高电平。上电复位电路手动加上电复位电路图2-2 AT89S51双列直插封装方式的引脚10第2章 AT89S51单片机单片机硬件结构2.2.2 控制引脚续2EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚)EA*:第一功能,外部程序存储器访问允许控制端。VPP:第二功能,对片内Flash编程,接编程电压。 EA*=1高电平,在PC值不超出0FFFH即不超出片内4KB Flash存储器的地址范围时,单片机读片内程序存储器4KB中的程序,但PC值超出0FFFH 即超出片内4KB
8、Flash地址范围时,将自动转向读取片外60KB1000H-FFFFH程序存储器空间中的程序。 EA*=0低电平,只读取外部的程序存储器中的内容,读取的地址范围为0000HFFFFH,片内的4KB Flash 程序存储器不起作用。图2-2 AT89S51双列直插封装方式的引脚11第2章 AT89S51单片机单片机硬件结构2.2.2 控制引脚续3ALE/PROG*Address Latch Enable/PROGramming,30脚 ALE:第一功能,ALE为CPU访问外部程序存储器或外部数据存储器提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。此外,单片机正常运行时,ALE端一直有正
9、脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。可作外部定时或触发信号用。 PROG*:第二功能,对片内 Flash编程,为编程脉冲输入端。图2-2 AT89S51双列直插封装方式的引脚12第2章 AT89S51单片机单片机硬件结构2.2.2 控制引脚续ALE/PROG*作为ALE使用时要注意,每当AT89S51访问外部RAM时执行MOVX类指令,要丧失一个ALE脉冲。如需要,可将特殊功能存放器AUXR地址为8EH,将在后面介绍的第0位ALE禁止位置1,来禁止ALE操作,但执行访问外部程序存储器或外部数据存储器指令“MOVC或“MOVX时,ALE仍然有效。即ALE禁止位不影响对外部存储器
10、的访问。图2-2 AT89S51双列直插封装方式的引脚13第2章 AT89S51单片机单片机硬件结构4 PSEN* Program Strobe ENable,29脚 片外程序存储器读选通信号,低有效。2.2.2 控制引脚续图2-2 AT89S51双列直插封装方式的引脚14第2章 AT89S51单片机单片机硬件结构2.2.3 并行I/O口引脚1P0口:8位,漏极开路的双向I/O口3932脚 (1) 用途一:当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。 (2) 用途二:P0口作为通用I/O口使用,需加上拉电阻,这时为准双向口。 作为通用I/O输入时,应先向端
11、口写入1。被称为准双向口的原因 作为通用I/O输出时,可驱动8个LS型TTL负载。15第2章 AT89S51单片机单片机硬件结构2.2.3 并行I/O口引脚续2P1口:8位,准双向I/O口,具有内部上拉电阻。18脚 (1) 作为通用I/O输入时,应先向端口写入1。 作为通用I/O输出时,可驱动4个LS型TTL负载。 (2) 、和 用于对片外Flash存储器串行编程和校验。 P1.5/MOSI:串行数据输入; P1.6/MISO:串行数据输出; P1.7/SCK:移位脉冲。16第2章 AT89S51单片机单片机硬件结构3P2口:8位,准双向I/O口,具有内部上拉电阻。2128脚 (1) 用途一:
12、当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线, 输出高8位地址。 (2) 用途二:P2口作为通用I/O口使用,为准双向口。 作为通用I/O输入时,应先向端口输出锁存器写入1。 作为通用I/O输出时,可驱动4个LS型TTL负载。2.2.3 并行I/O口引脚续17第2章 AT89S51单片机单片机硬件结构4P3口:8位,准双向I/O口,具有内部上拉电阻。1017脚 (1) 用途一:P3口作为通用I/O口使用,为准双向口。 作为通用I/O输入时,应先向端口输出锁存器写入1。 作为通用I/O输出时,可驱动4个LS型TTL负载。 (2) 用途二:P3口的第二功能。功能定义如下表2
13、-1。2.2.3 并行I/O口引脚续口线第二功能功能含义P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2INT0外部中断 0 申请P3.3INT1外部中断 1 申请P3.4T0定时器/计数器 0 计数输入P3.5T1定时器/计数器 1 计数输入P3.6WR外部RAM写选通P3.7RD外部RAM读选通表2-1 P3口的第二功能定义18第2章 AT89S51单片机单片机硬件结构并行I/O口总结:(1) P0口可作为总线口,为双向口。作为通用的I/O口使用时,为准双向口, 这时需加上拉电阻。(2) P1口、P2口、P3口均为准双向口。(3) 注意:准双向口与双向口的差异。准双向口仅有两个
14、状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮态。故P0口为双向三态I/O口。2.2.3 并行I/O口引脚续 应熟记每一引脚功能,对应用系统硬件电路设计十分重要。第2章 AT89S51单片机单片机硬件结构 2.3 AT89S51的CPUCPU由运算器、控制器构成。是单片机内部的核心部件,完成运算和控制操作。1920第2章 AT89S51单片机单片机硬件结构总线 数据存储器 程序存储器 特殊功能 寄存器 I/O口 I/O口 运算器 控制器21第2章 AT89S51单片机单片机硬件结构2.3.1 运算器对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元ALU、累加器A、位处
15、理器、程序状态字存放器PSW及两个暂存器等。本局部主要介绍与实际应用有关的:ALU、A、PSW。1算术逻辑运算单元ALU (1) 可对8位变量逻辑运算与、或、异或、循环、求补和清零; (2) 可对8位变量算术运算加、减、乘、除; (3) 位操作功能,对位变量进行位处理,如置“1、清“0、求补、测试转移及逻辑“与、“或等。22第2章 AT89S51单片机单片机硬件结构2.3.1 运算器续2累加器A是CPU中使用最频繁的一个8位存放器,在使用汇编语言编程时,有些场合必须写为Acc。 作用如下:(1) ALU单元的输入数据源之一,又是ALU运算结果存放单元(2) 数据传送大多都通过累加器A,相当于数
16、据的中转站。为解决“瓶颈堵塞问题,AT89S51增加了一局部可以不经过累加器的传送指令。A的进位标志Cy是特殊的,因为它同时又是位处理机的位累加器23第2章 AT89S51单片机单片机硬件结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1 。D
17、0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-PD0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-P24第2章 AT89S51单片机单片机硬件结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1
18、。 汇编编程时可写为C。1在加法运算中存放进位标志,有进位时CY=1,无进位时CY=0;2在减法运算中存放借位标志,有借位时CY=1,无借位时CY=0; 3在位操作中作累加位使用,在位传送和位运算中都要用到CY;4在带进位的移位操作中用于构成循环移位通路。【注意】对于加/减运算,无论参与运算的数是带符号数还是无符号 数,都按无符号数的原那么来设置进/借位标志位CY。D0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-P25第2章 AT89S51单片机单片机硬件结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程
19、序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1 。1在加减运算中,当低 4 位向高 4 位有进借位时, AC=1;否那么 AC=0。2在BCD码运算时,用作十进位调整。即当D3位向D4位产 生进位或借位时,Ac=1;否那么,Ac=0。D0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-P26第2章 AT89S51单片机单片机硬件结
20、构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1 。 由用户使用的一个状态标志位; 可用指令来使它置“1或清“0,控制程序的流向。D0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-P27第2章 AT89S51单片机单片机
21、硬件结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1 。 选择片内RAM区中的4组工作存放器区中的某一组为当前 工作存放区。如 表2-2 RS1、RS0与4组工作存放器区的对应关系RS1 RS0所选寄存器组R0R7地址0 0第 0 组00H
22、07H0 1第 1 组08H 0FH1 0第 2 组10H 17H1 1第 3 组18H 1FHD0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-P28第2章 AT89S51单片机单片机硬件结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1
23、的个数:偶0 ,奇1 。1在加减运算中,如果OV=1,那么表示运算结果超出了累加器A所能表示的符号数的有效范围-128 +127,运算结果是错误的,即产生了溢出;否那么, OV=0,那么表示运算结果正确,即未产生溢出。溢出的判断:OV=C6C72在乘法运算中,OV=1表示乘积超过255,即乘积分别在B高8位与A低8位中;否那么,OV=0表示乘积只在A中。3在除法运算中,OV=1表示除数为0,除法不能进行;否那么,OV=0表示除数不为0,除法可正常进行。【注意】对于加减运算,无论参与运算的数是带符号数还是无符 号数,都按带符号数的原那么来设置溢出标志位。29第2章 AT89S51单片机单片机硬件
24、结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1 。 保存位。D0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-PD0HD7D6D5D4D3D2D1D0PSWCyAcF0RS1RS0OV-P30第2章 AT89S51单
25、片机单片机硬件结构2.3.1 运算器续3程序状态字存放器PSWPSW是一个8位的标志存放器,它保存指令执行结果的特征信息,以供程序查询和判别。 PSW格式及含义如下: CY 进位标志位。AC 辅助进位或称半进位标志 。F0 由用户定义的标志位。复位时该位为“0。 RS1和RS0 PSW.4 和 PSW.3 工作存放器组选择位 。OV 溢出标志位。 由硬件置位或清零。 未定义。 P 奇偶标志位A中1的个数:偶0 ,奇1 。1执行指令完后, P=1,表示累加器A中“1的个数为奇数;。 P=0,表示累加器A中“1的个数为偶数。2在每个指令周期由硬件根据A的内容对P位进行置位或复位。3此标志位对串行通
26、信有重要的意义,常用奇偶检验的方法来 检验数据串行传输的可靠性。31第2章 AT89S51单片机单片机硬件结构2.3.2 控制器主要任务是:识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各局部能自动协调地工作。控制器包括:程序计数器、指令存放器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。程序计数器PC:独立的16位计数器,不可访问。单片机复位时,PC中的内容为0000H,从程序存储器0000H单元取指令,开始执行程序。PC的工作过程:CPU读指令时,PC的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时P
27、C自动加1。PC中内容变化轨迹决定程序流程。当顺序执行程序时自动加1;执行转移程序或子程序、中断子程序调用时,自动将其内容更改成所要转移的目的地址。PC的计数宽度:决定了程序存储器的地址范围。 PC为16位,可寻址空间为 64KB=216B。32第2章 AT89S51单片机单片机硬件结构 2.4 AT89S51单片机存储器的结构存储器结构特点:1有独立的程序存储器和数据存储器哈佛结构; 2有各自的访问指令。存储器ALU算逻部件ALU控制部件中央处理器 CPU输入/输出部件冯诺依曼结构输入/输出部件算逻部件ALU控制部件中央处理器 CPU程序存储器数据存储器哈佛结构33第2章 AT89S51单片
28、机单片机硬件结构 2.4 AT89S51单片机存储器的结构续AT89S51单片机的存储器空间划分为4局部: (1) 程序存储器空间; (2) 数据存储器空间; (3) 特殊功能存放器SFR Special Function Register; (4) 位地址空间。89S51存储器程序存储器ROM数据存储器RAM片内数据存储器片外数据存储器片内程序存储器片外程序存储器34第2章 AT89S51单片机单片机硬件结构 2.4 AT89S51单片机存储器的结构续AT89S51单片机的存储器空间划分为4局部: (1) 程序存储器空间; (2) 数据存储器空间; (3) 特殊功能存放器; (4) 位地址空
29、间。35第2章 AT89S51单片机单片机硬件结构 2.4 AT89S51单片机存储器的结构续AT89S51单片机的存储器空间划分为4局部: (1) 程序存储器空间; (2) 数据存储器空间; (3) 特殊功能存放器; (4) 位地址空间。内部 ROM4KBEA=1外部 ROM4KBEA=00FFFH0000H0FFFH0000HFFFFH1000H外部 ROM60KBMOVC 指令操作域36第2章 AT89S51单片机单片机硬件结构 2.4 AT89S51单片机存储器的结构续AT89S51单片机的存储器空间划分为4局部: (1) 程序存储器空间; (2) 数据存储器空间; (3) 特殊功能存
30、放器; (4) 位地址空间。内部 RAM128B外部 RAM64KB特殊功能存放器(26个SFR)FFH80H7FH00HFFFFH0000HMOVX 指令操作域37第2章 AT89S51单片机单片机硬件结构 2.4 AT89S51单片机存储器的结构续AT89S51单片机的存储器空间划分为4局部: (1) 程序存储器空间; (2) 数据存储器空间; (3) 特殊功能存放器; (4) 位地址空间。有26个特殊功能存放器,是片内各功能部件的控制存放器及状态存放器。SFR综合反映了整个单片机根本系统内部实际的工作状态及工作方式。38第2章 AT89S51单片机单片机硬件结构 2.4 AT89S51单
31、片机存储器的结构续AT89S51单片机的存储器空间划分为4局部: (1) 程序存储器空间; (2) 数据存储器空间; (3) 特殊功能存放器; (4) 位地址空间。共有211个可寻址位,构成了位地址空间。位于内部 RAM共128位和特殊功能存放器区共83位中。39第2章 AT89S51单片机单片机硬件结构2.4.1 程序存储器空间(1) ROM用于存放程序及表格常数,读取ROM的指令为“MOVC。(2) 89C51片内有4KB的ROM,外部可用16位地址线扩展到最大64KB的总ROM空间。(3) 片内ROM和外部扩展ROM是统一编址的。(4) 当EA=1高电平时,程序计数器PC在0000H0F
32、FFH4KB地址时, 从内部ROM取指令,超过4KB时,CPU自动转向外部ROM执行程序。(5) 当EA=0低电平时,那么所有取指令操作均在外部ROM中进行,这时外 部扩展的ROM从0000H开始编址。40第2章 AT89S51单片机单片机硬件结构2.4.1 程序存储器空间续(1) 0000H:复位入口,单片机复位后, CPU总是从0000H开始执行程序。(2) 0000H0002H:一条无条件转移 指令,转向主程序的入口地址。(3) 0003H002AH:共40个单元均 匀地分为5段,分别作为5个中断 源的中断地址区。(4) 中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。
33、地 址 区中断源0000H-0002H系统复位0003H-000AH外部中断 0 中断地址区000BH-0012H定时器/计数器 0 中断地址区0013H-001AH外部中断 1 中断地址区001BH-0022H定时器/计数器 1 中断地址区0023H-002AH串行口中断地址区ROM中的某些特定单元是给系统默认使用的AT89S51中断源对应的地址区中断源入口地址外部中断00003H定时器T0000BH外部中断10013H定时器T1001BH串行口0023H表2-3 5个中断源的中断入口地址41第2章 AT89S51单片机单片机硬件结构2.4.2 数据存储器空间RAM主要用于存放数据;分片内和
34、片外二局部。1. 片内数据存储器片内数据存储器RAM共128个单元,字节地址为00H7FH。工作存放器组 0位寻址区位地址:00H7FH用户RAM区堆栈、数据缓冲7FH30H2FH20H工作存放器组 3工作存放器组 2工作存放器组 1工作存放器区共32个字节单元,分为4组,每组8个8位存放器,只能按字节寻址,可通过指令改变RS1、RS0两位来选择区用户RAM区共80个字节单元,只能按字节寻址位寻址区共16个字节单元,128个位,可按位寻址,也可按字节寻址R7R0R7R0R7R0R7R01FH18H17H10H0FH08H07H00H42第2章 AT89S51单片机单片机硬件结构2.4.2 数据
35、存储器空间续RAM主要用于存放数据;分片内和片外二局部。1. 片内数据存储器片内数据存储器RAM共128个单元,字节地址为00H7FH。工作存放器组 0位寻址区位地址:00H7FH用户RAM区堆栈、数据缓冲7FH30H2FH20H工作存放器组 3工作存放器组 2工作存放器组 1R7R0R7R0R7R0R7R01FH18H17H10H0FH08H07H00HPSW.4 (RS1)PSW.3 (RS0)当前使用的工作寄存器组00第0 组(00H 07H)01第1 组(08H 0FH)10第2 组(10H 17H)11第3 组(18H 1FH)43第2章 AT89S51单片机单片机硬件结构2.4.2
36、 数据存储器空间续工作寄存器组 0工作寄存器组 1工作寄存器组 2工作寄存器组 3地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR71FHR74 个工作存放器组中的存放器对应的地址44第2章 AT89S51单片机单片机硬件结构2.4.2 数据存储器空间续当片内128B的RAM不够用时,需外扩,最多可
37、外扩64KB的RAM。 注意,片内RAM与片外RAM两个空间是相互独立的,片内RAM与片外RAM的低128B的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突。2. 片外数据存储器45第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器AT89S51单片机中的特殊功能存放器的单元地址映射在片内RAM的 80HFFH 区域中,共26个。其中11个可位寻址。但凡字节地址能被8整除的SFR都具有位地址 。与AT89C51相比,新增5个SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST。46第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续表
38、2-4 SFR的名称及其分布序号特殊功能寄存器符号名 称字节地址位地址复位值1P0P0口80H87H80HFFH2SP堆栈指针81H-07H3DP0L数据指针DPTR0低字节82H-00H4DP0H数据指针DPTR0高字节83H-00H5DP1L数据指针DPTR1低字节84H-00H6DP1H数据指针DPTR1高字节85H-00H7PCON电源控制寄存器87H-0XXX 0000B8TCON定时器/计数器控制寄存器88H8FH88H00H9TMOD定时器/计数器方式控制89H-00H10TL0定时器/计数器0(低字节)8AH-00H11TL1定时器/计数器1(低字节)8BH-00H12TH0定
39、时器/计数器0(高字节)8CH-00H13TH1定时器/计数器1(高字节)8DH-00H47第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续表2-4 SFR的名称及其分布续序号特殊功能寄存器符号名 称字节地址位地址复位值14AUXR辅助寄存器8EH-XXX0 0XX0B15P1P1口寄存器90H97H90HFFH16SCON串行口控制寄存器98H9FH98H00H17SBUF串行发送数据缓冲器99H-XXXX XXXXB18P2P2口寄存器A0HA7HA0HFFH19AUXR1辅助寄存器A2H-XXXX XXX0B20WDTRST看门狗复位寄存器A6H-XXXX XXXX
40、B21IE中断允许控制寄存器A8HAFHA8H0XX0 0000B22P3P3口寄存器B0HB7HB0HFFH23IP中断优先级控制寄存器B8HBFHB8HXX00 0000B24PSW程序状态字寄存器D0HD7HD0H00H25A(或Acc)累加器E0HE7HE0H00H26BB寄存器F0HF7HF0H00H48第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续下面介绍局部SFR1. 堆栈指针SP(1) 指示堆栈顶部在内部RAM块中的位置。可以指向内部RAM 00H7FH的任何单元。(2) 堆栈结构-向上生长型。单片机复位后,SP为07H,使得堆栈实际上从08H单元开 始
41、,由于08H1FH单元分别是属于13组的工作存放器区,最好在复位后把SP值 改置为60H或更大的值,防止堆栈与工作存放器冲突。(3) 堆栈主要是为子程序调用和中断操作而设。用于保护断点和保护现场。49第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续下面介绍局部SFR1. 堆栈指针SP(1) 指示堆栈顶部在内部RAM块中的位置。可以指向内部RAM 00H7FH的任何单元。(2) 堆栈结构-向上生长型。单片机复位后,SP为07H,使得堆栈实际上从08H单元开 始,由于08H1FH单元分别是属于13组的工作存放器区,最好在复位后把SP值 改置为60H或更大的值,防止堆栈与工作存
42、放器冲突。(3) 堆栈主要是为子程序调用和中断操作而设。用于保护断点和保护现场。无论是子程序调用操作还是中断效劳子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。50第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续下面介绍局部SFR1. 堆栈指针SP(1) 指示堆栈顶部在内部RAM块中的位置。可以指向内部RAM 00H7FH的任何单元。(2) 堆栈结构-向上生长型。单片机复位后,SP为07H,使得堆栈实际上从08H单元开 始,由于08H1FH单元分别是属于13组的工作存放器区,最好在复位后把SP值 改置为60H或更大的值,防止堆栈
43、与工作存放器冲突。(3) 堆栈主要是为子程序调用和中断操作而设。用于保护断点和保护现场。1执行子程序或中断效劳子程序时,要用到一些存放器单元,会破坏原有内容。要把有关存放器单元的内容保存起来,送入堆栈,这就是所谓的“现场保护。2两种操作:数据压入PUSH堆栈,数据弹出POP堆栈。3数据压入堆栈,SP自动加1;数据弹出堆栈,SP自动减1。51第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续2. 存放器B为执行乘法和除法而设。在不执行乘、除法操作的情况下,可把它当作一个普通存放器来使用。乘法,两乘数分别在A、B中,执行乘法指令后,乘积在BA中除法,被除数取自A,除数取自B,商
44、存放在A中,余数存B中。52第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续3. AUXR 存放器AUXR是辅助存放器。其中:DISALE:ALE的禁止/允许位。0:ALE有效,发出脉冲; 1:ALE仅在执行MOVC和MOVX类指令时有效,不访问外部存储器时, ALE不输出脉冲信号;DISRTO:禁止/允许WDT溢出时的复位输出。0:WDT溢出时,在RST引脚输出一个高电平脉冲;1:RST引脚仅为输入脚。WDIDLE:WDT在空闲模式下的禁止/允许位。 0: WDT在空闲模式下继续计数; 1: WDT在空闲模式下暂停计数。-WDIDLEDISRTO-DISALED7D6D
45、5D4D3D2D1D0AUXR8EH53第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续4. 数据指针DPTR0和DPTR1双数据指针存放器,便于访问数据存储器。DPTR0:AT89C51单片机原有的数据指针,DPTR1:新增加的数据指针。AUXR1的DPS位用于选择两个数据指针。 当DPS=0时,选用DPTR0; 当DPS=1时,选用DPTR1。数据指针可作为一个16位存放器来用,也可作为两个独立的8位存放器DP0H或DP1H和DP0L或DP1L来用。54第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续5. AUXR1 存放器 DPS:数据指针存放
46、器选择位。0:选择数据指针存放器DPTR0;1:选择数据指针存放器DPTR1。AUXR1是辅助存放器。A2HD7D6D5D4D3D2D1D0AUXR1-DPS55第2章 AT89S51单片机单片机硬件结构2.4.3 特殊功能存放器续6. 看门狗定时器 WDT包含1个14位计数器和看门狗定时器复位存放器WDTRST。用于当CPU由于干扰,程序陷入死循环或跑飞状态时,WDT提供了一种使程序恢复正常运行的有效手段。有关WDT在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应的章节中具体介绍。上面介绍的特殊功能存放器,除了前两个SP和B以外,其余的均为AT89S51在AT89C51根底上新增加的
47、SFR。56第2章 AT89S51单片机单片机硬件结构2.4.4 位地址空间211个寻址位的位地址,位地址范围为 00HFFH,其中 00H7FH 这128位处于片内RAM 字节地址 20H2FH 单元中,如表2-5所示。其余的83个可寻址位分布在特殊功能存放器SFR中,如表2-6。可被位寻址的特殊存放器有11个,共有位地址88个,5个位未用,其余83个位的位地址离散地分布于片内数据存储器区字节地址为80HFFH的范围内,其最低的位地址等于其字节地址,且其字节地址的末位都为0H或8H。57第2章 AT89S51单片机单片机硬件结构2.4.4 位地址空间续表2-5 AT89S51片内RAM的可寻
48、址位及其位地址字 节地 址位 地 址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H17H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31
49、H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H58第2章 AT89S51单片机单片机硬件结构2.4.4 位地址空间续表2-6 SFR中的位地址分布特殊功能寄存器位 地 址字节地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIP-BCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB
50、0HB0HIEAFHAEHADHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H59第2章 AT89S51单片机单片机硬件结构2.4.4 位地址空间续图2-7 AT89S51单片机的存储器结构60第2章 AT89S51单片机单片机硬件结构 2.6 时钟电路与时序(1) 时钟电路产生时钟控制信号。(2) 单片机在时
51、钟信号的控制下,严格按时序执行指令。(3) 指令执行过程: CPU从程序存储器中取出指令操作码; 由CPU对指令进行译码; 由时序电路产生一系列控制信号完成指令所规定的操作。(4) CPU发的时序信号两类: 一类用对片内各个功能部件控制; 另一类用于对片外存储器或I/O端口的控制。61第2章 AT89S51单片机单片机硬件结构2.6.1 时钟电路设计(1) 时钟频率对单片机工作的影响: 运行速度; 时钟电路的质量也直接影响单片机系统的稳定性。(2) 常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。62第2章 AT89S51单片机单片机硬件结构2.6.1 时钟电路设计续1.
52、内部时钟方式用于构成振荡器的高增益反相放大器自激振荡器石英晶体的选择:常选择晶振频率为6MHz或12MHz。 63第2章 AT89S51单片机单片机硬件结构2.6.1 时钟电路设计续2. 外部时钟方式用现成的外部振荡器产生脉冲信号,常用于多片AT89S51同时工作,以便于多片AT89S51单片机之间的同步。外部时钟源直接接到XTAL1端,XTAL2端悬空。3. 时钟信号的输出略64第2章 AT89S51单片机单片机硬件结构2.6.2 机器周期、指令周期与指令时序1. 时钟周期(1) 时钟控制信号的根本时间单位。(2) 时钟周期Tosc=1/foscfosc为晶振频率。 如:fosc=6MHz,
53、Tosc。65第2章 AT89S51单片机单片机硬件结构2.6.2 机器周期、指令周期与指令时序续2. 机器周期(1) 机器周期:CPU完成一个根本操作所需时间。 执行一条指令分为几个机器周期。每个机器周期完成一个根本操作如:取指 令、读或写数据等。(3) 每12个时钟周期为1个机器周期。(4) 1个机器周期的12个时钟周期,分为6个状态:S1S6。66第2章 AT89S51单片机单片机硬件结构2.6.2 机器周期、指令周期与指令时序续3. 指令周期(1) 指令周期:CPU执行一条指令所需时间。(2) 三种指令形式:单字节指令,双字节指令,三字节指令。 单字节和双字节指令一般为单机器周期和双机
54、器周期; 三字节指令都是双机器周期; 乘、除指令占用4个机器周期。67第2章 AT89S51单片机单片机硬件结构 2.7 复位操作和复位电路(1) 单片机的初始化操作;(2) 完成复位需在RST脚加上大于2个机器周期即24个时钟振荡周期的高电平。2.7.1 复位操作寄存器复位状态PC0000HAcc00HPSW00HB00HSP07HDPTR0000HP0P3FFHIPXXX0 0000BIE0XX0 0000BDP0L00HDP0H00HDP1L00HDP1H00H寄存器复位状态TMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUFXXXX XXXXBPCON0XXX 0000BAUXRXXXX 0XX0BAUXR1XXXX XXX0BWD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年户外LED屏租赁合同协议
- 鼓胀护理并发症预防与处理
- 剖宫产妇女的出院指导
- 储存罐应急预案
- 房地产市场营销策略与技巧指南
- 家庭教育中的学习能力培养作业指导书
- 采购订单逾期催办函3篇范本
- 汽车维护服务操作流程手册
- 2026年农艺师招聘笔试重点难点解析
- 2026年证券从业金融市场仿真题及模拟题集
- 安宁疗护获奖课件
- QB∕T 8045-2024 聚对苯二甲酸乙二醇酯(PET)结构泡沫板材
- 五金购销合同清单
- 冀东民俗文化英汉平行语料库的构建与应用
- RTK道路放样培训
- 儿童康复护理小讲课课件
- 高大模板监理细则
- 辽统监表A-1 工程开工复工报审表
- 现代控制理论总复习
- 第十章食品添加剂
- 毕业设计-贯通测量方案设计
评论
0/150
提交评论