avr简易密码锁课程设计报告_第1页
avr简易密码锁课程设计报告_第2页
avr简易密码锁课程设计报告_第3页
avr简易密码锁课程设计报告_第4页
avr简易密码锁课程设计报告_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深圳职业技术学院Shenzhen Polytechnic新型单片机开发与应用课程设计报告课题名称:简易六位密码锁学 院:电子与通信工程学院 班 级:11微电子1班姓 名:学 号:指导老师:2021年6月24日摘要随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。本系统由ATmega16单片机系统(主要是ATmega16单片机最小系统)、44矩阵键盘、LCD1602显示组成,具有验证、修改六位用户密码的功能。关键词密码锁ATmega16L

2、CD160244矩阵键盘目录绪论1一、设计方案21.1.功能简介21.2.开发测试环境选择2二、密码锁硬件设计22.1ATmega16单片机最小系统22.2矩阵按键模块32.3LCD1602显示模块42.4密码锁电路图设计5三、密码锁软件设计63.1密码锁程序流程图63.2程序模块设计63.2.1密码验证模块73.2.2密码修改模块8小结9参考文献资料9附录110 简易六位密码锁设计11微电子1班绪论20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直

3、没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。1一、 设计方案1.1. 功能简介本次设计的简易6位密码锁主要包含两个功能:密码验证功能和修改密码

4、功能。密码验证功能初始密码为6个“0”,输入6位密码并按“确定”后比对密码,正确提示“correct”,错误提示“PW error”并要求再次输入密码;设置密码时要求先输入原密码匹配后才能修改密码,密码修改完成功成后会提示“success”。1.2. 开发测试环境选择开发软件选择了HP Info Tech的CodeVisionAVR V2.05,仿真软件选择了英国Labcenter electronics公司的proteus7 professional,测试硬件选择了AVR开发箱。首先在CodeVisionAVR V2.05下进行程序设计,编译通过后用proteus7 professional

5、进行仿真并尝试下载到开发箱中进行操作,最后下载到开发箱中进行操作演示。二、 密码锁硬件设计本次设计主要采用的硬件可以分为以下3个模块:ATmega16单片机最小系统,矩阵按键模块和LCD1602显示模块。2.1 ATmega16单片机最小系统美国ATMEL公司生产的ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。本芯片是以Atmel 高密度非易失性存储器技术生产的,通过将8 位RISC CPU 与系统内可编程的Flas

6、h 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16的最小系统包含了复位以及晶振电路,如图2.1所示。图2.1 ATmega16最小系统如上图所示,复位电路工作原理是当系统上电是C1电容充电使得MCU的复位端处在低电平(ATmega16为低电平复位),电容充满电后回路断开复位端处在高电平MCU正常工作。在晶振电路中为了使晶振稳定工作一般将晶振两端通过两个22Pf33pF的电容接地。2.2 矩阵按键模块本设计采用4*4行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O口的数目,在按键比较多的时候,通常采用这样

7、方法。按键模块如图2.2所示。图2.2 4*4矩阵按键模块如上图所示,把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。本设计使用单片机的PA口对按键进行操作。由于是机械式按键,我们必须在侦测到有按键被按下后延时一定的时间,等待按键稳定再去判读所按下的键。且在使用时为了避免连按或多按也需要采取用while()函数等来进行按键释放的判断。2.3 LCD1602显示模块显示设计采用字符型液晶屏设计,由单片机的PB口控制字符液晶显示。在包含

8、头文件(lcd.h)前声明PB口与LCD模块通讯。方法如下:/* 使用PORTB 连接LCD模块 */#asm.equ _lcd_port=0x18;#endasmLCD模块与单片机口线连接方式如下:LCD RS(pin4) RD(pin 5) EN(pin 6) DB4(pin 11) DB5(pin 12) DB6(pin 13) DB7(pin 14) AVR Port -bit 0 bit 1 bit 2 bit 4 bit 5 bit6 bit7 连接示意图如图2.3所示。图2.3 LCD显示模块连接示意图2.4 密码锁电路图设计Proteus软件是Labcenter Electro

9、nics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。 本密码锁采用proteus进行电路图设计,硬件采用AVR开发箱。密码锁电路图如图2.4所示。图2.4 密码锁电路图9三、 密码锁软件设计开发软件选择了HP In

