对于51系列单片机的一些知识的总结

51系列单片机总结

简介

最早由Intel推出的8位单片机,是一款入门级的单片机,有着诸多的衍生型号,比如宏晶公司的STC89C52,西门子的SAB-C501,飞利浦的S87C645等。

在单片机内部封装了中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O口),串行端口、中断控制、计时器。

详细介绍:

Wiki百科

百度百科)

内存架构

51单片机有四种不同的存储器类型:内部RAM,特殊功能寄存器,程序存储器和外部数据存储器。

内部RAM

内部RAM(IRAM)具有一个8位的地址空间,使用地址0至0xFF。可以使用指令的8位绝对地址直接访问从0x00到0x7F的IRAM。

特殊功能寄存器

特殊功能寄存器(SFR)与IRAM位于相同的地址空间,地址为0x80至0xFF,并可以使用与IRAM下半部分相同的指令直接访问。

程序存储器

程序存储器(PMEM,虽然在用法上不如IRAM和XRAM常见)最大容量为64 KB的只读存储器,用作存放单片机运行的指令代码,在一些型号中使用的是Flash,以提供在系统或应用程序内对存储器编程的方法。

外部数据存储器

外部数据存储器(XRAM)具有16位的地址空间。它也可以在单片机内部或单片机外部,但是使它“外部”的原因是必须使用MOVX(移动外部)指令对其进行访问。8051的许多变体包括标准的256字节IRAM和片上XKB几千字节。

编程方法

一般是寄存器编程,通过修改寄存器的值来实现使用单片机的引脚、定时器、串行端口等功能,而对于一些其它的现代的单片机因为寄存器数量巨大,要记住如此多的寄存器显然不现实,于是单片机厂商一般会提供一份函数库,借助厂商的函数库我们通过调用函数就可以简单的使用单片机的各种功能。

功能

定时器

对于51系列单片机,其内部有两个16位的定时器,其中每个定时器有四种计时方式(通过TMOD设置计时方式)。震荡脉冲经过12分频器,每个周期都将使得定时器的计数加一,当定时器计数溢出时,触发中断,然后根据所选的工作方式由软件或是硬件将计数重置,然后硬件将清除中断标志位。

四种计时方式:

方式0(TMOD=0x0):13位定时/计数模式
方式1(TMOD=0x1):16位定时/计数模式
方式2(TMOD=0x2):8位自动重装初值定时/计数模式
方式3(TMOD=0x3):T0定时器分成两个独立的8位的定时器,T1不工作

中断

51单片机的中断服务函数通过interrupt关键字和中断号定义,中断号表示该中断函数所对应处理的中断源(51单片机有5个中断源:外部中断0,定时器T0中断、····)。

中断优先级:51单片机有两级中断优先级,优先级可以通过IP寄存器进行设置,并且51单片机可以实现二级中断嵌套。

中断源中断号中断标志中断服务程序入口优先级
外部中断0(INT0)0IE00x0003
定时器0(T0)1TF00x000B
外部中断1(INT1)2IE10x0013
定时器1(T1)3TF10x001B
串行口4RI或TI0x0023

串行通信

串行通信是一种数据传输方式,通信双方逐位的接收和发送数据,优点是通信双方数据交换的连接线数目少。

串行通信分为同步通信和异步通信:

  • 同步通信:需要通信双方拥有相同的波特率,通信效率高,单次数据传输无最大限制。
  • 异步通信:每次通信只能发送一个字符,通信过程中将字符和起始位、停止位、奇偶校验位一起逐位的发送,单次数据传输最多只能传输一个字节。

参考链接:

串口通信-博客园

通信协议-CSDN

Last modification:July 12th, 2020 at 06:40 pm