AT89C52内部寄存器一览表
at89c52_1

程序状态寄存器PSW(续)
RS1,RS0:工作组寄存器选择控制
RS1=0、RS0=0:0组 RS1=0、RS0=1:1组 RS1=1、RS0=0:2组 RS1=1、RS0=1:3组
堆栈指针SP
SP为8位,堆栈必须建立在内部RAM区内 复位时,SP=07H,堆栈区实际上是从08H开 始的区域 数据进入堆栈的原则:“后进先出” 数据被压入堆栈前,SP加1 数据从堆栈中弹出后,SP减1 涉及堆栈的操作有:
第一章 AT89C52的组成结构
1.1 89系列单片机的概况
1.1.1 89系列单片机的特点
以8031为内核,与51系列单片机兼容 内部含有Flash存储器,可多次重复编程 引脚与AT80C51兼容 采用静态时钟,可以节省电能
1.1.2 89系列单片机的结构简介
结构:
1.3.2 数据存储器
1、数据存储器分为两个地址空间:
内部数据存储器空间:384BYTE 外部数据存储器空间:64KB
2、访问外部RAM,需要RD和WR信号 3、内部数据存储器空间地址是8位的,需要用 256个地址访问384BYTE的空间:
低128字节RAM(00H-7FH):可用直接和间接寻址 方式访问 高128字节RAM(80H-FFH):只能用间接寻址方式 访问 特殊功能寄存器区(SFR:80-FFH):只能用直接 寻址方式访问
程序存储器的保留单元:
0000H-0002H:所有执行程序的入口地址 (复位)
在0000H单元放置一条绝对跳转指令,转移到应 用程序起始点
第三章 AT89S52单片机存储器结构

3.2 存储器结构
二、数据存储器 工作寄存器区、可按位寻址的RAM区 工作寄存器区、可按位寻址的RAM区、按字节寻址 RAM RAM区 特殊功能寄存器(SFR) RAM区、特殊功能寄存器(SFR)区。
3.2 存储器结构
二、数据的RAM区 工作寄存器区(00H-1FH)、可按位寻址的RAM区 RAM (20H-2FH)、按字节寻址RAM区(30H-7FH)、特殊功 20H-2FH) 按字节寻址RAM区(30H-7FH)、 RAM 能寄存器(SFR) (80H-FFH)。 能寄存器(SFR)区(80H-FFH)。
3.3 外部存储器及其访问
一、外部程序存储器及访问 5、访问外部程序存储器的时序
3.3 外部存储器及其访问
一、外部程序存储器及访问 5、访问外部程序存储器的时序
3.3 外部存储器及其访问
二、外部数据存储器及访问 1、扩展外部数据存储器的方法
3.3 外部存储器及其访问
二、外部数据存储器及访问 2、访问外部数据存储器的时序
AT89S52存储器结构 第3章 AT89S52存储器结构 存储器:半导体集成电路芯片化 存储速度和存储容量提高
3.1 存储器概述
一、各种存储器特点
存储器分类 存储器名称 双极型 RAM 主要特点 工作速度快,功率消耗大,集成度低, 价格高,仅适合应用于对运算速度要 求很高的计算机。
静态MOS型 集成度较高.功率消耗低,价格便宜, RAM 运算速度较快,非破坏性读出不需要 半导体随机 刷新,断电后所存数据丢失,其制造 读写存储器 工艺限制了集成度的提高。 RAM 动态MOS型 集成度高.功率消耗更低,价格便宜, RAM 运算速度较快,非破坏性读出需要刷 新,硬件电路复杂。 集成随机存 将动态MOS型RAM和动态刷新控制器 储器iRAM 集成在一块芯片上,集成动态 RAM和静态型RAM的优点于一体。
AT89S52存储器结构

