单片机基础知识、内部结构和系统扩展_第1页
单片机基础知识、内部结构和系统扩展_第2页
单片机基础知识、内部结构和系统扩展_第3页
单片机基础知识、内部结构和系统扩展_第4页
单片机基础知识、内部结构和系统扩展_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机基础知识、内部结构和系统扩展1.1 单片机的特点1.2 8051的内部结构1.3 8051的系统扩展1.4 8051指令系统1.5 实用程序设计1.1 单片机的特点一、什么是单片机?单片机:SCM Single Chip Microcontroller MCU Microcontroller Unit 将CPU、ROM、RAM、定时器/计数器、I/O接口等微型计算机部件集成在一块集成电路芯片上特点: 体积小、价格低、性能强大、速度快、用途广、 灵活性强、可靠性高 1.1 单片机的特点二、单片机的发展历程 单片机自从20世纪70年代问世以来,以其鲜明的特点得到迅猛的发展。单片机的初级阶段:

2、1976年Intel公司推出了8位的MCS-48系列的单片机。单片机的发展阶段: 80年代初,Intel公司推出了8位的MCS-51系列的单片机,motorola的68系列,Zilog的Z8系列等。高性能单片机发展阶段:16位单片机,芯片内部也增加了其他的性能。如Intel的MCS-96系列单片机,在单片机内部集成了A/D转换器、PWM输出。 在未来,应各种电子产品对单片机的要求,单片机将会向多功能、高性能、高速度、低电压、低功耗、大容量存储器的方向发展。1.1 单片机的特点三、MCS-51单片机及其兼容产品 Intel公司推出了8位的MCS-51系列单片机后,在工业控制方面得到了极大的应用。

3、之后,Intel开放了51单片机内核技术,Philips、Atmel、ADI等公司相继推出了基于51内核的单片机. Intel公司主要产品 Atmel公司主要产品 Philips公司主要产品Intel公司主要单片机产品型号工作电压(V)主频OTP ROM(B)RAM(B)UART(个)定时器(个)I/O口线(条)8031512MHz12812328051512MHz4K12812328751512MHz12812328052512MHz8K2561332Atmel公司主要单片机产品型号工作电压(V)主频FlashROM(B)RAM(B)UART(个)定时器(个)I/O口线(条)AT89C205

4、13-524MHz2K1281215AT89C51533MHz4K1281232AT89C52533MHz8K2561332AT89C53524MHz12K2561332 Philips公司主要单片机产品型号工作电压(V)主频ROM(B)RAM(B)UART(个)定时(个)I/O口线(条)P87C524.5-5.533MHz8K(OTP)2561332P87LPC7624.5-5.516MHz16K(OTP)5121218(带I2C接口)P87LPC7674.5-5.520MHz4K(OTP)1281218(带I2C接口)P89C6604.5-5.520MHz16K(Flash)5121332

5、(带I2C接口)1.1 单片机的特点四、单片机应用领域 1.在智能仪器仪表上的应用 2.在工业控制中的应用 3.在家用电器中的应用 4.在计算机网络和通信领域中的应用 5.单片机在医用设备领域中的应用 6.在各种大型电器中的模块化应用 7.单片机在汽车设备领域中的应用 1.2 8051的内部结构串串 可以划分为CPU、存储器、并行口、串行口、定时器/计数器和中断逻辑几部分。8051单片机的基本结构ACCTMPALUPSWSP控制中断、定时、串行口的特殊功能寄存器工作寄存器ACC内部总线I/O口锁存/驱动器P0 P1 P2 P3DPTRRAMROMPC定时与控制指令寄存器PSENALEEARST

