单片微机2章教材_第1页
单片微机2章教材_第2页
单片微机2章教材_第3页
单片微机2章教材_第4页
单片微机2章教材_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

微型计算机技术与应用70课堂学时+18实验学时第2章51系列单片机系统结构2.1总体结构2.2存储器组织2.3时钟、时钟电路、CPU计时2.4复位和复位电路2.5中断系统2.651指令系统2.1总体结构2.1.151系列单片机一般结构

图2-1

一、内部结构二、引脚功能(1)引脚功能(2)芯片封装图2-3-1图2-3◆振荡电容的取值范围P35

◆晶振电路连接P35(3)晶振电路及XTAL1、XTALL2的连接2.增强型MCS-51内核主流芯片表2-1增强型MCS-51主流芯片性能指标

表2-1增强型MCS-51主流芯片性能指标

2.1内部结构和引脚功能2.1.1内部结构图2-1增强型MCS-51CPU内部结构2.1.2引脚功能图2-2增强型MCS-51CPU常见封装形式引脚排列(a) DIP封装;(b) PLCC封装;(c) PQFP封装图2-3增强型MCS-51CPU引脚逻辑符号表2-2引脚功能

表2-2引脚功能

表2-2引脚功能

图2-4增强型MCS-51振荡电路及连接(4)引脚逻辑符号图2-4-1

2.1.289C52总体结构图2-22.2存储器组织程序存储器

数据存储器结构:51系列单片机存储器结构如图2-5特点:有存储容器,每个容器有地址*数据存储器和程序存储器地址空间重叠,64K*外部程序存储器用PSEN信号选通,外部数据存储器用RD和WR信号选通

*片内数据存储器和片外数据存储器地址空间重叠。用MOV和MOVX区分*片内数据存储器用MOV指令读写,此时外部数据存储器的RD和WR信号无效*片外数据存储器用MOVX指令读写。2.2.1程序存储器

*程序存储器地址空间64K

*片内程序存储器和片外程序存储器要统一编址

*外部程序存储器选择引脚EA用法

如果EA引脚为高电平,且程序计数器PC小于等于片内ROM的地址空间时,将从片内程序存储器取指令,而当PC超出片内ROM地址空间时,自动到外部程序存储器取指令

*如果EA/VPP引脚为低电平,一律从外部

程序存储器取指令定时器0中断服务程序入口地址 000BH外部中断1服务程序入口地址 0013H定时器1中断服务程序入口地址 001BH串行口中断服务程序入口地址 0023H定时器2中断服务程序入口地址 002BH系统复位 0000H外部中断0服务程序入口地址 0003H

*增强型MCS-51系列单片机留给系统使用的程序存储器地址空间如下:

图2-62.2.2内部RAM数据存储器8XC51系列片内RAM128字节8XC52系列片内RAM256字节图2-7一、片内RAM(1)工作寄存器区表2-1

工作寄存器区选择表2-2(2)位寻址区(3)内部用户区或堆栈区2.2.3特殊功能寄存器(1)累加器Acc地址E0H(2)B寄存器地址F0H

特殊功能寄存器与高128字节的RAM地址重叠

只能通过寄存器间接寻址方式读写高128字节的RAM

只能通过直接寻址方式读写特殊功能寄存器表2-2-1表2-‘Cy:进位标志AC:辅助进位标志OV:溢出标志P:奇偶标志F0:用户标志位(3)程序状态字寄存器PSW地址DOHPSW.1:保留位提示:可按位寻址(4)堆栈指针SP(地址81H)

堆栈指针SP指示最后进入堆栈的数据所在存储单元的地址(栈顶的位置)例:假设SP当前值为2FH,分析入堆栈指令“PUSHB”(将寄存器B内容压入堆栈)的执行过程图2-7-2例:分析出堆栈指令“POPB”(将寄存器B内容弹出堆栈)的执行过程图2-7-3SP寄存器的初值为07H,占用工作寄存器区,必须通过数据传送指令重新设置SP的初值,将堆栈底部设在30H~7FH涉及入栈出栈操作的指令有:PUSHdirect ;将内部RAM单元压入堆栈中POPdirect;从堆栈中将数据弹入内部RAM单元中(5)数据指针DPTR

