单片机的结构和原理说明

8051是mcs-51系列单片机的非常典型的产品,我们用这一个代表性的型号进行系统的单片机原理讲解。
8051单片机包含中央处理器、数据存储器(ram)、定时/计数器、程序存储器(rom)、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别对其原理加以说明:
·数据存储器(ram):
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
·中央处理器:
中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。了解中央处理器cpu对于弄懂单片机原理非常的重要。
·程序存储器(rom):
8051共有4096个8位掩膜rom,用于存放用户程序,原始数据或表格。
·全双工串行口:
8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
·时钟电路:
8051内置最高频率达12mhz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
·并行输入输出(i/o)口:
8051共有4组8位i/o口(p0、 p1、p2或p3),用于对外部数据的传输。
·定时/计数器(rom):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
单片机原理有两种,一种是程序存储器和数据存储器分开的形式,即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(princeton)结构。intel的mcs-51系列单片机采用的是哈佛结构的形式,而后续产品16位的mcs-96系列单片机则采用普林斯顿结构。
下图是mcs-51单片机原理图。
■ mcs-51单片机的关键引脚说明:
mcs-51系列单片机中的8031、8051及8751均采用40pin封装的双列直接dip结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个i/o口,中断口线与p3口线复用。现在我们对这些引脚的功能加以说明:
·pin20:接地脚。
·pin40:正电源脚,正常工作或对片内eprom烧写程序时,接+5v电源。
·pin19:时钟xtal1脚,片内振荡电路的输入端。
·pin18:时钟xtal2脚,片内振荡电路的输出端。
8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12mhz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将xtal1接地,外部时钟信号从xtal2脚输入。
·输入输出(i/o)引脚:
pin39-pin32为p0.0-p0.7输入输出脚,pin1-pin1为p1.0-p1.7输入输出脚,pin21-pin28为p2.0-p2.7输入输出脚,pin10-pin17为p3.0-p3.7输入输出脚,这些输入输出脚的功能说明将在以下内容阐述。
·pin9:reset/vpd复位信号复用脚,当8051通电,时钟电路开始工作,在reset引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器pc指向0000h,p0-p3输出口全部为高电平,堆栈指钟写入07h,其它专用寄存器被清“0”。reset由高电平下降为低电平后,系统即从0000h地址开始执行程序。然而,初始复位不改变ram(包括工作寄存器r0-r7)的状态,8051的初始态如下表:
8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,reset/vpd还是一复用脚,vcc掉电其间,此脚可接上备用电源,以保证单片机内部ram的数据不丢失。
·pin31:ea/vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kb的程序存储器,当ea为高电平并且程序地址小于4kb时,读取内部程序存储器指令数据,而超过4kb地址则读取外部指令数据。如ea为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,ea端必须接地。
在编程时,ea/vpp脚还需加上21v的编程电压。
·pin30:ale/当访问外部程序器时,ale(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ale端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ale会跳过一个脉冲。
如果单片机是eprom,在编程其间,将用于输入编程脉冲。
·pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,pc的16位地址数据将出现在p0和p2口上,外部程序存储器则把指令数据放到p0口上,由cpu读入并执行。

奥地利微电子推出新型双路、超低电压噪声LDO AS1374
“炭”和“碳”有何区别?炭素和石墨有何区别?
RVCL如何弥补RISC-V在计算领域的生态差距?
12W排插电源芯片U6773V兼容性强
Rivian或在2024年接入特斯拉充电网络
单片机的结构和原理说明
称微软10亿巨资投WinMo表明不会收购Palm
自动驾驶技术有哪些
Qualcomm荣获“2017-2018年度致敬新时代-中国受尊敬企业”奖项
NV170D语音芯片让智能锁更人性化!
什么是CPU扩展总线速度/Register Pressure
华为高颜值千元神机发布,荣耀8青春版深度评测
teamviewer工作原理是什么
作为新能源汽车的重要发展之一 氢燃料电池汽车频繁出现在大众视线
openharmony ace开源项目
基于代码无法重用的详细分析
运放-2. 基础知识
激光熔覆技术在煤矿用截齿上的应用
【世说设计】DC-DC转换器是否必须同步才能实现低辐射?
中微半导推出工业级MCU BAT32G113,芯片工作温度-40~125℃