文档详情

电子设计大赛小结报告.doc

发布:2017-03-13约5.85千字共16页下载文档
文本预览下载声明
电 子 设 计 大 赛 总 结 报 告 学号:201113010122 姓名:李永飞 摘要 1.1目的 设计并制作一个。水温可以在一定范围内设定,保持设定的温度基本不变 4.2.2液位检测 这部分主要用到三极管的开关作用,当三级管处于饱和区,开关处于闭合状态,当三极管处于截止区,开关处于断开状态。B和C采用的是NPN型三极管,在允许范围内,当基极电压处于高电位时,电路连通。A采用的是PNP型三极管,当基极电压处于低电位时,电路连通。 下限A点控制电路: 当液位A时,将产生过下限警报,即红灯亮。 (2)正常工作在液位B点时控制电路: 上限C点控制电路: 当液位C时将产生过上限警报,即黄灯亮。 4.2.3继电器 继电器电路的主要作用是小电流控制大电流,分别控制水泵和电热丝工作与否。控制水泵的电热丝在不工作时处在常闭状态,当水位到达B处时,继电器闭合,水泵所处的电路导通。控制电热丝的继电器在不工作时处于常开状态,当输入温度比显示水温高时,继电器闭合,使电热丝所在的电路导通。 4.3软件设计 以下为编写程序,流程图在最后附录。 #includereg52.h //52系列单片机头文件 #includeintrins.h #define uint unsigned int #define uchar unsigned char uchar code table[]={ //定义数码管段数字 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; uchar code tablewe[]={ //定义数码管位数字 0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; sbit DQ=P1^0; //18B20 sbit kzjr=P1^1; //控制加热继电器 sbit jcyw=P1^2; //采集液位检测信号 sbit kzyw=P1^3; //控制液位继电器 sbit dula=P2^1; //控制段选 sbit wela=P2^0; //控制位选 sbit key1=P2^2; //控制四个独立按键 sbit key2=P2^3; sbit key3=P2^4; sbit key4=P2^5; uint temp,atemp=0; uchar shi=0,ge=0,a1,a2,a3,a4; //****************************************88 void delayus(uint x,uchar y) //精确延时 { uint i; uchar j; for(i=x;i0;i--); for(j=y;j0;j--); } void delay(uint x) //延时 { uint a,b; for(a=x;a0;a--) for(b=110;b0;b--); } //################################################### void yw_con() //液位检测 { if(jcyw==1) //判断是否到达B点 kzyw=0; //关闭继电器 else kzyw=1; //打开继电器 } //#################################################### void adisplay(uchar sshi,uchar sge)//数码管在第三,第四位显示输入数据 { dula=1; P0=table[sshi]; dula=0; P0=0xff; wela=1; P0=tablewe[2]; wela=0; delay(1); dula=1; P0=table[sge]; dula=0; P0=0xff; wela=1; P0=tablewe[3]; wela=0; delay(1); } //****************************************************88 void keys() //控制按键 { if(key1==0)
显示全部
相似文档