是一个16位的专用寄存器,由DPH(数据指针高8位)和DPL(数据指针低8位)组成,用于存放外部数据存储器的存储单元地址。例如,可用如下指令将累加器A的内容传送到外部数据存储器的107FH单元中:

MOVDPTR,#107FH;将外部数据存储地址传送到DPTR寄存器MOVX@DPTR,A

为方便外部RAM之间的传送,增强51采用双数据指针DPTR0和DPTR1

由辅助功能寄存器AUXR1控制

①辅助功能寄存器AUXR1

②辅助功能寄存器AUXR图2-7-4图2-7-5(6)I/O端口寄存器P0~P3是对应的I/O端口锁存器,用于锁存通过端口输出的数据。(7)PC16位地址寄存器。存放当前指令码的地址,PC本身没有物理地址。(8)定时/计数器单元包含的寄存器TMOD,TCON,T2CON,T2MOD,TH0,TL0(9)中断单元包含的寄存器IE、IP(10)串行通讯单元包含的寄存器SCON,SBUN,PCON等2.2.4位寻址区MCS-51系列单片机既是8位机,同时也是一个功能完善的一位机。

作为一位机时,它有自己的CPU、位存储区(位于内部RAM的20H~2FH单元)、位寄存器,如将进位标志Cy作为“位累加器”,以及具有完整的位操作指令。2.2.5内部数据存储器之间的数据传送及寻址方式(1)00H~7FH低128字节,可以通过直接寻址方式或寄存器间接寻址方式读写(2)内部RAM(80H~FFH高128字节)的访问用寄存器间接寻址方式访问(3)特殊功能寄存器只能使用直接寻址方式访问

对于位存储器(即20H~2FH单元中的128个位),只能使用直接寻址方式确定操作数所在的存储单元。2.2.6外部数据存储器

单片机(MCU)通过P0、P2口最多可以连接64KB的外部数据存储器

一、89C52时钟电路图2-8(1)波形2.3时钟、时钟电路、CPU定时(2)PD作用(3)CMOS单片机外部时钟输入电路图2-9二、CPU定时技术术语:图2-8图2-9振荡周期T,也就是时钟周期,它是输入时钟信号频率fOSC的倒数

T=1/fOSC状态周期,即CPU从一个状态转换到另一状态所需的时间。在MCS-51中,一个状态周期由两个时钟周期组成。机器周期Tt,是单片机完成一个基本操作所需的时间。在51系列单片机中,一个机器周期由12(或6)个时钟周期组成。(1)89C52CPU定时图2-10(2)W77E58等单片机的CPU定时图2-11ab2.4复位和复位电路复位的目的:将CPU和单片机其他部件置成一个确定的初始状态,并从这个状态开始工作。复位包括:上电复位和运行中复位。复位引脚:

RST

RST引脚高电平有效◆

高电平宽度不能少于2个机器周期51系列单片机复位条件:

51系列单片机复位过程:

RST引脚输入2个机器周期以上高电平——》单片机复位——》RST引脚回复低电平——》机器脱离复位状态,进入取指周期。(PC=0000H)

2.4.089C52复位后内部寄存器状态表2-62.4.1外部复位

一、上电自动复位

图2-12二、人工手动复位

2.4.2单片机内部复位

由单片机内部的看门狗电路复位

2.4.3系统复位

图2-13注意:复位不改变内部RAM单元内容ab2.5

中断系统2.5.1中断概念1.为什么要使用中断?2.中断特点◆CPU利用率高◆

能同时与多个外设进行数据交换——只要适当安排多个中断优先级,以及同优先级中断(源)的查询顺序即可。3.中断源

在计算机控制系统中,把引起中断的事件称为中断源。常见的中断源有:*外部中断,如CPU某些特定引脚电平变化引起的中断*各类定时/计数器溢出中断*串行发送结束请求中断*串行接收有效请求中断。*电源掉电中断。4.中断优先级

