网站建设方案 规划,wordpress 输出评论,十大素材网站,wordpress 360网盘按钮一、系统方案 本设计采用DS1302采集年月日时分秒#xff0c;DS18B20采集温度值#xff0c;按键设置温度报警上下限#xff0c;实际测量温度低于下限或高于上限#xff0c;蜂鸣器报警#xff0c;同时将测量温度上传到蓝牙助手。 二、硬件设计 原理图如下#xff1a;
三…一、系统方案 本设计采用DS1302采集年月日时分秒DS18B20采集温度值按键设置温度报警上下限实际测量温度低于下限或高于上限蜂鸣器报警同时将测量温度上传到蓝牙助手。 二、硬件设计 原理图如下
三、单片机软件设计 1、首先是系统初始化 P0 P1 P2 P3 0xff; //单片机IO口初始化为1 init_time0(); //初始化定时器 init_1602(); //lcd1602初始化 init_1602_dis_csf(); //lcd1602初始化显示
temperature read_temp(); //先读出温度的值
delay_1ms(650);Uart_init(); 2、液晶显示程序 /lcd1602写命令函数*/ void write_com(uchar com) { e0; rs0; rw0; P0com; delay_uint(3); e1; delay_uint(25); e0; }
/lcd1602写数据函数*/ void write_data(uchar dat) { e0; rs1; rw0; P0dat; delay_uint(3); e1; delay_uint(25); e0; } 3、按键程序 /***独立按键程序/ uchar key_can; //按键值
void key() //独立按键程序 { static uchar key_new; key_can 20; //按键值还原 P3 | 0x78; //对应的按键IO口输出为1 if((P3 0x78) ! 0x78) //按键按下 { delay_1ms(1); //按键消抖动 if(((P3 0x78) ! 0x78) (key_new 1)) { //确认是按键按下 key_new 0; switch(P3 0x78) { case 0x70: key_can 4; break; //得到按键值 case 0x68: key_can 3; break; //得到按键值 case 0x58: key_can 2; break; //得到按键值 case 0x38: key_can 1; break; //得到按键值 } // write_sfm2(1,0,key_can); //显示按键值 } } else key_new 1; } 4、核心算法程序 /主函数***/ void main() { P0 P1 P2 P3 0xff; //单片机IO口初始化为1 init_time0(); //初始化定时器 init_1602(); //lcd1602初始化 init_1602_dis_csf(); //lcd1602初始化显示
temperature read_temp(); //先读出温度的值
delay_1ms(650);Uart_init();
while(1)
{if(temperatureah*10){led10;}else{led11; }if(temperatureal*10){led20;}else{led21; }if((temperatureah*10)||(temperatureal*10)){beep0;}else{beep1; }mcu_pc(W);mcu_pc(e);mcu_pc(e);mcu_pc(d);mcu_pc(u);mcu_pc(:);mcu_pc( );mcu_pc(temperature/1000x30);mcu_pc(temperature%100/100x30);mcu_pc(.);mcu_pc(temperature%100x30);mcu_pc(C);mcu_pc(0X0D);mcu_pc(0X0A);key(); //按键程序if(key_can 10){key_with(); read_time(); }if(flag_200ms 1){ flag_200ms 0;if(menu_1 0){read_time(); //读时间EA0;temperature read_temp(); //先读出温度的值EA1;init_1602_ds1302(); //显示时钟}}delay_1ms(1);
}}
四、 proteus仿真设计 Proteus软件是一款应用比较广泛的工具它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况这样就可以通过软件仿真来验证我们设计的方案有没有问题如果有问题可以重新选择器件连接器件直到达到我们设定的目的避免我们搭建实物的时候如果当初选择的方案有问题我们器件都已经焊接好了再去卸载下去再去焊接新的方案的器件测试这样会浪费人力和物力也给开发者带来一定困惑Proteus仿真软件就很好的解决这个问题我们在设计之初就使用该软件进行模拟仿真测试选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸焊接实物调试最终完成本设计的作品。