单片微型计算机C第10讲(机械).ppt

上传人:max****ui 文档编号:8389930 上传时间:2020-03-28 格式:PPT 页数:32 大小:2.98MB
返回 下载 相关 举报
单片微型计算机C第10讲(机械).ppt_第1页
第1页 / 共32页
单片微型计算机C第10讲(机械).ppt_第2页
第2页 / 共32页
单片微型计算机C第10讲(机械).ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
Microcontroller sPrincipleandApplications 单片机原理及应用 C 上节内容回顾 MCS51单片机的程序设计伪指令顺序结构分支结构JZ JNZ循环结构CJNZ DJNZ子程序RET ACALL LCALL 6 1MCS51单片机的中断系统 现实生活中的中断事件某人看书 某人正在处理一件事A手机铃响 出现另一件须立即解决的事B暂停看书 中止A书中作记号 记录断点 便于继续电话谈话 处理B继续看书 继续A的工作 中断请求 保护断点 中断响应 中断返回 中断的原因 上例中 及时处理接电话 再继续看书 效率更高一些 由于单片机中 仅有一个CPU 并不能同时处理多个任务 当面临多个任务时 单片机采用中断的方式 效率更高 中断B服务程序RETI 主程序A 中断处理的简要过程 CPU进行工作A时 发生了事件B 请求CPU马上处理CPU暂时中断当前工作A 转去处理事件B事件B处理完后 回到工作A被中断的地方继续处理A工作 主程序A 中断申请 断点 保护现场 恢复现场 中断的优点利用率高实时性强可靠性好 中断技术的应用 并行处理CPU可以与多台外设并行工作 并分时与他们进行信息交换 提高了CPU的工作效率 实时控制单片机应用系统可能随机请求CPU提供服务 有了中断系统 CPU就可以立即响应并予以处理 故障处理单片机系统在工作时可能会出现一些突发故障 如电源断电 存储器出错 程序执行错误 如除数为0 等 一旦出现故障 CPU就可及时转去执行故障处理程序 而不必停机 中断系统 为实现中断功能而配置的硬件和编写的软件就是中断系统 中断源的判断优先级的排队中断的屏蔽断点PC值的保存断点的恢复 优先级的设置中断开启 关闭设置中断现场的保护中断现场的恢复中断处理过程 6 1 1MCS51中断系统 包含5个中断源 提出中断申请的设备或事件 即两个外部中断 两个计时器 一个串口中断请求具有两个中断优先级 单片机响应中断的先后顺序 可实现两级中断服务嵌套 在执行低级中断处理时 允许更高级别的中断打断该服务程序的执行 转而处理此高级别的中断 MCS51中断系统结构 该列为1 表示中断源有请求 中断源 中断触发方式 源允许控制 总允许控制 优先级设定 MCS51的中断源 能够向CPU发出中断申请的部件称为中断源5个中断源详情如下 6 1 2中断控制寄存器 中断源的屏蔽与否 优先级的设定等 需要通过4个特殊功能寄存器来实施中断控制 中断允许寄存器IE中断优先级寄存器IP定时 计数器及外部中断控制寄存器TCON串口控制寄存器SCON 定时 计数器及外部中断控制寄存器TCON 外部中断请求标志IE1 IE0 用IEx表示 外部中断触发方式位IT1 IT0 用ITx表示 电平方式 ITx 0 INTx引脚低电平时 若IEx 1 响应中断后IEx不自动清0 INTx引脚状态 边沿方式 ITx 1 INTx引脚由高变低时 若IEx 1 响应中断后 由硬件将IEx自动清0 电平方式和边沿触发方式的区别 电平方式时 INTx低电平必须保持到响应时 否则就会漏掉 在中断服务结束前 INTx低电平必须撤除 否则中断返回之后将再次产生中断 边沿方式时 采样到有效下降沿后 在IEx中将锁存一个1 若CPU暂时不能响应 申请标志也不会丢失 直到响应时才清0 定时 计数器及外部中断控制寄存器TCON 溢出中断标志TF1 TF0 用TFx表示 溢出中断请求标志TFx 计数器Tx启动后就开始由初值进行加1计数 直至最高位产生溢出使TFx 1向CPU请求中断 CPU响应中断后TFx自动清0 计数运行控制位TR1 TR0 为1 0 则启动 停止计数器工作 TCON练习 请通过编程 将 INT0设置为电平触发 INT1设置为边沿触发 CLRIT0SETBIT1 串行口控制寄存器SCON RI 串口接收中断标志 当串行口接收完一个数据帧时 硬件自动将RI置1 响应中断时不能自动清除 必须在中断服务程序中用软件清除 TI 串口发送中断标志 当发送缓冲器SBUF满时 硬件自动将TI置1 响应中断时不能自动清除 必须在中断服务程序中用软件清除 中断允许控制寄存器IE EX0 为1表示外中断0允许 ET0 为1表示T0中断允许 EX1 为1表示外中断1允许 ET1 为1表示T1中断允许 ES 为1表示串口中断允许 EA 为1表示CPU开放中断 否则禁止所有中断 IE练习 若允许片内2个定时器 计数器中断 禁止其他中断源的中断请求 请编写出设置IE的相应程序段 CLRESCLREX1CLREX0SETBET0SETBET1SETBEA 中断优先级寄存器IP 中断优先级由IP控制 1 高级 0 低级 PX0 外中断0优先级PT0 T0中断优先级PX1 外中断1优先级PT1 T1中断优先级PS 串口中断优先级 中断优先级遵循的原则 几个中断同时申请 先响应高级的中断 正进行的中断服务 同级或低级中断不能对其中断 但可以被高级中断所中断 即中断嵌套 同一优先级的自然顺序 自高至低 INT0 T0 INT1 T1 串口 IP练习 设置IP寄存器的初始值 使得MCS51的2个外中断请求为高优先级 其他中断请求为低优先级 SETBPX0SETBPX1CLRPSCLRPT0CLRPT1 6 2单片机的中断处理过程 中断响应的条件有中断请求相应的中断允许位为1 ET EX或ES为1 CPU开中断 即EA 1 无同级或更高级中断正在被服务 单片机的中断处理过程 CPU响应中断的过程将相应优先级状态触发器置1 以阻断后来同级或低级中断执行硬件LCALL指令 PC入栈 中断服务程序入口址送PC 执行中断服务程序 6 3中断服务程序 编写中断服务程序的过程中断服务程序入口存放指令LJMP或AJMP现场保护与现场恢复执行数据或过程的处理RETI结束中断服务程序 将断点从堆栈弹送PC CPU从原断点继续执行 将相应优先级状态触发器清0 恢复原来工作状态 中断服务程序的流程 开始时应设置中断服务程序入口地址 关中断期间不允许响应其它中断 以保证保护现场和恢复现场的完整性 一定要以RETI结束 中断服务程序的编写 ORG0000HLJMPMAINORG中断入口地址LJMPINTORGXXXXHMAIN 主程序INT 中断服务程序 中断服务程序举例1 某外部中断源 其中断请求端连接8051的 INT0端 采用电平触发 当中断发生时 需要从片外RAM的1200H地址处取连续8个字节的数据放入片内RAM的40 47H ORG0000HLJMPMAINORG0003HLJMPINT0ORG0030HMAIN CLRIT0SETBEASETBEX0ORG1000H INT PUSHPSWPUSHACCPUSHDPTRMOVR1 40HMOVDPTR 1200HTR1 MOVXA DPTRMOV R1 AINCR1INCDPTR CJNZR1 47H TR1POPDPTRPOPACCPOPPSWRETI 中断服务程序综合举例2 如图所示的电路中 8051的 INT0接手动脉冲 用户通过按动脉冲申请中断 要求程序中对每次中断进行计数 并将计数结果显示在发光二极管上 分析 从连线图和要求中可知 INT0为系统的唯一中断源 且其触发方式为边沿触发 在中断程序中 应设置累加器A加1 同时将结果送到P1口 控制发光二极管数据的变化 中断服务程序综合举例2 LJMPX0 INTORG0050HMAIN CLRAMOVP1 ASETBIT0SETBEX0SETBEASETBPX0SJMP ORG0000HLJMPMAINORG0003H X0 INT INCAMOVP1 ARETI 小结 1 5个中断源及其对应入口地址 外中断2个 INT0 INT1定时中断2个 T0 T1串行中断1个 RI TI2 中断优先原则 分2个优先级 同级 INT0 T0 INT1 T1 RI TI 3 中断响应过程4 中断处理程序的编写 实验二外部中断实验 实验目的 掌握中断控制单元的设置方法及中断的编程方法 实验内容 用单次脉冲申请中断 在中断处理程序中对输出信号进行翻转 用单次脉冲申请中断 要求程序中对每次中断进行计数 并将计数结果显示在发光二极管上 本节作业 P941题P956题
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!