第二章机制本科单片机硬件结构_第1页
第二章机制本科单片机硬件结构_第2页
第二章机制本科单片机硬件结构_第3页
第二章机制本科单片机硬件结构_第4页
第二章机制本科单片机硬件结构_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

第2章 89C51/S51单片机的结构和原理8051单片机的硬件结构熟悉并掌握硬件结构对于应用设计者是十分重要的,因为它是单片机应用系统设计的基础。§2.189C51/S51单片机芯片内部结构及特点§2.2 89C51/S51单片机引脚及其功能§2.3 89C51/S51单片机存储器配置§2.4 时钟电路及89C51/S51CPU时序§2.5 复位操作§2.6 89C51/S51单片机的低功耗工作方式§2.7 输出/输入端口结构存储器I/O接口CPU中断系统定时/计数器硬件结构2.189C51/S51单片机芯片内部结构及特点89C51/S51带闪存(FlashROM)单片机结构89C51CPU振荡器和时序OSC64KB总线扩展控制器数据存储器256BRAM/SFR2×16位定时器/计数器可编程I/O程序存储器4KBFLASHROM可编程全双工串行口外中断内中断控制P0P2P1P3串行通信外部时钟源外部事件计数地址/数据时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KBflashROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)特殊功能寄存器(SFR):控制寄存器和状态寄存器,共21个。片内振荡器和时钟产生电路1、一个8位的微处理器CPU。用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。2、片内数据存储器(RAM128B/256B):

用以存放程序、一些原始数据和表格。3、片内4kB程序存储器FlashROM(4KB):4、四个8位并行I/O(输入/输出)接口P0~P3:每个口可以用作输入,也可以用作输出。

每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。5、两个16位定时/计数器:

可实现单片机与单片机或其它微机之间串行通信。7、一个全双工UART的串行I/O口:但石英晶体和微调电容需要外接,最高允许振荡频率为24MHz。8、片内振荡器和时钟产生电路:6、具有5个中断源、两个中断优先级的中断控制系统9、具有节电工作方式:

休闲方式及掉电方式。掩膜ROM,则为8051单片机;EPROM,则为875l单片机;FlashROM,则为895l单片机无程序存储器,则为8031单片机。8051单片机无程序存储器,则为8031单片机。2.1.289C51/S51单片机芯片内部结构P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器缓冲器PC增1PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时控制指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARESET89C51单片机内部结构图返回运算器控制器存储器I/O接口1、中央处理单元(CPU)2、存储器3、I/O接口

中央处理器(CPU:CentralProcessingUnit)是单片机的核心部件,它决定了单片机的主要功能特性。

1、运算部件2、控制部件

算术逻辑运算单元ALU功能:

1、算术、逻辑运算2、位变量处理(1位二进制)3、数据的传送

运算器:是在控制器控制下,对二进制数进行算术或逻辑运算及信息传送的装置。算术逻辑单元ALU累加器A寄存器B程序状态字寄存器PSW及它逻辑电路组成。

累加器A(0E0H)累加器A是一个最常用的的寄存器,它属于SFR大部分单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器,加、减、乘、除算术运算指令的运算结果都存放在累加器A或B寄存器中。寄存器B(0F0H)在乘、除指令中,用到了寄存器B。乘法指令的两个操作数分别取自A和B,其结果存放在AB寄存器对中。除法指令中,被除数取自A,除数取自B,运算后商数存放于A,余数存放于B。

