《2_mcs-51系列单片机组成及工作原理》由会员分享,可在线阅读,更多相关《2_mcs-51系列单片机组成及工作原理(34页珍藏版)》请在金锄头文库上搜索。
1、单片机概述 单片机,即集成在一块芯片上的计算机,集成了中央处理器CPU( Central Processing Unit)、随机存储器RAM(Random Access Memory)、只读存储器(Read Only Memory)、定时器/计数器以 及I/O接口电路等主要计算机部件。单片微型计算机(Single Chip Computer),简称单片机,也可称为微控制器 MCU(Micro controller Unit)。主要有Intel公司的MCS48,51,96系列单片机;Motorola公 司的MC6801,6805系列单片机;Zilog公司的Z8系列单片机; 近年有Atmel公司的
2、AT89系列单片机和Microchip公司的PIC系 列单片机等。单片机发展概况各种系列的单片机由于其内部功能、单元组成及指令系统的不 尽相同,形成了各具特色的系列产品。其中Intel公司生产的 MCS系列单片机目前仍占主导地位。 从1976年9月Intel公司推出MCS48系列单片机以来,世界上 的一些著名的器件公司都纷纷推出各自系列的单片机产品。n1976-1978 初级8位单片机 Intel MCS-48 系列n1978- 高档8位单片机 Intel MCS-51系列:n-51子系列:8031/8051/8751n-52子系列:8032/8052/8752n低功耗型80C31高性能型80
3、C252廉价型89C2051/1051Intel 单片机n1983- 16位单片机 Intel MCS-96 系列 8098/8096、80C198/80C196n32位单片机 8096051系列单片机分类51系列单片机源于Intel公司的MCS51系列,在Intel公司将MCS51 系列单片机实行技术开放政策之后,许多公司,如Philips、Dallas、 Siemens、Atmel、华邦、LG等都以MCS51中的基础结构8051为基 核推出了许多各具特色、具有优异性能的单片机。这样,把这些厂家 以8051为基核推出的各种型号的兼容型单片机统称为51系列单片机。 Intel公司MCS51系列
4、单片机中的8051是其中最基础的单片机型号。 MCS51系列 AT89系列 其它公司的51系列单片机MCS51单片机和8051、8031、89C51等的关系 MCS51是指由美国INTEL公司生产的一系列单片机的总称. 这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752 等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进 行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片 机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称 。 INTEL公司将MCS51的核心技术授权给了很多其
5、它公司,所以有很多公司在 做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需 求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公 司开发生产的。以后我们将用89C51来完成一系列的实验。 第二章 MCS-51单片机的组成及工作原理2-1 8051单片机基本组成 1中央处理器(CPU) 中央处理器(CPU)是单片机的核心,完成运算和控制功能, MCS-51单片机的CPU能处理8位二进制数或代码。 2、内部数据存贮器(内部RAM) 8051共有256个RAM,其中128个被占有寄存器占用,能作为寄存 器供用户使用的只有128个单元,简称内部RAM3、内部
6、程序存贮器(内部ROM) 8051共有4K掩膜ROM,用于存放程序,原始数据,表格。称程序 存贮器,简称内部ROM4、定时器/计数器 8051共有2个16位定时器/计数器,以实现定时或计数功能,并以定 时或计数结果对计算机进行控制。5、并行I/O口 8051共有8个I / O口P0 P1P2 P3以实现数据的并行输出,输入。6、串行I/O口 MCS-51的一个全双工的串行口,以实现单片机与其它设备之间 的串行数据传输。该 口功能较强,既可作为全双工异步通信收发 器使用,也可作为同步移位器使用。7、中断控制系统 8051共有5个中断源,外中断2个,定时器/计数中断2 个,串行中 断1 个。分为高
7、级和低级两个级别。8、时钟电路 MCS-51内部有时钟,但晶振和微调电容需外接。系统允许最高频 率为12MHZ2-2 8051的内部数据存储器 n普林斯顿结构:程序和数据共用一个 存储器逻辑空间,统一编址。n哈佛结构:程序与数据分为两个独立 存储器逻辑空间,分开编址。n物理上4个存储器地址空间:片内/片外程序存储器空间片内/片外数据存储器空间n逻辑上3个存储器地址空间:64KB 程序存储器256B 片内数据存储器64KB 片外数据存储器MCS-51程序存储器配置n (一)8051程序存储器n64KB 程序存储器空间nEA不同电平,选择片内 或片外低位存储单元n (二)8051数据存储器 164
8、KB片外数据存储器空间(与扩展I/O接口共用) 2. 256B片内数据存储器: 1) 片内RAM2) 特殊功能寄存器 SFR特殊存储单元: 复位入口: 0000H 中断入口:0003H0023H为什么称它为只读存储器呢?在特殊的条件下由外部设备对ROM进行写的操 作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我 们还是把它称为ROM。 一、存储器概述 我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部, 然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存 在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条 指令不会丢失,这是个什么地方呢?这个
9、地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。随机读/写存储器RAM可以进行多次信息写入和读出,每次写入后, 原来的信息将被新写入的信息所取代。另外,RAM在断电后再通电 时,原存的信息全部丢失。它主要用来存放临时的数据和程序。随机读/写存储器RAM (Random Access Memory) 只读存储器ROM (Read Only Memory) RAM按生产工艺分,又可以分为双极型RAM和MOS RAM,而MOS RAM 又分为静态RAM(SRAM)和动态RAM(DRAM)。 (1)双极型RAM:是以晶体管触发器作为基本存储电路,存取速度快, 但结构复杂、集
10、成度较低,比较适合用于小容量的高速暂存器。 (2)MOS RAM:是以MOS管作为基本集成元件,具有集成度高,功耗 低,位价格便宜等优点,现在微型机一般都采用MOS RAM。 只读存储器ROM的信息一旦写入后,便不能随机修改。在使用时,只能 读出信息,而不能写入,且在掉电后ROM中的信息仍然保留。它主要用 来存放固定不变的程序和数据。ROM按生产工艺分,又可以分为以下几种: (1)掩膜ROM:其存储的信息在制造过程中采用一道掩膜工艺生成,一旦出厂, 信息就不可改变。 (2)可编程只读存储器 PROM:其存储的信息可由用户通过特殊手段一次性写入 ,但只能写入一次。 (3)可擦除只读存储器:其存储
11、的信息用户可以多次擦除,并可用专用的编程器 重新写入新的信息。可擦除只读存储器又可分为紫外线擦除的EPROM、电擦除的 EEPROM和Flash ROM。二、内部数据存储器(一)低128个单元片内 RAM8051内部RAM有256个单元,通常在空间上分 为两个区;低128个单元(00H7FH)的内部数据 RAM块和高128个单元(80H0FFH)的专用寄存 器SFR块。1、工作寄存器(00H1FH) R0R7 (8位)暂存运算数据和中间结 果。4个工作寄存器区,工作寄存器0区3区。每个 区均含8个寄存器R0R7 。 用PSW中的两位PSW.4和PSW.3(RS1,RS0 位)来切换工作寄存器区
12、,选用一个工作寄存 器区进行读写操作。在任一时刻,CPU只能使用其中一组通用寄存器 共16个单元,计 168=128位,位地址为 00H7FH。位寻址区既 可作为一般的RAM区进 行字节操作,也可对单 元的每一位进行位操作 ,因此称为位寻址区, 是存储空间的一部分。 表21列出了位寻址区 的位地址:2、位寻址区(20H2FH)单单元地址MSB位地址LSB2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5C
13、H5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03
14、H02H01H00H3、用户RAM区(30H7FH)一般把堆栈放在这里 n专用寄存器:nA、B、PSW、DPTR、SPn P0、P1、P2、P3、SBUF、TMOD 、TCON、SCON (二)内部RAM高128单元专用寄存器区(也称为特殊功能寄存器 区(SFR)区) 占用字节地址:80HFFH共有22个专用寄存器 ,程序计数器PC在物 理上是独立的,没有地址不属于内部RAM 的SFR区 ;其余的21个专用寄存器都属于 内部RAM的SFR区 寄存器符号地 址寄存器名称ACCE0H累加器BF0HB寄存器PSWD0H程序状态态字SP81H堆栈栈指示器DPL82H数据指针针低八位DPH83H数据指针
15、针高八位 IEA8H中断允许许控制寄存器IPB8H中断优优先控制寄存器P080HI/O口0P190HI/O口1P2A0HI/O口2P3B0HI/O口3PCON87H电电源控制及波特率选择选择 寄存 器 SCON98H串行口控制寄存器SBUF99H串行口数据缓缓冲寄存器TCON88H定时时器控制寄存器TMOD89H定时时器方式选择选择 寄存器TL08AH定时时器0低8位TL18BH定时时器1低8位TH08CH定时时器0高8位TH18DH定时时器1高8位注:带“” 专用寄存器表示可以位操作。nCPU总是按PC的指示读取程 序。PC可自动加1。因此CPU执 行程序一般是顺序方式。当发生 转移、子程序
16、调用、中断和复位 等操作,PC被强制改写,程序 执行顺序也发生改变。n复位时,PC=0000H。(1)程序计数器PC(16位)(5)数据指针DPTR(16位)存放片外存储器地址,作为片外存储器的指针。可分成两个8位寄存器DPH、 DPL使用。位序D7D6D5D4D3D2D1D0 位标标 志CYACF0RS1RS0OVP(2)累加器Acc(8位)需要ALU处理的数据和计算结果多数要经过A累加器。(3)寄存器B(8位) 与A累加器配合执行乘、除运算。也可用作通用寄存器。(4)程序状态字PSW(8位) 存放ALU运算过程的标志状态RS1RS0寄存器组组R0R7地址 00组组00007H01组组1080FH 10组组21017H 11组组3181FHCY进(借)位标志位 AC辅助进(借)位标志位 F0:用户标志位 RS1,RS0:寄存器组选择位 OV:溢出标志位 P:奇偶标志位 (6)堆栈指针SP(8位)堆栈是按“先进后出”原则存取数据的存储区。 MCS-51