10、fo Tech的CodeVisionAVR V2.05,开发语言为C语言,语法较为简单易懂。软件的设计首先要根据功能和工作流程设计出对应的流程图,并根据流程图编写响应部分的代码,最后再进行调试。完整源代码见附录1。3.1 密码锁程序流程图根据要求可作出主程序流程图,如图3.1所示。图3.1 主程序流程图3.2 程序模块设计根据流程图写出响应的子程序最后在主程序中调用即可。主程序代码如下(初始化部分忽略):while (1) key=keyscan(); if(key!=0xff) delay_ms(10); if(key=13)/按下设置键进入设置状态 set_pw(); set_flag=1

11、; else /按下任意键进入密码验证状态 lcd_clear(); check_pw(); else /无按键按下时液晶显示 lcd_gotoxy(0,0); lcd_putsf(Welcome); lcd_gotoxy(0,1); lcd_putsf(Press any key); 3.2.1 密码验证模块由主程序可知,当任意键按下后及进入密码验证模块。进入该模块后程序开始识别按键进行密码输入,密码验证是先读取用户输入的密码存到临时缓存中,待用户输入完毕并确认后进行密码比对,比对完成后给出相应的提示和响应动作,仿真结果如图3.2.1所示。 图3.2.1 密码输入以及提示为方便演示,故输入密

12、码时显示对应输入的密码。实际应用时为保护密码,输入密码是应显示对应的“*”。3.2.2 密码修改模块密码修改模块是基于密码验证模块设计,用户进入密码修改模式后先使用密码验证的方法进行旧密码的验证,验证通过后才能进密码设置。密码设置同样需要输入两次且完全匹配才能完成密码修改。密码修改完成后会给出提示。仿真结果如图3.2.2所示。 图3.2.2 密码修改及提示小结本次设计采用的是液晶显示以及矩阵按键,液晶显示属于静态显示处理起来比较简单,但矩阵按键采取的是扫描的方式,在处理按键时需要不停地扫描,处理不当就会造成按键无响应或者是死循环。在密码验证以及密码设置的代码编写时要十分注意其逻辑顺序,逻辑顺序

13、不正确就会导致程序进入死循环。通过本次设计,我们进一步了解了ATmega16单片机的外围电路、矩阵按键和LCD1602的工作原理和使用方法。在代码的编写方面也积累了经验,同时也锻炼了自身对程序设计的能力和理解。参考文献资料a. 单片机应用技术:C语言版/王静霞主编.北京:电子工业出版社,2021.5b. 单片机原理及应用/彭同明等编著.2版.北京:中国电力出版社,2021c. 百度文库资料。附录1简易六位密码锁源代码#include #include #asm .equ _lcd_port=0x18 ;PORTB#endasm#include #define uchar unsigned ch

14、aruchar keyscan(void);void set_pw(void);void reset(uchar mark);void check_pw(void);uchar pw6=0,0,0,0,0,0,pw_temp6=0,0,0,0,0,0;bit set_flag=0;void main(void) uchar key; PORTA=0x00;DDRA=0xf0; PORTB=0x00;DDRB=0x00;PORTC=0x00;DDRC=0x00; PORTD=0x00;DDRD=0x00;lcd_init(16); lcd_clear();while (1) key=keysca

15、n(); if(key!=0xff) delay_ms(10); if(key=13) set_pw(); set_flag=1; else lcd_clear(); check_pw(); else lcd_gotoxy(0,0); lcd_putsf(Welcome); lcd_gotoxy(0,1); lcd_putsf(Press any key); void check_pw(void)/密码比对uchar key=0xFF,count=0,pw_temp26; bit q_flag=0;while(q_flag=0) lcd_clear(); lcd_gotoxy(0,0); lc

16、d_putsf(Present PW:); /显示字符串Present PW: lcd_gotoxy(0,1); while(1)/密码验证 key=keyscan(); if(key!=0xff) if(key=0 & key10 & count6) lcd_putchar(key+48); pw_tempcount=key; count+; while(keyscan()!=0xff); if(key=15 & count=6) /确定按键 for(count=0;count=0 & key10 & count6) lcd_putchar(key+48); pw_tempcount=key

