实验四-工业顺序控制实验.doc

实验四-工业顺序控制实验.doc

ID:59189652

大小:114.00 KB

页数:5页

时间:2020-10-30

实验四-工业顺序控制实验.doc_第1页
实验四-工业顺序控制实验.doc_第2页
实验四-工业顺序控制实验.doc_第3页
实验四-工业顺序控制实验.doc_第4页
实验四-工业顺序控制实验.doc_第5页
资源描述:

《实验四-工业顺序控制实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四工业顺序控制实验一、实验目的掌握工业顺序控制程序的简单编程,中断的使用。二、实验仪器和设备1.微机一台2.KeilC51集成开发环境3.proteus仿真软件三、实验预备知识在工业控制中,像冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制,例注塑机工艺过程大致按“合模—>注射—>延时—>开模—>产伸—>产退”顺序动作,用单片机最易实现。四、实验内容1.用proteus画出仿真电路图。8031的P1.0-P1.6控制注塑

2、机的七道工序,先模拟控制七只发光二级管的点亮,高电平有效,设定每道工序时间转换为延时,K1为开工启动开关,低电平启动。K2为外故障输入模拟开关,P3.3输入为0是不断警告,P1.7为报警声音输出,参考电路图如下图所示:2.P1.7报警输出时要求采用双音报警,请自行准备耳机。五、实验说明1.实验中模拟外故障输入用外部中断1,初始化程序中需开中断。2.未开工时(K1未按下),按下K2不能有报警输出。六、实验程序框图七、实验步骤1.用proteus设计工业顺序控制电路;2..在KeilC51中编写控制程序

3、,编译通过后,与proteus联合调试;3..K1开关拨在上面,K2拨在上面;4..用连续方式运行程序,此时应在等待开工状态;5..K1拨到下面(显低电平),各道程序应正常运行;6..K2拨到下面(低电平),应有声音报警(人为设置故障);7..K2拨到上面(高电平),排除故障,程序应从刚才报警的工序继续执行。八、实验程序1.实验电路:2.实验源程序:见附录1.2九、实验总结1.用中断方式编程时,外部中断触发方式选择了低电平触发,结果导致按键按下后,中断不断触发,尽管出现了连续的报警声,但是还是会回到

4、主程序,流水灯并未真正停止,而是间隔一段时间后,发生变化。解决方法是在中断程序中加入判断K2的条件,使其在中断期间不再返回主程序即可。2.注意当程序中用到两个中断时必须设置中断优先级寄存器PCON,才能实现中断嵌套。要真正理解中断优先级的含义。3.给speaker两个不同的频率的信号即可产生双音报警信号。十、实验建议希望老师在每个实验结束后,能拿出几个典型程序进行讲解,讲解实验过程中出现的问题。附录1:程序1#includevoiddelay_ms(int);intt=0,num=

5、1,cnt,s;sbitK1=P3^4;sbitK2=P3^3;bitsw=0,flag=0;sbitspeaker=P1^7;charcodetab[10]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff};voidmain(void){P1=tab[0];TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;ET0=1;TR0=1;EA=1;while(1){while(K1==0){if(num

6、<=7&&K2==1){P1=tab[num++];delay_ms(500);if(num==8)num=1;for(cnt=0;cnt<200&&K2==0;cnt++){speaker=~speaker;while(s<2);s=0;}for(cnt=0;cnt<200&&K2==0;cnt++){speaker=~speaker;while(s<3);s=0;}}}}voidtimer0()interrupt1{TH0=(65536-500)/256;TL0=(65536-500)%256;

7、s++;}voiddelay_ms(t){inti;for(;t>0;t--)for(i=0;i<124;i++);}}附录2:程序2#includeintt=0,num=1,cnt,s;sbitK1=P3^4;bitsw=0;sbitspeaker=P1^7;charcodetab[10]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff};voidkeyscan(){if(K1==0)sw=1;if(K1==1){sw=0;P

8、1=tab[0];EX1=0;//K1接高,停止工作}}voidmain(void){TMOD=0x01;//定时器0方式1TH0=(65536-100)/256;TL0=(65536-100)%256;PT0=1;//设置定时器1最高优先级TR0=1;EA=1;while(1){keyscan();if(sw){ET0=1;EX1=1;IT1=0;while(sw){if(t>=5000){P1=tab[num++];;if(num>=8)num=1;t=0;}ke

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。