单片机学习小组
直播中

斗地主之神

8年用户 840经验值
擅长:嵌入式技术
私信 关注

一文详解MCS-51单片机

MCS-51单片机的硬件结构是由哪些部分组成的?
MCS-51单片机的引脚功能有哪些呢?




回帖(1)

李晓龙

2022-1-26 15:21:12

  • 8大部件,单一总线:微处理器、数据存储器、程序存储器、I/O口(P0-P3)、特殊功能寄存器、中断系统、定时/计数器、串行口
  • P0-P3是4个8位并行I/O口,其中P0口数据地址分时复用,要特别注意
  • 串行口是全双工异步串行的,可以同时输入和输出
  • 51系列有2个16位定时/计数器,52系列有3个
  • 51系列有5个中断源,2个优先级
  • 51系列一共有21个特殊功能寄存器
  • 双列直插只能背面焊接,方形封装有4个NC引脚是无用的,可以表面焊接,但是双列直插用得比较多,因为更适合插仿真头

  • 外接晶振的时候,如果是无源晶振,需要和内部震荡器共振,需要接XTAL1和XTAL2,有源晶振自带振荡器,只需要接XTAL2,此时XTAL1接地
  • ALE是用于地址锁存允许,P0用于传输地址时,需要在该引脚输出脉冲的下跳沿,作为地址锁存允许信号,当P0用于传输数据时不输出下跳沿
  • 虽然P0/P2口可以作为I/O口,但是最好还是先把他们当作数据地址总线,因为许多仿真软件确实只把它们当成数据地址总线。P1口完全面向用户,所以需要I/O口时,应该优先考虑P1。P3口有其它复用功能,当没有使用到它的其它功能时,可以和P1等效使用。
  • P3口的特殊功能引脚如下:其中,当对单片机外扩设备时,除了外扩数据存储器,还有其它一些外壳设备如AD-DA转换器等,51单片机把这些外扩设备都当成外部数据存储器,所以需要通过P3.6和P3.7进行读和写。当没有外扩设备时,可以把P3.6和P3.7当成普通I/O口使用来检测按键输入或者输出信号等,但是有些仿真系统不支持,它就把P3.6和P3.7当成单纯的WR、RD口,所以我们也要尽量避免将P3.6和P3.7D当作I/O来使用
  • 因为51单片机的ALU通常只与A交换数据,所以成为程序运行速度的瓶颈,新一代的单片机已经没有这个问题,其它的RAM也可以和ALU 交换数据

  • PSW.1位是给厂家预留的,对于用户没有什么用

  • 51系列的单片机采取的是哈佛结构,即程序存储器和数据存储器单独编址,所以如果说存储器为64K,指的是程序存储器或者数据存储器为64K。现在许多其它的单片机采取冯诺依曼结构,程序存储器和数据存储器共同编址,所以64K指的是程序和数据存储器和为64K。此外,51系列单片机是把I/O口和片外RAM统一编址的。这就意味着,如果你片外扩张了64K的RAM,那么你已经没有空间给I/O口了

  • 位寻址区一般存放用户自定义的状态变量,通用RAM区一般作为堆栈区和数据缓冲区(存放运算中的一些中间结果)使用

  • 存放常数是为了节约RAM空间,51单片机对ROM查表的支持较好。5种中断源处理时的第一条指令必须放在中断入口地址所指向ROM,并且在第二或三条指令加一条跳转指令(因为不够放,要跳转到别的地方去)。并且注意主程序不要写到这个区间来,所以0000H的程序启动地址应该是放一条跳转指令,跳转到0023H后面的后面去,一般是0060H之后。
  • 51的特殊功能寄存器一共只有21个字节,离散地分布在128个字节的RAM区域,剩下的128-21=107个字节由厂家保留,不允许用户使用,后来的单片机慢慢拓展特殊功能寄存器的数量,有更多的功能,但也是在这128个字节的区域中。此外,对于SFR中字节地址末位为0H或者8H的特殊功能寄存器,支持按位寻址,其它只能按字节寻址
  • 保护断点指的是对PC的值压栈,现场保护指的是对寄存器的值压栈。复位后SP的值为07H,如果不改写,堆栈的时候就会占用工作寄存器的空间,所以复位后需要改写SP的值,一般赋值为60H,放到内部RAM区的高位区去;对于DPTR,一般用来指示片外RAM的地址,当不这么用时,可以当作两个8位寄存器来暂存数据;对DPTR有专门的16位的操作

  • 51单片机有211个寻址位,其中128个位于位寻址区,83个位于SFR,位寻址区的字节地址和位地址如下:操作字节的时候应该用字节地址,操作位的时候用位地址,切注意此处字节地址并非首位的位地址


  • 52系列单片机的内部存储空间如下所示,主要区别在于内部多了128个字节的RAM,其它的地方都一样。但是SFR和多出来128字节的RAM的地址是重叠的,为了解决这个问题,要求对SFR采取直接寻址而对多出来的RAM采取间接寻址。

举报

更多回帖

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