程序状态字寄存器PSW(0D0H)PSW是一个8位寄存器,它包含了程序运行中状态信息P--OVRS0RS1F0ACCyPSWD7D6D5D4D3D2D1D0Cy(PSW.7)进位标志位在执行算术和逻辑指令时,可以被硬件或软件置位或清0,在位处理器中,它可作位累加器。辅助进位标志位F0(PSW.5)标志位它是由用户使用的一个状态标志位,可用软件来使它置位或清0,也可以靠软件测试F0以控制程序的流向。编程时,该标志位特别有用。RS1、RS0工作寄存器区选择用来选择4组工作寄存器区(4组寄存器在单片机内的RAM区中)中的哪一组为当前工作寄存器区溢出标志位奇偶标志位表示累加器A中值为l的位数的奇偶数。若为奇数,则P=l,否则P=0。此标志位对串行口通讯中的数据传输有重要的意义,常用奇偶检验的方法来检验数据传输的可靠性。布尔处理器2个8位暂存器:PSW中的进位标志CYALU的两个入口处。2控制器(1)程序计数器PC(16位)(2)指令寄存器IR及指令译码器ID(3)振荡器和定时电路时序控制逻辑电路构成。

以主频为基准,发出CPU时序,通过指令译码发出各种控制信号,完成一系列控制操作。bCPU的组成部件:2.3.2

控制器发布操作命令的机构主要任务取出指令、分析指令、执行指令。程序计数器(PC)指令寄存器(IR)指令译码器(ID)1.程序计数器PC(ProgramCounter)16位的专用寄存器,用来存放下一条指令的地址,它具有自动加1的功能。由两个8位计数器PCH、PCL组成。1.CPU要取指令时,PC的内容首先送至地址总线上,然后再从该地址的存储单元中取指令2.取完指令后,PC内容则自动加1,指向下一条指令的地址,以保证程序按顺序执行。执行转移、子程序调用指令和中断响应时PC的内容不再加1,而是由指令或中断响应过程自动给PC置入新的地址。单片机复位时,PC自动清零,装入地址0000H,从而保证了复位后,程序从0000H地址开始执行。2.指令寄存器IR、指令译码器ID一个8位的寄存器,用于暂存待执行的指令,等待译码。对指令寄存器中的指令进行译码将指令转变为执行此指令所需要的电信号完成指令的功能。(1)程序计数器PC(16位)PC是程序的字节地址计数器,PC内容为将要执行的指令地址。改变PC内容,改变执行的流向。PC可对64KB的ROM直接寻址,也可对89C51/S51片内RAM寻址。2、存储器1)程序存储器(ROM)2)数据存储器(RAM)1)程序存储器(ROM)89C51/S51片内为4KBFlashROM。地址从0000H开始。用于存放程序和表格常数。2)数据存储器(RAM)89C51/S51RAM均为128B,地址为00H~7FH。用于存放运算的中间结果、数据暂存以及数据缓冲等。这128B的RAM中有32个字节单元可指定为工作寄存器。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80H~FFH。3、I/O接口89C51/S51有四个8位并行I/O接口P0~P3。它们都是双向端口,每个端口各有8条I/O线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。2.2 89C51/S51单片机引脚及其功能掌握89C51单片机,熟悉并牢记各引脚的功能,采用40只引脚双列直插封装(DIP封装方式)采用44只引脚方形PLCC封装方式40只引脚按其功能来分,可分为三个部分:三.I/O口引脚:P0、P1、P2、P3二.控制引脚:RST、ALE、EA、PSEN一.电源及时钟引脚:VCC、

VSS、XTAL1、XTAL2

本课程介绍DIP40封装方式的引脚。P0口:8位既可以8位一起输入输出,也可以1位1位地输入输出。在扩展外部存储器兼作低8位地址。P2口:8位既可以8位一起输入输出,也可以1位1位地输入输出。在扩展外部存储器兼作高8位地址。P3口:8位既可以8位一起输入输出,也可以位1位地输入输出,同时,P3口作为第二功能时:RXD:串行接收TXD:串行发送INT0:外部中断0INT1:外部中断1

T0:T0计数输入T1:T1计数输入

