- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12生工C51单片机06(中断控制系统)要点
例 采用外中断0控制的彩灯设计 利用独立按键(采用外部中断方式)控制彩灯的运行。通过按动按键,使得彩灯在三种闪亮方式(左移、右移、自定义花样)之间切换。 1.提出任务 按键处理方式有以下两种: 方法一(查询方式):不断地查询按键,有按键按下时进行消抖处理,再判断是否真的有按键按下。 方法二(中断方式):采用单片机的外部中断来实现对按键输入的处理。 2.任务分析 为实现外部中断对单片机的输出的控制,需要将按键连接在外部中断所对应的引脚上。 中断控制LED电路图 中断函数与主函数之间的运行相当于两个程序并行运行,而将一个任务分为两个部分处理的具体分解方法有多种,因此用中断函数控制彩灯的显示,具体实现方法和实现程序也是多种多样的。 3.程序设计分析 (a)主函数流程图 b)中断函数流程图 采用外中断控制0的彩灯设计 #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.源程序编写 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; } ? 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]; } 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(); } }? void int_0() interrupt 0 // 中断子函数 { delay10ms(); if(INT0= =0) { a++; if(a3)a=1; } } 实验内容一 请以中断的方式编写程序实现1位的加法计数器:当按下一个独立按键时数码管显示的内容加1,加到9时回0。 实验内容二 请以中断的方式编写程序实现2位的加法计数器,即计数范围从00-99。 实验内容 用两位数码管显示一个跑表,从00到99之间以约0.1秒速度跑动,当按下一个独立按键时跑表停止,松开手后跑表继续运行。请以中断的方式编写程序实现。 第5讲 MCS - 51单片机的中断 第6讲 MCS - 51单片机的中断 5.1 80C51单片机的中断系统 5.2 80C51单片机中断处理过程 5.3 80C51单片机中断的C语言程序设计 看电视 中断处理 中断请求 实际生活 中断返回 电话铃响 接听电话 看电视 主程序 计算机 事件发生 事件处理 主程序 5.1.1 中断的概念 5.1 80C51单片机的中断系统 中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机处理故障与应变的能力。 中断解决了快速主机与慢速I/O设备的数据传送,还具有如下优点
文档评论(0)