第2章、单片机系统组成原理.ppt

上传人:ga****84 文档编号:381833 上传时间:2018-09-29 格式:PPT 页数:33 大小:2.73MB
下载 相关 举报
第2章、单片机系统组成原理.ppt_第1页
第1页 / 共33页
第2章、单片机系统组成原理.ppt_第2页
第2页 / 共33页
第2章、单片机系统组成原理.ppt_第3页
第3页 / 共33页
第2章、单片机系统组成原理.ppt_第4页
第4页 / 共33页
第2章、单片机系统组成原理.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、第2章 单片机系统组成原理,2.1 MCS-51单片机组成原理2.2 单片机复位电路设计2.3 MCS-51存储器配置2.4 定时器/计数器2.5 中断系统,2.1 MCS-51单片机组成原理,MCS-51单片机的组成 :1. 8位CPU2. 片内ROM/EPROM、RAM3. 片内并行 I/O接口4. 片内16位定时器/计数器5. 片内中断处理系统6. 片内全双工串行I/O口,不同型号MCS-51单片机CPU处理能力和指令系统完全 兼容,只是存储器和I/O接口的配置有所不同。,MCS-51单片机结构,2.2 MCS-51单片机引脚,1I/O口线功能4个8位并行 I/O 接口引脚P0.0 P0

2、.7 、P1.0P1.7 、P2.0P2.7 和 P3.0P3.7 为多功能引脚,可自 动切换用 作数据总线、地址总线、控制总线 和或I/O 接口外部引脚2控制线ALE: 地址锁存允许信号端PSEN: 外部程序存储器读选通信 号端EA/VPP:程序存储器选择信号端 和编程电源输入端,复位:,RST/VPD:复位信号端和后备电源输入端。 输入10ms以上高电平脉冲,单片机复位。 VPD使用后备电源,可实现掉电保护。,电源 工作电源:VCC、VSS、,复位电路:1)上电复位 2)外部信号复位,时钟,时钟频率: 范围要求在1.2MHz12MHz之间。 一般从外部振荡器输入时钟信号。,机器周期: 完成

3、一个基本操作所需要的时间。 一个机器周期由12个时钟周期组成。指令周期: 一条指令的执行时间。 以机器周期为单位:单周期、双周期和四周期指令。思考题:设应用单片机晶振频率为12MHz,问机器周期为多少?指令周期分别为多少?,2.3 MCS-51寄存器配置,物理上4个存储器地址空间: 片内/片外程序存储器空间 片内/片外数据存储器空间逻辑上3个存储器地址空间: 64KB 程序存储器 256B 片内数据存储器 64KB 片外数据存储器,一、物理空间与地址,二、程序和数据存储器逻辑空间,普林斯顿结构:程序和数据共用一个存储器逻辑空间,统一 编址。哈佛结构: 程序与数据分为两个独立存储器逻辑空间, 分

4、开编址。,三、片内RAM寄存器,MCS-51的寄存器在片内RAM都有映像地址。使用时,既 可用寄存器名,也可用对应单元地址。,1. 片内RAM工作寄存器区:字节地址:00H1FH位寻址区:字节地址:20H2FH位地址为:00H7FH数据缓冲区/堆栈区:字节地址:00H7FH一般使用30H7FH,2. 特殊功能寄存器SFR占用字节地址:80HFFH位寻址寄存器:其字节地址可被8整除。专用寄存器:A、B、PSW、DPTR、SPI/O接口寄存器: P0、P1、P2、P3、SBUF、 TMOD、TCON、SCON ,实质是计数器,脉冲每一次下降沿,计数寄存器数值将加1。 计数的脉冲如果来源于单片机内部

5、的晶振,由于其周期极为准确,这时称为定时器。计数的脉冲如果来源于单片机外部的引脚,由于其周期一般不准确,这时称为计数器。,8031 有2个可独立控制的16位定时器/计数器:T0、T1。,2.4 MCS-51定时器/计数器2.4.1 MCS-51 计数/定时器的原理,定时器控制、状态寄存器1)TMOD定时器方式寄存器(89H),1)功能选择位C/T: =0,定时功能,计数内部机器周期脉冲; =1,计数功能,计数引脚T0(T1)输入的负脉冲。2)方式选择位M1、M0:3)门控方式选择位GATE 计数器启动方式的选择 确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时