WR:写命令RD:读命令单片机复位信号输入电源电源地XTAL1、XTAL2晶体振荡器接入端存储器选择:高电平时访问片内程序存储器;低电平时访问片外程序存储器用于锁存地址的低位字节(高有效)外部程序存储器的选通信号低有效P1口:8位既可以8位一起输入输出,也可以1位1位地输入输出2.2.1、电源及时钟引脚:Vcc:接+5V电源(低功耗的为+3.3V/2.7V)Vss:接地端XTAL1:芯片内部振荡电路输入端XTAL2:芯片内部振荡电路输出端振荡频率为晶振频率(1.2~12MHz),另外需两个30pF左右的电容以微调频率2.

外接晶振引脚32晶振:石英晶体振荡器的简称,通常用来构成振荡电路,产生各种频率信号。时钟电路2.2.2控制引脚1.RST:(9脚)

RST:复位引脚功能:当出现2个机器周期以上的高电平,使单片机复位。复位后:PC=0000HSP=07HALE:地址锁存允许信号端

功能:将低八位地址锁存到外部地址锁存器当中。

P0口时既输出数据,又输出地址。ALE接锁存器的G引脚,将地址锁存.

PROG:第二功能,对EPROM型单片机编程写入时,此引脚为编程脉冲的输入端

:外部程序存储器读选通信号端;对外部程序存储器取指令时,机器周期两次

有效。

功能:编程时,从该引脚输入编程脉冲,对程序存储器进行编程。EA/VPP:程序存储器选择信号端和编程电源输入端;EA=0:只访问片外程序存储器;EA=1:先访问片内程序存储器再片外;Vpp用于施加较高的编程电压P0口作普通I/O8位准双向I/O扩展片外RAM或ROM标准的双向I/O接口P1口8位双向I/O接口第二功能P2口作普通I/O8位双向I/O接口扩展片外RAM或ROM作高8位地址线P3口8位双向I/O接口每个引脚有第二功能(多使用第二功能)89C51配有2个16位定时器/计数器一个可编程全双工串行口5个中断源,两个中断优先级P3口第二功能表引脚第二功能P3.0RxD:串行口接收数据输入端P3.1TxD:串行口发送数据输出端P3.2INT0:外部中断申请输入端0P3.3INT1:外部中断申请输入端1P3.4T0:外部计数脉冲输入端0P3.5T1:外部计数脉冲输入端1P3.6WR:写外设控制信号输出端P3.7RD:读外设控制信号输出端P0口结构P0口是由8个相同结构的引脚组成的。内部包含一个输出锁存器、一个输出驱动电路、一个输出控制电路、多路开关和两个三态缓冲器,其中输出驱动电路由一对场效应管(FET)组成,整个端口的工作状态受控于输出控制电路。功能1、可作为8位双向I/O口功能2、扩展外部总线时作为地址总线低8位和8位数据总线复用口使用。P0口引脚P0.X12DQCK/Q读引脚读锁存器写锁存器地址/数据控制43VccT1T2MUX=0P0口用作基本输出/输入口使用时P0口引脚P0.X12DQCK/Q读引脚读锁存器写锁存器地址/数据控制&3VccT1T2MUX=1P0口用作地址/数据总线使用时“控制”=0,作I/O口;“控制”=1,作地址/数据口;(外部扩展)00截止截止写11P0口1100导通P1口自带上拉电阻,8位双向I/O接口输入时,先写“1”P1口内部一位结构图※

有4个8位并行I/O口,共32条端线:

P0、P1、P2和P3口。※每一个I/O口都能用作一般输入或输出。用作一般输入时,均须先写入“1”;用作一般输出时,P0口应外接上拉电阻。※

在并行扩展外存储器或I/O口情况下,

P0口用于低8位地址总线和数据总线(分时复用)

P2口用于高8位地址总线,

P1、P3口常用于第二功能,P0~P3的功能及使用时的注意事项引脚总图——三总线锁存器GP270P070ALEP170P370

P1:通用I/O接口

