嵌入式开发 2 - 微处理器结构

1、引脚定义

  • VCC:PIN 40 ---- 电源正端 为+5V
  • VSS:PIN 20 ---- 电源地端
  • RESET : PIN9 ---- 复位引脚。当晶体振荡器运行时,只要在这个引脚出现两个机器周期的高电平,就可以使单片机复位。
  • PIN9引脚内部有下拉电阻,用户只要在VCC和该引脚之间接电容,就可实现上电复位。
  • XTAL1(PIN19)XTAL2(PIN18):外接晶振引脚
  • XTAL1:内部振荡电路反相放大器的输入端。当采用外部振荡器时,此引脚应接地。
  • XTAL2:内部振荡器电路反相放大器的输出端,采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。

2、8051的微处理器
8051的微处理器有运算器控制器构成
运算器:主要用来对操作数进行算珠、逻辑运算和位操作,主要包括算数逻辑单元ALU、累加器A、寄存器B、位处理器、程序状态寄存器PSW以及BCD码修正电路等
控制器:单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。
MCS-51指令执行顺序:取指->译码->执行

3、8051存储器的结构
8051存储器采用的是哈佛结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有自己的寻址方式、寻址空间和控制系统。
8051程序存储器:用于存放应用程序和表格之类的固定常数。可扩充的程序存储器空间最大为64K字节。程序存储器空间可分为片内和片外两部分,其操作速度相同。引脚高电平执行片内、低电平片外。
8051单片机复位后,程序计数器PC的内容为0000H,故系统从0000H单元开始取指令,执行程序。
8051内部数据存储器:片内数据存储器单元共有128个,字节地址为00H-7FH。
地址为00H-1FH的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,编号位R7-R0
地址为20H-2FH的16个单元可进行共128位的位寻址
地址为30H-3FH的单元为用户RAM区,只能进行字节寻址
特殊功能寄存器SFR:总数为21个,离散的分布在80H-0FFH区域中
堆栈指针SP
堆栈指针SP的内容指示出堆栈顶部在内部RAM块中的位置。它可指向内部RAM 00H-7FH 的任何单元。
单片机复位后,SP中的内容为07H,即指向07H的RAM单元,使得堆栈事实上由08H单元开始。考虑到08H-1FH单元分别属于1-3组的工作寄存器区,若在程序设计中要用到这些区,最好把SP值改为1FH或更大的值。8051共4个工作寄存器区(00-1F)。

堆栈的操作

  • 堆栈操作:数据压入(PUSH)堆栈、数据弹出(POP)堆栈
  • PUSH:SP自动加1后,一个字节数据压入堆栈;
  • POP:一个字节数据弹出堆栈后,SP自动减1
  • SP=60H,CPU执行一条子程序调用指令或响应中断后,PC内容(断点)进栈,PC的低8位PCL压入到61H单元,PC的高8位PCH压入到62H,此时,SP=62H.

数据指针DPTR

  • 16位的SFR
  • 高位字节寄存器用DPH表示
  • 低位字节寄存器用DPL表示
  • DPTR即可以作为一个16位寄存器DPTR来用,也可以作为两个独立的8位寄存器DPH和DPL来用。

端口P0~P3

  • 特殊功能寄存器P0~P3分别位I/O端口P0-P3的锁存器,即每一个8位I/O口都为RAM的一个单元(8位)
  • 在8051单片机中,I/O口和RAM统一编制,使用起来较为方便,所有访问RAM单元的指令,都可以用来访问I/O口。

串行数据缓冲器SBUF
用于存放发送或已接受的数据,他在SFR中只有一个字节地址,但物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器,当要发送的数据传送到SBUF时,进的是发送缓冲器;接收时,外部来的数据存入接收缓冲器。

定时器/计数器

  • 8051单片机有两个16位定时器/计数器T0和T1

3、位地址空间
8051单片机指令系统中有丰富的位操作指令,这些指令构成了位处理机的指令集。在RAM和SFR中共有211个位地址,位地址范围在00H-FFH内(256),其中00H-8FH这128个位处于内部RAM字节地址20H-2FH单元中。其余的83个可寻址位分布在特殊功能寄存器SFR中。

4、外部数据存储器
8051单片机内部有128个字节的RAM作为数据存储器,当需要外扩时,最多可外扩64K字节的RAM或I/O。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值