6、单片机的内部结构框图1.2.1 中央处理器CPU运算器 运算器是用于对数据进行算术运算和逻辑操作的执行部件,以算术逻辑单元(ALU)为核心,包括累加器(ACC)、程序状态字(PSW)、暂存器、B寄存器等部件和BCD码调整电路。在进行位操作时,以PSW中的进位标志位C作为位操作累加器,整个位操作系统构成一台布尔处理机。主要功能:算术运算、逻辑运算、移位功能、位数据操作累加器ACC ACC是8位寄存器,在进行算术、逻辑运算时,运算器的一个输入多为ACC的输入,而运算结果大多数也要送到ACC中。助记符为ACC 或A。B寄存器 在进行乘法、除法运算时作为ALU的输入之一,与ACC配合完成运算,并存放运

7、算结果。 CY(C):进位和借位标志,当指令执行中有进位和借位 产生时,CY为1,反之为0。 AC:辅助进位、借位标志(高半字节对低半字节的进位和借位),有进位和借位产生时,AC为1,反之为0。 F0:用户标志位,由用户自定义。 RS1和RS0:工作寄存器选择标志位。 OV:溢出标志位。 P:奇偶校验位,当A中1的个数为偶数时P=0,反之为1。位序D7D6D5D4D3D2D1D0位标志CYACF0RS1RS0OV/PPSW(程序状态字,8位):存放指令执行后的有关状态。控制器 包括定时控制逻辑、程序计数器PC、数据指针DPTR、堆栈指针SP、指令寄存器IR、指令译码器ID等。主要功能:对逐条指

8、令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调单片机内部各部分的工作以及协调单片机和外围芯片的工作,完成指令规定的操作。 8051的时钟 1、内部方式: MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲。单片机时钟电路用来产生CPU的操作时序通常有两种形式: 在电路中,电容通常取30pF,晶振的取值通常为:1MHZ-33MHZ(不同型号的单片机的上限频率可能有差别)。2、外部方式:外部振荡方式

9、就是把外部已有的时钟信号引入单片机内。振荡周期、时钟周期、机器周期和指令周期振荡周期 为单片机提供时钟信号的振荡源的周期。单片机在工作时,由内部振荡器产生或由外部直接输入的送到内部控制逻辑单元的时间信号的周期。其大小是时钟信号频率(fosc)的倒数。 时钟周期 由2个振荡周期组成(1个时钟周期=2个振荡周期)机器周期 通常将完成一个基本操作所需的时间称为机器周期。 由12个振荡周期或6个时钟周期组成(1个机器周期=12个振荡周期)。 4. 指令周期 是指CPU执行一条指令所需要的时间。一个指令周期通常含有14个机器周期。P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6机

10、器周期时钟周期振荡周期单片机各种周期的关系图1个机器周期=6个时钟周期=12个振荡周期指令部件数据地址指针DPTR(16位):存放程序存储器的地址或外部数据存储器的地址。可分DPH和DPL两个独立8位寄存器使用。 访问范围:0000-0FFFFH。程序计数器PC(16位):指向下一条执行的指令地址执行指令后自动加一,常将PC值设置成程序第一条指令的内存地址。 访问范围:0000-0FFFFH。指令寄存器IR:存放当前执行的指令。指令译码器ID:解释指令,产生相应 的控制信号。SPSP+1栈底入栈出栈SP堆栈指针SP(8位):专门存放堆栈 的栈顶位置。遵循“先进后出”的 原则。1.2.2 存储器

11、组织存储器结构特点:(哈佛结构单片机)ROM和RAM分开,有各自的寻址方式和寻址机构。 MCS-51系列的单片机有4个独立的存储空间:片内程序存储器4K(0000-0FFFH);片外程序存储器64K(0000-0FFFFH);片内数据存储器256B(00-0FFH);片外数据存储器64K(0000-0FFFFH)。注:MCS-51系列单片机各型号芯片在各个存储器空间的物理单元个数可能是不同的。一、程序存储器 程序存储器用于存放编好的程序或表格常数。 MCS-51单片机程序存储器的读取顺序由EA确定。EA=1时,则PC的值在0000H-0FFFH之间,CPU先从片内程序存储器空间取指执行;当PC

