单片微机原理与接口技术-基于STC15系列单片机(第3版)7 STC15F2K60S2单片机中断系统 例题_第1页
单片微机原理与接口技术-基于STC15系列单片机(第3版)7 STC15F2K60S2单片机中断系统 例题_第2页
单片微机原理与接口技术-基于STC15系列单片机(第3版)7 STC15F2K60S2单片机中断系统 例题_第3页
单片微机原理与接口技术-基于STC15系列单片机(第3版)7 STC15F2K60S2单片机中断系统 例题_第4页
单片微机原理与接口技术-基于STC15系列单片机(第3版)7 STC15F2K60S2单片机中断系统 例题_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE143第7章STC15F2K60S2单片机中断系统例7.1利用引脚输入单次脉冲,每来一个负脉冲,将连接到P1口的的发光二极管循环点亮(设低电平驱动)。解:根据题意采用外部中断0,选择下降沿触发方式;因LED灯的驱动信号是低电平有效,设LED灯驱动初始值为FEH。汇编语言参考程序如下:ORG 0000HLJMP MAINORG 0003HLJMP INT0_ISRORG 0l00HMAIN:MOVA,#0FEH;设置LED灯起始驱动信号SETBIT0;设置外部中断0为下降沿触发方式SETBEX0;开放外部中断0SETBEA;开放总中断SJMP$;原地踏步,起模拟主程序的作用;外部中断0中断服程序INT0_ISR:MOVP1,A;输出LED灯驱动信号RLA;左移,为循环点亮LED灯做准备RETI;中断返回ENDC51参考程序如下:#include<REG52.H>//包含8052单片机的寄存器定义文件unsignedchari=0xfe;/*外部中断0中断函数*/voidint0_isr()interrupt0{Pl=i;i<<=1;if(i==0)i=0xfe;//移位8次后,i将变为0,需要重新赋值}/*主函数*/voidmain(void){IT0=l;//设置边沿触发方式EX0=1;//开放外部中断0EA=1;while(1);//原地踏步,模拟主程序}例7.2如图7.4所示为一3机器故障检测与指示系统,当无故障时,LED3灯亮;当有故障时,LED3灯灭,0号故障时,LED0灯亮,1号故障时,LED1灯亮,2号故障时,LED2灯亮。图7.4机器故障检测与指示系统解:由图可知,3个故障信号分别为0、1、2,故障信号为高电平有效,0、1、2号中有1个或以上为高电平时,经或非门后输出低电平,产生下降沿信号,向CPU发出中断请求。汇编语言参考程序如下:ORG 0000HLJMP MAINORG 00003HLJMP INT0_ISRORG 0100HMAIN:MOVSP,#60H;设定堆栈区域SETBIT0;设定外部中断0为下降沿触发方式SETBEX0;开放外部中断0SETBEA;开放总中断LOOP:MOVA,P1;读取P1口中断输入信号ANLA,#15H;截取中断输入信号JNZTrouble;有中断请求,转Trouble,熄灭正常工作指示灯LED3CLRP1.7;无中断请求,点亮LED3SJMPLOOP;循环检查与判断Trouble:SETBP1.7;熄灭LED3SJMPLOOP;循环检查与判断INT0_ISR:JNBP1.0,No_Trouble_0;查询0号故障源,无故障转No_Trouble_0,熄灭LED0CLRP1.1;有0号故障,点亮LED0SJMPCheck_Trouble_1;继续查询1号故障No_Trouble_0:SETBP1.1Check_Trouble_1:JNBP1.2,No_Trouble_1;查询1号故障源,无故障转No_Trouble_1,熄灭LED1CLRP1.3;有1号故障,点亮LED1SJMPCheck_Trouble_2;继续查询2号故障No_Trouble_1:SETBP1.3Check_Trouble_2:JNBP1.4,No_Trouble_2;查询2号故障源,无故障转No_Trouble_2,熄灭LED2CLRP1.5;有2号故障,点亮LED1SJMPExit_INT0_ISR;转中断返回No_Trouble_2:SETBP1.5Exit_INT0_ISR:RETI;查询结束,中断返回ENDC51参考程序如下:#include<REG51.H>sbitP10=Pl^0;sbitP11=Pl^1;sbitPl2=Pl^2;sbitPl3=Pl^3;sbitP14=Pl^4;sbitP15=Pl^5;sbitPl6=Pl^6;sbitPl7=Pl^7;/*外部中断0中断函数*/voidx0_isr(void)interrupt0{P11=~P10;//故障指示灯状态与故障信号状态相反P13=~P12;P15=~P14;}/*主函数*/voidmain(void){unsignedchari;IT0=1;//外部中断0为下降沿触发方式EX0=1;//允许外部中断0EA=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论