AT89S51单片机硬件结构

AT89S51单片机硬件结构

AT89S51单片机片内结构
AT89S51单片机片内结构
  由此可以看出,基本结构为CPU 加上外围芯片的传统微机结构。CPU对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。片内各功能部件通过片内单一总线连接而成。有如下功能部件和特性:

  • 8位微处理器(CPU):与通用CPU基本相同,包括了运算器和控制器两大部分,还有面向控制的位处理功能。
  • 数据存储器(128B RAM):片内为128B(52子系列为256B),片外最多可扩64KB。
  • 程序存储器(4KB Flash ROM):片内集成有4KB的Flash存储器(AT89S52 则为8KB;AT89C55片内20KB),如片内容量不够,片外可外扩至64KB。
  • 4个8位可编程并行I/O口:P0口、P1口、P2口、P3口。
  • 1个全双工的异步串行口,4种工作方式。可进行串行通信,扩展并行I/O口,还可与多个单片机构成多机通信系统。
  • 中断系统有5个中断源,2级中断优先级。
  • 2个可编程的16位定时器/计数器(52子系列有3个16位定时器/计数器),4种工作方式。
  • 1个看门狗定时器,当由于干扰程序陷入死循环或跑飞时,可使程序恢复正常运行。
  • 低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式。
  • 特殊功能寄存器(SFR)26个,对片内各功能部件管理、控制和监视。是各功能件的控制寄存器和状态寄存器,映射片内RAM区80H~FFH内。
    特殊功能寄存器1-12
    特殊功能寄存器13-26

AT89S51双列直插封装方式的引脚
AT89S51双列直插封装方式的引脚
特殊功能引脚
(1)VCC(40脚):+5V电源。
(2)VSS(20脚):数字地。
(3)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接来自外部时钟振荡器的信号。
(4)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。
(5)RST (RESET,9脚):复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚电平应≤ 0.5V。当看门狗溢出时,该脚将输出96个时钟振荡周期的高电平。
(6)EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚):
  EA*:引脚第一功能,外部程序存储器访问允许控制端。
    EA*=1,在PC值≤0FFFH(不超出片内4KB Flash存储器地址范围)时,单片机读片内Flash存储器(4KB)中的程序,但PC值>0FFFH (超出片内4KB Flash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。
    EA*=0,只读取片外程序存储器中内容,读取地址范围为0000H~FFFFH,片内的4KB Flash 程序存储器不起作用。
  VPP:引脚第二功能,对片内Flash编程,接编程电压。
(7)ALE/PROG*(Address Latch Enable/PROGramming,30脚):
  ALE:引脚第一功能,为CPU访问外部程序存储器或外部数据存储器提供地址锁存控制信号,将低8位地址锁存在片外的地址锁存器中。此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为fosc的1/6。该信号可作外部定时或触发信号使用。
ALE作为低8位地址的锁存控制信号
  PROG*:引脚第二功能,对片内Flash编程,加编程脉冲输入。
(8) PSEN* (Program Strobe ENable,29脚):片外程序存储器读选通信号,低电平有效。
普通引脚
(1)P0口:P0.7~ P0.0脚 ,8位,双向I/O口,使用时需加上拉电阻。
  当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。
  P0口也可作通用的I/O口用,需加上拉电阻,这时为准双向口。如作输入,应先向端口写1。可驱动8个LS型TTL负载。
(2)P1口:P1.7~ P1.0脚,8位,准双向I/O口,具有内部上拉电阻。
  准双向I/O口,作通用I/O输入时,应先向端口锁存器写1, P1口可驱动4个LS型TTL负载。
(3)P2口:P2.7~ P2.0脚,8位,准双向I/O口,具有内部上拉电阻。
  当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线输出高8位地址。
  P2口也可作普通I/O使用。当作通用I/O输入时,应先向端口输出锁存器写1。可驱动4个LS型TTL负载。
(4)P3口:P3.7~ P3.0脚,8位,准双向I/O口,具有内部上拉电阻。
  可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。
  P3口还具有第二功能,如下表所示:
P3口的第二功能
CPU中的运算器

  • 算术逻辑运算单元ALU
      可对8位变量逻辑运算(与、或、异或、循环、求补和清零),还可算术运算(加、减、乘、除)。
      ALU还有位操作功能,对位变量进行位处理,如置“1”、清“0”、求补、测试转移及逻辑“与”、“或”等。

  • 累加器A
      累加器A是CPU中使用频繁的一个8位寄存器,在使用汇编语言编程时,有些场合必须写为Acc。 作用如下:
    (1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。
    (2)数据传送大多都通过累加器A,相当于数据的中转站。为解决“瓶颈堵塞”问题,AT89S51增加了一部分可不经过累加器的传送指令。
      A的进位标志Cy同时又是位处理机的位累加器。

  • 程序状态字寄存器PSW(Program Status Word)
    位于片内特殊功能寄存器区,字节地址D0H。
    包含了程序运行状态的信息,其中4位保存当前指令执行后的状态,供程序查询和判断。
    PSW的格式
    PSW中各位功能:
    (1)Cy(PSW.7)进位标志位:可写为C。在算术和逻辑运算时,若有进位/借位,Cy=1;否则,Cy=0。在位处理器中,它是位累加器。
    (2)Ac(PSW.6)辅助进位标志位:在BCD码运算时,用作十进位调整。即当D3位向D4位产生进位或借位时,Ac=1;否则,Ac=0。
    (3)F0(PSW.5)用户设定标志位:由用户使用的一个状态标志位,可用指令来使它置“1”或清“0,控制程序的流向。用户应充分利用。
    (4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择:选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄存区。
    在这里插入图片描述
    (5)OV(PSW.2)溢出标志位:当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。
    (6)PSW.1位:保留位。
    (7)P(PSW.0)奇偶标志位:指令执行后,累加器A中“1”的个数是奇数还是偶数。

    • P=1,A中“1”的个数为奇数。
    • P=0,A中“1”的个数为偶数。

  此标志位对串行通信有重要意义,常用奇偶检验来检验数据串行传输的可靠性。

CPU中的控制器
  控制器任务:识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。
  控制器包括:程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。
  程序计数器PC是一个独立的16位计数器,指令不可直接访问。单片机复位时,PC内容为0000H,从程序存储器0000H单元取指令,开始执行程序。
  PC工作过程:CPU读指令时,PC的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时PC自动加1。PC内容变化轨迹决定程序流程。当顺序执行程序时自动加1;执行转移程序或子程序、中断子程序调用时,自动将其内容更改成所要转移的目的地址。PC计数宽度决定了程序存储器的地址范围,16位,故可对64KB(=216B)寻址。

  • 7
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值