单片机课程设计

上传人:z**** 文档编号:167934221 上传时间:2022-11-06 格式:DOCX 页数:30 大小:424.77KB
收藏 版权申诉 举报 下载
单片机课程设计_第1页
第1页 / 共30页
单片机课程设计_第2页
第2页 / 共30页
单片机课程设计_第3页
第3页 / 共30页
资源描述:

《单片机课程设计》由会员分享,可在线阅读,更多相关《单片机课程设计(30页珍藏版)》请在装配图网上搜索。

1、烟台大学机电汽车工程学院电子密码锁的设计说明书院专班姓学系:机电汽车工程学院业:机械设计制造及其自动化 级:名:号指导老师:同组人员:烟台大学 机电汽车工程学院中文摘要摘要 :随着经济的发展,人们对日常生活质量的要求也越来越高 从工作、学习、出行、购物等的各个方面,人们也对现代安全 设施提出来更高的要求。在安全技术防范领域,具有防盗报警 功能的电子密码锁逐渐代替传统,克服了机械式密码锁密码量 少、安全性能差的缺点,使密码锁无论在技术上还是在性能上 都大大提高一步。密码锁具有安全性高、成本低、功耗低、易 操作等优点,同时还引入了智能化管理、专家分析系统等功能 从而使密码锁具有很高的安全性、可靠性

2、,应用日益广泛。本次电子密码锁的设计主要就针对于这种社会需求,从程 序设计到硬件设计以及硬件安装连接都做了详细的说明。烟台大学 机电汽车工程学院设计说明本次设计使用 ATMEL 公司的 AT89C51 实现一基于单片机 的电子密码锁的设计,其主要具有如下功能: 密码通过键盘输入,若密码正确,则将锁打开。 报警、锁定键盘功能。密码输入错误数码显示器会出现 错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且 锁定键盘。电子密码锁的设计主要由三部分组成:4X4矩阵键盘接口 电路、密码锁的控制电路、输出八段显示电路。另外系统还有 LED 提示灯,报警蜂鸣器等。密码锁设计的关键问题是实现密码的输入

3、、清除、更改、 开锁等功能: 密码输入功能:按下一个数字键,一个“一”就显示在 最右边的数码管上,同时将先前输入的所有“”向左移动 一位。 密码清除功能:当按下清除键时,清除前面输入的所有 值,并清除所有显示。 开锁功能:当按下开锁键,系统将输入与密码进行检查 核对,如果正确锁打开,否则不打开。主要的设计实施过程:首先,选用ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。第二步,使用DXP 2004设计硬件电路原理图,并设计PCB图完成人工布线(后因PCB 板损坏决定采用万能板焊接的方法) 。第三步,使用 Keil uVision3软件编写单片机的C语言程序、仿真、软件调试。

4、第四部,使用PROTEUS软件进行模拟软、硬件调试。最后,联 合软、硬件调试电路板,完成本次毕业设计。关键词:4X4矩阵键盘;AT89C51;密码锁;密码二次确认;电子密码锁目录 中文摘要 2 设计说明3 目录5 第1章 系统总体方案设计 11.1 系统法案的选择 11.2 系统设计思路2 第2章 硬件电路设计 .32.1 键盘电路设计 32.2 LED显示电路42.3 开锁电路 62.4 报警电路7 第3章 软件设计 93.1 软件设计思路93.2 各子程序设计 10 第4章 系统调试 .154.1系统硬件连接示意图154.2系统测试的局部示意图16第5章 心得体会17 第6章 参考文献18

5、 附 录 19源程序清单 19第一章:系统的总体方案设计1.1 系统方案的选择:综合其他多种方案设计的优缺点,采用以 AT89S51 为核心 的单片机控制方案。利用单片机灵活的编程设计和丰富的10端 口,及其控制的准确性,不但能实现基本的密码锁功能,还能 添加调电存储、声光提示甚至添加遥控控制功能。其原理如图 12 所示。图 2 2 单片机控制方案该方案有较大的活动空间,不但能实现所要求的功能而且 能在很大的程度上扩展功能,而且还可以方便的对系统进行升 级。本方案采用一种是用以89S51为核心的单片机控制方案。 利用单片机灵活的编程设计和丰富的 I/0 端口,及其控制的准 确性,实现基本的密码

