2第二章-51单片机结构原理与接口1课件_第1页
2第二章-51单片机结构原理与接口1课件_第2页
2第二章-51单片机结构原理与接口1课件_第3页
2第二章-51单片机结构原理与接口1课件_第4页
2第二章-51单片机结构原理与接口1课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第二章51单片机结构原理1、内部组成中央处理器内部数据存储器内部程序存储器定时器/计数器并行I/O接口串行口2、外部引脚

8051单片机的引脚是面向用户的,所以使用者需要熟悉各引脚的用途,以便正确接线。常用的8051芯片是用双列直插40脚封装。

第二章51单片机结构原理与接口2.1单片机引脚1、基本引脚:最基本引脚,不可闲置不可复用。电源:Vcc(+5V),GND(+0V)时钟:XTAL1,XTAL2复位:RST2、I/O引脚:P0(P0.0~P0.7)、P1(P1.0~P1.7)P2(P2.0~P2.7)、P3(P3.0~P3.7)3、外部信号引脚:P3.4(T0)P3.5(T1)P3.2()P3.3()4、总线引脚:数据总线(8位,双向):P0(P0.0~P0.7)地址总线(16位,单向):P2(P2.0~P2.7),P0(P0.0~P0.7)控制总线:PSEN、EA、ALE

RDWR

关于总线结构总线是一组公共信息线,负责将计算机中的数据从一处传到另一处。一、数据总线因为数据总线用来传递进出CPU的信息,数据总线一般与CPU字长等宽。数据总线可以是单向或双向的。8051单片机数据总线8位,以D0~D7标记。二、地址总线地址总线用来识别和CPU相连的I/O设备和存储器,所以地址总线数目越多,可以被寻址的I/O设备和存储器的数目就越多,地址总线的数目反映CPU的寻址能力的大小。地址线的根数越多,寻址能力越强。如一个具有16位地址总线的CPU可访问65536(216=26×210=64K)个字节的存储单元。地址总线总是单向的,由CPU发出的。8051单片机地址总线16位,以A0~A15标记。三、控制总线包含CPU发出的控制信号和I/O设备发出的状态信号。因为半导体存储器和CPU都是速度相差无几的超大规模集成电路,所以只用读/写信号控制数据的流向,用地址锁存信号解决地址、数据线复用问题。

3、时钟振荡器

时钟振荡器是单片机工作的原始动力,可以利用内部的振荡电路,在外围加接晶振和电容组成。也可从外部引入。

利用内部时钟电路组成的振荡器利用片外的振荡器输入4、中央处理器运算器:算术逻辑器件ALU、位处理器、累加器A、寄存器B、程序状态字PSW控制器:控制时序、指令解释(指令寄存器、指令译码器)4.1中央处理器CPU(CentralProcessingUnit)结构CPU是微型计算机的核心部件,它由运算器和控制器组成

一、运算器运算器的核心是算术逻辑部件ALU(ArithmeticLogicUnit),它协同暂存器1、暂存器2、累加器ACC、状态寄存器,负责完成算术功能(加、减、乘、除、加1、减1运算以及BCD加法调整)和逻辑功能(与、或、异或、求反、清0运算以及左移、右移、循环移位操作)。累加器和工作寄存器组8051使用最频繁的一个8位寄存器:用于所有的算术和逻辑运算指令,访问外部数据存储器或访问程序存储器中的查表指令。一、寄存器A(累加器ACC,Accumulator)专为乘法和除法操作设置的8位寄存器,常与累加器A配对使用,称为AB寄存器对。二、寄存器B三、工作寄存器R0~R7也是使用较多的8个8位寄存器。常用来存放数据、地址、运算的中间结果等,由于它们的功能及使用不做预先规定,因此也称为通用寄存器。关于工作寄存器1、工作寄存器:指令当中R0~R7这8个工作寄存器是8051的当前工作寄存器,8051共有32个工作寄存器。(在片内RAM中占用了32个单元(地址00H~1FH),称此区域为工作寄存器区)