17、; count+; while(keyscan()!=0xff); if(key=15 & count=6) /确定按键 for(count=0;count=0 & key10 & count6) lcd_putchar(key+48); pw_tempcount=key; count+; while(keyscan()!=0xff); if(key=15 & count=6) /确定按键 for(count=0;count6;count+) pwcount=pw_tempcount; if(count=6)lcd_clear(); lcd_gotoxy(0,0); lcd_putsf(Suc

18、cess!); set_flag=0; delay_ms(5000); reset(w); count=0;break; while(keyscan()!=0xff); if(key=12) /清除 count=0; reset(p); while(keyscan()!=0xff); if(key=14)count=0;reset(w);while(keyscan()!=0xff);break; void reset(char mark) lcd_clear(); if(mark=a) lcd_gotoxy(0,0); lcd_putsf(Again PW:); lcd_gotoxy(0,1)

19、; else if(mark=i) lcd_gotoxy(0,0); lcd_putsf(Input PW:); lcd_gotoxy(0,1); else if(mark=p) lcd_gotoxy(0,0); lcd_putsf(Present PW:); lcd_gotoxy(0,1); else if(mark=w) lcd_gotoxy(0,0); lcd_putsf(Welcome Y_); lcd_gotoxy(0,1); lcd_gotoxy(0,1); lcd_putsf(Press any key); uchar keyscan(void) /按键读取函数 uchar co

20、l4=0xef,0xdf,0xbf,0x7f; /列 uchar row4=0x07,0x0b,0x0d,0x0e; /行 uchar i,j,getSta,keyVal; for(i=0;i4;i+) PORTA=coli; /逐列设置为0,判断某列是否有键按下 delay_us(10); if(PINA!=coli) /条件成立,表示有键按下,i中表示第几列 getSta=PINA&0x0F; /读入4个行值PA0-PA3 for(j=0;j4;j+) if(getSta=rowj) /通过比较行值得到第j行有键按下 keyVal=i*4+j; return keyVal; return

21、0xFF; 咖啡店创业计划书第一部分:背景在中国,人们越来越爱喝咖啡。随之而来的咖啡文化充满生活的每个时刻。无论在家里、还是在办公室或各种社交场合,人们都在品着咖啡。咖啡逐渐与时尚、现代生活联系在一齐。遍布各地的咖啡屋成为人们交谈、听音乐、休息的好地方,咖啡丰富着我们的生活,也缩短了你我之间的距离,咖啡逐渐发展为一种文化。随着咖啡这一有着悠久历史饮品的广为人知,咖啡正在被越来越多的中国人所理解。第二部分:项目介绍第三部分:创业优势目前大学校园的这片市场还是空白,竞争压力小。而且前期投资也不是很高,此刻国家鼓励大学生毕业后自主创业,有一系列的优惠政策以及贷款支持。再者大学生往往对未来充满期望,他

22、们有着年轻的血液、蓬勃的朝气,以及初生牛犊不怕虎的精神,而这些都是一个创业者就应具备的素质。大学生在学校里学到了很多理论性的东西,有着较高层次的技术优势,现代大学生有创新精神,有对传统观念和传统行业挑战的信心和欲望,而这种创新精神也往往造就了大学生创业的动力源泉,成为成功创业的精神基础。大学生创业的最大好处在于能提高自己的潜力、增长经验,以及学以致用;最大的诱人之处是透过成功创业,能够实现自己的理想,证明自己的价值。第四部分:预算1、咖啡店店面费用咖啡店店面是租赁建筑物。与建筑物业主经过协商,以合同形式达成房屋租赁协议。协议资料包括房屋地址、面积、结构、使用年限、租赁费用、支付费用方法等。租赁

23、的优点是投资少、回收期限短。预算10-15平米店面,启动费用大约在9-12万元。2、装修设计费用咖啡店的满座率、桌面的周转率以及气候、节日等因素对收益影响较大。咖啡馆的消费却相对较高,主要针对的也是学生人群,咖啡店布局、格调及采用何种材料和咖啡店效果图、平面图、施工图的设计费用,大约6000元左右3、装修、装饰费用具体费用包括以下几种。(1)外墙装饰费用。包括招牌、墙面、装饰费用。(2)店内装修费用。包括天花板、油漆、装饰费用,木工、等费用。(3)其他装修材料的费用。玻璃、地板、灯具、人工费用也应计算在内。整体预算按标准装修费用为360元/平米,装修费用共360*15=5400元。4、设备设施