6、锁功能。1.2 系统的设计思路:1. 输入密码用矩形键盘,包括数字键和功能键。2. LED 数码管显示输入密码,用 74JS247 驱动数码管发光 显示数码,用74LS138控制各位显示器分时进行显示。3. 用发光二极管代替开锁的电路,发光表示开锁。4. 输入密码错误次数超过3次,系统报警。5. 打开电源后,显示器显示“ 000000”,设原始密码为 “123456”,只要输入此密码便了开门。这样可预防停电后再来 电时无密码可用。6. 按“C”键,清除显示器为“000000”7. 欲重新设定密码,先输入密码在案“*”。8. 输入密码,再按“D”键。若密码与设定密码相同,则开 门。否则显示器清为

7、“000000”。9. 软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。第2章硬件电路设计21键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能 减少键盘与单片机接口时所占用的1/0线的数目,在按键比较 多的时候,通常采用这样方法。其原理如图2.1i=-.13 JCTALZJ3.PDHAra 卩口 .伽 D1paziHia pa.mHin-RSTh3TPSEMALE3P 1 口P 1.1PP 1二P 1.4P 15P 1.SP 1TPDSACS:pn.sH.raPD-TABf?PSJlHSPZ.I.hSPSJZih.CFZJIAIIP2.4/AGPZ-fi

8、AGP2_&A1*P2.7A-E P3UKXE pgrnnn pm+nnP3ST1 pi-gChWP3.TiTO -:T &:7P-图2.1 矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需N条行线和M条列线,即可组成具有NXM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘 处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。 对键的识别通常有两种方法:一种是常用的逐行扫描查询法; 另一种是速度较快的线反转法。对照图2.1所示的4X4键盘,说明线反转个工作原理。首先辨

9、别键盘中有无键按下,有单片机 I/O 口向键盘送全 扫描字,然后读入行线状态来判断。方法是:向行线输出全扫 描字00H,把全部列线置为低电平,然后将列线的电平状态读 入累加器 A 中。如果有按键按下,总会有一根行线电平被拉至 低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平 后,检查行输入状态来实现的。方法是:依次给列线送低电平 然后查所有行线状态,如果全为 1,则所按下的键不在此列; 如果不全为 1,则所按下的键必在此列,而且是在与零电平行 线相交的交点上的那个键。具体的功能设计如表2. 1:表 2.1 按键功能按键键名功能说明19键数字键输入密码*键重设密码键设定

10、新密码D键确定键比较密码#键清除键使显示器清零2.2LED 显示电路本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行 口,利用74LS247驱动数码管发光显示数码和74LS138控制位 选信号,就可以完成单片机的显示功能,显示电路的电路原理 图如图2.2所示。用 P0.0P0.3 接 74LS247 的 A,B,C,D 四端口,74LS247 的输出口接LED的七段显示;而P0.4P0.6接74LS138的A, B,C三个输入口,74LS138的输出口接LED的位显示。通过软 件实现数字和位控制。- IE .B .IXTAUKT.W2Kr

