




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 14496-15:2024/AMD1:2025 EN Information technology - Coding of audio-visual objects - Part 15: Carriage of network abstraction layer (NAL) unit structured video in th
- 【正版授权】 IEC 62813:2025 EN-FR Lithium ion capacitors for use in electric and electronic equipment - Test methods for electrical characteristics
- 【正版授权】 ISO/IEC 23094-4:2022/AMD1:2024 EN Information technology - General video coding - Part 4: Conformance and reference software for essential video coding - Amendment 1: Green
- 商务合同续签协议书
- 项目代建协议合同
- 居民采暖供用热合同
- 委托船舶单项其它工程服务合同
- 设计类合同协议
- 墙地砖劳务分包合同
- 美容院顾客服务效果免责协议
- 班会课件:逆风飞翔破茧成蝶-从《哪吒之魔童闹海》看青春期的成长与责任
- 2.1 坚持依宪治国 教案 -2024-2025学年统编版道德与法治八年级下册
- 【语文试卷+答案】2024-2025学年泉州高二上期末质检
- 《修缮定额讲解》课件
- 大学学生宿舍管理员工作培训
- 初三物理常识试卷单选题100道及答案
- 浙江2024公务员考试真题及答案
- 初中新课标培训课件
- 公司银行贷款申请书范文
- 机械设计制造及其自动化专业知识
- 新人教版小学五年级数学下册《第一单元 观察物体(三)》2022课标大单元整体教学设计-全析
评论
0/150
提交评论