单片机交流
直播中

王婷

7年用户 977经验值
私信 关注
[问答]

51单片机系统的结构是由哪些部分组成的

什么是单片机
51单片机系统的结构是由哪些部分组成的?

回帖(1)

王颖

2021-10-22 14:42:06
  1、单片机:计算机系统向“小”和“满足应用需要”方向发展的产物
  2、单片机继续在技术支持下向“小而强”和“面向应用需要”方向发展,形成各种各样的的单片机系统
  3、单片机小而强对应于嵌入式控制为主(MCU类)、SOC
  4、单片机系统与通用计算机系统有很多共同的地方
  5、51单片机系统结构:
  a、资源:并口P1P2P3,串口,中断,定时器(与计数器实质相同)
  b、可以抽象为总线+存储(ROM+RAM)+定时器+串口+并口+中断控制+51核(运算器+控制器+IR+PC)
  
  c、系统扩展接口:
  ①、P2、P0、P3是并口,但可以复用,作为拓展
  ②、51是一个8位的计算机,说明CPU里面每次参与运算的数据是8位。一般来讲CPU和总线的宽度是一致的,但不是每次。
  d、数据线(D7…D0)与低八位地址线(A7…A0)分时复用,同时与P0口引脚复用。低八位地址在ALE下降沿锁存到373
  e、程序存储器与数据存储器/IO访问由PSEN控制
  f、每个机器周期=12个时钟周期,单个操作需要机器周期1/2/4
  假设S1为晶体周期,首先P0送地址,然后取出指令的地址,分别给P2和P0,然后取出指令(P0),此时由于译码不需要时间,所以可以同时得到指令译码结果,然后从指令译码结果中取出数据地址,分别给P2和P0,然后读数据(P0),传递给相应的位置(指令译码导致信号变化),至此这一指令执行完毕。
  
  g、流水线:取指、译码、执行可以同时进行
  6、地址MAP层面:
  a、CPU、存储器、IO等单元对象的形式化、规范化标识问题
  b、编址:每个单元赋予一个地址码
  c、编制方法:地址码如何编写。常见的有:
  ①、存储器与IO分别编址,如8088
  ②、存储器与IO地址统一编址,如ARM、多数嵌入式CPU
  编址方法对存储器/IO的读写速度有影响,对指令集也有影响
  d、寻址:地址在机器指令中的表达方法
  e、常见寻址方法:
  ①、立即数寻址
  ②、寄存器寻址
  ③、寄存器间接寻址
  ④、直接寻址
  ⑤、相对寻址
  ⑥、基址+变址间接寻址
  7、X86编址:
  a、CPU:intel 8086/80286
  b、编址方法:IO编址与存储器独立编址
  c、存储器地址:1M地址空间(1b/地址,20根地址线)
  d、IO编址:1K地址空间(10根地址线)
  e、IO地址安排:
  系统板(主板)000h-1FFh,给每一个IO接口都有一个端口地址
  扩展板(插槽)200h-3FFh
  8、51编址:
  a、BD:8b(数据总线宽度8,CPU也是8)
  b、AD:16b(地址范围为0-216)
  c、编制方法:分片存储器与IO统一编址,即地址map
  
  程序存储器ROM:0-65535(FFFFh)装程序的
  片内数据存储器IO:0-255(FFh)内存,可以有两种寻址方式(上图)
  片外数据存储器IO:0-65535(FFFFh)外存,冯氏里就是一个IO设备
  区分:三种指令(三位邮递员MOVC、MOV、MOVX),通过指令集的不同来访问不同的地址空间。
  d、程序存储器:
  只读(ROM)、存储程序和固定数据等,不能写
  七个特殊单元(标准51)
  0000H:程序复位地址,上电后计算机先来这里执行
  0003H:外部中断0入口地址
  000BH:定时/计数器0入口地址
  0013H:外部中断1入口地址
  001BH:定时/计数器1入口地址
  0023H:串行口中断入口地址
  002BH:定时/计数器2入口地址(52系列)
  e、片外存储器IO:
  用MOVX指令访问
  系统可扩展的片外资源:用户可根据MCS51总线规则,对数据进行各种各样的扩展
  片内片外可以改变,及他们可以集成到片内,但逻辑上不同于MOV访问的RAM
  f、片内RAM(MOV访问的RAM)
  00-7FH(80H-FFH)共128/256单元,需拓展,拓展的部分需要间接寻址
  工作寄存器区:00-1F,32单元
  位寻址区:20-2F,16单元
  通用:30-7F(FF),80(208)单元,就是内存
  g、工作寄存器区
  分四组:0-3
  每组工作寄存器名:R0-R7
  Rn在系统中的特殊地位和使用
  h、位寻址区
  16字节、128位
  位地址:00-7FH
  位寻址区的特殊作用
  i、片内资源(CPU、IO)—SFR,特殊功能寄存器。COU的地址,IO的地址
  SFR占用地址:80-FFH。就是磁头和输入输出。
  标准51的SFR共21个字节,52为26个
  标准51的21个SFR:
  ①、与CPU工作或状态相关(6个),CPU抽象出来就是这6个寄存器,但还有一个PC,但由于程序不需要进行访问,所以不用给地址:
  A:累加器,算术运算和逻辑运算都要用
  B:B寄存器,运算中产生溢出时需要辅助A
  PSW:程序状态字,表示程序运行的状态(C、AC、F0、RS1、RS0、OV-P),其中RS1和RS0选择四组工作寄存器中的哪一组
  SP:堆栈指针,但51里面只有堆,用来管理内存单元
  DPH:数据指针(高)
  DPL:数据指针(低)DPTR=DPH+DPL
  ②、与片内IO资源(功能部件)相关(15个):
  定时器:TCON,TMOD,TH1,TL1,TH0,TL0
  并口:P0、P1、P2、P3
  串口:SBUF、SCON
  中断:IE,IP
  电源管理:PCON,可以休眠
  j、特殊功能寄存器名:编址时,可以用21个特殊功能寄存器(SFR)的名字代替其地址。
  k、位地址、位名称:特殊功能寄存器中的有些位赋予了位名称,有些赋予了位地址(80-FFH范围内)。只有那些有位地址的位才能进行位操作,此时他的位名称(如果有)代替其位地址。有些寄存器有寄存器的名称和地址,其中的某些位可能有位名称(变量,字母)或位地址(数字)。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分