2、工作寄存器组:每8个工作寄存器为1组,称之为工作寄存器组(RegisterBanks)。工作寄存器区分4组,组号依次为0、1、2、3。

3、当前工作寄存器组:每组都有工作寄存器R0~R7,在任意时刻只能使用其中的一组,这组正被使用的寄存器组就称为当前工作寄存器组。4、切换:用户可以通过指令改变程序状态字寄存器PSW中RS1(D4位)和RS0(D3位)的状态组合来切换工作寄存器组,使不同的程序段使用不同的寄存器组。这个功能为用户程序保护寄存器内容提供极大的方便,能实现快速现场保护功能,对于提高程序的效率和响应中断的速度是很有利的。程序状态字寄存器(ProgramStatusWord)和其它的微处理器一样,8051的CPU也包含表明运算结果状态的标志寄存器,这个标志寄存器在8051中被称为程序状态字寄存器PSW,它是一个逐位定义的8位寄存器。一、进位标志位CY(PSW.7):在执行加(减)法运算过程中指示最高位D7有无进(借)位。二、辅助进位标志位AC(PSW.6):指示加法运算过程中D3位到D4位有无进位。用于BCD码校正指令。三、溢出标志位OV(PSW.2):进位标志位CY用于在无符号数算术运算中检查运算结果是否超出8位无符号数表示的数的范围(0~255);溢出标志位只用于符号数算术运算中检查结果是否超出了8位带符号数表示的数的范围(-128~+127)。当运算结果超出了计算机最大所能表示的符号数范围时,便产生溢出。此时的溢出标志位OV=1。此外,在乘法运算中,OV=1表示乘积超过255,需要从寄存器B取出积的高字节;在除法运算中,OV=1表示除数为0。四、奇偶标志位P(PSW.0):指示指令执行后累加器A中1的个数的奇偶性。二、控制器(Controller)控制器是整个计算机的指挥中心,它负责从程序存储器中取出指令并对指令进行分析、判断,并根据指令发出控制信号,使计算机的有关部件及设备有条不紊地协调工作,保证计算机能自动、连续地运行。程序计数器PC(ProgramCounter)用来控制程序的走向。开机上电后,它提供程序第一条指令在存储器中的地址,CPU从该地址取出要执行的指令,执行第一条指令。当顺序程序执行时,程序计数器具有自动加1功能;当程序需要发生转移时,程序计数器根据指令提供的信息将其内容更新为转移程序的目标地址继续执行程序。指令寄存器的作用是将指令取出并存放,其操作码送指令译码器。指令译码器用来对指令中的操作码进行译码,以形成相应的控制命令,控制计算机各部件协调工作。时序电路包括时钟和节拍发生器,用来产生计算机的时钟脉冲和节拍,控制计算机按节拍工作。4.1中央处理器CPU(CentralProcessingUnit)结构指令执行过程计算机的工作过程就是指令的执行过程。指令是对计算机发出的命令,它们被按执行顺序预先存入计算机的程序存储器。程序执行时,计算机在程序计数器的指示下,自动地从程序存储器中取出一条指令,送至指令译码器,然后程序计数器加1,通过指令译码器对指令中的操作码加以分析,并执行对应的操作,接着程序计数开始取下一条指令……,直至一段程序执行完毕。因此,指令的执行过程可归纳为:取指令→分析指令→执行指令→取指令→分析指令→执行指令……三个动作不断循环的过程。5单片机存储器组织物理上有4个存储空间片内ROM片外ROM片内RAM片外RAM逻辑上(用户使用的角度)有3个存储空间片内外连续统一的ROM片内RAM片外RAM存储器哈佛配置ROM、RAM片内集成、片外扩展5.1数据存储器一、片内数据存储器

