AT89C52内部寄存器一览表
- 格式:doc
- 大小:126.00 KB
- 文档页数:2
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系列的才支持在线编程)。
当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置位,故而不产生中断。
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。
定时器控制寄存器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 外部事件计数器。
AT89C52单片机介绍在众多的单片机系列中,AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系列可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,也适用于常规编程。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超高效的解决方案。
AT89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,3个16位定时器/计数器,一个响亮2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。
故此选用AT89C52单片机。
1 AT89C52单片机1.1 AT89C52单片机的硬件结构如图3-1所示,为AT89C52的硬件结构图。
AT89C52单片机的内部结构与MCS-51系列单片机的构成基本相同。
CPU是由运算器和控制器所构成的。
运算器主要用来对操作数进行算术、逻辑运算和位操作的。
控制器是单片机的指挥控制部件,主要任务的识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。
它的程序存储器为8K字节可重擦写Flash闪速存储器,闪烁存储器允许在线+5V电擦除、电写入或使用编程器对其重复编程。
数据存储器比51系列的单片机相比大了许多为256字节RAM。
AT89C52单片机的指令系统和引脚功能与MCS-51的完全兼容。
图 3-1 单片机89C52结构框图1.2 主要性能参数• 8K字节可重擦写Flash闪速存储器• 1000次可擦写周期•全静态操作:0Hz-24MHz•三级加密程序存储器• 256×8字节内部RAM• 32个可编程I/O口线• 3个16位定时/计数器• 8个中断源•可编程串行UART通道•低功耗空闲和掉电模式图 3-2 AT89C52外部引脚图1.3 AT89C52管脚说明VCC:电源GND:接地P0口:P0口是一个8位漏级开路的双向I/O口。