ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:273.79KB ,
资源ID:926945      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-926945.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机的结构及原理文档格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机的结构及原理文档格式.docx

1、从位数来看:4、8、16、32位,51单片机有80C31(无ROM)、80C51(4KROM)、87C51(4KEPROM)。前些年国内教材和产品开发,基本上以8051系列为使用对象,近年国际上广泛使用80C51单片机,80C51单片机是目前8位机中的佼佼者。现以80C51为例来介绍单片机的结构。3、单片机结构1)、80C51单片机的功能结构 如下图所示,单片机是属于三总线结构,80C51单片机功能方框图如图1所示:图1 单片机内部结构框图2)、单片机内容结构单片机的内部结构如图2所示。从图中看出,它具有以下特征;适于控制应用的8位CPU56字节片内数据存储器,分高低两个128字节4K字节片内

2、程序存储器64KB程序存储器空间64KB数据存储器空间4个8位共32根双向并可按位寻址的I/O口线两个16位定时/计数器;一个全双工的串行I/O接口有5个中断源片内时钟振荡器具有布尔处理(位处理)能力图2 单片机内部结构4、单片机的封装形式、引脚定义及功能1)、80C51封装80C51系列单片机具有双列直插式和方形两种封装。2)、80C51系列单片机引脚功能、引脚分布:如图3所示为双列直插式引脚分布图、引脚功能VCC-工作电源+5VGND-电源地ALE/ PROG -访问外部存储器时作为低8位地址锁存控制信号;在对EPROM编程时作为编程脉冲输入;在不访问外部存储器和非EPROM编程状态下,该

3、脚输出频率为1/6单片机晶振频率的方波信号,该信号,可作为时钟脉冲,但在访问数据存储器时会丢失一个脉冲; PSEN外部程序存储器读选通信号.EA/VPP访问程序存储器控制信号。当EA为低电平时,只读外部存储器,当EA为高电平时则先读内部程序存储器,再读外部程序存储器;这个引脚在编程时接编程电压VPP. RST复位信号,对系统复位信号要求2T时频。XTAL1片内振荡电路输入端。XTAL2片内振荡电路输出端。 图3 单片机引脚分布P0-P3输入输出端口。第二节 单片机的工作原理1、指令与程序1)、指令规定计算机执行特定操作的命令,分成操作码和操作数,以二进制编码形式出现,具有固定的格式。 例如:2

4、000H:MOV A,#34H 2000H是标号,即程序地址。 该指令的机械码:7434H 其中:74操作码,表示执行何种操作; 34-操作数,表示操作的数据;2)、程序程序就是跟据要求编制的指令集合;例如,将外部数据存储器5000H单元内容送累加器A的程序; MOV DPTR,#5000H MOV A, DPTR2、CPU的工作原理CPU是微机的核心部件,由控制器和运算器两部分组成如图4所示。1)、控制器控制器由指令部件、时序部件、控制部件三部分组成。、指令部件:由程序计数器、指令寄存器和指令操作码译码器构成。程序计数器用来存放指令的地址的部件。指令寄存器用来暂时存放指令的部件。指令操作码译

5、码器对指令操作码进行分析、解释并在输出端产生各种电平。、时序部件:由时钟系统和节拍发生器构成。时钟系统它产生具有一定频率和宽度的脉冲信号。节拍发生器节拍发生器产生节拍电位和节拍脉冲。、微操作控制部件:对节拍信号和指令操作码信号进行加工处理,产生各种信号。图4 CPU内部结构2)、运算器运算器是数据进行算术运算和逻辑运算的执行部件,单片机不仅有很强的算术运算能力,而且有非常强的位处理能力,因此,特别适合用在实时控制场合。3)、单片机执行程序的过程系统复位, 程序计数器PC的值为0000H。在控制信号的作用下,根据PC值从内存单元中取出相应的指令。将取出的指令送指令寄存器,经指令译码器分析,译码信

6、号与时序信号合成,形成所需的各种微操作信号。循环往复执行,直到结束。第三节 存储器结构1、单片机存储器空间分布如图5所示,80C51单片机存储器在物理结构上分片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器四个空间;在逻辑结构上(使用上)分成片内外统一编址的64KB程序存储器、256B的片内数据存储器以及64KB片外数据存储器。在访问不同的存储器空间时,使用的指令不同。图5 单片机存储器结构2、程序存储器1)、程序存储器的作用用来存放操作程序。2)、程序存储器的空间分布分片内和片外,共64KB空间,EA=1,先访问片内程序存储器再访问片外存储器,其地址是连续的;当EA=0时,只访