是8位地址的存储空间。保存数据、运算结果,做数据缓冲区等,用途广泛;使用频繁。按照侧重的功能有4个功能分区:寄存器区、位寻址区、用户RAM区和SFR区。51子系列片内RAM:低128B00H~7FHSFR区:80H~0FFH片内RAMSFR区地址地址工作寄存器区位寻址区用户RAM区00H1FH20H2FH30H7FH80HFFH注意:SFR区通常在片内RAM介绍,不计入片内RAM容量。80HFFH51子系列128BSFR区5.1数据存储器一、片内数据存储器1、工作寄存器区(00H~1FH)

有4组×8个工作寄存器,占32个单元。当前工作寄存器组的选择由PSW的RS1和RS0的位状态组合决定(缺省状态是0组,即RS1RS0=00)。此区域通常使用寄存器寻址方式:例如MOVA,R0,此外还有其他两种寻址方式进行相同的操作。⑴直接寻址

MOVA,00H

将片内RAM的00H单元数据传送到累加器A中。操作数00H的寻址方式称为直接寻址。直接寻址方式中的直接地址以RAM单元地址的形式给出,其范围00H~0FFH,通常直接地址记为direct。⑵寄存器间接寻址MOVR0,

#00H;间址寄存器赋初值MOVA,

@R0

是将工作寄存器R0中的内容作为地址,而将该地址中的数据传送到累加器A中。执行完这条指令,累加器A中的值与工作寄存器R0中的值不同,而与以R0内容为地址的片内RAM中的值相同,操作数@R0称为寄存器间接寻址;R0称作间址寄存器,也可以使用R1作为间址寄存器。通常记作@Ri。

5.1数据存储器一、片内数据存储器2、位寻址区(20H~2FH)占16个字节单元(字节地址20H~2FH),共16B×8b=128b。位地址(存储单元按位编址):

00H~7FH双重功能区,既可以字节操作(直接寻址、寄存器间接寻址)也可以位操作(位寻址)位寻址

MOVC,20H

位累加器C是寄存器寻址,借用PSW中的进位位CY,位累加器在位操作中使用频繁。此指令将片内RAM的位地址为20H单元数据传送到位累加器C中。操作数20H的寻址方式称为位寻址。位寻址方式是在指令中直接给出位存储单元的地址即位地址。寻址方式类似于字节操作的直接寻址,注意的是直接寻址中的地址是字节地址,而位寻址中的地址是位存储单元的位地址,一个是字节操作一个是位操作。在解释指令系统时,位地址以bit表示。关于位处理器和位寻址

1、位累加器C借用PSW的进位位CY,相当于累加器A在8位机的地位。是位操作中使用最频繁的。2、位存储器(按位划分的8位位地址)①片内RAM的位寻址区(位寻址)②SFR区的可位寻址SFR(位寻址)位地址:00H~7FH(128b)位地址表示:a.位地址b.字节地址.位字节地址以0H和8H结尾的SFR,有11个SFR的各位有位地址,共88b。位地址表示:a.位地址b.字节地址.位c.位名称d.SFR名称.位5.1数据存储器一、片内数据存储器3、用户RAM区(51子系列30H~7FH)用户真正使用的数据区,堆栈开辟于此区域。可用直接寻址、寄存器间接寻址进行操作例2-8片内数据存储器操作。将40H单元起始的十个单元清零。MOV40H,#00HMOV41H,#00HMOV42H,#00HMOV43H,#00HMOV44H,#00HMOV45H,#00HMOV46H,#00HMOV47H,#00HMOV48H,#00HMOV49H,#00H或MOVA,#00HMOVR0,#40H;建立地址指针MOVR2,#0AH;设计数循环初值LOOP:MOV@R0,AINCR0;调整指针DJNZR2,LOOP;循环计数器减1非零继;续循环,为0退出循环关于堆栈及堆栈指针概念