6、,T1用方式1门控计数。 MOV TMOD,#0D2H ; 1101 0010 B,2.4.2 定时器工作方式,由方式选择位M1、M0设定一、 方式0 13位定时/计数器。 THx 8位和TLx低5位组成13位加1 计数器,此种方式与MCS48系列兼容,如果不是为了兼容的目的,一般不用方式0. 方式0的全部功能,方式1都可以代替。,二、 方式1,16位定时/计数器。 THx8位和TLx8位组成16位加1计数器最大计数脉冲个数:165536(216),最长定时时间(晶振12MHz T=1s):1s 65536T= 65.54ms,非门控方式:当GATE0, 控制权由 TRx 决定 TRx1 计数

7、开始 TRx 0 计数停止,门控方式:当GATE1、TRx1 控制权由 INTx 决定 INTx1 计数开始 INTx 0 计数停止,启动计数方式:,三、 方式2,用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。,四、方式3,T0分成2个8位定时器:TL0定时/计数器和TH0定时器 TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1。T1不能使用方式3工作,2.4.3 计算时间常数X(计算初值),计数功能:X= 2n -计

8、数值 n:8/13/16 定时功能:X= 2n - t/T t:定时时间(s) T:机器周期12/晶振频率 如:晶振为12MHz时,T12/12 MHz12(1210-6)(秒)110-61us一、 MCS-51定时器的应用 定时器初始化编程:使用定时器工作之前,先写入控 制寄存器,确定好定时器工作方式。 初始化编程格式:,MOV TMOD,# 方式字 ;选择方式MOV THx,#XH ;装入Tx时间常数MOV TLx,#XLSETB EA ;开Tx中断SETB ETxSETB TRx ;启动Tx定时器。,例:由P1.0输出方波信号,周期为2ms,设fosc=12MHz。,解:每隔1ms改变一

9、次P1.0的输出状态,即形成方波,用T0非门控方式1定时。 计算时间常数:X = 216 - t/T = 216 (/1000)/10-6 = 65536-1000 = 64536 = FC18H,ORG0000HAJMPMAINORG000BH ;T0中断硬件入口地址AJMPPT0INT ;跳到中断服务程序ORG0030H MAIN:MOVTMOD,#01H ;中断方式MOVTL0,#18H ;计数初值MOVTH0,#0FCHSETBEA ;开放总中断SETBET0 ;开放T0中断SETBTR0 ;启动定时器 HERE:SJMPHERE ;等待中断,相当于执行其它任务 PT0INT:MOVT

10、L0,#18H ;中断服务程序;置初值MOVTH0,#0FCHCPLP1.0 ;取反,产生方波RETI ;中断返回,例 P1.7驱动LED亮1秒灭1秒地闪烁,设时钟频率为12MHz。 长定时方法:增加一个软件计数器(如R7), 记录中断次数,计满n个中断为1秒。,ORG0000H AJMPMAIN ORG001BH AJMPPT1INT ORG0030HSTART:MOV R7,#00H MOV TMOD,#10H MOV TL1, #0F0H MOV TH1, #0D8H SETB EA SETB ET1 SETB TR1HERE: SJMP HEREPT1INT: MOV TL1,#0F0

11、H MOV TH1,#0D8H INC R7 CJNE R7,#10, PEND MOV R7, #00H CPL P1.7PEND: RETI,例 定时器外部引脚T0(T1)用作外部中断信号输入端。外部负脉冲引起中断请求,选计数方式,时间常数为FFH。例:门控方式测量正脉冲宽度 解:INT1引脚输入被检测信号,记录在正脉冲的时间内包含机器脉冲个数。 设脉宽小于65.5ms 等待查询INT0,正脉冲过后,读出TH1TL1。,START:MOV TMOD,#90H MOV TL1,#00H MOV TH1,#00HWAIT1:JBP3.3,WAIT1 SETB TR1WAIT2 :JNBP3.3

