




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主要设计条件1、mcs-51单片机实验操作台1台;2、pc机及单片机调试软件;3、单片机应用系统板1套;4、制作工具1套;5、系统设计所需的兀器件。说明书格式1 .封面2 .课程设计任务书3 .目录4 .系统总体方案设计5 .系统硬件设计6 .软件设计(包括流程图)7 .系统的安装调试说明8 、总结9 、参考文献10 、附录(源程序清单及硬件原理图等)11 、课程设计成绩评分表。进度安排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试
2、星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料 下午:交设计资料,答辩目录第1章概述第 2 章 系统总体方案设计62.1 系统总体设计框图 62.1.1 系统总体设计方案框图2.1 : 62.1.2 电子密码锁结构流程图2.2: 72.2 初步设计思路82.3 3 章 硬件电路设计93.1 单片机主控电路993.2 液晶1602 显示电路 103.3 键盘电路设计 113.4 开锁电路 143.5 报警电路 143.6 时钟电路 153.7 存储模块 153.71 主要元件介绍 16第 4 章 软件设计 174.1 软件设计思路 174.2 各子程序设计184.
3、2.1 键盘扫描子程序 18第 5 章系统调试 19第 6 章心得体会 22附 录 24附录 a :源程序清单 24附录 b :硬件原理图 29电气信息学院课程设计评分表 32第 1 章 概述随着电子产品向智能化和微型化的不断发展, 单片机已成为电子产品研制和开发中首选的控制器。为了更好地推广单片机在家电领域中的应用 , 本文介绍一种应用at89c52单片机设计的智能电子密码锁。经实际制作表明该密码锁具有安全、实用、成本低等特点 , 符合现代用锁的要求, 具有一定的现实意义。本设计是基于单片机的密码锁设计方案, 根据要求, 给出了该单片机密码锁的硬件电路和软件程序, 同时给出了单片机型号的选择
4、、 硬件设计、 软件流程图、单片机存储单元的分配、c语言源程序及详细注释等内容。随着社会物质财富的日益增长和人们生活水平的提高, 安全成为现代居民最关心的问题之一。 而锁自古以来就是把守门的铁将军, 人们对它要求甚高, 即要求可靠地防盗, 又要使用方便, 这也是制锁者长期以来研制的主题。 传统的门锁既要备有大量的钥匙,又担心钥匙丢失后的麻烦。 随着单片机的问世, 出现了带微处理器的密码锁, 它除具有电子密码锁的功能外, 还引入了智能化、 科技化等功能。 从而使密码锁具有很高的安全性、 可靠性。 目前西方发达国家已经大量应用智能门禁系统, 可以通过多种的更加安全更加方便可靠的方法来实现大门的管理
5、。 但电子密码锁在我国的应用还不广泛, 成本还很高, 希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用, 这也是一个国家生活水平的体现。第2章系统总体方案设计2.1 系统总体设计框图本系统采用89c52作为主控制器,利用单片机灵活的编程设计和丰富的i/o端口,及其控制的准确性,实现基本的密码锁功能。stc89c52是一种带8k字节闪烁可编程可擦除只读存储器(fperom-flash programable and erasable read only memory )的低电压,高性能comos8的微处理器,俗称单片机。该器件采用atmel搞密度非易失存储器制造技术制造,与工
6、业标准的mcs-51指令集和输出管脚相兼容。当在4x4的按键上输入8位数字密码时,89c52通过分析输入的8位数值与所预存的数值比较,在lcd上显示输入密码,以及在 lcd上提示用户输入信息。当输入密码正确时,电子密码锁开锁成功,当输入密码连续3次输入错误时,系统自动报警,led指示关锁状态并由蜂鸣器发出持续10至20秒的报警信号根据设计要求与设计思路,确定系统的设计方案,图 2.1为系统组成原理框图。硬件 有以下几部分组成: 单片机、键盘电路、串行eeprom扩展电路、lcd液晶显示电路、led 指示灯电路、蜂鸣器电路等。2.1.1 系统总体设计方案框图 2.1:12864 液晶显7k单片机
7、eeprom扩展电路a led指示灯、蜂鸣密码错误键盘锁定图2.1系统总体设计方案框图2.1.2电子密码锁结构流程图2.2:开始图2.2系统总体设计方案流程图2.2 初步设计思路根据设计要求,初步思路如下:1、系统的原始密码放在rame,在运行过程中可以实时更改系统密码。.2、利用串行eeprom储芯片,可以随时读取新密码,且具有掉电保护功能。3、人机交互通过键盘输入,系统根据键值做出相应的处理,完成具体的功能。4、液晶12864 通过驱动电路,显示相应的状态。5、系统运用led指示灯来反映开关锁的情况,如果连续输入三次密码错误蜂鸣 器就会报警。6、此系统共设计了4 个基本功能键:密码设置键、
8、确认键、复位键、撤销键。密码设置键: 当用户需更改密码时, 可通过此功能键方便地修改原先的旧密码。确认键:当完成密码输入后,可按此功能键即可实现密码的比较和处理。复位键: 当密码三次输入错误时, 系统进入死锁状态, 可按此功能键跳出此状态。第3章 硬件电路设计3.1单片机主控电路t2/p1, 0 _,1401 vcct2ex/p1, 1 239zz po, 0/ad0pl 2 3381 p0. 1/ad1pl 3 _437n p0. 2/ad2pl 4 _536,p0. 3/ad3pi. 5 |63511 po. 4/ad4pl 6 1734 po.5/ad5pl 7 833 pcl 6/ad
9、6rst |9332_j p0.7/ae7rxd/p3,0 _10331二1点txd/p3, 1 _11 x 30_| alb/progiht0/p3. 2 12029 psenint1/p3. 3 _1328p2. 7/a15t0/p3.4 1427 p2. 6/a14t1/p3.5 _,15261 p2. 5/a13wr/p3.6 116251 p2. 4/a12rd/p3, 7 _1724i p2, 3/a11xtal2 _1823_1 p2,2/a10xtal1 1_1922| p2, 1/a9vss匚2021p2. 0/a&stck9c52rc 引脚图stc89c5浜体介绍如下:主电
10、源引脚(2根)vcc(pin40):电源输入,接+ 5v电源gnd(pin20):接地线外接晶振引脚(2根)xtal1(pin19):片内振荡电路的输入端xtal2(pin20):片内振荡电路的输出端控制引脚(4根)rst/vpp(pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ale/prog(pin30)地址锁存允许信号1一”psen(pin29):外部存储器读选通信号ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)stc89c52i片机有4组8位的可编程i/o 口,
11、分别位p0、p1、p2、p3 口,每 个口有8位(8根引脚),共32根。poo ( pin39pin32) : 8 位双向 i/o 口线,名称为 p0.0p0.7p1 口(pin1pin8) : 8位准双向i/o 口线,名称为p1.0p1.7p2 口( pin21pin28) : 8位准双向i/o 口线,名称为p2.0p2.7p3口( pin10pin17) : 8位准双向i/o 口线,名称为p3.0p3.73.2液晶1602显示电路1602cgnd+5vorsrwe d 0d 1d 2d 3d 4d 5d 6d 7+ - 1 2 3 4 5 6 7 8 9 1 01 11 21 31 41
12、51 63.11602显示电路1602 引脚功能:d0d7双向的数据总线,lcdr据读写方式可以分为8位及4位两种,以8 位数据进行读写则d0d7皆有效,若以4位方式进行读写,则只用到 d4d7.rs寄存器选择控制线,当rs=0时,并且做写入的动作时,可以写入指令 寄存器,若rs=0时,并且做读取的动作时,可以读取忙碌标志及地址计数器的 内容。如果rs=1则用于读写数据寄存器。r/w lcd读写控制线,直接接地,由于r/w=0寸,lcm行写入的动作,r/w=1 时则执行读取的动作。en启用控制线,由p1.1控制,高电平动作。高电平时lcd动作有效。vcc电源正端vo 亮度调整控制引脚,直接接地
13、,使字符显示最亮。gnd电源地端3.3 键盘电路设计本项目运用 4x4 的矩阵键盘设定密码位数为八位,具有不容易套取的作用,运用不同功能的按键处理不同的程序。在此系统设计中,键盘行列与单片机p3 口连接,通过单片机程序实现对按键码的识别。 键盘上有好多键, 每一个键对应一个键码, 以便将键码转到相应的键处理子程序,进一步实现数据输入和命令处理的功能。键识别的流程图如图3.2所示。图3.2键识别的流程图使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的i/o线的数目,在按键比较多的时候,通常采用这样方法。其原 理如图3.3图3.3矩阵键盘在这种行列式矩阵键盘非键盘编
14、码的单片机系统中,键盘处理程序首先执行 等待按键并确认有无按键按下的程序段。 当确认有按键按下后,下一步就要识别 哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法; 另一种是速度较快的线反转法。对照图3.3所示的4x4键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机i/o 向键盘送全扫描字,然后读入行线 状态来判断。方法是:向行线输出全扫描字 00h,把全部列线置为低电平,然后 将列线的电平状态读入累加器 a中。如果有按键按下,总会有一根行线电平被拉 至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是
15、:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为 1,则所按下的键必在此列,而且是在与零 电平行线相交的交点上的那个键。具体的功能设计如表3.3:表3.3按键功能表按键键名功能说明09键数字键输入密码d键重设密码键设定新密他f键确定键比较密码清除键使显示器清零3.4开锁电路在本次智能电子密码锁设计中,基于节省材料的原则,没有用暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.4所示。当p1.3 口输出低电平时,二极管发光,表示开锁。小:一u.u. 10u itextu4 ok =, - b text , 3031_psekt a
16、lb ead1.led.-biby100p1mp1 1/tp1.2p1.3p1.4p1.5图3.4 开锁电路3.5 报警电路图3.5报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工 作时约需要100mai动电流。蜂口$器电路如图3.5所示。当89c52的p1.7 口输出为高电平时,蜂鸣器产生蜂鸣音,89c52输出为低电 平时,蜂鸣器不发声。当用户连续3次密码输入错误则未能将锁打开,系统将自动锁定,led指示关锁状态并由蜂鸣器发出持续10至20秒的报警信号3.6 时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机xtal1和xtal2的两个引脚间,接一只晶振及两只
17、电容就构成了单片机的时钟电路,如图3.6所小。c1泊:c2 :打虬1| xi ;.icrjgt.a.l 18xtal2十图3.6时钟电路电路中器件选择可以通过计算和实验确定,也可以参考一些典型电路参数。电路中,电容器c1和c2对振荡频率有微调作用,同时帮助晶振起振,一般晶振 为12mhz电容取22pf。石英晶体选择6mhm 12mhz其结果只是机器周期不 同,影响计数器计数初值。3.7 存储模块at24c02g一个i2c总线接口 e2pro麻储器,用于存储电子密码锁的密码数3.71主要元件介绍at24c0纯美国atem公司生产白4h氐功耗 com型,i2c总线接口的e2pro麻 储器,其内含2
18、56x8为存储空间,具有工作电压宽(2.5v5.5v)、擦写次数多(大 于1000次)、写入速度快(小于10ms、抗干扰能力强、数据不易丢失、体积小等特点。采用了 i2c总线进行数据读写的申行器件,占用很少的资源和 i/o线,而且支持在线编程,实时存取数据十分方便,如图2.3所示。图2.3 24c02引脚排列图第4章软件设计4.1软件设计思路电子密码锁工作的主要过程是液晶提示开始输入密码,通过键盘输入密码, 同时液晶显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警 处理。当输入密码连续输入错误3次时,系统报警并锁定键盘。同时我们可以按 下更改密码键,提示输入旧密码,旧密码经验证后
19、,提示输入新密码,两次输入 新密码无误,按下确认键,密码被存入 24c02中,更改密码成功。软件工作流程包括6个部分:系统的初始化、调用显示、24c02的读写操作、 校对开锁、出错报警处理、数据显示。初始化主要包括:中断和定时器的初始化, 以及系统参数等的初始化;又t 24c02的读写操作主要完成对原先密码进行更改或 相关设置的目的,然后将更新后的密码保存到其中。校对开锁是要对输入的密码 和保存在存储器中的密码相比较,相同就通过,否则要进入出错报警阶段。3次都输入的是错误密码,系统将长时间报警并自锁,输入管理员密码解锁。根据模 块划分原则,此系统可以将设计方案划分成以下几个模块:图4.1模块划
20、分4.2各子程序设计4.2.1键盘扫描子程序键盘扫描流程图如图4.2。图4.2键盘扫描流程图第 5 章 系统调试单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。硬件调试和软件调试并不能完全分开, 许多硬件错误事在软件调试过程中被发现和纠正的,一般方法是先排除明显的硬件故障,在进行软硬件综合调试。源程序经过汇编后, 生成的目标文件必须经过仿真调试, 才能固化到应用系统的程序存储器eprompo在下载程序前, 应进行软件调试, 以免错误的程序下载到实验板上, 烧坏控制芯片,因此软件调试是必不可少的。程序编译无误后,设置好仿真参数,就可以进行软件调试了。 程序执行可采用两种方法,
21、即单步执行和全速执行。 总体调试最好采用前者方法, 这样做有助于找到错误所在。 子程序内部或着延时程序可以采用后者方法, 这样有助于节省调试时间。 调试过程中, 要适当打开一些关键变量的窗口,观察它的变化情况,仔细分析,实验结果要与预期结果相比较,如果出现错误,反复分析与调试。从实质上说, 应用系统的联调是对软硬件的综合调试, 一方面要排除软件的错误, 同时进一步解决硬件部分遗留故障。 联调的总体方案是: 把整个应用系统按其功能分成若干个模块,如系统扩展模块、输入输出模块、键盘扫描模块等。针对不同的模块,用led指示灯来跟踪调试。调试的方法是“最短程序”调试法。“最短程序” 是指用最简洁的主程
22、序及调用最少子程序的系统软件程序。 在实践过程中,我发现“最短程序”调试法对系统调试有很大的帮助。特别是在程序模块多、错误多的情况下,就越有好处。如果最短程序调试不能通过的话,则说明硬件有问题。 这时就应该首先将你的硬件简化成最小系统, 排除硬件故障后, 在运行“最短程序” 。如果运行通过,可逐步增加软件模块和硬件模块,反复实验。设置新密码ui -pduahd。口班阿 fdjfaupdaak pdjmfrtf731fzjmi3-pziv.iijl 股g rzawid kjkam fz-imij riwd!b3.lffxppjjywtnf33tf1fn空riwht修改密码成功输入密码错误hebn
23、ffifq2wk khndlki&ece pqtmtp2xiem.1mi p2ae p2jmi 府w2 k2sa13 旧mm fmats通 ijvtxd p321匹 p33wftwna 后51fs.t/d-再次确认新密码atstfiz 4tex17r 口a 口eromqe eru阳他 =#1口 f h hr i i ”.财1工 口;一口11 fjjwaik *2.wa15ramxd raiitxt fl-aimtl fjjrthtif3 4ml ofitii-i.raitif pa.a?tr第 6 章 心得体会通过这次单片机课程设计, 让我们进一步学习了单片机以及其它的器件, 经过了这次项目学
24、习我们不仅在软硬件设计上有了提高, 而且在技术文件撰写上也有了正确的认识, 做项目不是我们的目的, 我们的目的是通过做项目不断的充实自己,不断提高的自己,细节决定成败,努力终有回报,平时的练兵很是重要。课程设计是培养学生综合运用所学知识, 发现、 提出、 分析和解决实际问题 ,锻炼实践能力的重要环节, 是对学生实际工作能力的具体训练和考察过程. 随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。 因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。我们的设计从经济实用的角度出发,采用单片机at89c52与低功耗cmoe2proia
25、t24c02乍为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、 等电路并用 c 语言写主控芯片的控制程序, 研制了一款可以多次更改密码具有报警功能的多功能电子密码锁。设计的成品达到了设计要求。在这次项目制作过程中我们碰到了一些小问题, 其实这些小问题完全可以避免例如 :pcb 板的元器件布局不很合理。这就表明我们做项目不够细心,没有长远的打算。 细节很是重要, 通过这次项目的学习我时刻认识到了这一点, 在以后的项目制作中我会努力做好这一点,将自己的不足加以改正。这次课程设计终于顺利完成了, 在设计中遇到了很多编程问题, 在老师、 同学的帮助下, 终于游逆而解。 在此, 对热心帮助我
26、的同学和细心指导我的汪超老师,表示忠心的感谢!参考文献1、微型计算机原理及应用许立梓编机械工业出版社20022、微型计算机接口技术及应用刘乐善编华中理工大学出版社20003、计算机硬件技术基础试验教程邹逢兴编高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编中国科学技术大学出版社20005、微型计算机原理与接口技术吴秀清编中国科学技术出版社20016、微型计算机接口技术邓亚平编清华大学出版社20017、单片机原理及及应用王迎旭编机械工业出版社20018、单片机应用程序设计技术周航慈著北京航空航天大学出版社20029、单片机实用技术问答谢宜仁主编 人民邮电出版社 2002附录附
27、录a :源程序清单#include#define uchar unsigned char#define uint unsigned intsbit wp=p1a0;sbit sound=p1a7;sbit deng=p1a3;extern void wrtorom(uchar wd,uchar num);extern uchar rdfromrom(uchar wd);extern void keyscan(void);extern void lcd_init(void) ;extern void lcd_write_str(uchar x,uchar y,uchar n,uchar *s);
28、extern uchar jian,cord_h,cord_l;extern void init();uchar code table=0123456789abcdef;void _delay_ms(uint t)uint i,j;for(i=0;it;i+)for(j=0;j125;j+);void main()uchar i=0,j,xiugai=0;uchar k=0,ci=0,sc=0;uchar mima16,temp16,mima116;sound=0;deng=1;lcd_init();_delay_ms(20);lcd_write_str(0,0,16,qing shu mi ma );_delay_ms(5);while(1)p3=0x0f;cord_h=p3&0x0f;if(cord_h!=0x0f)keyscan();if(jian10)mimai=jian;tempi=tablejian;lcd_write_str(0,1,i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防安全题库填空题及答案解析
- 2025年下半年教师资格证考试中学《综合素质》真题及答案
- 2025年管理咨询师综合习题集及参考答案三
- 湖南分类考试政治模拟模拟题(+答案)2025年
- 2025年企业培训师考试模拟备考试题及答案
- 2025年注册会计师考试《会计》易错陷阱预测模拟试题附答案
- 语文无纸化测试题及答案
- 音乐物化生考试题及答案
- 高三政治模拟试题及答案
- 江西省上饶市余干县私立蓝天中学教育集团2025-2026学年高二上学期9月月考政治试题(含答案)
- Unit+2+短语背诵版 高中英语北师大版(2019)必修第一册
- 高中政治课程标准解读
- 质量月报范本
- FZ/T 52051-2018低熔点聚酯(LMPET)/聚酯(PET)复合短纤维
- 【精品】2020年职业病诊断医师资格培训考试题
- 派车单(标准样本)
- 广东省建筑施工安全管理资料统一用表2021年版(原文格式版)
- 浦东机场手册
- JGJ保温防火复合板应用技术
- 幼儿园绘本:《闪闪的红星》 红色故事
- 山区二级公路施工组织设计(共60页)
评论
0/150
提交评论