8051内核单片机原理及汇编(一):宏观硬件及PIN脚
成就最好的自己
8051单片机为较为早期的8位单片机内核之一,因其内部结构简单资源较少,现今在尖端控制领域已基本没有用武之地,但在高等院校教学,学生实践,简单控制领域受众广泛;本系列主要以AT89S51为例(实质都是一毛一样滴),用最通俗易懂的方式讲解8051内核系列单片机。
/***********************************************************************************************************************************************/
计算机的存储方式:
计算机在运行过程中需要程序并产生数据,程序在运行过程中一般很少变动,而产生的数据是可变的,先说一下计算机对于程序和数据的两种存储方式:
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
冯·诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。它的主要特点是将程序和数据存储在同一个逻辑的存储空间中,只是物理空间的不同(比如你电脑的内存条和主板的BIOS),即统一编址,统一访问。
本文使用的8051内核使用的就是哈佛结构。
介绍一下祖孙关系和公司:
都是Intel公司推出的MCS系列的内核
8031内部包括1个8位CPU、128B RAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,5个中断源,但片内无程序存储器,需外扩程序存储器芯片。
8051是在8031的基础上,片内又集成有4KB ROM作为程序存储器。是一个程序不超过4KB的小系统。ROM内的程序是制作芯片时,代为用户烧制的。主要用在程序已定且批量大的产品中。
8751与8051相比,片内的4KB EPROM取代了8051的4KB ROM来作为程序存储器。
总的来说就是增加内部的资源(空间大小等)罢了,核心没什么变化,而且在指令集,内部寄存器,PIN脚上保持上下兼容(注意下图的PIN脚)。
/**********************************************************华丽的分割线****************************************************************/
下面给出AT89S51的结构和PIN脚图:
(1)8位微处理器(CPU)。
(2)数据存储器(128B RAM)。
(3)程序存储器(4KB FLASH ROM)。
(4)4个8位可编程并行I/O口(PO口、Pl口、P2口和P3口)。
(5)1个全双工的异步串行口。
(6)2个可编程的16位定时器/计数器。
(7)1个看门狗定时器。
(8)中断系统具有5个中断源、5个中断向量。
(9)特殊功能寄存器(SFR) 26个。
(10)低功耗节电模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式。
计算机3总线原则:
地址总线:进行空间及外设的选择;
控制总线:对某个空间或设备进行控制操作;
数据总线:传输数据(并行);
因为地址总线宽度是16位,所以8051单片机的最大寻址空间是64k;
因为CPU是8位的,一次运算处理8位,所以数据总线宽度是8位,一次可传输8位二进制数(1Byte);
8051单片机的控制总线包括读控制信号P3.7 和写控制信号P3.6 等,二者分别作为总线模式下数据读和数据写的使能信号;
各个PIN脚功能介绍
1、主电源引脚(2根)——提供电源
VCC(Pin40):电源输入,接+5V电源
GND(Pin20):接地线
2、外接晶振引脚(2根)——提供时钟节拍
XTAL1(Pin19):片内振荡电路的输入端
XTAL2(Pin20):片内振荡电路的输出端
3、控制引脚(4根)————控制外设
RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号
PSEN(Pin29):外部存储器读选通信号
EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4、可编程输入/输出引脚(32根)
AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根,每一根引脚都可以编程;
P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7