找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2169|回复: 0
打印 上一主题 下一主题
收起左侧

单片机密码锁程序

[复制链接]
跳转到指定楼层
楼主
ID:857654 发表于 2021-1-18 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求:
单片机连接3*4keypad-phoneAT24C0212864LCD,密码存储在AT24C02中,用户输入密码正确时开锁,并支持用户修改密码,要求在KEIL中编写程序,用PROTEUS设计电路并仿真运行。具体要求如下:


仿真图:
代码块:

  1. #include <ST7920.h>
  2. #include <keypad4_3.h>
  3. #include <24C02.h>        
  4. sbit led=P3^3;
  5. sbit beep=P1^3;
  6. u8 psw[7]="";        //存放从24C02中导出的密码
  7. u8 str[7]="";        //存放输入的密码
  8. u8 str1[7]="";        //存放再次输入的密码
  9. u8 fre,a;
  10. void delay_ms(u16 x)//毫秒延时函数
  11. {u16 i,j;
  12. for(i=0;i<x;i++)
  13. for(j=0;j<115;j++);
  14. }

  15. void nuit()
  16. {
  17. TMOD|=0X01;
  18. TH0=0xfe;
  19. TL0=0x00;
  20. EA=1;        //总开关打开中断控制
  21. IT0 = 1; //下降沿有效
  22. EX0 = 1; //允许外部中断1中断
  23. ET0=1;        //定时器允许中断
  24. TR0=0;        //        关定时器




  25. }
  26. void main()        //主函数
  27. {
  28. u8 i;
  29. u8 ch;//按键
  30. u8 flag=0;//0输入密码;1修改密码;2再次输入密码
  31. u8 key;//按键编码
  32. u8 n=0;//当前汉字所在列

  33. //初始化
  34. //向24c02中写入初始密码000000
  35. for(i=0;i<6;i++)
  36. WriteRom(i,'0');
  37. WriteRom(i,'\0');
  38. //显示初始化
  39. ST7920_Init();//12864初始化
  40. ST7920_str("请输入密码:",0,0);
  41. ST7920_str("",1,0);//定位到第二行显示
  42. nuit();
复制代码
详情请下载附件!!!!!



zuoye04.zip

341.47 KB, 下载次数: 9, 下载积分: 黑币 -5

密码锁

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表