当前位置: 首页 > news >正文

开创云网站建设安徽合肥建设网

开创云网站建设,安徽合肥建设网,网站备案去哪找接入商,落寞文学网单本多本小说wordpress主题【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示设计 1.主要功能#xff1a;讲解视频#xff1a;2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单下载链接资料下载链接#xff1a; 【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示设计 ( proteus仿真… 【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示设计 1.主要功能讲解视频2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单下载链接资料下载链接 【普中】基于51单片机的矩阵电子密码锁LCD1602液晶显示设计 ( proteus仿真程序设计报告讲解视频 仿真图proteus8.16(有低版本) 程序编译器keil 4/keil 5 编程语言C语言 设计编号P14 1.主要功能 基于51单片机AT89C51/52与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用 基于51单片机的密码锁LCD1602液晶显示设计 1.按键设置6位密码输入密码若密码正确则锁打开。显示open开锁指示灯点亮。 2.密码可以自己修改6位密码必须是开始状态才能改密。为防止误操作修改密码得输入两次。 3.若密码输入错误次数超过3次蜂鸣器报警并且锁定键盘需复位重新开始操作。 4.系统具有24C02有复位、掉电保存密码功能。 5.需要在Proteus软件和普中51开发板实现功能验证。 (目前仅完全适配普中开发板A234其他普中开发板型号可能需要做代码修改或接线) 需注意仿真中51单片机芯片是兼容的AT89C51,AT89C52是51单片机的具体型号内核是一样的。相同的原理图里无论stc还是at都一样引脚功能都是一样的程序是兼容的芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。 讲解视频 仿真讲解实物演示代码讲解 2.仿真 开始仿真 打开仿真工程双击proteus中的单片机选择hex文件路径然后开始仿真。 1、首次使用时输入131420对密码进行初始化当显示initpassword, 证明密码初始化完成此时的密码为000000。然后可以改密了。 如密码忘记就再输入131420初始化然后密码就是000000 2.输入密码正确LCD显示open继电器导通模拟开锁动作。 3当输入密码错误后LCD显示error报警并锁定键盘3秒钟。 3. 程序代码 使用keil4或者keil5编译代码有注释可以结合报告理解代码含义。 // //LCD1602 //#define yi 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为110000000080 #define er 0x800x40 //LCD第二行初始位置因为第二行第一个字符位置地址是0x40//----------------延时函数后面经常调用---------------------- void delay(uint xms)//延时函数有参函数 {uint x,y;for(xxms;x0;x--)for(y110;y0;y--); }//--------------------------写指令--------------------------- void write_1602com(uchar com)//****液晶写入指令函数**** {lcd1602_rs0;//数据/指令选择置为指令lcd1602_rw0; //读写选择置为写P0com;//送入数据delay(1);lcd1602_en1;//拉高使能端为制造有效的下降沿做准备delay(1);lcd1602_en0;//en由高变低产生下降沿液晶执行命令 }//-------------------------写数据----------------------------- void write_1602dat(uchar dat)//***液晶写入数据函数**** {lcd1602_rs1;//数据/指令选择置为数据lcd1602_rw0; //读写选择置为写P0dat;//送入数据delay(1);lcd1602_en1; //en置高电平为制造下降沿做准备delay(1);lcd1602_en0; //en由高变低产生下降沿液晶执行命令 }//-------------------------初始化------------------------- void lcd_init(void) {write_1602com(0x38);//设置液晶工作模式意思16*2行显示5*7点阵8位数据write_1602com(0x0c);//开显示不显示光标write_1602com(0x06);//整屏不移动光标自动右移write_1602com(0x01);//清显示 } // // //将按键值编码为数值 unsigned char coding(unsigned char m) {unsigned char k;switch(m){case (1): k1;break;case (2): k2;break;case (3): k3;break;case (4): kA;break;case (5): k4;break;case (6): k5;break;case (7): k6;break;case (8): kB;break;case (9): k7;break;case (10): k8;break;case (11): k9;break;case (12): kC;break;case (13): k*;break;case (14): k0;break;case (15): k#;break;case (16): kD;break;}return(k); } //按键检测并返回按键值 void delay_uint(unsigned int i)//延时 {while(i--); } 完整代码见文末下载链接 unsigned char keynum(void) {unsigned char i, j; // 定义变量i和j分别存储行列索引i 0; j 0;// 设置P1端口的低四位输出为0高四位保持不变准备读取键盘列信号P1 0x0f;// 判断是否有键被按下即P1端口的值不全为0x0fif(P1 ! 0x0f) {// 延时去抖等待10ms再次检测确保按键稳定delay_uint(10000);// 再次检查确认按键确实被按下if(P1 ! 0x0f) {// 根据P1的值判断是哪一行被按下switch(P1) {case 0x0e: i 3; break; // 第1行case 0x0d: i 2; break; // 第3行case 0x0b: i 1; break; // 第3行case 0x07: i 0; // 第4行}// 设置P1端口的高四位输出为0低四位保持不变准备读取键盘行信号P1 0xf0;// 根据P1的新值判断是哪一列被按下switch(P1) {case 0xe0: j 13; break; // 第1列case 0xd0: j 9; break; // 第2列case 0xb0: j 5; break; // 第3列case 0x70: j 1; // 第4列}}}// 检查新获取的按键值行列索引组合是否与上一次的不同if(key ! i j) {// 更新按键值并返回key i j;return key;} else {// 如果按键值没有变化返回0表示没有新按键事件return 0;} } //一声提示音表示有效输入 void OneAlam(void) {beep_cnt1;beep_timeBEEP_TIME;} //二声提示音表示操作成功 void TwoAlam(void) {beep_cnt2;beep_timeBEEP_TIME;} //三声提示音,表示错误 void ThreeAlam(void) {beep_cnt3;beep_timeBEEP_TIME;} //显示提示输入 void DisplayChar(void) {unsigned char i;if(pass1){//DisplayListChar(0,1,LockOpen);write_1602com(er); //在二行开始显示for(i0;i16;i){write_1602dat(LockOpen[i]); //显示open 开锁成功}}else{if(N0){//DisplayListChar(0,1,Error);write_1602com(er);for(i0;i16;i){write_1602dat(Error[i]); //显示错误}}else{//DisplayListChar(0,1,start_line); write_1602com(er);for(i0;i16;i){write_1602dat(start_line[i]);//显示开始输入 }}} }//重置密码 // void ResetPassword(void) {unsigned char i; unsigned char j;if(pass0){pass0; DisplayChar(); //显示错误ThreeAlam(); //没开锁时按下重置密码报警3声}else //开锁状态下才能进行密码重置程序{if(ReInputEn1) //开锁状态下ReInputEn置1重置密码允许{if(N6) //输入6位密码{ReInputCont; //密码次数计数 if(ReInputCont2) //输入两次密码{for(i0;i6;){if(TempPassword[i]InputData[i]) //将两次输入的新密码作对比i;else //如果两次的密码不同{//DisplayListChar(0,1,Error);write_1602com(er);for(j0;j16;j){write_1602dat(Error[j]); //显示错误Error}ThreeAlam(); //错误提示 pass0; //关锁ReInputEn0; //关闭重置功能ReInputCont0;DisplayChar();break;}} if(i6){//DisplayListChar(0,1,ResetOK);write_1602com(er);for(j0;j16;j){write_1602dat(ResetOK[j]); //密码修改成功显示}TwoAlam(); //操作成功提示WrToROM(TempPassword,0,6); //将新密码写入24C02存储ReInputEn0;}ReInputCont0;CorrectCont0;}else //输入一次密码时{OneAlam();//DisplayListChar(0, 1, again); //显示再次输入一次write_1602com(er);for(j0;j16;j){write_1602dat(again[j]); //显示再输入一次} for(i0;i6;i){TempPassword[i]InputData[i]; //将第一次输入的数据暂存起来 }}N0; //输入数据位数计数器清零}}} } //输入密码错误超过三过报警并锁死键盘 void Alam_KeyUnable(void) {P10x00;{beep_cnt255;beep_timeBEEP_TIME;} } //取消所有操作 void Cancel(void) { unsigned char i;unsigned char j;//DisplayListChar(0, 1, start_line); write_1602com(er);for(j0;j16;j){write_1602dat(start_line[j]); //显示开机输入密码界面}TwoAlam(); //提示音for(i0;i6;i){InputData[i]0; //将输入密码清零}KEY1; //关闭锁pass0; //密码正确标志清零ReInputEn0; //重置输入充许标志清零ErrorCont0; //密码错误输入次数清零CorrectCont0; //密码正确输入次数清零ReInputCont0; //重置密码输入次数清零 s3_keydown0;key_disable0; //锁定键盘标志清零N0; //输入位数计数器清零 }4. 设计报告 12485字设计报告内容包括目录硬件设计、软件设计、软硬件框图、调试、结论等 20世纪80年代后随着电子锁专用集成电路的出现电子锁的体积缩小可靠性提高成本较高是适合使用在安全性要求较高的场合且需要有电源提供能量使用还局限在一定范围难以普及所以对它的研究一直没有明显进展。 目前在西方发达国家电子密码锁技术相对先进种类齐全电子密码锁已被广泛应用于智能门禁系统中通过多种更加安全 更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右电子密码锁的成本还很高市场上仍以按键电子锁为主按键式和卡片钥匙式电子锁已引进国际先进水平现国内有几个厂生产供应市场。但国内自行研制开发的电子锁其市场结构尚未形成应用还不广泛。国内的不少企业也引进了世界上先进的技术发展前景非常可观。希望通过不断的努力使电子密码锁在我国也能得到广泛应用 5. 设计资料内容清单下载链接 资料设计资料包括仿真程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。 0、常见使用问题及解决方法–必读 1、仿真图 2、程序源码注释 3、功能要求 4、开题报告 5、设计报告 6、软硬件流程框图 7、烧录工具 8、讲解视频 9、实物图 Altium Designer 安装破解 KEILproteus 单片机仿真设计教程 KEIL安装破解 Proteus元器件查找 Proteus安装 Proteus简易使用教程 单片机学习资料 普中-2普中-3普中-4开发板原理图.pdf 相关数据手册 答辩技巧 设计报告常用描述 鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url 资料下载链接 https://docs.qq.com/doc/DS2pPenNRaHB6SlR1
http://www.w-s-a.com/news/911794/

