版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 中断(3)报警控制系统,4.3 报警控制系统,一、报警控制系统实物图,二、报警装置的工作状态 (1)状态1:正常时8个LED发光二极管(彩灯)循环点亮; (2)状态2:有报警时,蜂鸣器发出报警声。(用P3.7模拟报警触发,P3.3接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止。),4.3 报警控制系统,三、硬件接线图,4.3 报警控制系统,四、中断服务程序设计 中断服务程序的完整定义如下: void 函数名(参数)interrupt nusing m 其中interrupt n 表示将函数声明为中断服务函数,n为中断源编号,可以是04间的整数,n通常取以下值: 0外部中
2、断0;1定时器/计数器0溢出中断; 2外部中断1;3定时器/计数器1溢出中断; 4串行口发送与接收中断; using m 定义函数使用的工作寄存器组,m的取值范围为03,对应使用四组工作寄存器,可缺省。,4.3 报警控制系统,【例3-1】要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。,4.3 报警控制系统,参考程序: (1)负跳变触发:每次下跳变引起一次中断请求。 #include sbit P1_0=P10; sbit P3_2=P32; void int0 ( void ) interrupt 0 using 1 P1_0= P1_0; ,4.3 报警控制系统演示程序中断-边沿
3、触发.C,main( ) P1=0 x01; P3_2=1; EA=1; EX0=1; IT0=1; while(1) ; ,4.3 报警控制系统,(2)电平触发 #include sbit P1_0=P10; sbit P3_2=P32; void int0 ( void ) interrupt 0 using 1 while (P3_2= =0) ; P1_0= P1_0; ,4.3 报警控制系统演示程序中断低电平触发.C,main( ) P1=0 x01; /输入端先置1,灯灭 EA=1; /开中断总开关 EX0=1; /允许中断 IT0=0; /低电平触发产生中断 while(1) ;
4、 /等待中断 ,4.3 报警控制系统,【例3-2】 在下图中P1.4P1.7接有四个发光二极管,P1.0P1.3接有四个开关,消抖电路用于 产生中断请求信号,当消抖电路的开关来回拔动一次将产生一个下降沿信号,通过向CPU申请中断,要求:初时发光二极管全灭,每中断一次,P1.0P1.3所接的开关状态反映到发光二极管上,且要求开关闭合的对应发光二极管亮。每中断一次,发光二极管显示开关状态。,4.3 报警控制系统,分析:图中用了双稳态消抖电路,除了硬件消抖外,还产生中断请求信号。当消抖电路的开关来回拔动一次将产生一个下降沿信号,通过向CPU申请中断。每重置一次四个开关的开、合状态,四个发光二极管维持
5、原来的亮、灭状态;仅当来回拔动消抖电路开关后,产生了中断,发光二极管才反映新置的开关状态。,例3-2的电路图,4.3 报警控制系统,参考程序: #include void int0( void ) interrupt 0 /*中断函数*/ P1=4; main( ) P1=0 xff; /*输入端先置1,输出端灯灭*/ EA=1; /*开中断总开关*/ EX0=1; /*允许INT0中断*/ IT0=1; /*下降沿产生中断*/ while(1); /*等待中断*/ ,4.3 报警控制系统 -演示程序文件名:报警电路例3-2.C,【例3-3】 如下图所示为电加热锅炉控制工作原理图和单片机控制系
6、统,当压力报警信号发出时,要求排汽电磁阀通电,打开排汽阀以减小蒸汽压力,当低水位限位发出信号时,打开进水阀,当高水位限位发出信号时,关闭进位阀,当温度达到100时,关电加热丝,当温度低于95时,开电加热丝。编写单片机控制的中断服务程序。,4.3 报警控制系统,电加热锅炉控制工作原理图,4.3 报警控制系统,参考程序: #include sbit P1_0=P10; sbit P1_1=P11; sbit P1_2=P12; sbit P1_3=P13; sbit P1_4=P14; sbit P1_5=P15; sbit P1_6=P16; sbit P1_7=P17; void int( v
7、oid ) interrupt 3 if (P1_0= =0) P1_5=0; else P1_5=1; if (P1_1=0) P1_6=1; else if(P1_2=0)P1_6=0; ,4.3 报警控制系统,if (P1_3=0) P1_7=1; else if(P1_4=0)P1_7=0; main( ) P1=0Xff; EA=1; EX1=1; IT1=1; while(1); /*等待中断*/ ,4.3 报警控制系统,4.3 报警控制系统,报警系统在工业控制系统中应用较为广泛,如电加热锅炉系统中压力的报警、锅炉水位过低报警、家用煤气报警、洗衣机缺水报警等等。通常在设计报警控制系
8、统时,一方面,系统检测到报警,通过蜂鸣器或扬声器发出报警,引起人们的注意;另一方面,系统必须能迅速切断可能引起事故的故障源,如切断电源、打开压力电磁阀、关闭煤气等。,一、 89C2051报警控制系统硬件设计,4.3 报警控制系统,功能: 1.当外部中断1没有时,为彩灯控制; 2.当外部中断1有负跳沿时,产生中断,由P3.7口输出音频信号驱动喇叭发声报警。,二、程序流程图,4.3 报警控制系统,三、控制系统软件设计 #include reg51.h unsigned char a=0 x00,0 x01,0 x03,0 x07,0 x0f, 0 x1f,0 x3f,0 x7f,0 xff; sb
9、it warning=P37; sbit p33=P33; void main() unsigned int i; unsigned char j; EA=1; EX1=1;,4.3 报警控制系统-演示程序:报警电路最后例.c,IT1=1; /负跳变触发方式 while(1) for(j=0;j9;j+) P1=aj; for(i=0;i50000;i+); ,void alarm(void) interrupt 2 using 1 unsigned char i; do warning = 0; for(i=0;i100;i+); warning = 1; for(i=0;i100;i+); while(p33=0); ,4.3 报警控制系统,【例】,通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。已知: (B)=01h,要求采用边沿触发,低优先级。,此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。,程序清单演示程序:中断控制灯移位.C,#include reg51.h #include unsigned char var; void main() EA=1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保监测应急预案范文(3篇)
- 电梯地板拆除施工方案(3篇)
- 码头轨道梁施工方案(3篇)
- 管道内穿插施工方案(3篇)
- 网点营销环境打造方案(3篇)
- 船舶污染应急预案模板(3篇)
- 蔬菜文化广场施工方案(3篇)
- 道路新建修复施工方案(3篇)
- 金味燕麦营销方案(3篇)
- 锅炉钢架安装施工方案(3篇)
- 2025年下学期初中数学与纳米技术试卷
- 气动与液压传动教学课件
- 电梯日管控周排查月调度工作制度
- 标准化考场建设投标方案
- T-CCTAS 22-2021 城市智慧停车场系统建设与运营服务规范
- 辅警笔试题目及答案
- SF∕T 0095-2021 人身损害与疾病因果关系判定指南(司法)
- 环氧地坪施工检验批质量验收记录表
- 眼镜购销合同范例
- 太阳能直升机小学科学课件stem课程社团课课件
- 食品生产企业更衣室管理规定及更衣程序(附图片)
评论
0/150
提交评论