P3:通用I/O接口或第二功能A15A8A7A0D7D0地址总线AB数据总线DBRST复位EAXTAL1晶振XTAL2Vcc电源GND片外程序存储器选择PSEN片外程序存储器读选通控制总线CB8051875180312.389C51/S51存储器配置存储器空间存放程序、数据存储器空间分类根据作用分类程序存储器ROM、数据存储器RAM根据位置分类片内存储器、片外存储器核内=片内核外=片外存储器编址方法2种冯.诺依曼结构程序存储器和数据存储器统一编址哈佛结构程序存储器和数据存储器分别编址51系列单片机程序存储器(ROM)和数据存储器(RAM)寻址空间相互独立,物理结构不相同数据存储器:片外、片内PC机程序存储器配置图程序存储器配置图存放程序和常数(如:原始数据或表格)89C51对外程序存储器寻址能力:64KB(216B)MOVC指令操作外部ROM2.3.1程序存储器地址空间2.3.1程序存储器地址空间中断(号)中断矢量地址中断矢量地址处存放中断服务程序的入口地址外部中断1入口地址定时器/计数器1溢出中断入口地址串行口中断入口地址定时器/计数器2溢出中断入口地址复位时ROM的地址(PC=0,程序从00H开始执行)外部中断0入口地址定时器计数器0溢出中断入口地址复位时,PC=0000H,从该处执行程序中断向量表(中断向量)0003H~002BH:中断服务程序入口存放一条无条件转移指令进行跳转

不要占用

ORG0000H

LJMPMAIN;只写一条跳转指令

••• ORG0030H;开始写主程序

MAIN: •••

资源配置子系列片内ROM形式片内ROM容量片内RAM容量无ROMEPROMFPEROM51子系列8031805187514KB128B80C3180C5187C5189C514KB128B52子系列8032805287528KB256B80C3280C5287C5289C528KB256B0000H~0FFFH0000H~1FFFH00~7FH00~FFH片外ROM扩展最多64K片外ROM根据EA引脚状态地址:0000H~0FFFFH或者1000H(2000H)~FFFFH片外RAM扩展地址:0000H~0FFFFH数据存储器配置图指令使用MOV、MOVX、MOVC三个不同的指令控制引脚片外RAM:控制信号、片外ROM:控制信号引脚接地,从片外ROM开始0000H~0FFFH位于片外ROM

引脚接高电平(5V),从片内ROM开始0000H~0FFFH位于片内ROM注意ROM和片外RAM一定要用16位地址片内RAM和SFR,只能使用8位地址52子系列高128B普通RAM,只可采用间接寻址区分存储器空间的方法ROM片外RAM:MOVX片内RAM:MOV片内外ROM:MOVC数据存储器的配置片内数据存储器片外数据存储器低128B高128BMOVX指令MOV指令工作寄存器区RS1RS0寄存器组片内RAM地址通用寄存器名称000组00H~07HR0~R7011组08H~0FHR0~R7102组10H~17HR0~R7113组18H~1FHR0~R7在任何时刻CPU只能使用其中一个区(当前寄存器组)位地址空间20H~2FH,共16个单元,128位。为布尔处理区各有自己的位地址,统一编址为00H~7FH(1个地址代表1位)既可以字节寻址,也可以位寻址有17条位操作指令,常用:置位(SETB)、清零(CLR)、取反(CPL)高128字节RAM-特殊功能寄存器组成通用数据RAM区51子系列无该区特殊功能寄存器SFR区别的方法访问通用数据RAM区,用寄存器间接寻址

MOVA,@R0访问特殊功能寄存器,用直接寻址

MOVA,80H逻辑地址相同物理地址分开SFR地址表(1)SFR地址表(2)SFR地址表(3)特殊功能寄存器位地址BACCPSWIPIEP2P3SCONP1TCONP0字节地址能被8整除