12、,WAIT2 WAIT3 : JBP3.3,WAIT3CLRTR1MOVR2,TL1MOVR3,TH1,一、中断系统重要指标,日常生活中的中断与计算机中断的比较: 某人看书 执行主程序 日常事务电话铃响 中断信号如INT=0 中断请求暂停看书 暂停执行主程序 中断响应书中作记号 当前PC入栈 保护断点电话谈话 执行中断程序 中断服务继续看书 返回主程序 中断返回,2.5 中断系统 2.5.1 中断概念,所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件,处理完毕后,CPU返回原程序的过程。 中断与子程序的最主要区别: 子程序是预先安排好的

13、; 中断是随机发生的。,二、中断的定义,与子程序的区别,三、MCS-51中断系统内部结构,2.5.2中断系统控制一、中断控制寄存器,1.中断标志位: TF1、TF0、IE1、IE0、RI 、TI 登记各中断源请求信号:=1,有中断请求;= 0,无中断请求。CPU响应中断后,该中断标志自动清零。TI,RI标志必须软件清零。 2.外部中断触发方式选择位:IT0、IT1 =1:负边沿触发中断请求;= 0:低电平触发中断请求。,二、 中断允许寄存器,中断允许控制位:EA、ES、ET1、EX1、ET0、EX0 =1开中断;= 0关中断。 例:允许CPU响应INT0的中断请求 SETB EX0 SETB

14、EA,三、 中断优先寄存器,中断优先级控制位:PS、PT1、PX1、PT0、PX0 2级优先级:=1为高优先级,= 0为低优先级。 同一优先级别按内部查询顺序排列优先级: 高 INT0、T0、INT1、T1、SIO 低。,2.5.3 中断响应和中断返回,一、中断响应周期时序 每个机器周期采样中断标志位,若有中断请求,将在下一 个机器周期按优先级顺序进行中断查询。 二、各中断源中断服务程序的入口地址,三、中断响应阻断 1 . 当CPU未执行完一条指令。 2当有同级或高级中断服务。 3执行RETI指令或访问IE、IP 的指令后,不能立即响应中断。,四、中断返回 中断返回指令: RETI= RET指

15、令 + 通知CPU中断服务已 结束。 中断响应时间: 正常中断响应时间至少为38个机器周期,如果有同级 或高级中断服务,将延长中断响应时间。,2.5.4 中断处理过程(基本理解的要求),一、中断响应条件1有中断请求信号2. 系统处于开中断状态二、中断响应过程1保护断点:将断点地址压入堆栈保存,即当前PC值入 栈。2寻找中断源:中断服务程序硬件入口PC,转入中断 服务。3中断处理:执行中断源所要求的程序处理段。4中断返回:执行RETI指令,栈顶内容PC,程序跳转 回断点处。,2.5.5 多中断源系统,当外部中断源多于中断输入引脚时,可采取以下措施:1.用定时器计数输入信号端T0、T1作外部中断入

16、口引脚2.用串行口接收端RXD作外部中断入口引脚3.用一个中断入口接受多个外部中断源,并加入中断查询电路。,2.5.6 处理外部中断举例,要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。一、跳变触发:每次跳变引起一次中断请求,ORG0000H AJMP MAINORG0003H;中断入口AJMPPINT0ORG0100H;主程序 MAIN:SETBEA;开总允许开关 SETBEX0;开INT0中断 SETBIT0 ;负跳变触发中断 Here:SJMPHere ;相当于执行其 它任务 ORG0200H;中断服务程序 PINT0:CPL P1.0;改变LED RETI;返回主程序,1软件等待按键释放。2硬件清除中断信号。,二、电平触发:避免一次按键引起多次中断响应。,ORG 0000H; AJMP MAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序 MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断 Here:SJMP Here ;相当于执行其它 任务 ORG 0200H;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,WAIT;等按键释放 RETI;返回主程序,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。