我要找个做网站的公司,在什么地方可以接到做网站的活,营销型网站策划方案,徐闻手机网站建设公司一、系统方案 1、本设计采用这51单片机作为主控器。 2、MPX4115采集压力值、DS18B20采集温度值送到液晶1602显示。 3、按键设置报警值。 4、蜂鸣器报警。
二、硬件设计 原理图如下#xff1a;
三、单片机软件设计 1、首先是系统初始化 /*********************************…一、系统方案 1、本设计采用这51单片机作为主控器。 2、MPX4115采集压力值、DS18B20采集温度值送到液晶1602显示。 3、按键设置报警值。 4、蜂鸣器报警。
二、硬件设计 原理图如下
三、单片机软件设计 1、首先是系统初始化 /******************************************************************* 液晶初始化 *****************************************************************/ void chushihua() { delayxms(20); //给液晶一段时间 en0; xiemingling(0x38);//设置162显示57点阵8位数据接口 delayxms(20); xiemingling(0x38);// delayxms(20); xiemingling(0x0c);//设置开显示不显示光标 delayxms(20); xiemingling(0x06);//写一个字符后地址指针加1 delayxms(20); xiemingling(0x01);//显示清零数据指针清零 delayxms(20); xiemingling(0x80);//指定字符显示的实际地址显示位置的确定方法规定为80H地址码x delayxms(20); } 2、液晶显示程序 //毫秒 void delayxms(uint ms) //延时 x ms { uint a,j; for(a0;ams;a) for(j0;j110;j); }
/******************************************************************* 写命令 / void xiemingling(unsigned char mingling) { en0; rs0; rw0; P0mingling; delayxms(5); en1; delayxms(10); en0; } / 写数据 / void xieshuju(unsigned char shuju) { en0; rs1; rw0; P0shuju; delayxms(5); en1; delayxms(10); en0; } 3、按键程序 // // 按键扫描 /*************************************/ void key() {
if(key50)
{delay(10);if(key50){while(!key5);c1c;temp1temp;}
} if(key60)
{delay(10);if(key60){while(!key6);mode!mode;chushihua(); //LCD1602初始化
}
} if(key10)
{delay(10);if(key10){while(!key1);h;if(h1000) h1000;
}
} if(key20)
{delay(10);if(key20){while(!key2);if(h1) h--;}
}
if(key30)
{delay(10);if(key30){while(!key3);l;if(l1000) l1000;
}
} if(key40)
{delay(10);if(key40){while(!key4);if(l1) l--;}
} }
4、核心算法程序 void main(void) {
chushihua(); //LCD1602初始化while(1) { key(); getdataAdc0832(0); check_wendu(); if(0getdata243) { int varygetdata; press((10.0/23.0)vary)9.3; temp(int)(press10); dispbuf[3]temp/1000; //取压力值百位dispbuf[2](temp%1000)/100; //取压力值十位dispbuf[1]((temp%1000)%100)/10; //取压力值个位dispbuf[0]((temp%1000)%100)%10; //取压力值十分位if(temp/10l){ led10;led21;beep0;}else if(temp/10h){led11;led20;beep0;}else {led11;led21;beep1;}}if(mode0){xiemingling(0x800);xieshuju(Q);xieshuju(:);xieshuju(dispbuf[3]0x30); xieshuju(dispbuf[2]0x30); xieshuju(dispbuf[1]0x30);xieshuju(.); xieshuju(dispbuf[0]0x30); xieshuju( );xieshuju(T);xieshuju(:);xieshuju(c/10000x30); xieshuju(c%1000/1000x30); xieshuju(c%1000%100/100x30);xieshuju(.); xieshuju(c%100x30); xiemingling(0x800x40); xieshuju(H);xieshuju(:);xieshuju(h/1000x30); xieshuju(h%100/100x30); xieshuju(h%100x30);xieshuju( );
xieshuju(L);xieshuju(:);xieshuju(l/1000x30); xieshuju(l%100/100x30); xieshuju(l%100x30);
}
else{xiemingling(0x800);xieshuju(R);xiemingling(0xC00);xieshuju(Q);xieshuju(:);xieshuju(temp1/10000x30); xieshuju(temp1%1000/1000x30); xieshuju(temp1%1000%100/100x30);xieshuju(.); xieshuju(temp1%100x30); xieshuju( );xiemingling(0xC00);xieshuju(Q);xieshuju(:);xieshuju(temp1/10000x30); xieshuju(temp1%1000/1000x30); xieshuju(temp1%1000%100/100x30);xieshuju(.); xieshuju(temp1%100x30); xieshuju( );xieshuju(T);xieshuju(:);xieshuju(c1/10000x30); xieshuju(c1%1000/1000x30); xieshuju(c1%1000%100/100x30);xieshuju(.); xieshuju(c1%100x30); }} } 四、 proteus仿真设计 Proteus软件是一款应用比较广泛的工具它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况这样就可以通过软件仿真来验证我们设计的方案有没有问题如果有问题可以重新选择器件连接器件直到达到我们设定的目的避免我们搭建实物的时候如果当初选择的方案有问题我们器件都已经焊接好了再去卸载下去再去焊接新的方案的器件测试这样会浪费人力和物力也给开发者带来一定困惑Proteus仿真软件就很好的解决这个问题我们在设计之初就使用该软件进行模拟仿真测试选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸焊接实物调试最终完成本设计的作品。