提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:注意注意,此篇长文警告
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
一、单片机的基本组成与内部结构
此文以Atmel公司的AT89S51为例,介绍单片机的基本组成、内部结构和引脚功能。
- 单片机的基本组成与内部结构·
AT89S51单片机基本组成功能框图如2-1图所示。单片机内部集成了一台微型计算机的各个主要部件,包括CPU、存储器、可编程I/O口、定时器/计数器、中断控制、串行口等,各部分通过内部总线相连。图中的P0、P1、P2、P3为4个可编程的输入/输出端口,TXD、RXD为串行口的输入、输出端。
此外AT89S51的内部结构图如2-2图所示.在单片机内部,除了有CPU、RAM、RON定时器、串行口等主要功能部件之外,还有驱动器、锁存器、指令寄存器、地址寄存器等辅助电路部分。由图2-2还可以看出各功能模块在单片机的位置和相互关系。
-
[1] 中央处理器(CPU)
中央处理器是单片机最核心的部分,主要完成运算和控制功能,这一点与通用微处理器基本相同,只是它的控制功能更强。80C51系列的CPU是一个字长为8的中央处理单元,它对数据的处理是以字节为单位运行的。 -
[2] 数据存储器(内部RAM)
数据存储器用于存放变化的数据。在80C51单片机中,通常把控制与管理寄存器在逻辑上划分在内部RAM中,因为其地址与RAM是连续的。在AT89S51中,数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。AT89S52供用户使用的数据存储器比51多128个,共256个。 -
[3] 程序存储器(内部ROM)
程序存储器用于存放程序和固定的常数等,通常采用只读存储器。只读存储器有多种类型,在AT89系列单片机中全部采用闪存。AT89S51内部配置了4KB闪存,52配置了8KB闪存。 -
[4] 定时器/计数器
定时器/计数器用于实现定时和计数功能。AT89S51共有2个16位定时器/计数器,52共有3 个16位。 -
[5] 并行I/O口
并行I/O口主要用于实现外部设备中数据的并行输入/输出,有些I/O口还有其他多种功能。AT89S51/52共有4个8位I/O口。 -
[6] 串行口
AT89S51/52有一个UART全双工异步串行口,用于实现和其他具有相应接口的设备之间的异步串行数据传送。AT89S51/52还有一个ISP全双工同步串行口,用于实现串行在线下载程序。 -
[7] 时钟电路
时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。AT89S51/52单片机内部有时钟电路,但晶振和微调电容需要外接。 -
[8] 中断系统
中断系统的主要作用是对外部或内部的中断请求进行管理和处理。AT89S51/52的中断系统可以满足一般控制应用的需要。AT89S51共有5中断源,其中有两个外部中断源: I N T 0 ‾ \overline{INT0} INT0和 I N T 1 ‾ \overline{INT1} INT1;有3个内部中断源,即2个定时/计数中断和1个串行口中断。此外AT89S52增加了一个定时器2的中断源。
- 单片机的引脚功能
AT89S51/52单片机实际有效的引脚为40个。为了尽可能减少引脚数,AT89S51/52单片机的部分引脚具有第二功能,也称为复用功能。 AT89S51/52单片机引脚图如下所示:
下面我们一起来看看它的各个引脚及功能
- [1]主电源引脚GND VCC
GND:接地 VCC:电源输入,接+5V电源 - [2]时钟电路引脚XTAL1和XTAL2
XTAL1:接外部晶体的一端。它是片内振荡器反向放大器的输入端。在采用外部时钟时,外部时钟振荡信号直接送入此引脚,作为驱动端。
XTAL2:接外部晶体的另一端。它是片内振荡器反向放大器的输出端,振荡电路的频率是晶体振荡频率。若采用外部时钟电路,此角悬空不用。 - [3] 控制信号引脚
R
S
T
RST
RST、
A
L
E
ALE
ALE/
P
R
O
G
‾
\overline{PROG}
PROG、
P
S
E
N
‾
\overline{PSEN}
PSEN、
E
A
‾
\overline{EA}
EA/
V
P
P
VPP
VPP
1)RST:
复位输入端。在该脚输入2个机器周期以上的高电平,将使单片机复位。
2) A L E ALE ALE/ P R O G ‾ \overline{PROG} PROG:
地址锁存允许输出/编程脉冲输入端。这个引脚具有2种功能。在访问片外存储器时,ALE作为锁存扩展地址低位字节的输出控制信号(称允许锁存地址),平时不访问片外存储器时,该端也以1/6的时钟振荡频率固定输出正脉冲,供定时器或其他器件设备使用。AEL端的负载驱动能力为8个LSTTL。对片内存储器编程(固化)时,该引脚用于输入编程脉冲,此时为低电平有效。
3) P S E N ‾ \overline{PSEN} PSEN:
片外程序存储器选通控制信号端。在访问片外存储器时,此端输出负脉冲作为程序存储器读选通信号。CPU在向片外程序存储器取指令期间, P S E N ‾ \overline{PSEN} PSEN信号在12个时钟周期中2次生效。不过,在访问片外数据存储时,这2次有效的 P S E N ‾ \overline{PSEN} PSEN信号不出现。 P S E N ‾ \overline{PSEN} PSEN端同样可驱动8个LSTTL负载。
4) E A ‾ \overline{EA} EA/ V P P VPP VPP:
此端口为内、外程序存储选择/编程电源的输入端。它具有2种功能。当 E A ‾ \overline{EA} EA端接高电平时,CPU从片内程序存储地址0000H单元开始执行程序。当地址超出4KB(52是8KB)时,将自动执行片外程序存储器的程序;当 E A ‾ \overline{EA} EA端接低电平时,CPU仅访问片外程序存储器,即CPU直接从片外0000H开始执行程序。在对闪存编程时,该引脚用于施加编程电压 V P P VPP VPP。80C51根据型号不同有多种编程电压,有5V、12V、15V。 - [4] 输入/输出引脚:
P0~P3是51/52单片机与外界联系的4个8位双向并行I/O口。
1)P0.0~P0.7:
P0的8个引脚,在访问片外片外存储器时,它分时提供低8位地址和8位数据,故又可简称为AD0~AD7。当不作为总线时,也可作为普通I/O口使用。
2)P1.0~P1.7:
P1的8个引脚。51/52单片机的P1口除了可以作为一般I/O口,其中5位还有第二功能。列表如下:
P1口 | 第二功能的名称及作用 |
---|---|
P1.0 | T2(定时器/计数器2的外部计数输入/时钟输出) |
P1.1 | T2EX(定时器/计数器2的捕获触发和双向控制) |
P1.5 | MOSI(主机输出线,用于在系统编程) |
P1.6 | MISO(主机输入线,用于在系统编程) |
P1.7 | SCK(串行时钟线,用于在系统编程) |
总结
今天也是加油的一天