版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(1)判断液位高度(2)用力控软件绘出工程平面图以及用keil编辑程序(3)设置相应的实时控制和报警(4)确定I/O端口功能#include #define uint unsigned intvoid delay(uint a;void display1(uint a;void key_control(;void pour_liquid(;void emit_liquid(;/ void alarm1(;int alarm(;void give_out(;void control(;uint ADC( ;sbit ALE=P20;sbit EOC=P21;sbit OE=P22;sbit cl
2、k=P23;/sbit p17=p17;sbit P14=P14;sbit P15=P15;sbit P16=P16;sbit P24=P24;sbit P25=P25;sbit P26=P26;sbit P27=P27;/*模数转换器工作的前提条件是(由于在本题中不需要地址锁存,所以ALE不管,eoc为数模转换完毕由低电平变成了高电平,oe为打开三态门数据接收,start为数模开始转换负跳变为开始工作)clk为数模转换器提供时钟*/显示uint TAB=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09 ;/提供时钟脉冲void timer0_
3、int(void interrupt 1 /时钟中断 定时器/计数器0clk=clk; /计数器提供工作时钟void timer1_int(void interrupt 3 /报警 定时器/计数器1uint recieve;recieve=ADC(; /接收转换后的数据TH1=0xB1;TL0=0XDF; /给定时器重新装初值 /缓冲区 半场鸣.void main(uint data1;TMOD=0X12; /使定时器0 工作在方式2 定时器1 工作方式2TR0=1; /开计数器/定时器0TR1=1; /开计数器/定时器1IE=0X8A; /开中断,能响应计数器溢出中断TH0=240; TH1
4、=0xB1;TL0=0; TL0=0XDF; /中断时间 定时器0 :15us 定时器1 :20msIP=0x02; /优先级的设置:定时器0的优先级高于定时器1的优先级while(1data1=ADC(;/模数转换display1(data1;alarm(;control(;/数模转换uint ADC( /返回数据为液体的高度uint data1;ALE=0;ALE=1;ALE=0;/给start端开始信号即使数模转换器开始工作delay(100;while(EOC=0;OE=1; /接收转换后的数据data1=P0;OE=0;data1=(uint50.0*data1/255.0;retu
5、rn data1;/报警int alarm( uint a ;int recieve;a=ADC(;if(a>35&&a<=40 /缓冲区P24=0 ;/ P25=1;recieve=1;else if(a>40 /报警 ;液体过多;需放掉一部分P24=0;P25=1;recieve=2;else if(a<=35&&a>=15 /在合适区P24=0;P25=0;recieve=3;else if(a<15 /液体过少,需加液体P24=1;P25=0;recieve=4;return recieve;/选通数码管void di
6、splay1(uint a uint temp1,temp2,temp3,temp4;temp1=a/1000; temp2=a%1000/100;temp3=a%100/10;temp4=a%10;if(temp1P1=TABtemp1;delay(100;P1=TABtemp2|0x10;delay(100;P1=TABtemp3|0x20;delay(100;P1=TABtemp4|0x30;delay(100;else if(temp1=0P16=1;if(temp2P1=TABtemp2|0x10;delay(100;P1=TABtemp3|0x20;delay(100;P1=TAB
7、temp4|0x30;delay(100;else if(temp2=0P16=1;if(temp3P1=TABtemp3|0x20;delay(100;P1=TABtemp4|0x30;delay(100;else if(temp3=0P16=1;P1=TABtemp4|0x30;delay(100;/延时程序段void delay(uint auint i;for(i=a;i>0;i-;/开关控制void key_control(uint a;a=ADC(;if(a>=15&&a<35P27=0;P3=0X63;P27=1;else if(a>35&
8、amp;&a<40P27=0;P3=0X63;P27=1;P25=1;P24=0;else if(a<15|a>=40P27=0;P3=(uinta*5.5;/注如液体时void pour_liquid(P27=0;P3=0X46; /开 注入液体开关P27=1; /锁存地址,直到注入液体大于35米时/if(a>35;/ P27=0; /如果在35米到40米之间断开注入液体开关那么不进行报警了/return 1;/else return 0;/需要清洗容器时 ,将液体清放完全/*void emit_liquid(alarm(;P27=0;P3=0XBC;P27=
9、1; */清放液体时,如果液体高度在35米到40米之间关闭清放液体开关那么也不进行报警了/*void give_out( uint a;a=ADC(;alarm(;P27=0;P3=0XBC; /开 输出液体开关P27=1; /锁存地址,直到输出液体小雨40米时if(a>35&&a<40;/ P27=0; /如果在35米到40米之间断开注入液体开关那么不进行报警了return 3;else return 2; */控制液体的流量void control( uint a;int recieve1;a=ADC(;recieve1=alarm(;if(recieve1!=1P26=1;if(recieve1=1 if(P26=0/关闭两开关 P26=0;P25=0;display1(a;/ recieve1=alarm1(;P27=0;P3=0X63;P27=1;else if(P26=1 display1(a;/alarm(;key_control(;P25=1;if(recieve1=2 /大于40米key_control(;/ recieve1=alarm(;display1(a;if(recieve1=3 /合适区key_control(;/recieve1=alarm(;display1(a;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年冶金用煤居间订购书
- 二年级上册数学教案-第七单元 第1课时 认识时间(一)|人教新课标
- 一年级下册数学教案-第二单元 十几减5、4、3、2∣人教新课标
- 2024年农业科研试验机械租赁合同
- 中班体育公开课教案:露齿的微笑
- 大班上学期语言教案《给妈妈的妈妈送甜蜜》
- 大班健康公开课教案及教学反思《我是小小解放军》
- 多元文化节活动方案
- 8和9的认识(教案)2023-2024学年数学 一年级上册
- 一年级下册数学教案-第4单元 多些、少些∣人教新课标
- 2024年道路运输企业安全生产管理人员考试试题题库
- 24秋国家开放大学《公共关系学》实训任务一答案
- 【8物(科)期中模拟】合肥市2023-2024学年八年级上学期期中模拟物理作业试卷
- 情商与智慧人生学习通超星期末考试答案章节答案2024年
- 部编人教版《道德与法治》六年级上册第6课《人大代表为人民》课件
- 盘扣式卸料平台施工方案
- CTF信息安全竞赛理论知识考试题库大全-上(单选题)
- 新探索研究生英语(基础级)读写教程参考答案Language-focus
- 防校园欺凌-课件(共28张PPT)
- 《汽车数据安全管理若干规定(试行)》解读完整课件
- 关于XX控股集团智库建设运营实施方案
评论
0/150
提交评论