项目5按键识别的设计介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任务3 采用外中断控制的彩灯设计 利用独立按键(采用外部中断方式)控制彩灯的运行。通过按动按键,使得彩灯在三种闪亮方式(左移、右移、自定义花样)之间切换。 1.提出任务 任务3 采用外中断控制的彩灯设计 一般来说,按键处理方式有以下两种:第一种方法是不断地查询按键,有按键按下时进行消抖处理,再判断是否真的有按键按下。这种方法在按键查询期间不能做任何其他操作。第二种方法是每隔一段时间,抽样检测一次,对键值进行判别处理。利用按键对单片机输出进行控制的基本方式在任务1和任务2中已介绍,分别实现了单键、多键对单片机输出的控制。但是,任务1和任务2中的对按键处理的方式还存在不够完善之处。为了解决这个问题,本任务中采用单片机的外部中断方式来实现对按键输入的处理。 为了实现外部中断对单片机的输出的控制,需要将按键连接在外部中断所对应的引脚上。 2.任务分析 任务3 采用外中断控制的彩灯设计 中断控制LED电路图 任务3 采用外中断控制的彩灯设计 由于中断函数与主函数之间的运行相当于两个程序并行运行,而将一个任务分为两个部分处理的具体分解方法有多种,因此用中断函数控制彩灯的显示,具体实现方法和实现程序也是多种多样的。 3.程序设计分析 任务3 采用外中断控制的彩灯设计 (a)主函数流程图 b)中断函数流程图 任务3 采用外中断控制的彩灯设计 //文件名xm5-3.c #include reg52.h #define uchar unsigned char uchar light,a,b; void delay05s() //延时0.5s子函数 { uchar i,j,k; for(i=5;i0;i--) for(j=200;j0;j--) for(k=250;k0;k--); } 4.源程序编写 任务3 采用外中断控制的彩灯设计 void delay10ms() { uchar i,k; for(i=20;i0;i--) for(k=250;k0;k--); } ?void left() //左移点亮LED { light=light1; if(light= =0) light=0x01; P2=~light; } ?void right() //右移点亮LED { light=light1; if(light= =0) light=0x01; P2=~light; } ? 4.源程序编写 任务3 采用外中断控制的彩灯设计 void assum() //用户自定义LED点亮方式 { uchar code dispcode[8]={0xff,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e}; if(b= =7)b=0; else b++; P2=dispcode[b]; } ? 4.源程序编写 任务3 采用外中断控制的彩灯设计 void main() { IT0=1; //设置INT0为下降沿触发 EX0=1; //局部开中断,即允许INT0中断 EA=1; //全局开中断 a=1; light=0x01; b=0; while(1) { switch(a) { case 1:left();break; case 2:right();break; case 3:assum();break; } delay05s(); } } ? 4.源程序编写 任务3 采用外中断控制的彩灯设计 ? void int_0() interrupt 0 // 中断子函数 { delay10ms(); if(INT0= =0) { a++; if(a3)a=1; } } 4.源程序编写 任务3 采用外中断控制的彩灯设计 ◇ 知识链接 1.中断有关概念 所谓中断就是利用硬件配合,根据某种需要断开正在执行的程序而转向另一专门程序,结束后再返回到原断开处继续执行被中止的程序,这个过程称为中断。 中断后转向执行的程序叫中断服务程序或中断处理程序。原程序被断开的位置(地址)叫作断点。 发出中断信号的设备称为中断源。中断源要求中断服务所发出的标志信号称为中断请示或中断申请。 中断源向CPU发出中断申请,CPU经过判断认为满足条件,则对

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档