(2)寄存器B为执行乘法和除法操作设置的不执行乘除法操作,可把它作为普通的寄存器来使用(3)程序状态字寄存器PSW(0D0H)PSW是一个8位寄存器,它包含了程序运行中状态信息P--OVRS0RS1F0ACCyPSWD7D6D5D4D3D2D1D0Cy(PSW.7)进位标志位在执行算术和逻辑指令时,可以被硬件或软件置位或清0,在位处理器中,它可作位累加器。辅助进位标志位F0(PSW.5)标志位它是由用户使用的一个状态标志位,可用软件来使它置位或清0,也可以靠软件测试F0以控制程序的流向。编程时,该标志位特别有用。RS1、RS0工作寄存器区选择用来选择4组工作寄存器区(4组寄存器在单片机内的RAM区中)中的哪一组为当前工作寄存器区溢出标志位奇偶标志位表示累加器A中值为l的位数的奇偶数。若为奇数,则P=l,否则P=0。此标志位对串行口通讯中的数据传输有重要的意义,常用奇偶检验的方法来检验数据传输的可靠性。1.两个同号数相加(异号数相减)才会溢出

异号数相加(同号数相减)不会溢出2.同号数相加最终的结果和符号相反则溢出。溢出的判断1.两个加数76H+0B9H相加后,CY、AC、OV和P分别为多少?2.两个加数88H+0BCH相加后,CY、AC、OV和P分别为多少?3.已知某一指令运行后PSW=97H,则表明该指令运行后:

有无溢出?有无进位?有无辅助进位?P=?该指令的当前寄存器区为多少?例题:(4)堆栈指针SP栈底数据出数据入SPSP+1SP进栈SP增加堆栈:先入后出,后入先出出栈SP减小堆栈是在片内RAM中临时开辟的暂存区;作用:保护现场、保护断点针对:子程序调用、中断操作特点:先进后出,后进先出指令:入栈PUSH,出栈POPPUSH和POP都是对堆栈的栈顶单元进行的栈顶SP始终指向最后压入或即将弹出的数据单元,即栈顶SP为一个8位寄存器,它的内容是栈顶存储单元的地址1.已知SP=30H,(A)=56H(B)=89H(70H)=A2H执行指令下列指令后,SP=?(A)=?(B)=?(70H)=?DPTR=?PUSHAPUSHBPOPDPHPUSH70HPOPAPOPDPLPUSHB例题:1.已知SP=30H,(A)=56H(B)=89H(70H)=A2H将A的内容送到B,将B的内容送到70H,再将70H的内容送到A例题:单片机复位时SP=07H,此时SP指向栈顶,堆栈正落在工作寄存器R1区切换工作寄存器区时冲突一般设置:SP=30H或以上SP不能在RAM的顶端为堆栈向上发展留足够空间(5)数据指针DPTR16位高位:DPH,8位低位:DPL,8位主要用途访问外部数据存储器时,作地址指针保存16位地址,有+1功能(INC)寄存器间址寻址、变址寻址串行通信相关寄存器SBUF(SerialDateBuffer)串行数据缓冲器放待发送和已接收数据的,双缓冲结构SCON

(SerialControlRegister)串行接口控制寄存器PCON(PowerControlRegister)电源控制寄存器定时器/计数器16位:T0:TH0、TL0T1:TH1、TL1TH1TL17070T1TH0TL07070T0TCONTMOD微处理器内部总线P定时器模式控制寄存器,确定T1和T0的功能和工作方式定时器控制寄存器,控制T1和T0的启动和停止作定时/计数器可16位数加“1”(INC),其他情况作8位寄存器★程序计数器PC程序地址寄存器,不属于特殊功能寄存器程序不能访问16位,范围:0000H~0FFFFH当一条指令被取出后,PC的内容会自动增量,指向下一条要执行指令的地址中断相关寄存器IP(InterruptPriorityRegister)中断优先级寄存器IE(InterruptEnableRegister)中断允许寄存器2.6时钟电路与指令的时序1.时钟电路内部振荡电路晶振外部振荡电路时序发生器框图2.机器周期和指令周期S1S2S3S4S5S6S1S2P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2fosc节拍(p,振荡周期)一个时钟周期一个机器周期X2振荡周期和机器周期是计算其他时间的基本时序单位指令周期=1

温馨提示

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

评论

0/150

提交评论