国外免费注册域名的网站,新网站如何做网站优化,外贸大楼,如何注册公司需要多少钱一、系统方案 1、本设计采用51单片机作为主控器。 2、红外传感器检测进出人数#xff0c;液晶1602显示。 3、按键最多容纳人数#xff0c;烟雾报警。
二、硬件设计 原理图如下#xff1a;
三、单片机软件设计 1、首先是系统初始化 void lcd_init() { lcd_write_com(0x38…一、系统方案 1、本设计采用51单片机作为主控器。 2、红外传感器检测进出人数液晶1602显示。 3、按键最多容纳人数烟雾报警。
二、硬件设计 原理图如下
三、单片机软件设计 1、首先是系统初始化 void lcd_init() { lcd_write_com(0x38); lcd_write_com(0x0c); lcd_write_com(0x06); lcd_write_com(0x01);
} 2、液晶显示程序 void check_busy() { P00xff; do { rs0; wr1; en0; en1; } while(busy1); en0; } /**** *******1602写数据忙函数 */ void lcd_write_date(uchar date) { check_busy(); en0; LCD_PORTdate; rs1; wr0; en1; en0; } / *******1602写命令函数 */ void lcd_write_com(uchar com) { check_busy(); en0; LCD_PORTcom; rs0; wr0; en1; en0; } / *******1602写温度函数 *****/ void lcd_wendu(uchar add,uchar date) { uchar shi,ge; shidate/10; gedate%10; lcd_write_com(add); lcd_write_date(shi‘0’); lcd_write_date(ge‘0’); } 3、按键程序 void keyscan() { if(K10){delayms(10); //消除抖动if(flag10){flag11;count;if(count100) count99;buf_3[0]count/100;buf_3[1]count%100;lcd_write_str(0x800x408,buf_3);}}else flag10;if(K20) //检测按键K2反转是否按下
{delayms(10); //消除抖动if(flag20){flag21;if(count1)count--;buf_3[0]count/100;buf_3[1]count%100;lcd_write_str(0x800x408,buf_3);}}
else flag20;if(K30) //检测按键K2反转是否按下 { delayms(10); //消除抖动 if(K30) { if(count set) LED 0; else { BUZ 0; delayms(500); BUZ 1; delayms(500); BUZ 0; delayms(500); BUZ 1; delayms(500); } } while(!K3) //检测按键是否松开 { delayms(3000); BUZ 1; LED 1; }
} if(s10) //检测按键K2反转是否按下 { delayms(10); //消除抖动 if(s10) { set; if(set100) set99; buf_3[0]set/10‘0’; buf_3[1]set%10‘0’; lcd_write_str(0x808,buf_3); } while(!s1) //检测按键是否松开 { }} if(s20) //检测按键K2反转是否按下
{delayms(10); //消除抖动if(s20){if(set1) set--;buf_3[0]set/100;buf_3[1]set%100;lcd_write_str(0x808,buf_3);}while(!s2) //检测按键是否松开{}} }
4、核心算法程序 /┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ 函数功能主函数 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void main(void) { uint i; count 0; TMOD 0x01; //T0 16位工作方式 IR_11; //发射端口常态为高电平
lcd_init();
lcd_write_str(0x80,buf_1);
lcd_write_str(0x800x40,buf_2);
lcd_write_str(0x800x408,00);while(1) { keyscan(); if(yw0) BUZ0; else BUZ1; } }
四、 proteus仿真设计 Proteus软件是一款应用比较广泛的工具它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况这样就可以通过软件仿真来验证我们设计的方案有没有问题如果有问题可以重新选择器件连接器件直到达到我们设定的目的避免我们搭建实物的时候如果当初选择的方案有问题我们器件都已经焊接好了再去卸载下去再去焊接新的方案的器件测试这样会浪费人力和物力也给开发者带来一定困惑Proteus仿真软件就很好的解决这个问题我们在设计之初就使用该软件进行模拟仿真测试选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸焊接实物调试最终完成本设计的作品。