7、问片程序存储器。复位时PC=0000H,值得注意的是,程序存储器从0003H0030H共40个单元作为中断处理用,如表2所示:表2 中断入口地址地 址 空 间字节数说 明0003H000AH8外部中断0入口000BH0012H定时器0溢出中断入口0013H001AH外部中断1入口001BH0022H定时器1溢出中断入口0023H0030H串行口中断入口3、数据存储器1)、数据存储器的作用数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 2)、数据存储器空间分布数据存储器由片内256字节(含低128单元和高128单元)和片外64KB两个存储空间组成,结构如图6所示:图6 单片机数据存储

8、器下面分别说明:(1)、片内数据存储器片内256B的数据存储器分高128B和低128B两部分 、低128字节工作寄存器区:地址从00H1FH,共32个字节,每8个字节构成一个区,记作R0R7。寄存器区的选择由程序状态字PSW中的RS0位和RS1位的值定:系统复位时,系统自动指向工作寄存器0区。工作寄存器一般用作数据缓冲寄存器,如果不用作工作寄存器,这个区域中的32个字节也可以作数据寄存器使用,直接按字节寻址。位寻址区:该区域地址从20H到2FH,共16个字节,128位,使用指令可以寻址到位,位地址00H7FH。注意:这个区域也可按字节寻址。数 据 区:地址从30H7FH,共80个字节。可作为用

9、户数据存储器,按字节访问,用户堆栈通常在该区域开辟。、高128B(特殊功能寄存器区SFR)80C51把CPU中的专用寄存器、并行端口锁存器、串行口、定时器/计数器内的控制寄存器等集中安排在一个区域(共21个专用寄存器),离散地分布在地址从80H到FFH范围内,这个区域称为特殊功能寄存器区 。它共有128个字节,在物理上与片内RAM分别占有高128字节地址和低128字节地址。构成了连续的256个字节空间,在性质上都属于数据存储器。下面介绍常用的SFR,对在本节尚未介绍的其它SFR,在后面介绍。累加器Acc:Acc是一个具有特殊用途的8位寄存器,主要用存放操作数和运算结果。例如:ADD A,#55

10、H 表示累加器A的内容与55H相加,结果放到累加器中并暂存起来。程序状态字PSW:PSW是一个可编程的8位寄存器,如图7所示,用来存放当前指令执行结果的有关状态。单片机有许多指令的执行会影响PSW的位状态。PSW的位状态可通过指令设置,它是一个可以位寻址的特殊寄存器。 图7 状态寄存器单片机在运算,Y=84+105时,会发生溢出错误,因为运算结果189,已经超出-128-+127的范围。寄存器B:寄存器B是一个8位寄存器,主要用于乘除法。乘法运算时,B是乘数, 乘法操作后,积的高8位存于B中;除法运算时,B是除数,除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。堆栈指钍:堆

11、栈指钍(SP):是专门用来指示椎栈的起始位置的 8位寄存器,地址在81H,复位时堆栈指钍初始化地址为07H,用户开辟堆栈时必须指明SP的初始值(栈底)和长度,如图8所示。堆栈的存贮区域在RAM的30H7FH之间。 图8 单片机堆栈进栈用PUSH,出栈用POP。堆栈- 堆栈是在RAM中由用户开辟的一个区域。在这个区域中数据的存取是按“先进后出的原则”进行。在这个区域的数据是不能按字节访问的,它是专用来为程序中断、子程序调用等临时保护现场的一个存储空间。数据指钍DPTR:数据指钍是一个16位地址寄存器,由高位字节DPH和低位字节DPL组成,这两个字节也可单独作为8位寄存器使用。使用DPTR可以访问

12、64K字节外部数据存储器的任一单元。MOV DPTR, #dataMOVX A,DPTR这两条指令的意思是:把常数data传送到DPTR,再把DPTR所指向的外部RAM单元的数据送入累加器中。(2)、外部数据存储器64KB的外部数据存储器是通过扩展而形成的,外部数据存储器地址从0000H-FFFFH。外部存储器的访问只能间接寻址。第四节 单片机输入/输出口结构1、P0端口(如图9所示)1)、作为通用I/O口使用内部控制信号为0电平,此时,与门将封锁上拉场效应管,MUX接通锁存器的反向输出端。由于T1处于断路状态,因此在输出端要接上拉电阻(5-10K),P0口的工作过程如下:、数据输出:内部的写

13、脉冲加在D触发器的CL端,数据从总线写入D,并向端口引脚输出。、数据输入(分读引脚和读端口两种情况): 读引脚:读引脚信号打开三态缓冲器,信号通过三态门传送到内部总线. 读端口:读端口则是通过读锁存器实现的。数据输入,口线必须先置1,否则读数有可能出错;P0口作通用I/O口使用时,无论输入还是输出,必须接上拉电阻;2)、作地址/数据总线使用P0口作为总线使用时,内部发出控制信号,打开上面的与门,MUX接通地址/数据线,地址和数据分时工作。 图9 P0口结构2、P1端口(如图10所示)1)、数据输出:系统发出写锁存器命令,内部总线的数据通过D锁存器FET从引脚输出。2)、数据输入:先向锁存器写入