24、购买费用具体设备主要有以下种类。(1)沙发、桌、椅、货架。共计2250元(2)音响系统。共计450(3)吧台所用的烹饪设备、储存设备、洗涤设备、加工保温设备。共计600(4)产品制造使用所需的吧台、咖啡杯、冲茶器、各种小碟等。共计300净水机,采用美的品牌,这种净水器每一天能生产12l纯净水,每一天销售咖啡及其他饮料100至200杯,价格大约在人民币1200元上下。咖啡机,咖啡机选取的是电控半自动咖啡机,咖啡机的报价此刻就应在人民币350元左右,加上另外的附件也不会超过1200元。磨豆机,价格在330480元之间。冰砂机,价格大约是400元一台,有点要说明的是,最好是买两台,不然夏天也许会不够

25、用。制冰机,从制冰量上来说,一般是要留有富余。款制冰机每一天的制冰量是12kg。价格稍高550元,质量较好,所以能够用很多年,这么算来也是比较合算的。5、首次备货费用包括购买常用物品及低值易耗品,吧台用各种咖啡豆、奶、茶、水果、冰淇淋等的费用。大约1000元6、开业费用开业费用主要包括以下几种。(1)营业执照办理费、登记费、保险费;预计3000元(2)营销广告费用;预计450元7、周转金开业初期,咖啡店要准备必须量的流动资金,主要用于咖啡店开业初期的正常运营。预计2000元共计:120000+6000+5400+2250+450+600+300+1200+1200+480+400+550+10

26、00+3000+450+2000=145280元第五部分:发展计划1、营业额计划那里的营业额是指咖啡店日常营业收入的多少。在拟定营业额目标时,必须要依据目前市场的状况,再思考到咖啡店的经营方向以及当前的物价情形,予以综合衡量。按照目前流动人口以及人们对咖啡的喜好预计每一天的营业额为400-800,根据淡旺季的不同可能上下浮动2、采购计划依据拟订的商品计划,实际展开采购作业时,为使采购资金得到有效运用以及商品构成达成平衡,务必针对设定的商品资料排定采购计划。透过营业额计划、商品计划与采购计划的确立,我们不难了解,一家咖啡店为了营业目标的达成,同时有效地完成商品构成与灵活地运用采购资金,各项基本的

27、计划是不可或缺的。当一家咖啡店设定了营业计划、商品计划及采购计划之后,即可依照设定的采购金额进行商品的采购。经过进货手续检验、标价之后,即可写在菜单上。之后务必思考的事情,就是如何有效地将这些商品销售出去。3、人员计划为了到达设定的经营目标,经营者务必对人员的任用与工作的分派有一个明确的计划。有效利用人力资源,开展人员培训,都是我们务必思考的。4、经费计划经营经费的分派是管理的重点工作。通常能够将咖啡店经营经费分为人事类费用(薪资、伙食费、奖金等)、设备类费用(修缮费、折旧、租金等)、维持类费用(水电费、消耗品费、事务费、杂费等)和营业类费用(广告宣传费、包装费、营业税等)。还能够依其性质划分

28、成固定费用与变动费用。我们要针对过去的实际业绩设定可能增加的经费幅度。5、财务计划财务计划中的损益计划最能反映全店的经营成果。咖啡店经营者在营运资金的收支上要进行控制,以便做到经营资金合理的调派与运用。总之,以上所列的六项基本计划(营业额、商品采购、销售促进、人员、经费、财务)是咖啡店管理不可或缺的。当然,有一些咖啡店为求管理上更深入,也能够配合工作实际需要制订一些其他辅助性计划。第六部分:市场分析2019-2021年中国咖啡市场经历了高速增长的阶段,在此期间咖啡市场总体销售的复合增长率到达了17%;高速增长的市场为咖啡生产企业带给了广阔的市场空间,国外咖啡生产企业如雀巢、卡夫、ucc等企业纷纷加大了在中国的投资力度,为争取未来中国咖啡市场的领先地位打下了良好的基础。咖啡饮料主要是指速溶咖啡和灌装即饮咖啡两大类咖啡饮品;在速溶咖啡方面,2018-2021年间中国速溶咖啡市场规模年均增长率到达16%,显示出还处于成长阶段的中国速溶咖啡市场的高增长性和投资空间;在灌装即饮咖啡方面,2008-2010年间中国灌装即饮咖啡市场年均增长率也同样到达15%;未来几年,中国咖啡饮料的前景仍将被看好。现今咖啡店主要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论