网站应用是什么,网站开发属于什么职位类别,长沙网站制作合作商,wordpress实现首页功能能一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶显示楼层。 3、防超重#xff0c;防气体报警、防夹报警。  
二、硬件设计 原理图如下#xff1a;  
三、单片机软件设计 1、首先是系统初始化 /lcd1602初始化设置*/ void init_1602() //lcd1602初始化设置 { write_co…一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶显示楼层。 3、防超重防气体报警、防夹报警。  
二、硬件设计 原理图如下  
三、单片机软件设计 1、首先是系统初始化 /lcd1602初始化设置*/ void init_1602() //lcd1602初始化设置 { write_com(0x38);  write_com(0x0c); write_com(0x06); } 2、液晶显示程序 void delay_uint(uint q) { while(q–); } 
/******************************************************************** 
名称 : write_com(uchar com)功能 : 1602命令函数输入 : 输入的命令值输出 : 无 ***********************************************************************/ void write_com(uchar com) { e0; rs0; //rw0; P0com; delay_uint(3); e1; delay_uint(25); e0; } 
/******************************************************************** 
名称 : write_data(uchar dat)功能 : 1602写数据函数输入 : 需要写入1602的数据输出 : 无 **********************************************************************/ void write_data(uchar dat) { e0; rs1; //rw0; P0dat; delay_uint(3); e1; delay_uint(25); e0;  } /lcd1602上显示这字符函数/ void write_string(uchar hang,uchar add,uchar *p) { if(hang1) write_com(0x80add); else write_com(0x800x40add); while(1)  { if(*p  ‘\0’) break; write_data(*p); p; }  } 3、按键电路程序 void key() //按键程序 { if(key1  0) //1楼按键按下 { led1  1; //点亮1楼发光二极管 dt_1  1; //1楼电梯按下变量置1 }  if(key2  0) //2楼按键按下 { led2  1; //点亮2楼发光二极管 dt_2  1; //2楼电梯按下变量置1 }  if(key3  0) //3楼按键按下 { led3  1; //点亮3楼发光二极管 dt_3  1; //3楼电梯按下变量置1 }  if(key4  0) //4楼按键按下 { led4  1; //点亮4楼发光二极管 dt_4  1; //4楼电梯按下变量置1 }  if(key5  0) //5楼按键按下 { led5  1; //点亮5楼发光二极管 dt_5  1; //5楼电梯按下变量置1 }  if(key6  0) //6楼按键按下 { led6  1; //点亮6楼发光二极管 dt_6  1; //6楼电梯按下变量置1 }  if(key7  0) //7楼按键按下 { led7  1; //点亮7楼发光二极管 dt_7  1; //7楼电梯按下变量置1 }  if(key8  0) //8楼按键按下 { led8  1; //点亮8楼发光二极管 dt_8  1; //8楼电梯按下变量置1 } } 4、核心算法程序 /电梯向上、做最后的判断是否还要继续向上/ void dt_shang_guan() { static uchar value; if(dt_s_x  1) //电梯向上 做最后的判断是否还要继续向上 { if(dt_value  1) //在第1层 { value  dt_2  dt_3  dt_4  dt_5  dt_6  dt_7  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1; }else flag_stop  1; //电梯继续运行 }  else if(dt_value  2) //在第2层 { value  dt_3  dt_4  dt_5  dt_6  dt_7  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1; }else flag_stop  1; //电梯继续运行 }  else if(dt_value  3) //在第3层 { value  dt_4  dt_5  dt_6  dt_7  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1;  }else flag_stop  1; //电梯继续运行 }  else if(dt_value  4) //在第4层 { value  dt_5  dt_6  dt_7  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1; }else flag_stop  1;  }  else if(dt_value  5) //在第5层 { value  dt_6  dt_7  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1; }else flag_stop  1; //电梯继续运行  }  else if(dt_value  6) //在第6层 { value  dt_7  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1; }else flag_stop  1; //电梯继续运行  }  else if(dt_value  7) //在第7层 { value  dt_8; if(value  0) //说明上面没有人按下 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1; }else flag_stop  1; //电梯继续运行 }  else if(dt_value  8) //在第8层 { dt_s_x  0; //电梯停下不动了 shang  1; //关闭上箭头 zhong  1;  }  }  } 四、 proteus仿真设计 Proteus软件是一款应用比较广泛的工具它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况这样就可以通过软件仿真来验证我们设计的方案有没有问题如果有问题可以重新选择器件连接器件直到达到我们设定的目的避免我们搭建实物的时候如果当初选择的方案有问题我们器件都已经焊接好了再去卸载下去再去焊接新的方案的器件测试这样会浪费人力和物力也给开发者带来一定困惑Proteus仿真软件就很好的解决这个问题我们在设计之初就使用该软件进行模拟仿真测试选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸焊接实物调试最终完成本设计的作品。