14、1封锁FET,引脚信号在读引脚控制信号下由引脚通过三态门传入内部总线(注意在编程时要先将该位先置1再输入数据)。图10 P1口结构3、P2端口(如图11所示)P2口可作为通用I/O口和高位地址线使用。作通用I/O口时控制信号使MUX接锁存器,内部上拉电阻被截断,作地址线时MUX与地址线相联。1)、P2口作通用I/O口使用输出:在写锁存器控制下,内部总线的数据通过D输出到引脚。输入:在读引脚控制下,数据从三态门输入到内部总线(同样要接上拉电阻,要置1指令)。图11 P2口结构2)、作总线使用控制信号使地址与输出相联,与门接通,内部上拉电阻有效。P2与P0配合作地址线的高8位。此时就不能作通用的I

15、/O口使用了3)注意事项、单片机外部不接程序存储器时,如果外部数据存储器只有256B,则可使用MOVX A,RI指令访问。在这个过程中,地址由P0口输出,P2口不变。、如果外部存储容量较大(或外部接程序存储器),需用MOVX A, DTPR指令访问。此时,P0,P2将分别输出高低地址。值得注意的是在输出地址的过程中,P2口的锁存器内容始终保持不变,因此在输出地址后,P2口可作通用的I/O口使用。、如果单片机外部接有程序存储器,由于程序是在不断进行,因此P2口,在这种状态下是不能再你通用I/O口使用。4、P3端口(如图12所示)1)、第一功能使用 输出:此时,“第二输出功能”为高电平,与非门打开

16、,内部数据通过锁存器的Q经过与非门到T; 输入:从引脚在读引脚控制信号控制下,通过三态门进入(同样要置1)。2)、第二功能使用 图12 P3口结构P3口的第二功能;P3.0 RXD (串行数据输入口)P3.1 TXD (串行数据输出口)P3.2 INT0 (外部中断0)P3.3 INT1 (外部中断1)P3.4 T0 (定时器/计数器0外部输入)P3.5 T1 (定时器/计数器1外部输入)P3.6 WR (外部数据存储器写脉冲)P3.7 RD (外部数据存储器读脉冲)当P3口作为第二功能使用时,此时Q为高电平,与非门打开,数据从“第二输出功能”端输出;输入时,端口引脚的“第二功能信号”通过缓冲

17、器送到第二输入功能端。5、端口负载能力和接口要求 1)、P0口可带动8个LSTTL(在TTL电路基础上研制的一种低功耗电路)。既可作通用I/O口使用,也可作地址/数据线使用,作I/O口使用时,要接上拉电阻,作地址/数据使用时,不须接上拉电阻,此时,不能再作I/O口使用。2)、P1P3口输出可带动4个LSTTL电路和MOS电路。3)、P0P3均为双向I/O口,作输入时,必须先在端口锁存器上写“1”。第五节 CPU时序及时钟电路CPU从取指令、分析指令到执行指令的全过程中,都是在时序控制下一拍一拍地进行的。下面介绍时序的几个概念:时钟周期时钟周期又叫节拍,定义为时钟脉冲频率的的倒数,如f=12MH

18、Z,则T=1/12,在单片机中,节拍用P表示,二个节拍定义为一个状态,状态用S表示,机器周期CPU完成一种基本操作所需的时间称机器周期。如CPU取指令、分析指令、执行指令等。一个机器周期分6个状态,记为S1S6,因此,一个周期由12个节拍组成,分别记为S1P1、S1P2、S6P1、S6P2。指令周期CPU执行一条指令所需要的时间称之为指令周期,如图13所示。图13 单片机指令周期1、指令时序1)、取指令和执行指令:取指令:CPU在每出现一次ALE取一次指令,一个周期出现二次ALE。第一次出现在S1P2、第二次出现在S4P2,宽度为一个状态。执行指令:80C51共有111条指令,指令时序分成单字

19、节、单周期指令时序;双字节单周期指令时序;单字节双周期指令时序;二字节二周期指令时序;一字节四周期指令时序。2)、指令执行过程如图14是单片机指令执行过程:图14 单片机指令执行过程现说明如下:、单字节、单周期指令时序:在S1期间读入操作码,并把它送入指令寄存器,接着开始执行,并在本周期的S2P2执行完毕。如:INC A;、双字节单周期指令时序:在S1期间读入指令操作码并锁存,在S4期间读入指令第二字节,指令在相周期的S6P2期间执行完毕。ADD A,#data、单字节双周期指令时序: 在S1期间读入操作码并锁存,然后开始执行,在第二周期的最后一个状态S6P2执行完毕。2、振荡器和时钟电路如图