12、的值大于0FFFH时才访问外部的程序存储器空间。若EA=0时,则片内程序存储器空间被忽略,CPU只从片外程序存储器空间取指执行。复位后PC=0000H。程序存储器中的某些单元预留给系统专用。外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH程序存储器空间的6个特殊功能区域0000H :系统的启动单元(系统复位后,单片机从此处开始取指令开始执行)0003H :外部中断0入口地址000BH :定时器/计数器0中断入口地址0013H :外部中断1入口地址001BH :定时器/计数器1中断入口地址0023H :串行中断入口地址二、数据存储

13、器MCS-51单片机的内部数据存储器有以下几个部分:工作寄存器区(00H1FH) 位寻址区(20H2FH) 用户区(30H7FH)128B特殊功能寄存器SFR区(80H0FFH)特殊功能寄存器通用RAM区位寻址区 00H1FH20H 2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外 部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)工作寄存器区数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 内部RAM的00H-1FH分为4个区(由RS1和RS0的状态决定当前的工作寄存器组别),

14、每个区有8个单元,分别用R0-R7来表示。第0组工作寄存器:地址范围为00H-07H;第1组工作寄存器:地址范围为08H-0FH;第2组工作寄存器:地址范围为10H-17H;第3组工作寄存器:地址范围为18H-1FH。举例:如果RS1=0、RS0=0时;则(R0)=00H(使用第0组)如果RS1=0、RS0=1时;则(R0)=08H(使用第1组)如果RS1=1、RS0=0时;则(R0)=10H(使用第2组)如果RS1=1、RS0=1时;则(R0)=18H(使用第3组)工作寄存器区(00H1FH) 特殊功能寄存器(SFR, Special Function Register)也称专用寄存器,专用

15、于控制、管理单片机内部算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作,用户在编程时可以置数设定,不能移作他用。8051有21个特殊功能寄存器。见下表 从80H开始每8个单元有一个可位寻址的专用寄存器,位地址从80H开始,也可用“寄存器名.位”来表示,如(0E7H),(0D4H或RS1),(80H)特殊功能寄存器区SFR(80H-0FFH)MCS51单片机的特殊功能寄存器符号地址功能介绍符号地址功能介绍ACCE0H累加器SP81H堆栈指针BF0HB寄存器DPH83H数据地址指针(高8位)PSWD0H程序状态字DPL82H数据地址指针(低8位)IEA8H中断允许

16、控制寄存器SBUF99H串行口锁存器IPB8H中断优先级控制寄存器TMOD89HT0、T1定时器/计数器方式控制寄存器P080HP0口锁存器TCON88HT0、T1定时器/计数器控制寄存器P190HP1口锁存器TH18DH定时器/计数器1(高8位)P2A0HP2口锁存器TH08CH定时器/计数器1(低8位)P3B0HP3口锁存器TL18BH定时器/计数器0(高8位)PCON87H电源控制寄存器TL08AH定时器/计数器0(低8位)SCON98H串行口控制寄存器1.2.3 片内并行接口 单片机芯片内有一项主要的组成部分是并行I/O口。MCS-51共有4个8位的并行I/O口,分别记作P0口、P1口

17、、P2口和P3口。每个并口都至少包含一个锁存器、一个输出驱动器和输入缓冲器,但在各个并口之间又有一些差别。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。并行I/O口的主要作用:在无片外扩展存储器的系统中,这4个口均可作为双向的通用I/O端口使用。在访问片外扩展的存储器或外部I/O接口芯片时,由P0口和P2口构成数据和地址总线(低8位地址和数据由P0口分时传送,高8位地址由P2口传送),P3口的一部分作为控制线。P3口具有第二功能。 P0口某位结构 P0口电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。P0口的功能与驱动能力P