11、rFE1D畑 mwki filv.尼MWK3FH*腌祖7乩归卫.1 -I方 W.卫-JI -FSI1Erzn& fzws F2JW.-D F23W.fi F2.VfrE P25W13 陀 JSTfVk 町 JYACP1UF1.1Fl-bTOnrraTTIEIF1JPjjTTFUFO.4fI?15F1.5FOfiTiF0.5WP1?U2.3图2.2 LED显示电路用74LS247可以控制输出什么字型。74LS247的逻辑功能表如 表 2.2:表2.274LS247的逻辑功能表十进制数-输2输出*字型户AWQA*Q丽QCQD申QEQFpQ血020山Op1 口(k1门L11+11*1卩1屮2p(kO

12、p3X(kIpIp彷0k(k4p(k1卫OpOp2k0仙W打OpIp1+31*k0(k6pOpIpOp1牢W0W0g齐OpIpIpl+L1I*38pIp山OpOpn山0Op9p1*5OpIp20k0(k用74LS138控制位循环显示,其逻辑功能表如表2.3:表2.374LS138逻辑功能表CBAY1Y2Y0Y3Y4Y5Y6Y70000111111001101111110101101111101111101111100111101111011111101111011111101111111111102.3开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭

13、,表示没有开锁。电路 图如2.3所示。当P2.0 口输出低电平时,二极管发光,表示开 锁。士粉丄1FaflAHPD.1/Ai1FQZn.KXTKLZFaaN.rapas.A.Mpq.&h.mFD.7/AWFFSKEP 一 -.jE . 3TTALEFTP2 n2P2.1ilpP2UiiA-nFZ.AIZ Fzsfi-a FZ.SAitP2.7/A-Kjrra:剧 TriiTfcPILRXDP3.1 iT:-:H F 3211111 P3iTBTT pa.tiTn pasrriP3_7iOoan.汀环图3.3开锁电路2.4报警电路q-ll:4JiJi_nsshAIJ:.J:i:l.r 一 |1巴

14、口PPPIL 尸口 口 口图 2.4 报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂 鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图2.4所示。当89C51 的P2.1 口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时, 蜂鸣器不发声。第三章 软件设计3.1软件设计思路电子密码锁工作的主要过程是 LED 数码管提示开始输入密 码,通过键盘输入密码,同时 LED 显示密码输入情况,按下确 认键后判断密码的正确性,作出开锁或报警处理。当输入密码 连续输入错误 3 次时,系统报警。密码的设定,在此程序中密码是固定 40H45H 中,假设预 设的密码为123456

15、共 6 位密码。由于采用两个按键来完成密码的输入,那么其中一个按键 为功能键,另一个按键为数字键。在输入过程中,首先输入密 码的长度,接着根据密码的长度输入密码的位数,直到所有长 度的密码都已经输入完毕;或者输入确认功能键之后,才能完 成密码的输入过程。进入密码的判断比较处理状态并给出相应 的处理过程。3.2 各子程序设计1. 键盘扫描子程序键盘扫描流程图如图 3.2.1键盘扫描子程序如下(请结合总程序进行阅读):L2:MOVR3,#0F7HMOVR1,#OOHL3:MOVA,R3MOVP1,AMOVA,P1MOVR4,ASETB CMOVR5,#04HL4:RLCAJNCKEYININC R

16、1DJNZ R5,L4CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L22. LED显示子程序LED显示流程图如图3.2.2图3.2.2LED显示流程图LED显示子程序如下(请结合总程序进行阅读):DISP:MOV R0,#45HDISP1: MOV A,ROADD A,#50HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#40HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#30HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#20HMOV P0,ACALL

17、 DELAYDEC R0MOV A,R0ADD A,#10HMOV P0,ACALL DELAYDEC R0MOV A,R0ADD A,#00HMOV P0,ACALL DELAYRET3 密码比较和报警程序密码比较和报警流程图如3.2.3图3.2.3密码比较和报警流程密码比较和报警程序(请结合总程序进行阅读): COMP: MOV R1,#45HMOV R0,#35HMOV R2,#06HCl:MOV A,R1XRL A,R0JNZ C3DEC R1DEC R0DJNZ R2,C1CLR P2.0MOV R2,#200C2:MOV R6,#248DJNZ R6,$DJNZ R2,C2C3:I

18、NC R5MOV A,R5MOV R5,ACJNE R5 ,#03H,C4CLR P2.1MOV R5,#00HC4:JMP START第四章系统调试4.1系统硬件连接示意图:irirvu? 71511 U阳:?4111 川觴 Awnnmisp am注屿解 醮* +絶射 M 4 11和% ft? iltA酊HAg g td! Tact 加事 Giai Souri Cvkig 不叭 lnskJi 禺如 htoipaizjfior砒 0JE3:J7E2 LEM3FIEH HlHEfSH? HMLffillE 阿F: Ml:l-llm心茅爼還43黑喇;:. 丄土上戌4.2系统测试的局部本次调试采用P

19、rotues软件仿真。首先设计电子密码锁的 源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下1, 2,3,4,5,6后,LED显示如图4.1图4.1 LED显示按下确定键后,二极管亮,表示密码正确开门。如图4.2图4.2密码正确开门第 6 章 心得体会课程设计旨在让学生养成独立思考研究进而对现实中的问 题进行开发解决的过程,是使学生提高发现、提出、解决问题 的能力,锻炼学生实践能力的关键,也是对学生综合能力和工 作能力的具体训练和考察过程。随着科学技术发展的日新日异 单片机已经成为当今计算机应用中空前活跃的领域, 在生活 中可以说得是无处不在。因此作为二十一世纪的大学来说掌握 单

20、片机的开发技术是十分重要的。回顾起此次两个星期的单片机课程设计过程,至今我仍感 慨颇多。从最初的选定课题,到后来辛勤努力的查找资料研究 设计,当中有苦也有甜。苦的是每天都忙忙碌碌的研究问题解 决问题,甜的自然是从解决问题的过程中得到了快乐得到了前 所未有的满足感。从中我们不但学习到了新的知识,也对再课 堂上学习的理论知识进行了有效的实践,既是巩固有事发展。 通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识是远远不够的,只有把所学的理论知识与实践相 结合起来,从理论中得出结论,才能真正为社会服务,从而提 高自己的实际动手能力和独立思考的能力。这次课程设计终于 顺利完成了,在设

21、计中遇到了很多编程问题,在同学的帮助下 终于游逆而解。非常感谢!第 7 章 参考文献1 单片机原理及及应用王迎旭编 机械工业出版社 20012 单片机应用程序设计技术 周航慈 著 北京航空航天大学出 版社3 黄志君,高峰,王建轮胎压力监测系统J.广西工学院学 报.2006(4):9 12.4 其他网路知识论坛以及百度文库等。附录源程序清单ORG 00HMOV R5,#00HMOV R7,#00HDJNZ R7,$MOV R7,#10HMOV R6,#06HMOV R1,#35HL1: MOV A,R7MOV DPTR,#TABLE MOVC A,A+DPTR MOV R1,ADEC R1INC

22、 R7DJNZ R6,L1START:ORL P2,#0FFHMOV R4,#06HMOV R0,#40HCLEAR:MOV R0,#00HINC R0DJNZ R4,CLEARL2:MOV R3,#0F7HMOV R1,#00HL3:MOV A,R3MOV P1,AMOV A,P1MOV R4,ASETB CMOV R5,#04HL4:RLC AJNC KEYININC R1DJNZ R5,L4CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L2KEYIN:MOV A,R1XRL A,#0BHJZ X3MOV A,R1XRL A,#0FHJZ X4M

23、OV R7,#10D1:MOV R6,#24DJNZ R6,$DJNZ R7,D1D2:MOV A,P1XRL A,R4JZ D2MOV A,R1MOV DPTR,#TABLEMOVC A,A+DPTRMOV R7,AXRL A,#0AHJZ SET0MOV A,R7XRL A,#0BHJZ STARTMOV A,R7XRL A,#0CHJZ L2MOV A,R7XRL A,#0DHJZ L2MOV A,R7XCHA,40HXCHA,41HXCHA,42HXCHA,43HXCHA,44HXCHA,45HCALL DISPJMPL2X3:JMPDISP2X4:JMPCOMPDISP:MOVR0,

24、#45HDISP1:MOVA,R0ADD A,#50HMOV P0,ACALL DELAYDECR0MOVA,R0ADDA,#40HMOVP0,ACALL DELAYDECR0MOVA,R0ADDA,#30HMOVP0,ACALL DELAYDECR0MOVA,R0ADDA,#20HMOVP0,ACALL DELAYDECR0MOVA,R0ADDA,#10HMOVP0,ACALL DELAYDECR0MOV A,R0ADD A,#00HMOV P0,ACALL DELAYRETSET0:MOV R2,#06HMOV R0,#40HMOV R1,#30HE1:MOV A,R0XCH A,R1IN

25、C R0INC R1DJNZ R2,E1CALL DELAYE2:JMP STARTCOMP:MOV R1,#45HMOV R0,#35HMOV R2,#06HC1:MOV A,R1XRL A,R0JNZ C3DEC R1DEC R0DJNZ R2,C1CLR P2.0MOV R2,#200C2:MOV R6,#248DJNZ R6,$DJNZ R2,C2C3:INC R5MOV A,R5MOV R5,ACJNE R5 ,#03H,C4CLR P2.1MOV R5,#00HC4:JMP STARTDISP2: MOV R0,#35HCALL DISPMOV A,P1XRL A,R4JZ DISP2CALL DELAYJMP START DELAY: MOV R7,#C3 D3: MOV R6,#248DJNZ R7,D3RETORG 300HTABLE: DB01H02H03H0CHDB04H05H06H0DHDB07H08H09H0EHDB0AH00H0BH0FHDB01H02H03H04H 05H 06HEND

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!