




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 2 以两片2716给80C51单片机扩展一个4KB的外部程序存储器 要求地址空间与8051内部ROM相衔接 请画出逻辑连接图 一 3 MCS 51单片机的中断与定时器系统 本章主要介绍51系列单片机中断系统和定时器问题 本章将介绍以下具体内容 定时 计数器 定时 计数器的定时和计数功能 定时器 计数器的控制寄存器 定时器 计数器的工作方式 定时 计数器用作外部中断扩展 定时中断联合举例 中断系统 中断源 中断方式 中断控制寄存器 中断响应 中断请求的撤除 单片机中断技术概述 中断是一项重要的计算机技术 这一技术在我们的日常生活中也同样存在 请看例子 路人甲在看书 主程序 电话铃响了 中断请求 路人甲在书上做了个记号 断点保护 走到电话旁 中断调用 路人甲拿起电话和对方通话 中断子程序 通话结束 挂上电话 回到书桌旁 中断返回 从作记号的地方继续读书 恢复断点 继续执行主程序 路人甲看书 主程序 路人甲继续看书 断点 中断响应 路人甲拿起电话和对方通话 中断返回 中断请求 MCS 51单片机的中断系统 MCS 51单片机的中断系统结构一 中断的概念 执行主程序 主程序 继续执行主程序 断点 中断请求 中断响应 执行中断处理程序 中断返回 中断请求标志 1 高级 低级 二 MCS 51单片机的中断系统 内部查询 内部查询 入口地址 入口地址 中断允许控制 中断优先级 EA 中断源 一 中断源共有五个中断源 分别是外部中断两个 定时中断两个和串行中断一个 它们是 外部中断0 INT0 由P3 2提供 外部中断1 INT1 由P3 3提供 外部中断有两种信号方式 即电平方式和脉冲方式 T0溢出中断 由片内定时 计数器0提供T1溢出中断 由片内定时 计数器1提供串行口中断RI TI 由片内串行口提供 MCS 51中断源 二 中断方式 单片机的中断为固定入口式中断 即一响应中断就转入固定入口地址执行中断服务程序 具体入口如下 编号中断源入口地址0INT00003 1T0000BH2INT10013H3T1001BH4RI TI0023H在这些单元中往往是一些跳转指令 跳到真正的中断服务程序 这是因为给每个中断源安排的空间只有8个单元 三 中断控制的寄存器 与中断控制有关的控制寄存器有四个 TCON 定时控制寄存器 IE 中断允许控制寄存器 IP 中断优先级控制寄存器 SCON 串行口控制寄存器 1 定时控制寄存器TCON 中断请求标志 触发方式选择 0低电平1下降沿 2 串行口控制寄存器SCON 串行中断请求标志 3 中断允许控制寄存器IE 4 中断优先级控制寄存器 IP 0禁止 1允许 0低级别 1高级别 四 中断响应 响应条件 CPU要响应中断需满足下列条件 无同级或高级中断正在服务 当前指令周期结束 如果查询中断请求的机器周期不是当前指令的最后一个周期 则不行 若现行指令是RETI RET或访问IE IP指令 则需要执行到当前指令及下一条指令方可响应 响应过程 单片机响应中断后 自动执行下列操作 置位中断优先级有效触发器 即关闭同级和低级中断 调用入口地址 断点入栈 相当于LCALL指令 进入中断服务程序 响应时间 从查询中断请求标志位到转向中断服务入口地址所需的机器周期数 1 最快响应时间以外部中断的电平触发为最快 从查询中断请求信号到中断服务程序需要三个机器周期 1个周期 查询 2个周期 长调用LCALL 2 最长时间若当前指令是RET RETI和IP IE指令 紧接着下一条是乘除指令发生 则最长为8个周期 2个周期执行当前指令 其中含有1个周期查询 4个周期乘除指令 2个周期长调用 8个周期 中断返回 中断处理程序的最后一条指令是RETI 它使CPU结束中断处理程序的执行 返回到断点处 继续执行主程序 Cx51编译器支持在C源程序中直接开发中断程序中断程序定义语法 返回值函数名interruptn例 voidtimer0 interrupt1 什么是寄存器组切换为什么要进行寄存器组切换在Cx51中如何进行切换 使用using指定 using后的变量为0 3的常整数例 voidtimer0 interrupt1using3对函数的目标代码影响如下 a 函数入口处将当前寄存器组保留b 使用寄存器组3c 函数退出前 寄存器组恢复 寄存器组切换 中断编程 例1 多中断源的处理分析 1 优先编码器74LS148 74LS148集成8 3优先编码器 常用于优先中断系统 键盘编码等 优先编码器允许同时在输入端有几个输入信号 编码器按输入信号排定的优先顺序 只对同时输入的几个信号中优先权高的进行编码 优先级低的输入不起作用 2 代码分析int31 c例2 用汇编代码说明中断调用和中断返回 中断调用 PUSHACC 保存累加器和数据指针PUSHDPHPUSHDPLPUSHPSWMOVPSW 08H 选择寄存器组1 中断返回 POPPSW 恢复以前寄存器组POPDPLPOPDPHPOPACC 恢复累加器和数据指针RETI 定时 实现方式 1 软件定时 2 硬件定时 MCS 51单片机的定时 计数器 一 定时 计数器的定时和计数功能 NOTE 在TMOD中 各有一个控制位 C T 分别用于控制定时 计数器T0和T1是工作在定时器方式还是计数器方式 1 定时功能 计数输入信号是内部时钟脉冲 每个机器周期使寄存器的值加1 所以 计数频率是振荡频率的1 12 2 计数功能 计数脉冲来自相应的外部输入引脚 对外部脉冲的获取 需要通过输入端口进行采样 T0为P3 4 T1为P3 5 单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样 如果前一个机器周期采样为高电平 后一个机器周期为低电平 即为一个有效计数脉冲 可见采样计数脉冲是在2个机器周期进行的 所以 计数脉冲频率不能高于振荡频率的1 24 定时 计数器的核心部件是二进制加1计数器 TH0 TL0或TH1 TL1 二 定时器 计数器的控制寄存器 与定时器 计数器有关的控制寄存器有 1 定时器控制寄存器TCON 中断请求标志 触发方式选择 启动定时 计数器 0低电平1下降沿 0停止1启动 2 工作方式控制寄存器TMOD C0 T1控制 C0 T0控制 GATE 门控位GATA 0以运行控制位TR启动定时器GATA 1以外中断请求信号 高电平 启动定时器 M1M0 工作方式选择 计数脉冲输入 三 定时器 计数器的工作方式 定时器 计数器共有四种工作方式 1 方式0 13位方式 13位计数器 定时器 计数器 2 方式1 16位方式 3 方式2 8位自动装入时间常数方式 定时 计数器常数的计算 1 计数器初值的计算把计数器计满为零所需要的计数值设定为C 计数初值设定为TC 由此可得到公式 TC M C式中 M为计数器模值 该值和计数器工作方式有关 在方式0时M为213 在方式1时M为216 在方式2和方式3时M为28 2 定时器初值的计算在定时器模式下 计数器由单片机主脉冲经12分频后计数 因此 定时器定时时间T的公式 T M TC T计数上式也可写成 TC M T T计数 式中 M为模值 和定时器的工作方式有关 T计数是单片机振荡周期TCLK的12倍 TC为定时器的定时初值 例题 设晶振频率fOSC 6MHz 分别讨论各种工作方式下最长定时时间 解 1 由fOSC 6MHz可知 MC 机器周期 2us 2 由于是加1计数 所以最长定时应是计数初值最小时 即为0时 的定时时间 所以此时有 方式0 213 0 2us 16384us 16 384ms 方式1 216 0 2us 217us 131 072ms 方式2 3 28 0 2us 29us 0 512ms 注意 以上是当fOSC 6MHz 即MC 2us时各种方式下的定时时间 若fOSC 12MHz 则最长定时时间将缩短一半 4 方式3 2个8位方式 仅T0可以工作在方式3 此时T0分成2个独立的计数器 TL0和TH0 前者用原来T0的控制信号 TR0 TF0 后者用原来T1的控制信号 TR1 TF1 开中断 如果使用中断方式 编程实置位EA ETi TRi位置位控制定时器的启动和停止 四 应用举例 计算计数器的计数初值 编程时将计数初值送THi TLi 可编程器件在使用前需要进行初始化 确定TMOD控制字 编程时将控制字送TMOD 例1设晶振频率fOSC 6MHz 使用定时器1以方式1产生周期为500 s的方波脉冲 并由P1 0输出 以中断方式实现 TMOD确定 T1控制 T0控制 控制字10H 要产生500 s的方波脉冲 只需在P1 0端以250 s为间隔 交替输出高低电平即可实现 为此 定时间应为250 s 使用6 z晶振 则一个机器周期为2 s 设待求计数初值为 则 计算计数器的计数初值 216 X 2 10 6 250 10 6即216 X 125X 216 125 10000H 7DH 0FF83H所以 初值为 TH1 0FFH TL1 83H 采用中断方式 编程时打开全局和局部中断 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止 TR1 1 启动 TR1 0 停止 includesbitP1 0 P1 0 voidtimer1 void interrupt3using1 P1 0 P1 0 TH1 0 xFF TL0 0X83 voidmain void TMOD 0 x01 P1 0 0 TH1 0 xFF TL0 0X83 EA 1 ET0 1 TR0 1 do while 1 C程序设计 ORG0000HLJMPMAIN 主程序入口ORG001BHLJMPINTT1 T1中断入口 汇编程序设计 INTT1 MOVTH1 0FFH 重新设置初值MOVTL1 83HCPLP1 0 输出取反RETI ORG1000HMAIN MOVTMOD 10H T1为方式1MOVTH1 0FFHMOVTL1 83H 初值CLRP1 0SETBEA 允许中断SETBET1SETBTR1 启动定时SJMP 等待中断 主程序 中断处理程序 例2设单片机的晶振为12MHz 要求在P1 0脚上输出周期为2ms的方波 中断方式time31 c查询方式time32 c 例3 如图所示 在P1 7端接有一个发光二极管 要求利用t c控制 使LED亮1s 灭1s 周而复始 见time33 c 例4 利用10MHz晶振 在P1 0脚上输出周期为2 5s 占空比为20 的脉冲信号 见time34 c 作业 1 使用定时器0工作方式2 产生100us定时 在P1 0输出周
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 副食品进货合同模板(3篇)
- (正式版)DB65∕T 4417-2021 《棉花加工企业信用评定规范》
- (正式版)DB65∕T 4408-2021 《安迪尔甜瓜 伽师瓜2号 绿色生产技术规程》
- 矿业股权收购与矿山资源开发及安全责任协议
- 离婚后子女医疗费用承担补充协议范本
- 咖啡厅门面房租赁与休闲餐饮服务合同
- 空调设备购置、安装及节能环保改造服务协议
- 离婚时夫妻共同子女抚养权及教育费用协议书范本
- 高档住宅小区车位租赁及物业服务合同
- 婚姻解体谈判策略三招制胜实战技巧合同
- 物业员工安全知识教育培训
- 江苏省江阴市河塘中学2024-2025学年七年级上学期10月阶级段性练习语文试题
- 读懂诗家语省公开课金奖全国赛课一等奖微课获奖课件
- 老年人认知障碍的早期识别与干预
- 《电子商务法律法规》课程标准
- EPC模式承包人建议书与承包人实施方案
- 主动防护网施工方案
- 三年级下册书法练习指导全册教案(湖南美术出版社)
- GB/T 17880.5-1999平头六角铆螺母
- 2023年陕西省直和西安市接收军转干部划分条件
- 客诉客退产品处理流程
评论
0/150
提交评论