堆栈(stack)是一端固定,另一端活动的数据存储区,常用作暂存程序的上下文。具有先进后出的特性。51单片机的堆栈指针SP(StackPointer):8位寄存器,指示栈顶单元的地址。堆栈类型:向上生长型堆栈操作初始化:系统缺省SP=07H,需要重新定义使其开辟在用户RAM区。MOVSP,#60H;在用户RAM区开辟堆栈,;栈底60H单元片内RAM地址地址7FH80HFFHFFHSFR区00000111SP(81H)30H07H60H栈底011000005.1数据存储器一、片内数据存储器4、特殊功能寄存器区(80H~0FFH)有21个SFR,实现单片机的操作管理;留有大量空间可以扩充功能。双重功能,其中SFR字节地址以0H和8H结尾的可以位操作;共有11个SFR可以位操作。访问特殊功能寄存器只能采用直接寻址方式,即在指令中给出特殊功能寄存器的直接地址direct。直接地址除以单元地址形式给出外,还可以以特殊功能寄存器名称的形式出现。注意ACC是累加器A的特殊功能寄存器的名称,二者都指累加器,但是寻址方式不一样,ACC是直接寻址,A是寄存器寻址。使用名称书写指令简单,便于记忆。MOVR0,A ;A是寄存器寻址MOVR0,ACC ;ACC是直接寻址下列指令是等价的:MOVR0,ACCMOVR0,0E0H ;ACC是直接寻址,实际上就是单元地址E0H特殊功能寄存器(SFR)的使用

特殊功能寄存器的字节地址:特殊功能寄存器的字节地址安排在80H至0FFH,但不连续,部分地址没有定义,没有定义的实际上也不存在。它不是用于存储一般的数据,而是用于片内接口的功能设置,或作为输入输出接口。在80H至0FFH区间。有一部分字节地址(指字节地址能被8整除的部分)可进行位寻址。可位寻址的部分同时属于位寻址区,可位寻址区的每个字节地址包含有8个位地址。特殊功能寄存器的符号地址:每个特殊功能寄存器都有一个符号地址,一个字节地址对应一个符号,使用时既可以用字节,也可以用符号。

P0=80HP1=90HP2=A0HP3=B0H SP=81HIP=B8HPSW=D0HA=E0HB=F0HDPL=82HDPH=83HPCON=87HTCON=88HTMOD=89H TL0=8AHTL1=8BHTH0=8CHTH1=8DH SCON=98HSBUF=99HIE=A8H 在字节地址中,有一部分可位寻址,可位寻址的部分,一个字节地址有8个位地址。同样每个位地址也都有一个位地址符号。5.1数据存储器二、片外数据存储器8051可以通过并行总线扩展片外数据存储器,最大可扩展至64KB。片外64KB数据存储器和I/O口统一编址,地址范围0000H~0FFFFH。规定片外数据存储器只能由寄存器间接寻址的方法访问,所用的间址寄存器可为@DPTR、@RiMOVXA,@DPTR;读片外RAM指令MOVX@DPTR,A;写片外RAM指令片外RAM的操作说明:访问片外存储器指令助记符“MOVX”,X表示eXternal,即片外的意思。访问片外RAMDPTR所指向的存储单元,访问是双向的(可以读、写),但是只限于指定存储单元和累加器A进行数据的传送。在访问存储单元前应该先对DPTR赋值,即赋予片外RAM要访问的存储单元的16位地址量。用DPTR做指针寻址时,由于DPTR为16位寄存器,因此最大寻址范围64KB。5.2程序存储器一、片内外连续统一ROM程序存储器存放二进制的程序和常数,由PC(程序计数器、指令指针)寻址。统一:16位地址的ROM空间(0000H~0FFFFH)片内ROM0000H0FFFH····0000H0FFFH1000HFFFFH········片外ROM{4KB个单元}最多64KB个单元EA引脚:ExternalAccessEnable外部访问允许EA=0访问的是片外ROM0000H~0FFFHEA=1访问的是片内ROM0000H~0FFFH5.2程序存储器一、片内外连续统一ROM程序存储器存放二进制的程序和常数,由PC(程序计数器、指令指针)寻址。连续:16位地址的ROM空间(0000H~0FFFFH)系统占用区0003H~0023H:为ROM的系统占用区

