赞
踩
51单片机的结构框图如下所示
51单片机主要组成部件有:
单片机内部的详细组件图如下所示
看上图似乎非常的复杂,不过主要分为四大部分,如下图不同颜色框出来的所示
单片机中执行的程序先保存在存储单元中,然后才能被执行,因此先对单片机中的存储单元结构进行介绍。
51单片机的存储单元结构如下:
从单片机执行程序角度看,51单片机的存储系统实际上分为3个存储空间
ROM中存储的是程序,常量或者表格等,当执行程序时,由EA引脚的电平来决定是从片内ROM中取指令执行还是从片外ROM中取指令执行。
EA = 1时,CPU执行片内ROM中的程序
EA = 0时,CPU执行片外ROM中的程序
无论从片内ROM还是片外ROM中的程序,都是从ROM的地址0000H处开始执行。
注
虽然系统可能同时具备片内ROM和外部ROM,但是在一般正常使用时,通过/EA引脚的电平来选择其一(或者使用内部ROM,或者使用外部ROM)。
由于片内ROM的大小是4KB,那么当程序大小超过4KB时,有如下两种使用ROM的方式
如下图所示
需要特别注意的地方时, ROM中有6个地址空间位置具有特定的功能
向量入口地址,指的是当中断产生时,调用的入口函数所在的存储位置。
因此,程序在ROM中布局结构如下图
从上图可知,单片机在上电开机或者复位后的第一条指令存储在0000H地址处,该地址处的指令是一条跳转指令,直接跳转到0100H地址处, 而0100H地址处才是真正的主程序入口地址。
51单片机有一个全双工的串行口,简称串口,串口内部结构如下图所示
串行口对外有两个引脚:
结构图中模块介绍:
波特率发生器:
串口数据的发送和接收都是在时钟控制下进行的,每秒发送的比特数称为波特率(baud rate),单位为bps。常见的波特率有2400bps, 4800bps, 9600bps,115200bps。波特率越高,数据传输速率越快。
注意: 串口是异步通信,收发双方独自使用自己的时钟,因此要求双方波特率必须设置一致,一般情况下,波特率相差不能超过2%,否则无法正确发送/收到数据,导致出现乱码。
串行口控制寄存器(SCON):
用于控制串行口的工作方式等。
发送缓存SBUF:
用于缓存待发送的字节
接收缓存SBUF:
用于缓存已接收到的字节
移位控制器:
在波特率的时钟控制下,把RxD引脚上的电平信号(0/1)通过移位寄存器保存到SBUF中
TI标志位:
用于指示一帧数据是否发送完成,1表示发送完成。
RI标志位:
用于指示是否接收到数据,1表示接收到一帧数据,当接收到数据后,必须由软件及时清零RI,否则无法接收下一帧数据,会导致数据丢弃的情况。
注意: TI和RI均需要软件进行清零。
串口发送流程如下:
串口接收流程如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。