基于stmfx的lcd显示的电子密码锁

基于stmfx的lcd显示的电子密码锁

ID:14799212

大小:26.46 KB

页数:18页

时间:2018-07-30

基于stmfx的lcd显示的电子密码锁_第1页
基于stmfx的lcd显示的电子密码锁_第2页
基于stmfx的lcd显示的电子密码锁_第3页
基于stmfx的lcd显示的电子密码锁_第4页
基于stmfx的lcd显示的电子密码锁_第5页
资源描述:

《基于stmfx的lcd显示的电子密码锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于STM32F10X的LCD显示电子密码锁鄂州职业大学电子电气工程学院柴进摘要本文详细介绍了一种基于单片机电子密码锁的设计方案。描述了电子密码锁的总体结构、主要功能及工作原理等内容。传统的机械锁由于安全性能太差,被撬的事件屡见不鲜,相比之下,电子密码锁因其保密性强,灵活性好,安全系数高,受到了广大用户的欢迎。电子密码锁作为一种新型的锁,省去了传统机械锁的钥匙,使用者只要记得其密码,便可以开启,从而提高了防盗功能,本文主要设计了一种以STM32F103ZET6为核心的电子密码锁,详细的介绍了该电子密码锁完整的设计过程以及外围的开锁电路。主要程序:主函数//

2、/////////////////////////////////////////////****************电子密码锁*****************/鄂州职业大学电子电气工程学院柴进//key0,key1,key2,key3作为按键输入1,2,3,4//改密码,长按key0进入改密码,依次输入4位密码后,长按key1确认//支持错误重新输入,不需要复位,只有正确输入密码后,才能改密码//存在flash里面的初始密码为1234//led0(蓝色)灯正常闪烁(200ms),提示系统在运行//led0闪烁频率加(100ms),密码错误,led1

3、(红色)灯正常闪烁(200ms),提示密码正确//2015.1.29建立工程写出基本模型不能硬件修改密码只能软件修改//2015.1.31加入支持硬件修改密码但是不能保存密码掉电后会消失//2015.2.6加入EEPROM(AT24C02)支持保存密码基本完成//2015.2.7加入welcome显示函数//2015.2.14用STM32内部flash模拟EEPROM取代原有的AT24c02加入LCD外围彩色流水灯和计数器(通用定时器3)//2015.2.15修复密码判断的bug取消welcome显示函数//2015.2.17加入输入密码限时功能四位密码必

4、须在5s内进行输入(通用定时器2)否则超时清除所输入的密码//为了改密的方便成功进入改密码后输入新的密码不限时//利用STM芯片都有唯一的12位地址码id进行加密算法#include"sys.h"#include"usart.h"#include"delay.h"#include"led.h"#include"key.h"#include"tim.h"#include"beep.h"#include"lcd.h"#include"fontupd.h"#include"text.h"#include"code.h"#include"stm32flash.h"

5、//#include"at24cxx.h"//#include"iic.h"var_objvar;//结构体类型u8id_num[12];//存放芯片型号的idu8only_id[]={52,255,215,5,50,75,49,55,55,130,2,87,};//芯片唯一ID十进制//#defineflash_addr0X08070000//存放的起始地址必须大于代码数据长度//u8t=0,num=0,lcd_x=0,i=0,flag=0,gaimi_flag=0,num1=0;intmain(void){u8i=0,ji1=0;//判断id时所用到的

6、变量Stm32_Clock_Init(9);//系统时钟设置delay_init(72);//延时初始化beep_init();//蜂鸣器初始化led_init();//led初始化key_init();//key初始化LCD_Init();//lcd初始化uart_init(72,9600);//72m,9600波特率while(ji1!=12)//判断id是否相同{for(i=0;i<12;i++){id_num[i]=*(u8*)(0x1FFFF7E8+i);//将存储ID地址的数据读出来//printf("%d,",id_num[i]);if(on

7、ly_id[i]==id_num[i])//ID匹配{ji1++;}else{while(1)//只要有一位不同就死循环{LED1=!LED1;delay_ms(200);}}}}tim2_init_cnt(7199,9);//1mstim3_init_cnt(7199,499);//50ms//tim4_init_cnt(7199,599);while(font_init());//检查字库POINT_COLOR=RED;Show_Str(40,90,200,16,"欢迎使用电子密码锁",16,0);Show_Str(60,120,200,16,"请输入

8、四位密码",16,0);//LCD_ShowString(80,1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。