键控双流水灯.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
键控双流水灯

任务九 键控双向流水灯 中断控制是单片机最重要的技术之一,实时控制及人机交互等应用都是通过中断实现的。本任务通过制作一个用按键控制移动方向的流水灯来学习MCS-51单片机的中断系统,以及外部中断的简单应用。 中断控制是单片机最重要的技术之一,实时控制及人机交互等应用都是通过中断实现的。本任务通过制作一个用按键控制移动方向的流水灯来学习MCS-51单片机的中断系统,以及外部中断的简单应用。 【任务目的】 利用单片机外部中断,完成左右移动的流水彩灯设计,实现用按键对信号灯的控制。 【任务描述】 用单片机的P3.2、P3.3各接一只按键,按下一个按键时,实现彩灯左移花样,按下另一个按键时,实现彩灯右移花样。 一.电路原理图 二、中断的基本概念 1.中断 当中央处理器CPU正在处理某事件时,与它并行工作的外围部件或者外部设备由于工作的需要或者出现故障,请求CPU迅速去处理,CPU暂停当前工作,转去处理所发生的事件,处理结束之后,再回到被打断的地方继续原来的工作。这样的过程称为中断。如图8-2所示。 2.中断源 能够产生中断请求的条件称为中断源。中断源可以来自单片机的外部和内部。在不同种类的单片机中,中断源的数量一般并不相同。MCS-51单片机有5个中断源 (1). MCS-51的中断源 外部 :INT0,INT1低电平触发 内部:TF0 , TF1 , RI/TI (2).与中断有关的寄存器: 定时控制寄存器TCON 串行控制寄存器SCON 中断允许控制寄存器IE 中断优先级控制寄存器IP 3.MCS-51的中断系统 4.中断的响应过程 CPU响应中断时,会根据不同的中断源,自动转向不同的规定地址,执行中断服务程序,这个规定地址,称为中断向量。 响应中断请求后,CPU按照中断源的不同,自动转到各个中断入口地址去执行程序。由于每个中断向量仅间隔8个字节,不可能放下一般的中断处理程序。因此一般在中断向量处放置一条无条件转移指令,转到真正的中断处理程序。 与中断有关的指令 :RETI -中断返回 , BIT -位地址符 号伪指令 3、中断程序的编写: 中断程序的编写步骤如下: (1)设置堆栈指针SP (2)中断源的相关控制(如设置外部中断触发方 式、启动定时器等) (3)设置中断优先级 (4)开中断 (5)编写中断服务程序 其中前4个步骤称为中断初始化,一般放在主程序的开始处 三.实训内容与步骤 1.电平触发方式键控流水灯程序 (1)参考程序 FX BIT 00H ;位地址00H命名为FX ORG 0000H LJMP MAIN ;转移到主程序 ORG 0003H ;外中断0服务程序入口 LJMP INT0 ;转移到外中断0服务程序 ORG 0013H ;外中断1服务程序入口 LJMP INT1 ;转移到外中断1服务程序 ORG 0030H MAIN: MOV SP,#5FH ;设置堆栈栈底 CLR IT0 ;设置外中断0为低电平触发 CLR IT1 ;设置外中断1为低电平触发 CLR PX0 ;设置外中断0为低优先级 CLR PX1 ;设置外中断1为低优先级,由 于复位时被清零,以上 ;4条清零标志位的指令可以省 略, SETB EX0 ;开外中断0 SETB EX1 ;开外中断1 SETB EA ;开总中断 MOV A,#0FEH ;显示代码初值送累加器 A K0:MOV P0,A ;把显示代码传送到P0口输 出,控制LED 亮灭 JB FX,K;FX=1(00H位为1),移至K1, 执行 右移 RL A ;FX=0,执行显示代码左移,暂存在A中 SJMP K2 ;转移到K2,避开右移指令 K1:RR A ;显示代码右移 K2:LCALL DELAY ;调用延时子程 SJMP K0 ;返回,继续下一拍 INT0:CLR FX ;外中断0服务程序,方向标志位清0 RETI ;中断返回 INT1:SETB FX ;外

文档评论(0)

cgsx259 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档