- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六讲 中断系统
* 【思考】如例6-8,在P3.2引脚上再接一只停止按钮开关,按下后LED灯全灭。请修改程序,实现上述功能。 【例6-9】系统时钟为12MHz,编程实现从P1.0引脚上输出一个周期为2ms的方波。 * 基本思想:要在P1.0上产生周期为2ms的方波,定时器应产生1ms的周期性的定时,定时对P1.0求反。选择定时器T0,方式1定时,采用中断方式,GATE不起作用。 计算T0的初值计算: TH0=(65536??1000)?/256=0xfc ,TL0=(65536??1000)%256=0x18。 * 中断方式: 查询方式: * 【例6-10】音频制作 * * 【例6-11】10秒的秒表:用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。当第1次按一下计时功能键时,秒表开始计时并显示,如果计时到9.9s,将重新开始从0计时;第2次按一下计时功能键时,计时暂停;第3次按一下计时功能键,秒表清0。再次按一下计时功能键,则重复上述计时过程。 * * * 实验二 LED数码管秒表的制作 用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。 1、当第1次按一下启动停止键时,秒表开始计时并显示; 2、第2次按一下启动停止键时,暂时停止计时; 3、第3次按一下启动停止键时,秒表继续开始计时并显示;即启动停止键按键次数为奇数时计时并显示,启动停止键按键次数为偶数时为暂停。 4、如果计时到9.9s,将重新开始从0计时; 5、无论是计时还是暂停状态,按一下复位键,秒表清0。然后按一下启动停止键时,秒表开始计时并显示。 * * #includereg51.h unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char timer=0; unsigned char second; unsigned char key=0; main() { TMOD=0x01; ET0=1; EA=1; second=0; P0=discode1[second/10]; P2=discode2[second%10]; while(1) { if((P30x80)==0x00) { key++; switch(key) { case 1: TH0=0xee; TL0=0x00; TR0=1; break; case 2: TR0=0; key=0;break; //case 3: key=0; second=0; P0=discode1[second/10]; //P2=discode2[second%10];break; } while((P30x80)==0x00); } if((P30x40)==0x00) { key=0;TR0=0;second=0; P0=discode1[second/10]; P2=discode2[second%10];} } } * * 【例6-5】中断的嵌套:如图所示,在51单片机的P1口上接有8只LED。引脚P3.2、P3.3分别接有按钮开关K1和K2。要求K1和K2都未按下时,8只LED呈流水灯显示;K1按下时,上下4只LED交替闪烁;按下K2时8只LED全部闪亮。1)两个外中断的优先级相同 2)设置外中断1为高优先级,外中断0为低优先级,分别观察程序运行情况。 * * 【例6-6】如图所示,在单片机的P0口接有8个发光二极管作为指示灯,P1.0~P1.3接有4个按键开关,当不同脚上的按键按下时,实现如下的功能: 1)按下P1.0脚的按键:8只灯全亮然后全灭,交替闪亮。 2)按下P1.1脚的按键:按此键则停止点亮8只灯,所有灯全灭。 3)按下P1.2脚的按键:LED指示灯由上向下流动点亮。 4)按下P1.3脚的按键:LED指示灯由下向上流动点亮。 * 【例6-6】中断
您可能关注的文档
最近下载
- 22G101 三维彩色立体图集.docx VIP
- 2010年考研英语一真题解析.pdf VIP
- 柔性吊桥计算书程序.xls VIP
- 崔德山-岩土测试技术3-第1篇室内试验-土的理化试验.ppt VIP
- 2025小升初英语基础时态专项训练题及答案.pdf VIP
- 崔德山-岩土测试技术4-第1篇室内试验-土的力学试验.pptx VIP
- 超重和失重 教学设计 高中物理新人教版必修第一册(2023~2024学年).docx VIP
- 奥数应用题(和差、和倍、差倍).docx VIP
- (完整版)和差、和倍、差倍问题应用题.doc VIP
- 小学英语 2024年新疆克拉玛依市白咸滩区小升初英语试卷.pdf VIP
文档评论(0)