解决多个中断请求同时有效时,先响应哪一中断问题。5.中断开关(禁止或允许中断)

为避免某一处理过程被中断,中断控制器给每一个中断源都设置了一个中断请求屏蔽位,用于禁止或允许相应中断源的中断请求传送到CPU6.中断处理过程中断何时被查询—CPU何时查询中断标志?中断何时被响应—CPU在什么情况下响应中断请求?中断发生后,中断响应的过程—用几个机器周期完成?2.5.289C52中断控制系统MCS-51系列中断控制器可管理5个中断源(共分2个中断优先级)。

增强型MCS-51系列(如89C52)中断控制器可管理6个中断源(共分4个中断优先级)。一、89C52中断系统结构图2-15图2-15(1)6个中断源(2)相应中断标志二、89C52的6个中断源和相应标志CPU在每个机器周期的S5P2拍,采样各中断源,发现某一中断有效时,置“1”相应中断标志。6个中断源对应8个中断标志:*外部中断0中断标志IE0

*定时器T0中断标志TF0*串行接收结束中断标志RI*串行发送结束中断标志TI*外部中断1中断标志IE1*定时器T1中断标志TF1*外部触发中断标志

EXF2*定时器T2溢出中断标志TF28个中断标志存放在TCON、TCON2(定时/计数控制寄存器)和SCON(串行口控制寄存器)中。图2-15-1图2-15-3图2-15-2三、中断控制1.中断允许控制寄存器IE图2-15-4

由于IE寄存器具有按位寻址功能,因此可通过位操作指令,允许或禁止其中的任一中断,如:SETBEA ;开中断SETBEX0 ;允许ITN0中断CLRES ;禁止串行口中断

标准MCS-51内核CPU只有两个中断优先级,由IP寄存器控制;

标准MCS-51中断优先级控制寄存器IP各位含义如图2-15-5所示。2.中断优先级控制寄存器IP

增强型MCS-51内核CPU有四个中断优先级,由中断优先级寄存器IP和IPH控制

IPH的含义如图2-15-6优先级由IP和IPH对应位编码决定IPH.XIP.X优先级000级(优先级最低)011级102级113级当IPH为XX000000B时,IP决定优先级3.硬件查询顺序MCS-51约定当同一优先级中断请求有效时,CPU响应顺序为:中断号外中断INT00定时/计数器T0溢出中断1外中断INT12定时/计数器T1溢出中断3串行口中断4定时/计数器T2溢出中断52.5.3外部中断触发方式*负电平触发和下降沿触发两种方式*外部中断触发方式由TCON控制(1)电平触发(方式位=0)•低电平有效•

在S5P2,将外部中断(如P3.2)输入反相后,锁存入IE0或IE1(置1中断有效标志)图2-15-1•在中断服务程序结束前,中断源必须撤消其低电平•下降沿有效•如S5P2采样到一个高电平,下周期的S5P2采样到一个低电平,IE0或IE1锁存‘1’。•高、低电平至少要维持一个机器周期(2)边沿触发(方式位=1)尽量不用电平触发方式,除非有脉冲干扰环境时2.5.4中断响应过程及中断服务程序入口地址中断响应时序*锁存中断(置1中断标志)M1的S5P2

*查询中断请求标志M2的S6*中断调用M3——M4*进入中断服务程序M5以后图2-15-71.中断响应条件(1)当前不处于同级或更高级中断响应中(2)当前机器周期必须是当前指令的最后一个机器周期,否则等待。(3)如果当前指令是中断返回指令RETI,或读写中断容许(控制)寄存器IE、优先级寄存器IP或IPH,则必须再执行一条指令后才能响应中断请求。(避免中断控制寄存器尚未稳定时,响应中断,出现不确定后果)

如果不满足以上条件,将忽略该机器周期对中断标志的查询结果,下一机器周期继续查询