20
. . .
00H
堆栈:
在片内RAM中,常常要指定一个专门的区域来 存放某些特别的数据,它遵循先进后出和后进 先出(LIFO/FILO)的原则,这个RAM区叫堆栈。
功用:
1)子程序调用和中断服务时CPU自动将当前PC 值压栈保存,返回时自动将PC值弹栈。 2)保护现场/恢复现场 3)数据传输
10
FFFFH 外部 ROM
11
2000H 1FFFH 内部 ROM 0000H (EA=1) 1FFFH 外部 ROM (EA=0) 0000H
②在程序存储器中,有6个单元具有特殊功能: 中断矢量区
0000H: 复位后,PC=0000H,即程序从0000H 开始执行指令。 0003H:外部中断0入口。 000BH:定时器0溢出中断入口。 0013H:外部中断1入口。 001BH:定时器1溢出中断入口。 0023H:串行口中断入口。
8
★访问这几个不同的逻辑空间时,采用的指令: 片内外程序存储器空间----MOVC 片内数据存储器空间和SFR----MOV 片外数据存储器地址空间----MOVX
存储器配置(片内RAM)
89C51片内RAM 128字节(00H—7FH) 89S52片内RAM 256字节(00H—0FFH)
片内数据存储器空间分布图
. . . SFR . . 80H . . 7FH . . 通用RAM区 . . . (80B) . . . 30H . 位地址区 2FH . . (16B) 20H
寄存器3组 寄存器2组 寄存器1组 寄存器0组
1FH
7FH
通用RAM区
共80个字节,作为一般的数据缓冲 区并可设置堆栈区
21
89C52引脚图

3.1 单片机芯片AT89C52介绍3.1.1 AT89C52功能介绍3.1.2 AT89C52芯片图(如图2)及引脚介绍(1)引脚功能电源引脚——VCC正常运行和编程校验时为5V电源,VSS为接地端。
I/O总线——P0.0-P0.7(P0口),P1.0-P1.7(P1口),P2.0-P2.7(P2口),P3.0-P3.7(P3口)若图片无法显示请联系站长QQ3710167为输入/输出引线。
时钟——XTAL1:片内振荡器反相放大器的输入端。
XTAL2:片内振荡器反相器的输出端,也是内部时钟发生器的输入端。
控制总线——ALE/PROG:地址锁存允许/编程信号线。
当CPU访问外部存储器时,ALE 用来锁存P0输出的地址信号的低8位。
它的频率为振荡频率的1/6。
在对8751编程时,此引脚输入编程脉冲信号。
PSEN:外接程序存储器读选通信号。
EA/VPP:访问内部程序存储器的控制信号。
当EA=1时,CPU从片内ROM读取指令;EA=0时,CPU从片外ROM读取指令。
此外,当对8751内部EPROM编程时,21V 编程电源由此端输入。
RST/VPD:复位输入信号。
当该引脚上出现2个机器周期以上的高电平时,可实现复位操作。
此引脚为掉电保护后备电源之输入引脚。
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash 只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
AT89C52内部寄存器一览表

83H
DPH
87H
PCON
88H
TCON
定时/
计数器控制寄存器
8FH
8EH
8DH
8CH
8BH
8AH
89FH
88H
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
89H
TMOD
8AH
TL0
8BH
TL1
8CH
TH0
8DH
TH1
90H
P1
P1口锁存器
97H
96H
95H
94H
93H
92H
91H
90H
P1.7
AT89C52内部寄存器一览表
[ 录入者:admin | 时间:2007-04-12 13:18:14 | 作者: | 来源:采集所得| 浏览:27次 ]
AT89C52内部寄存器一览表
通用寄存器
地址
名称
位地址
00H - 07H
寄存器组0
R7
R6
R5
R4
R3
R2
R1
R0
08H – 0FH
寄存器组1
R7
:
7FH
通用寄存器
79个字节
80H
:
FFH
通用寄存器
128个字节
用间接寻址
特殊功能寄存器
地址
标记
名称
D7
D6
D5
D4
D3
D2
D1
D0
80H
P0
P0口锁存器
87H
86H
85H
84H
83H
82H
·定时器0和定时器1

当DCEN=1时,允许定时器2向上或向下计数,如图6所示。
这种方式下,T2EX引脚控制计器方向。
T2EX引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L载到TH2和TL2中。
T2EX引脚为逻辑“0”时,定时器2向计数,当TH2和TL2中的数值等于RCAP2H和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFF 数值重新装入定时寄存器中。
当定时/计数器2向上溢出或向下溢出时,置位EXF2位。
·波特率发生器:当T2CON(表3)中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。
如果定时计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能,如图7所示。
若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。
波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。
在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/=0)。
定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每机器周期(1/12振荡频率)寄存的值加1,而作为波特率发生器使用时,在每个状态时间(1/2振荡频率)寄存器的值加1。
波特率的计算公式如下:方式1和3的波特率=振荡频率/{32×[65536-(RCAP2H,RCAP2L)]}式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。
定时器2作为波特率发生器使用的电路如图7所示。
T2CON中的RCLK或TCLK=1时,波特率作方式才有效。
在波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断。
8051,STC89C52单片机特殊功能寄存器