相关文章:

  • 对商家而言网站建设的好处网址导航怎么彻底删除
  • app设计网站模板企业展厅策划设计公司有哪些
  • wordpress销售主题手机网站关键词优化
  • 怎么查一个网站是什么程序做的三亚城乡建设局网站
  • 深圳分销网站设计公司做网站一般需要多久
  • 企业网站设计代码丹东seo排名公司
  • 企业网站建设定制开发服务网站建设说课ppt
  • 大连市城乡建设局网站网站免费网站入口
  • 做暧网站网站备案ps
  • 知名网站建设公司电话长子网站建设
  • 网站建设的意义与目的建立什么船籍港
  • 广州注册公司营业执照网站建设代码优化
  • 百度网站官网马克互联网主题 wordpress
  • 网站制作 客户刁难深圳自助建站
  • 怎么去推广一个网站广东餐饮品牌设计
  • 网站代码加密了怎么做兰州最新大事
  • 现在ui做的比较好的网站去年做啥网站致富
  • 广东网站建设咨询电话好牌子网
  • 公司怎样制作网站南阳网站关键词
  • 营销型网站建设与网盟完整php网站开发
  • 网站做微信链接怎么做的石桥铺网站建设公司
  • 济南mip网站建设公司做图书馆网站模板
  • app 门户网站网站项目框架
  • 做网站视频网站备案 新闻审批号
  • 织梦网站怎么居中视频网站开发与制作
  • 网站上海备案佛山网站seo哪家好
  • 品牌形象网站有哪些珠海市区工商年报在哪个网站做
  • 注册域名不建设网站seo外包服务方案
  • 如何进行外贸网站建设wordpress文章输入密码可见
  • 政务网站建设索引常州做网站信息