在中断响应过程中,如果在M4周期的S6状态查询到优先级更高的中断标志为1(即在M2~M3机器周期内优先级更高的中断请求出现),在M5、M6机器周期将响应高优先级中断,而不执行低优先级中断服务程序。2.中断响应过程及中断服务程序入口地址如果满足中断响应条件,将进入中断响应过程:CPU先将对应中断的优先级触发器置1(每一中断源对应一个中断优先级触发器),阻止CPU再响应同级或更低级中断请求。(2)将程序计数器PC当前值压入堆栈,以保证执行完中断服务程序后正确返回(3)将相应中断源入口地址装入PC,以便执行中断服务程序。以上过程由硬件完成(4)中断响应时,应清除中断标志(硬件清除和软件清除

进入中断服务程序后,CPU能自动清除下列中断请求标志位:定时器T0中断请求标志TF0;定时器T1中断请求标志TF1;边沿触发方式下外中断INT0的中断请求标志IE0;边沿触发方式下外中断INT1的中断请求标志IE1;

不能自动清除的中断标志有:*串行发送结束中断标志TI*串行接收有效中断标志RI*定时/计数器T2溢出中断标志TF2*定时/计数器T2外触发标志EXF2*电平触发方式下的外中断标志IE0和IE1

以上中断标志,需要在中断服务程序中,用“CLR位地址”指令清除。中断服务程序入口地址如下中断源 入口地址外部中断INT0 0003H定时/计数器T0溢出中断 000BH外部中断INT1 0013H定时/计数器T1溢出中断001BH串行口中断 0023H定时/计数器T2溢出中断002BH

实际的中断服务程序放在存储器区(0033H后)内的任意位置(一般放在主程序后)外中断INT0的中断服务程序如下:

ORG0003H

LJMPINT0 ;在中断入口处放一条长跳转指令(5)中断返回“RETI”的功能*先将对应中断的优先级触发器清零(以便返回后CPU能够响应同级或更低级的中断请求)*将堆栈内的两个字节(断点)弹到程序计数器PC重点:*S5P2检测中断源*置位中断标志*该中断能否传递到CPU取决于中断控制寄存器是否容许(开关)中断。*如外部中断为低电平触发时,其低电平保持时间不能小于一个机器周期。*如外部中断为下降沿触发时,其高、低电平保持时间必须大于一个机器周期。2.5.5中断初始化及中断服务程序结构1.中断初始化是设置TCON、IE及IP、IPH寄存器内容*确定外中断触发方式(低电平触发还是下降沿触发)*开中断*设置中断优先级例:通过指令将外中断INT0定义为下降沿触发,优先级为3(最高),并允许中断程序4-12.中断服务程序结构与子程序类似,结构如下:子程序与中断服务程序区别:

(1)中断出现是随机的(2)中断服务程序入口地址(也称为中断向量)由硬件决定,与CPU类型有关,不能更改。而子程序入口地址由用户自行安排。(3)子程序中可以任意调用另一子程序,但中断过程有优先级程序4-2(4)尽管子程序返回指令RET和中断返回指令RETI均会将栈顶两个字节信息装入PC,恢复断点,但RETI还清除相应中断优先级触发器,因此中断返回指令不可用子程序返回指令RET代替。(5)电平触发时的“同一触发,多次响应”的问题

中断应用举例例1:利用中断对多个故障进行显示,

当系统无故障时,4个故障源输入端X1—X4全为低电平,显示灯全灭,当某部分出现故障,其对应故障源输入由低电平变为高电平,从而引发单片机中断,中断服务程序的任务是判定故障,并用对应发光管进行显示。试编制应用程序。如图Z-1中断部分要点小结:◆中断源、中断优先级、中断开关、中断处理过程、中断响应时序、中断响应条件

◆中断允许控制寄存器IE

◆中断优先级控制寄存器IP

◆清除中断标志(硬件清除和软件清除)

2.651指令系统(汇编语言)2.6.1指令格式

操作码目的操作数源操作数例:MOVA,#00H操作数可以是数据,也可以是地址例:MOV21H,A2.6.2指令的机器代码例:MOVA,#FFH机器代码:74FFH2.6.3寻址方式寻址方式——CPU在执行某条指令时,找到该指令所用操作数的

温馨提示

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

评论

0/150

提交评论