欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子密码锁设计-《嵌入式系统》课程设计报告Word文档格式.docx

    • 资源ID:1032097       资源大小:123.14KB        全文页数:19页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子密码锁设计-《嵌入式系统》课程设计报告Word文档格式.docx

    1、开锁电路密码校验电路图 1.1 数字密码锁电路方案密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、键盘输入次数锁定电路。1.2 采用一种是用以 stm32 为核心的控制方案利用其灵活的编程设计及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图 1.2 所示。指示电路串口显示电路开锁控制电路输入错误锁定键盘Stm32矩阵键盘控制图 1.2 stm32 控制方案16通过比较以上两种方案 stm32 有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。初步

    2、设计思路如下:基于以上思路,本次设计使用 stm32 设计,其主要具有如下功能: 密码通过键盘输入,若密码正确,则将锁打开。电子密码锁的设计主要由三部分组成:4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1) 密码输入功能:按下一个数字键,一个“”就显示在最右边的数码管上,同时将先前输入的所有“”向左移动一位。(2) 密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3) 开锁功能:当按下开锁键,系统将输入与密码进行检查核对, 如果正确锁打开,否则不打开。输入密码用矩形键盘,包括数字键和功能键。LC

    3、D1602 显示输入密码。打开电源后,显示器显示“000000”,设原始密码为“12345”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。按“C”键,清除显示器为“000000”。 欲重新设定密码,先输入密码在案“*”。输入密码,再按“D”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。软件的设计主要包括键盘键值的读取,LCD 显示程序,密码比较程序。2 硬件电路设计2.1 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘。其原理如图 2.1sw5sw6sw7SW1sw8sw9sw11sw12sw13sw10 SW1sw14sw15sw16sw1sw2sw

    4、3sw4图 2.1 矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过 一个按键来连通,利用这种行列式矩阵结构只需要 N 条行线和 M 条列线, 即可组成具有 NM 个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。具体的功能设计如表 2.1:表 2.1 按键功能按 键键 名功 能 说 明19 键数 字 键输 入 密 码* 键重 设 密 码 键设 定 新 密 码D 键确 定 键比 较

    5、 密 码# 键清 除 键使 显 示 器 清 零2.2 LCD1206 显示电路现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602 型 LCD 显示模块具有体积小,功耗低,显示内容丰富等特点。1602 型 LCD 可以显示 2 行 16 个字符,有 8 位数据总线 D0D7 和RS,R/W,EN 三个控制端口,工作电压为 5V,并且具有字符对比度调节和背光功能。3.3.1 接口信号说明1602 型 LCD 的接口信号说明如表 3-3 所示: 表 3-31602 型 LCD 的接口信号说明管脚功能1602 采用标准的 16 脚接口,其中: 第 1 脚:VSS 为电源地第 2

    6、 脚:VCC 接 5V 电源正极第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱, 接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0时选择指令寄存器。第 5 脚:RW 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第 6 脚:E(或 EN)端为使能(enable)端,高电平(1)时读取信息, 负跳变时执行指令。第 714 脚:D0D7 为 8 位双向数据端。第 1516 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。指令集16

    7、02 通过 D0D7 的 8 位数据端传输数据和指令。显示模式设置: (初始化)0011 0000 0x38 设置 162 显示,57 点阵,8 位数据接口; 显示开关及光标设置:0000 1DCB D 显示(1 有效)、C 光标显示(1 有效)、B 光标闪烁(1 有效)0000 01NS N=1(读或写一个字符后地址指针加 1 &光标加 1),N=0(读或写一个字符后地址指针减 1 &光标减 1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为 80H,所以数据地址为 80H+地址码(0-27H,40-67H)其他设置:0

    8、1H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。C2 VCCVCCRWQ1C3VCCJP222PINGND VCCGND VCC GNDRW16 15 14 13 12 11D7 D6 D5 D4 D3 D2 D1 D0VGOND10ERS9 8 7 6 5 4 3 2 1BF BZ D7 D6 D5 D4 D3 D2 D1 D0E RW RS VOVSS1LCD16021 16022.3 响应电路图 2.2 1602 显示电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替,发光管亮,表示开锁;灭,表示没有开锁。电路图如 3.3 所示。当 P2.0 口输

    9、出低电平时,二极管发光,表示开锁。R1 RES2VCCR2VCCVCCC1BUZZERR4LED2LED1LEDV1R3GND图 2.3响应电路3 软件设计3.1 软件设计思路电子密码锁工作的主要过程是 LCD 显示器提示开始输入密码,通过键盘输入密码,同时 LCD 显示密码输入情况,按下确认键后判断密码的正确性,作出开锁处理。密码的设定,假设预设的密码为123456共 6 位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键, 另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据 密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或 者输入确认功能键之后,才

    10、能完成密码的输入过程。进入密码的判断比 较处理状态并给出相应的处理过程。主要的设计实施过程:首先,选购电子元器件。第二步,使用DXP设计硬件电路原理图,并设计PCB 图完成人工布线。第三步,使用Keil uVision4 软件编写 C 语言程序、仿真、软件调试。第四步,使用PROTEUS 软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板, 完成本次毕业设计。3.2 子程序设计(1)键盘扫描子程序如下:#ifndef _KEY_H #define _KEY_H#include stm32f10x.hvoid Delay( IO uint32_t nCount); int key(void)

    11、;#endif #include key.hvoid InitKey(void)GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPI

    12、O_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);int key(void)int KeyVal=0;/u16 WriteVal=0;GPIO_Write(GPIOA,(GPIOA-ODR&0xfff0|0xf);if(GPIOA-IDR&

    13、0x00f0)=0x0000)return -1; elseDelay(0xfffff);if(GPIOA-IDR & 0x00f0)=0x0000)0xfff0|0x1);switch(GPIOA- 0x00f0)case 0x0010: KeyVal=15; break; case 0x0020: KeyVal=11;case 0x0040: KeyVal=7; case 0x0080: KeyVal=3;0xfff0|0x2);switch(GPIOA- KeyVal=14; KeyVal=10; case 0x0040: KeyVal=6;case 0x0080: KeyVal=2;0

    14、xfff0|0x4); KeyVal=13; KeyVal=9; KeyVal=5; KeyVal=1;0xfff0|0x8);0x00f0) KeyVal=12; KeyVal=8; KeyVal=4; KeyVal=0;return KeyVal;void Delay( IO uint32_t nCount)/简单的延时函数for(; nCount != 0; nCount-);(2)密码比较密码比较流程图如 4.2.3开始比较第一位清除显示6 位比较?比较下一位正确开锁清零图 3.1 密码比较和报警流程4 系统调试本次调试采用 Protues 软件仿真。首先设计电子密码锁的源程序, 源程

    15、序经过汇编后,生成的目标文件经过仿真调试。依次按下1,2,3,4,5,6 后,LCD 显示如图 4.1图 5.1 LCD 显示按下确定键后,二极管亮,表示密码正确开门。如图 4.2图 5.2 密码正确开门5 心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,ARM 已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握 ARM 的开发技术是十分重要的。回顾起此次 ARM 课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践

    16、,在整整两星期的日子里,可以说得是苦多于甜,但 是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识, 而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我 懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只 有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正 为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计 的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会 遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处, 对以前所学过的知识理解得不够深刻,掌握得不够牢固,对汇编语言掌 握得不好,通过这次课程设计之后,一定把

    17、以前所学过的知识重新温故。对我而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆!6 参考文献1. 李连华.基于 FPGA 的电子密码锁设计J.中国科技信息,20062. 许琦.基于 FPGA 的电子密码锁的设计J.科技信息,20063. 阎石 数字电路技术基础M.高等教育出版社,20054. 童诗白 华成英 模拟电子技术基础M.高等教育出版社,20065. 韩国栋 赵月飞 电路设计入门与提高 化学工业出版社,2009附录1. 源程序LCD_gpio.h #includelcd1602.hvoid gaimima(voi

    18、d);if(k5)k=0; elseswitch(k)void delay_ms(unsigned int q); #define uchar unsigned char uchar nm05;uchar nm15;uchar Q=0,W=1,R=2,Y=3,P=4;uchar A,B,C,D,G,l; uchar jz,k=0; /键值int main(void)key();L1602_string(1,1,Please input the password);L1602_string(2,1, while(1)case1:A=jz;nm00=jz;L1602_string(2,1, A*b

    19、reak; case2:B=jz;nm01=jz;AB* case3:C=jz;nm02=jz;ABC* case4:D=jz;nm03=jz;ABCD* case5:G=jz;nm04=jz;ABCDG*jz=key();if(jz!=0)k+;for(l=1;l0&jz5)j=0;L1602_string(2,3,Password ErrorSwitch(j)case1:Q=jz;nm10=jz;QL1602_string(2,1,case2:W=jz;nm11=jz;QWcase3:void delay_ms(unsigned int q)unsigned int o,f; for(o=

    20、q;o0;o-)for(f=255;ff-);R=jz;nm12=jz;QW Rcase4:Y=jz;nm13=jz;QWRYP=jz;nm14=jz;QWRYPbreak;void NMI_Handler(void);void HardFault_Handler(void); void MemManage_Handler(void); void BusFault_Handler(void); void UsageFault_Handler(void);void SVC_Handler(void);void DebugMon_Handler(void);void PendSV_Handler(void);#ifndef STM32F10x_IT_H #define STM32F10x_IT_H #ifdef cplusplusextern C #endifvoid SysTick_Handler(void); #ifdef cplusplus#endif #endif2. 硬件原理图


    注意事项

    本文(电子密码锁设计-《嵌入式系统》课程设计报告Word文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开