18、0口可以作为通用的I/O口;P0口可以作为单片机系统的地址/数据线使用;P0可以驱动8个标准的TTL负载电路。注意在P0口作为通用的I/O口时,必须外接上拉电阻(如下图)。 P1口某位结构P1口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器、一个数据输出的驱动电路。P1口的功能和驱动能力1) P1口只可以作为通用的I/O口使用,“准双向口” ;2) P1可以驱动3个标准的TTL负载电路;注意:在P1口作为通用的I/O口使用时,在从I/O端口读入数据时,应该首先向相应的I/O口内部锁存器写“1”。举例:从P1口的低四位输入数据 MOV P1,#0FH MOV A,P1P2口某位结构图P2

19、口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器、一个多路转换开关和一个数据输出的驱动电路。P2口的功能和驱动能力P2口可以作为通用的I/O口使用,“准双向口” ;P2口还要作为单片机地址总线的高8位使用;P2可以驱动3个标准的TTL负载电路。 P3口某位结构 P3口电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。P3口的功能和驱动能力P3口可以作为通用的I/O口使用,“准双向口” ;可以作为单片机系统的第二功能的输入和输出。P3口可以驱动3个标准的TTL负载电路。注意在P3口的使用时,首先要考虑第二功能的要求。MCS-51单片机P3口

20、的第二功能引脚第二功能P3.0RXD(串行口输入) P3.1TXD(串行口输出) P3.2INT0(外部中断0输入) P3.3INT1(外部中断1输入) P3.4T0(定时器0的外部输入) P3.5T1(定时器1的外部输入) P3.6WR(片外数据存储器写选通控制输出) P3.7RD(片外数据存储器读选通控制输出) 1.2.4 8051的内部资源一 、串行口 串行输入口RXD,串行输出口TXD。串行数据缓冲器SBUF,串行口控制寄存器SCON。二、定时器/计数器 2个16位可编程定时器/计数器,记为T0和T1。由程序决定工作方式。定时器方式选择寄存器TMOD,定时器控制寄存器TCON,计数存储

21、器TL0,TH0,TL1,TH1。三、中断系统 5个中断源:2个外部中断,2个定时器/计数器中断,一个串行口中断。中断允许寄存器IE,中断优先级寄存器IP。1.2.5 8051的芯片引脚 在器件引脚的封装上,80C51系列单片机常用的两种封装为双列直插式DIP40(Dual In-line Package)封装和方形封装LCC44(Leaded Chip Carrier),如图所示。主要包括以下几个部分:1.电源引脚Vcc和Vss Vcc(40脚):电源端,为十5V; Vss(20脚):接地端 。2.时钟电路引脚XTAL1和XTAL2XTAL1为内部振荡电路反相放大器的输入端 。XTAL2为内

22、部振荡电路反相放大器的输出端 。3.控制信号引脚RST、ALE、PSEN和EA 4. IO(输入输出)端口P0、P1、P2和P35. MCS-51单片机P3口的第二功能MCS-51双列直插式(DIP)封装类型引脚图P1口P3口P0口P2口 时钟端 复位端控制信号 接VCC(+5V) 接地端MCS-51的PLCC封装类型引脚图 80C51系列单片机外部引脚在绘制电路原理图时,经常采用元器件的逻辑符号,80C51逻辑符号如图所示。 控制信号引脚RST、ALE、PSEN和EA RSTVPD(9脚) :RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可

23、以完成复位操作。RST引脚的第二功能是VPD,即备用电源。 ALEPROG(30脚):地址锁存信号输出端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc 的l6 。此引脚的第二功能PROG是对片内带有可编程的ROM的单片机编程写入(固化程序)时,作为编程脉冲的输入端。 PSEN(29脚):片外程序存储器选通信号。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。 CPU在从外部ROM取指期间,PSEN信号在每个机器周期(12个时钟周期)中两次有效。 EAVPP(3l脚):内部和外部程序存储器选择线/固化编程电压输入端。当EA引脚接高电