20、15所示,80C51的时钟主生方法分内部时钟方式和外部时钟方式:图15 振荡器1)、内部时钟电路 此时在芯片XTAL1和XTAL2两端跨接晶体,C取30PF;若跨接陶瓷谐振器,C取47pF;晶振频率可在1.212MHZ之间选择。2)、外部时钟方式 此方式是利用外部振荡脉冲接入XTAL1或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同。如图16所示:图16 单片机外接时钟电路8051的时钟信号由XTAL2输入,考虑到XTAL2不是TTL电平,因此接有上拉电阻。80C51的时钟由XTAL1输入。第六节 单片机工作方式单片机有复位、程序执行、低功耗、编程和校验四种工作方式,下面介绍前三

21、种,编程和校验工作方式。1、复位方式 1) 复位操作复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作。复位操作后,程序将从0000H开始重新执行,复位时特殊功能寄存器的状态如表3所示。除此之外,复位操作还使单片机的ALE和PSEN引脚信号在复位期间变为无效状态。表3 特殊功能寄存器复位状态表寄存器名称复位状态PC0000HTCON0 000000BACC00HTL0BTH0PSWTL1SP07HTH1TMOD 000000BPCON0 0000BDPTRSBUF不定P0-P3FFHSCON2) 复位工作方式 (1)复位信号单

22、片机对复位信号的要求:一是复位信号为高电平,二是复位信号有效持续时间不少于24个振荡脉冲(两个机器周期)以上。在这里特别要提醒的是,在一个应用系统中,如果有几片单片机同时工作,在程序上有连接关系,系统复位时,应确保每一片单片机同时复位。 (2)复位工作方式复位信号由单片机的RST引脚输入,复位操作有上电自动复位、按键复位和外部脉冲复位三种方式,见图25所示。随着单片机技术的发展,目前有些单片机内部带有看门狗电路,当程序进行出错或进入了无休止循环时,看门狗电路将利用软件强行使系统复位。2、 程序执行方式程序执行方式是单片机的基本工作方式。系统复位PC=0000H,程序从0000H开始执行,考虑到

23、单片机存储器结构的特殊性(0003H-0002BH共四十个单元,预留用于中断程序),在0000H-0002H中放一条无条件转移指令,程序从指定的地址开始执行。配合程序调试,程序又可运行在单步、跟踪、全速运行三种执行方式。目前一般仿真器都提供了这三种程序执行方式。随着科学技术的发展,在线可编程(ISP)单片机已经走向应用,如STT89C58、AT89S51、AT89S52芯片,都具有在线可编程功能。3、 低功耗工作方式MCS-51单片机有待机和掉电保护两种低功耗工作方式,单片机低功耗方式的设置是通过电源控制寄存器(PCON)的相关位来实现的。电源控制寄存器如下:MSB LSBSMOD-GF1GF

24、0PDIDLSMOD 波特率培增位,在串行通信时使用,用来辅助设置通信速度。GF1 通用标志位1。GF0 通用标志位0。PD 掉电方式设置位,PD=1,进入掉电工作方式。IDL 待机方式设置位,IDL=1,进入待机工作方式。PCON是一个8位的寄存器,不具备位寻址功能,设置任意一位都要通过字节寻址命令。进入掉电工作方式:MOV PCON,#02H 进入待机工作方式:MOV PCON,#01H1 )、待机工作方式 (1)待机工作方式特征系统进入待机工作方式,CPU停止工作,与CPU相关的特殊功能寄存器和全部通用寄存器被“冻结”在原状态,此时振荡器仍在工作,中断功能继续存在。 (2)进入待机工作方

25、式设置要使系统进入待机工作方式,只要寄存器PCON中的IDL=1即可。指令 MOV PCON,#01H 实现待机工作方式设置。 (3)退出待机工作方式在待机工作方式下,通过引入外中断信号的方法,使待机工作方式退出。单片机在响应外部中断时,PCON0位(IDL)被硬件自动清“0”。这样在中继服务程序中只要用返回指令(RETI)即可使系统恢复正常工作。2)、 掉电工作方式(1)掉电工作方式的特征单片机进入掉电工作方式,只有内部RAM单元的内容被保存,其它一切工作都停止。(2)掉电工作方式设置 要使系统进入掉电工作方式,只要寄存器PCON中的PD=1即可。指令 MOV PCON,#02H 实现掉电工作方式设置。(3)掉电工作方式退出当电源恢复正常后,只要硬件复位信号维持10ms以上,即能使单片退出掉电保护工作方式。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2