不得被挪作它用0000H:放第一条指令(转移指令)第二条指令放到0030H单元以后(跳过系统保留区)EA=0;EA=1;5.3存储器扩展

一、存储器芯片三款Intel公司的存储器产品,分别是EPROM芯片2764、E2PROM芯片2864和RAM芯片6264。前两位27表示存储器类型为EPROM,28表示E2PROM,62表示RAM。后两位64表示存储器容量为64kbit=8KB,单一+5V供电。各引脚功能如下:二、片外总线结构P0口地址总线低8位/数据总线:分时复用P2口地址总线高8位控制总线:PSEN片外ROM读选通ALEEA片内外ROM(4KB)选择RD片外RAM读选通WR片外RAM写选通5.3存储器扩展

三、连接方法5.3存储器扩展

三、连接方法5.3存储器扩展

5.3存储器扩展

5.3存储器扩展

5.3存储器扩展

5.3存储器扩展

4.4I/O扩展

4.4.1简单并行扩展简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,根据“输入三态,输出锁存”与总线相连的原则,通过总线来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。

4.4.2可编程并行扩展芯片8255

8255可编程并行输入/输出接口芯片是Intel公司生产的标准外围接口电路。它采用NMOS工艺制造,用单一+5V电源供电,具有40条引脚,采用双列直插式封装。它有A、B、C3个端口,共24条I/O线,与外设相接,可以通过编程的方法来设定端口输入或输出,还可提供与外设的握手信号。通过8条数据线可方便地与各种微机系统的数据总线相接,所以得到了广泛的应用。8255有3个端口A、B、C和一个内部控制字寄存器,共4个端口;因此芯片自带2位的字选地址线A1和A0。由控制寄存器的内容设置A、B、C口的使用方法。4.4I/O扩展

4.4.2可编程并行扩展芯片8255

地址总线A1A0CS数据总线D0~D7控制总线

RDWRI/O接口PA、PB、PC4.4.2可编程并行扩展芯片8255

8255端口功能表8255端口选择表8255的C口置位/复位控制字4.4.2可编程并行扩展芯片8255

解:1、工作方式控制字为D0=1:C口低半部输入;D1=0:B口输出;D2=0:B口方式0;D3=0:C口高半部输出;D4=1:A口输入;D6D5=00:A口方式0;D7=1:工作方式控制字标志。因此工作方式控制字为10010001B即91H。2、初始化程序为:MOVDPTR,#03FFH;指向8255A;控制口MOVA,#91HMOVX@DPTR,A;送控制字8255工作方式控制字例4-1对8255各口作如下设置:A口方式0输入,B口方式0输出,C口高位部分为输出、低位部分为输入。设控制寄存器的地址为03FFH。4.5非总线型扩展

4.5.1总线型单片机的非总线扩展

在新一代单片机中,无论是总线型单片机,还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。特别是非总线类单片机,在没有并行扩展总线的情况下,利用串行外围接口可以扩展一些必要的外部器件。在非总线扩展系统中,P0~P3口都作为通用I/O。P0口需外接上拉电阻。单片机与外部存储器及I/O芯片的数据传送,不使用MOVX指令,而使用带进位的A循环移位指令、P0~P3对应位的位操作指令实现。4.5.2非总线型单片机AT89C2051是一种带2KB闪速可编程可擦除只读存储器的低电压、高性能CMOS的8位微控制器。2051它只有20个引脚,该器件具有以下一些标准特性:2KB的闪速存储器,128B的RAM,15根I/O线,2个16位定时/计数器,5个两级中断源结构.一个全双工串行口,一个精确的模拟比较器,片内振荡器和时钟电路。每个引脚最大电流20mA,可以直接驱动L

温馨提示

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

评论

0/150

提交评论