24、平时,CPU先访问片内程序存储器并执行内部程序存储器中的指令,然后再访问外部ROM的内容。输入信号EA引脚接低电平(接地)时,CPU只访问外部外部ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。 1.2.6 单片机的工作方式一、复位方式 单片机在重新启动时都需要复位,MCS-51系列单片机有一个复位引脚输入端RST。 MCS-51系列的单片机复位方法为:在RST上加一个维持两个机器周期以上的高电平,则单片机被复位。复位时单片机各部分将处于一个固定的状态。常用的MCS-51单片机复位电路上电自动复位电路手动复位电路“看门狗”复位电路复位后单片机各单元的初始状态寄存器初始状态值寄存

25、器初始状态值PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0、P1P2、P30FFHSCON00HIPXXX00000BPCON0XX00000BIE0XX00000BSBUF不定阻容上电自动复位电路手动复位电路“看门狗”复位电路RSTMCS-51R2R1MAX813LPFIMRRESETWDOWDI未稳压电源P1.0二、程序执行方式:基本工作方式三、单步执行方式:在外加脉冲控制下,一条指令一条指令地执行,通常用于测试。四、低功耗操作方式: 1、节电方式:CPU停止工作,可使功耗减小,电流

26、一般为5mA; 2、掉电方式:仅给片内RAM供电,其他电路均不工作,可使功耗减到最小,电流一般为5uA50uA ; 由电源控制寄存器PCON中的有关位控制。(1)SMOD:波特率倍增位。(2)GF1和GF0:通用标志位。由软件置、复位。(3)PD:掉电方式位。若PD = 1,进入掉电工作方式。(4)IDL:待机方式位。若IDL = 1,进入节电工作方式。1.3 8051的系统扩展MCS-51单片机本身是一个基本的微型计算机,内部已经具有一定数量的存储单元和I/O接口,但在内部的资源不能够满足系统的需要时,就需要进行资源的扩展,单片机的扩展主要包括以下两方面的内容:存储器的扩展I/O接口的扩展注

27、: MCS-51系列的单片机在进行扩展时,需要把P0口和P2口作为扩展总线使用,不能够再作为一般的I/O口使用。1.3.1 外部总线的扩展微型计算机中的总线通常分为:(1)地址总线(AB):地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7);P2口直接提供高8位地址(A8A15)。地址信号是由CPU发出的,故地址总线是单方向的。(2)数据总线(DB):数据总线宽度为8位,用于传送数据和指令,由P0口提供。(3)控制总线(CB):控制总线随时掌握各种部件的状态,并根据需要向有关部件发出命令。 所有外部芯片都通过这三组总线进行扩展。P2ALEP0WRRDPSENEARESETM

28、CS-51地址锁存器A8-A15A0-A7地址总线D0-D7数据总线控制总线单片机三总线的形成P0口作低8位地址/数据复用线A0A78051G OED0D7P2口作高8位地址线注意:若线路连接时P2口的地址线不全部使用(扩展容量小于64KB),则其余线也不能再作为一般I/O口线使用。控制总线主要包括:输出控制线(RD、WR、PSEN、ALE) 输入控制线(EA、INT0、INT1、RST、 T0、T1)1.3.2 外部程序存储器的扩展外部程序存储器常采用EPROM、E2PROM和Flash ROM芯片。EPROM(紫外线可擦除)常用的EPROM以27xx系列为主。EEPROM(电可擦除)EEP

29、ROM是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。 常用的EEPROM芯片主要有Intel 28xx系列。FlashROM(闪速电可擦除)主要以29Cxx系列为主。程序存储器的最大扩展容量为64K字节。28引脚EPROM芯片管脚配置不同容量的EPROM只是在地址线的数目和编程信号引脚有一点区别,各重要的引脚含义如下:A0-Ai:地址输入线,决定存储器的容量;O0-O7:双向三态数据线;CE:片选信号输入线;OE:读选通输入信号线;PGM:编程脉冲输入线;VPP:编程电源输入线;VCC:工作电源输入线(常为+5V);GND/VSS:工作时接地线。MCS-51单片机与27256芯片的接口27256的基本地址范围:0000H7FFFHP0连接:74LS373的1D-8D27256的DQ1-DQ8PSEN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论