1、8051特殊功能寄存器表编号名称地址功能1P080H P0口寄存器2P190H P1口寄存器3P2A0H P2口寄存器4P3B0H P3口寄存器5PSW D0H程序状态字6ACC E0H累加器7B F0H B寄存器8SP81H堆栈指针9DPL82H数据地址指针(低8位)10DPH83H数据地址指针(高8位)11PCON87H电源控制寄存器12TCON88H定时器/计数器控制寄存器13TMOD89H定时器/计数器方式控制寄存器14TL08AH定时器/计数器0(低8位)15TL18BH定时器/计数器1(低8位)16TH08CH定时器/计数器0(高8位)17TH18DH定时器/计数器1(高8位)18IE A8H中断允许控制寄存器19IP B8H中断优先级控制寄存器20SCON98H串行口控制寄存器21SBUF99H串行口锁存器2、常用的特殊功能寄存器定义中断优先级寄存器—IP76543210——PT2PSPT1PX1PT0PX0位7:—保留位6:—保留位5:PT2定时器2中断优先级位4:PS 串行通讯中断优先级位3:PT1定时器1中断优先级位2:PX1外部中断1优先级位1:PT0定时器0中断优先级位0:PX0外部中断0优先级中断允许控制寄存器—EA76543210EA—ET2ESET1EX1ET0EX0位7:EA 使能标志,为1则使能所有中断,为0则禁止所有中断位6:—保留位5:ET2定时器2中断使能,ET2=1,使能;ET2=0,禁止位4:ES串行通讯中断使能,ES=1,使能;ES=0,禁止位3:ET1定时器1中断使能,ET=1,使能;ET=0,禁止位2:EX1外部中断1中断使能,EX1=1,使能;EX1=0,禁止位1:ET0定时器0中断使能,ET0=1,使能;ET0=0,禁止位0:EX0外部中断0中断使能,EX0=1,使能;EX0=0,禁止定时器控制寄存器—TCON76543210TF1TR1TF0TR0IE1IT1IE0IT0位7:TF1定时器1溢出中断标志位,溢出后由MCU清0方可再次起作用位6:TR1定时器1控制位,TR1=1:启动定时器;TR1=0:定时器停止位5:TF0定时器0溢出中断标志位,溢出后由MCU 清0方可再次起作用位4:TR0定时器0控制位,TR0=1:启动定时器;TR0=0:定时器停止位3:IE1外部中断1触发标志位,当检测到P3.3从高电平到低电平跳变时置位,响应中断后由硬件清0。
AT89C52中断系统寄存器

定时器控制寄存器TCONTCON:Timer控制寄存器,是管理定时器工作的TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0IT0/IT1:外部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平触发;=1:在INT0/INT1端申请中断的信号负跳变触发.IE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。
TF0/TF1:定时器0/定时器1溢出中断申请标志位:=0:定时器未溢出;=1:定时器溢出申请中断,进中断后自动清零。
TR0/TR1:定时器运行启停控制位:=0:定时器停止运行;=1:定时器启动运行。
中断允许寄存器IEEA —ET2 ES ET1 EX1 ET0 EX0EX0/EX1/ET1/ET0/ES 位:分别是INT0/1,Timer0/1,串行口的中断允许控制位:=0 时禁止中断;=1 时允许中断。
ET2:T2中断允许控制位(仅52系列有)=0 时禁止中断;=1 时允许中断。
EA:总的中断允许控制位(总开关):=0 时禁止全部中断;=1 时允许中断。
中断优先级控制寄存器IP——PT2 PS PT1 PX1 PT0 PX0PX0/PX1:INT0/1优先级控制位:=0 时属低优先级;=1 时属高优先级。
PT0/PT1/PT2:T0/1/2中断优先级控制位:=0 时属低优先级;=1 时属高优先级。
PS1:串行口中断优先级控制位:=0 时属低优先级;=1 时属高优先级。
interrupt m 修饰符interrupt m C51中断函数必须通过它进行修饰。
在C51程序设计中,当函数定义时用了interrupt m修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按51系统中断的处理方式自动把它安排在程序存储器中的相应位置。
在该修饰符中,m的取值为0~31,对应的中断情况如下:0——外部中断01——定时/计数器T02——外部中断13——定时/计数器T14——串行口中断5——定时/计数器T2定时器方式寄存器TMODGATE C / T M1 M0 GATE C / T M1 M0T1 T0M1,M0:工作方式定义位( 定义4 种方式):0 0:13位定时器0 1:16位定时器1 0:可自动重装的8位定时器1 1:T0 分为2个8位Timer;T1 此时不工作C/T :计数器/定时器选择位= 1 外部事件计数器。