零基础学习8051单片机(三)

发布时间:2024年01月21日

续上一篇文章,依旧学习AT89S51单片机的硬件结构。

1.单片机的CPU

CPU由运算器和控制器组成

1)运算器

?注:51单片机实际上是8位机与1位机的结合,1位机经常会用来进行位控。

????????(1)算数逻辑运算单元ALU

????????(2)累加器A?

? ? ? ? ? ? ? ? 是使用最频繁的寄存器,也可写作ACC,在有些场合下,A必须写成ACC

? ? ? ? ? ? ? ? 作用:

?????????????????A进位标志位Cy同时又是位处理器的位累加器

? ? ? ? (3)程序状态字寄存器PSW

注:特殊功能寄存器对单片机的学习非常重要,实际上编程就是对这些特殊寄存器进行操作

特殊功能寄存器在片内的地质区是80H~FFH

PSW的字节地址是这里面的D0,又往后定义了7个位。

PSW各位功能:

注:F0是用户可以在程序中进行调用和编程的标志位?

注:单片机运行的时候都有一组在当前工作状态,有一组在当前寄存器区,选哪一组来作为当前寄存器区呢,就由RS1、RS0来选。四组寄存器区使得编程更方便。使用0、1组合来进行不同的切换。

?

?注:A中为奇数P为1,为偶数P为0。

?2)控制器

任务:识别指令,控制单片机各功能部件,保证各部分自动协调工作。

?注:对单片机来说,PC指针是一个独立的寄存器,是16位的计数器,每取一条指令,程序在单元里面挨着放,PC指针加1,用户不可访问PC,单片机复位时,PC指向0000H,程序从0地址开始执行。注意PC所取的内容为所取指令的地址,程序存储器按照此地址输出指令字节

PC中内容变化轨迹决定程序流程

注:PC为16,这也是为什么外部是64K程序存储器的原因。

2.单片机的存储器结构(AT89S51)

结构特点之一是哈佛结构,有各自的访问指令

注:外部有个数据存储器,还有程序存储器空间,他俩是相互独立的结构,这叫哈佛结构,如果是混在一起的,需要自己来区分,这种结构叫做普林斯顿结构。

51单片机存储器空间分4类

1).程序存储器空间
分为片内和片外两部分。片内4KB Flash ,编程和擦除完全是电气实现。可用通用编程器对其编程,也可在线编程。

注:当片内4KB Flash存储器不够用时,可外扩,最多可扩展至64K。

但当EA引脚接高电平时,片内最低为4K,外面最多能扩60K。

2).数据存储器空间
分为片内与片外两部分
片内有128字节RAM(52子系列为256字节)片内RAM 不够用时,在片外可扩展至64KBRAM。

注:片内和片外地址是一样的,但他们不会发生数据冲突,因为访问内部RAM和外部RAM使用的是不同的指令。

3).特殊功能寄存器SFR(重要,必须要了解各个位的功能)

各功能部件的控制寄存器及状态寄存器。SFR综合反映了整个单片机基本系统内部实际的工作状态及工作方式。

4).位地址空间
211个可寻址位。片内RAM(共128位)+SFR区(共83位)

注:

什么叫位地址空间:利用51单片机的位操作指令,对他进行置1、清0、求补等,只对这一位进行操作。

(1)程序存储器空间

存程序和表格的固定常数。片内为4KB的FIash,地址为0000H~0FFFH。16位地址线,外扩的程序存储器空间最大为64KB地址为0000H~FFFFH。

注:程序存储器要外扩,必须有16位地址线可以访问,这16位是P0口发低8位地址,P2口发高8位地址,这样可以对外部程序存储器进行寻址。具体外面可以扩多少与EA引脚的接法有关。

注:程序存储器有5个固定中断源的中断入口,这5个单元地址是固定的:

?注:每两个中断源之间差8个单元,但是由于编的程序,8个单元往往不够,所以在这里放跳转指令。不能在这里乱放指令,只能放跳转指令或中断服务程序。这5个中断入口是程序存储器里面的对应的5个中断源的中断入口。

文章来源:https://blog.csdn.net/2401_82720146/article/details/135717352
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。