电子密码锁课程设计报告
电子密码锁程序设计报告
![电子密码锁程序设计报告](https://img.taocdn.com/s3/m/2e21bf22cc7931b765ce158e.png)
课程设计题目:8位数字密码锁设计
学院:计算机科学与技术学院
姓名:王小川
班级:10级2班
学号:
指导老师:黄为民
2012年2月17日
1.课程设计的目的和要求
设计一数字密码锁,在锁开的情况下输入密码,设置密码共八位,用数据开关sw0-sw9分别代表数字0,1,2,3,……,9。输入的密码用七段显示器显示。具体要求如下:
always@(posedge clk_1Hz)//开锁及关锁
begin
if(lock==0&&!check)
begin
if(code=={num8,num7,num6,num5,num4,num3,num2,num1})
lock<=1;
else
if({num8,num7,num6,num5,num4,num3,num2,num1}==32'b)//万能密码开锁
//assign clock = {clk_1MHz, clk_100KHz, clk_10KHz, clk_1KHz, clk_100Hz, clk_10Hz, clk_1Hz};
divide_by_50 d6 (clk_1MHz, CLK, RST);
divide_by_10 d5 (clk_100KHz, clk_1MHz, RST);
begin
if({n0,n1,n2,n3,n4,n5,n6,n7,n8,n9}!=10'b)
begin
case({n9,n8,n7,n6,n5,n4,n3,n2,n1,n0})
10'b:temp=4'd0;
10'b:temp=4'd1;
10'b:temp=4'd2;
课程设计电子密码锁
![课程设计电子密码锁](https://img.taocdn.com/s3/m/f702e38d3086bceb19e8b8f67c1cfad6185fe972.png)
课程设计电子密码锁一、教学目标本课程旨在让学生了解和掌握电子密码锁的基本原理和制作方法,培养学生的电子技术应用能力和创新思维。
具体目标如下:1.知识目标:(1)了解电子密码锁的工作原理及其基本组成部分;(2)掌握常用电子元器件的识别、选用和应用;(3)学习编程和电路设计的基本方法。
2.技能目标:(1)能够独立完成电子密码锁的电路设计;(2)熟练使用编程软件进行程序设计;(3)具备团队协作能力和问题解决能力。
3.情感态度价值观目标:(1)培养学生对电子技术的兴趣和热情;(2)增强学生的创新意识和实践能力;(3)培养学生具备良好的团队精神和合作意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.电子密码锁的基本原理及其组成部分;2.常用电子元器件的识别、选用和应用;3.电路设计的基本方法;4.编程软件的使用和程序设计;5.电子密码锁的制作和调试。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:用于讲解基本原理和知识点;2.讨论法:引导学生探讨和解决问题;3.案例分析法:分析实际案例,加深学生对知识的理解;4.实验法:动手实践,培养学生的操作技能。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:提供基本知识和理论学习;2.参考书:拓展学生的知识视野;3.多媒体资料:辅助讲解和展示实验过程;4.实验设备:用于学生的动手实践。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性;2.作业:布置适量的作业,评估学生的理解和掌握程度;3.考试成绩:通过期中和期末考试,全面评估学生的知识掌握和应用能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材和大纲,合理安排每个章节的教学内容;2.教学时间:根据课程内容和学生的实际情况,合理分配课堂讲解、实验操作等时间;3.教学地点:选择适当的实验室和教室,确保教学顺利进行。
电子技术课程设计报告电子密码锁
![电子技术课程设计报告电子密码锁](https://img.taocdn.com/s3/m/e52326a82cc58bd63186bdb2.png)
电子技术课程设计报告电子密码锁电子技术课程设计报告设计课题:电子密码锁电子密码锁一、引言随着人们生活水平的提高,人们对自己的生活有了越来越高的要求,贵重物品也越来越多,而传统的机械安全锁由于其构造的简单,被撬被盗事件在我们身边经常发生,使我们的财产以及人身安全存在很大的安全隐患,这致使我们寻求更好的安全措施。
电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。
而且密码锁的形式多样,有声控密码锁,电子密码锁等,社会上大多使用电子按键密码锁。
本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够安全工作,具有较高的安全系数。
要求电子器件设计制作密码锁的控制电路,使之在规定的时间内输入正确的密码时,输出信号以开启密码锁,否则报警电路报警。
本设计用红、绿LED指示关锁、开锁状态和报警状态。
二、设计任务1、密码锁控制器中存储一个4位代码,当锁按钮开关设置8位(其中只有4位有效)的输入代码等于存储代码时启动开锁控制电路,并且用绿灯亮表示开锁状态。
2、从第一个按钮触动后的15秒内若未能将锁打开,则报警电路发报警信号,同时用绿灯灭表示关锁状态。
3、要求性能可靠、操作简便。
4、密码锁控制器中存储的4位密码可以修改。
5、分析部件见工作原理,绘制电路图,进行仿真制作实物并撰写设计报告。
三、设计方案方案一:用开关控制可控硅整端口的电压变化即导通,按依次按下四个开关,其功能相当于给可控硅一个高电平触发,四个可控硅整流器依次导通,整条回路导通,发光二极管亮,而发光二极管亮即表示输入的密码为正确密码,电路达到密码锁开锁功能。
设计8位按键只有4位是正确的,如果按下4位伪码的其中一位即按下的其中一个或几个,控制报警电路可控硅导通。
此时开锁部分悬空,报警报警方案二;采用STC89C52单片机为芯片主体,采用AT24C08为掉电存储器的芯片,用单片机的P1口作为接4 ×4 键盘按键的检测按键,P0口实现数码管的按键显示,以及错误信息,单片可以进行位操作,P2口组成报警电路,密码修改电路和AT24C08的掉电保护等其他相关功能。
电子密码锁-课程设计报告
![电子密码锁-课程设计报告](https://img.taocdn.com/s3/m/46280448e45c3b3567ec8b4f.png)
1、总体方案设计设计本课题时构思了两种方案:一种是用以A T89C2051为核心的单片机控制方案;另一种是用CMOS数字集成电路控制方案。
考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。
1:采用数字电路控制。
其原理方框图如图数字电路控制方案采用数字密码锁电路的好处就是设计简单。
用以CMOS构成的数字逻辑电路作为密码锁的核心控制,共设了8个用户输入键;如果用户输入密码的时间超过5秒(一般情况下,用户不会超过5秒,若用户觉得不便,还可以修改)电路将报警20秒。
通过比较以上两种方案,单片机方案有较大的活动空间,但是成本昂贵;采用数字密码锁电路只要设计合理,仍然能够满足保密性要求。
所以我们采用后一种方案。
2.1设计说明要求用电子器件设计制作密码锁的控制电路,使之在输入正确的代码时输出信号,以启动执行机构动作,并用红,绿LED灯指示开锁、关锁状态。
设计完成的要求:(1)密码锁控制器中存储一个八位代码(二进制),当开锁按钮开关(共设置了11位,其中只有8位有效密码键,其余三位为干扰位和密码更改位)的输入代码等于存储代码时启动开锁控制电路,并且绿灯亮,红灯灭表示开锁状态。
(2)从第一个按钮触动后的5秒内若未能将锁打开,则电路自动复位并有扬声器发出报警信号,报警信号持续时间20秒,同时绿灯灭,红灯亮表示关锁状态。
(3)本设计完成了发挥部分的要求即密码修改电路,通过按钮开关(space 键)控制,用户可以自行修改八位密码,修改后的密码将进入电路锁存。
2.2设计思路根据题目要求,我们设计了这款实用稳定的数字电子密码锁,由密码按钮键、预置密码锁存器、密码比较识别电路、5s计时电路和20s计时电路等组成。
整机采用CMOS数字集成电路,电路新颖,线路简单,保密性强,性能可靠,误码报警等特点。
2.3总体方框图3、设计原理分析电路组成:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入锁定电路3.1 密码输入和修改电路:电路总共设计了11个用户输入键,其中有8位是有效的密码按键,其余的分别是M键(仿真电路中采用此按键表示开始输入密码,但是实际电路中可以用灵敏度较高的端口来代替,当人走近门时,触摸了敏感端,由于人自身带电,端口变成高电平,黄色指示灯亮表示电子锁处于待命状态,当然这在仿真电路中通过按键也可以实现),L键(输入密码结束,按下确认键即L键),space键(这个按键装在电路内部,是密码修改键,修改前后分别按space 按键表示修改密码和密码修改结束)3.2报警电路:报警电路实现的功能是:当输入密码的时间超过5s(一般情况下用户输入不会超过)或者密码输入错误,电路报警20s,防止他人恶意开锁。
电子密码锁实验报告
![电子密码锁实验报告](https://img.taocdn.com/s3/m/4444aec570fe910ef12d2af90242a8956becaa25.png)
课程设计(综合实验)报告( 2011 -- 2012 年度第 1 学期)名称:电子技术综合实验题目:数字电子钟院系:电气与电子工程学院班级:电气0903学号:**********学生姓名:**指导教师:**设计周数: 2成绩:日期:2012 年 1 月8 日一、课程设计(综合实验)的目的与要求钟表是人们生活中的常用物品。
本题要求用电子器件设计制作一个数字电子钟。
具体要求是:1、设计一个能直接显示时、分可以进行校“时”、校“分”的数字电子钟。
小时可采用十二进制也可采用二十四进制。
2、(1)设计24小时整点报时控制电路,要求每整点发出一声音响报时。
(2)要求只在6--22点之间每整点报时一次,23--5点之间整点不报时。
3、设计任意几点几分均可响铃的闹钟控制电路。
响铃1分钟,可提前终止。
4、根据规定的作息时间表,设计自动响铃控制电路。
(选做)2.设计思路数字式电子钟的基本功能是能够实现时、分、秒的正确计时,计时单位为1秒。
因此,一个简单的数字式电子钟,首先必须有计时显示电路和秒脉冲产生电路。
(为了避免重复电路,秒计时在本课题中省略,所以计时单位为1分钟,秒脉冲变为分脉冲,仿真中可用软件中已有的时钟信号发生器来实现。
)其次,当刚接通电源或时钟走时出现误差时,需要进行时间校准,否则就不能正确表示当前时间。
因此,数字式电子钟应有校时控制电路。
另外,若要求数字钟能够自动整点报时或按要求时间闹铃,还应有整点报时和闹铃控制电路。
若还需要其它功能,相应的还要有一些控制电路。
综上所述,数字式电子钟应由计时显示电路和控制电路组成。
二.方案设计与论证1、计时电路时间标准:“分”信号后,就可以根据60分为1小时,24小时为一天的计数周期,分别组成一个个60进制,一个24进制的计数器。
将这些计数器适当连接,就可以够成秒,分时的计数器,实现计时功能。
本实验采用74ls160十进制加法计数器。
采用清零法和异步级联法构成60进制,24进制计数器。
(完整版)电子密码锁的设计
![(完整版)电子密码锁的设计](https://img.taocdn.com/s3/m/15d105680242a8956aece48b.png)
指导教师签字:年月日目录摘要 (2)Abstract (2)第一章、绪论 (3)1.1 课题研究的相关背景 (3)1.2 课题研究的基本理论依据 (3)1.3 设计课题的任务 (3)1.4 课题研究的目的、意义 (4)第二章设计方案简述 (5)2.1 方案的论证 (5)2.2 方案的原理 (5)2.3 方案的总体框图 (5)第三章详细的设计方案 (6)3.1 密码的设定和密码的输入部分 (6)3.2 执行电路 (7)3.3 NE555秒脉冲电路 (7)3.4 报警电路 (8)3.5 倒计时电路 (8)3.6 稳压电源电路 (9)第四章设计结果及分析 (10)4.1 电路的调试 (10)4.2 功能的扩展 (10)第五章设计的总结 (12)参考文献 (13)摘要随着人门生活水平的提高,如何提高实现家庭的防盗这一问题业变得尤其突出,传统的机械锁由于其构造的简单,被撬开的事件屡见不鲜,使我们的财产以及人身安全有了很大的隐患,这致使我们寻求更好的安全措施。
电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。
设计本课题时构思的方案是采用74LS86四两输入的异或门和74LS04非门构成的数字逻辑电路控制方案。
初始密码(可以修改)设定后,当输入密码正确时按下开锁按钮,绿灯亮表示开门;当输入密码错误按下开锁按钮时,红灯亮表示报警状态,同时555电路产生脉冲进入10秒的倒计时并发出报警声。
关键词:电子密码锁;74LS86四两输入异或门;74LS04非门;555电路AbstractWith the people's living standards increase, how to improve the implementation of family protection against the problem has become particularly outstanding, and the traditional machinery lock because of its construction of simple and forcing open the event of the case, our property and security of person was a great potential, this to us for the safety measures. the lock because of its confidentiality high, with agility, safety, was the favorite.This subject in the design concept plan was adopted 74ls86 4 liang of the input power, or the door and 74ls04 the door of a digital logic to control circuit.Initial passwords ( can modify ) then, when the right to enter the password when the open lock button, the green light before the door when their ; enter the password mistake in the open lock button when the lights indicate the state, the circuit produce pulses 555 to 10 seconds count down and alarm.Keywords:electronic combination locks;74ls86 ;74ls04 ;555 chip第一章、绪论1.1 课题研究的相关背景在现代城市中,随着人们生活水平的提高,如何提高实现家庭的防盗这一问题业变得尤其突出,传统的机械锁由于其构造的简单,被撬开的事件屡见不鲜,使我们的财产以及人身安全有了很大的隐患,这致使我们寻求更好的安全措施。
电子密码锁的课程设计报告书
![电子密码锁的课程设计报告书](https://img.taocdn.com/s3/m/5b5a0eafb9d528ea81c77938.png)
电子技术基础课程设计说明书题目:电子密码锁的设计摘要本文要求用电子器件设计制作一个电子密码锁的控制电路.使之输入正确的代码时.锁自动打开;当输入密码不正确时.电路自动报警并复位.并且利用了一些附加电路保证了电路的正常工作.使电路拥有了极高的安全系数。
本文首先对电子密码锁的基础知识进行了详细说明.然后详细分析了电子密码锁的工作原理.各组成部分的作用。
关键词:电子密码锁 D触发器 Multisim 10AbstractThis requirement is designed to use electronic devices of an electronic lock control circuit to make it enter the correct code, the lock opens automatically; when the input password is incorrect when the automatic alarm, and reset the circuit, and the use of some additional circuitry to ensure the circuit normal work, so that the circuit has a very high safety factor. In this paper, the electronic lock of the basic knowledge of a detailed explanation, and then a detailed analysis of the electronic code lock works, the role of the various components.Keywords: Electronic Code Lock, D flip-flop Multisim 10目录一设计任务.................................................................... - 1 -1.1设计目的和意义........................................................... - 1 -1.1.1目的............................................................... - 1 -1.1.2意义............................................................... - 1 -1.2初始参数和要求........................................................... - 2 -1.2.1 初始参数.......................................................... - 2 -1.2.2 要求.............................................................. - 2 - 二系统设计..................................................................... - 3 -2.1系统工作原理............................................................. - 3 -2.1.1 . 电路结构框图.................................................... - 3 - 2.1.2 . 电路工作原理.................................................................................... ..............................- 3 -2.1.3 . 电路原理图...................................................... - 3 -2.2 器件选择................................................................ - 4 -2.3电路设计................................................................. - 7 - 2.3.1. 密码电路的设计.................................................................................... ...........................- 7 -2.3.2. 置零电路及报警电路设计.................................................................................... ...........- 8 -2.3.3. 延时电路设计..................................................... - 8 -2.4 电路仿真测试............................................................ - 8 - 三总结......................................................................... - 9 -3.1结论..................................................................... - 9 -3.2优点与不足............................................................... - 9 -3.3 心得与体会.............................................................. - 9 - 参考文献....................................................................... - 10 - 感谢........................................................................... - 10 -一设计任务1.1设计目的和意义1.1.1目的设计一种用开关控制D触发器的翻转.达到密码开锁的电子密码锁的数字逻辑电路。
eda课程设计电子密码锁
![eda课程设计电子密码锁](https://img.taocdn.com/s3/m/cb52789d8ad63186bceb19e8b8f67c1cfad6eea1.png)
eda课程设计 电子密码锁一、课程目标知识目标:1. 学生能够理解电子密码锁的基本原理,掌握其电路组成及功能。
2. 学生能够了解数字电路的基本知识,包括逻辑门、触发器等,并运用这些知识分析电子密码锁的工作原理。
3. 学生能够掌握二进制与十进制的转换方法,并应用于电子密码锁的设计。
技能目标:1. 学生能够运用所学知识设计并搭建简单的电子密码锁电路。
2. 学生能够通过实际操作,调试并优化电子密码锁的性能。
3. 学生能够运用EDA软件(如Multisim、Protel等)进行电子密码锁电路的设计、仿真和测试。
情感态度价值观目标:1. 培养学生动手实践、解决问题的能力,增强自信心和成就感。
2. 培养学生团队协作精神,学会沟通与分享,提高合作能力。
3. 增强学生对电子科技的兴趣和热爱,激发创新意识和潜能。
课程性质分析:本课程为电子技术实践课程,注重理论联系实际,强调学生的动手能力和创新能力。
学生特点分析:学生处于高中阶段,具有一定的电子基础和逻辑思维能力,对实践操作充满兴趣。
教学要求:结合课程性质和学生特点,将课程目标分解为具体的学习成果,以项目为导向,引导学生通过实践探索,完成电子密码锁的设计与制作。
在教学过程中,注重启发式教学,鼓励学生提问、思考、解决问题,培养其创新能力和实际操作能力。
后续教学设计和评估将以此为基础,确保学生达到预定的学习成果。
二、教学内容1. 理论知识:- 数字电路基础知识:逻辑门、触发器、计数器等;- 电子密码锁原理:锁体结构、电路设计、密码设置与识别;- 二进制与十进制转换方法及其应用。
2. 实践操作:- 使用EDA软件(如Multisim、Protel)进行电子密码锁电路设计;- 搭建电子密码锁电路,进行实际操作和调试;- 分析并优化电子密码锁性能,提高其安全性。
3. 教学大纲:- 第一阶段:数字电路基础知识学习,占总课时1/3;- 第二阶段:电子密码锁原理学习,占总课时1/3;- 第三阶段:实践操作,包括EDA软件使用、电路搭建、调试与优化,占总课时1/3。
电子密码锁课程设计
![电子密码锁课程设计](https://img.taocdn.com/s3/m/760ed40f3169a4517723a373.png)
物理与电子工程学院《微机原理与接口技术》课程设计报告书设计题目:基于数字电路的电子密码锁专业:自动化班级:学生姓名:学号:指导教师:2015年6月15日物理与电子工程学院课程设计任务书专业:自动化班级: 1目录摘要……………………………………………………………1 前言…………………….……………………………………1.1 发展前景………….………………………………………1.2 研究目的和意义……………………………………………1.3 基本要求……………………………………………………1.4 基本设计原理………………………………………………1.5 主要性能指标…………………………………………………2 设计方案简述…………………………………………………2.1 设计思路…………………………………….…………….…2.2 原理框图………………………………………………….…2.3 设计原理分析………………………………………….…3 详细设计……………..……………………..……………………3.1 密码锁单元电路设计………………………………………3.1.1密码识别电路……………………………………..……….3.1.2秒脉冲产生电路..………………………….3.1.3倒计时电路……………………………………..……….…3.1.4驱动蜂鸣器电路……………………………………..…….3.1.5驱动继电器电路……………………………………..………3.2 密码锁总体电路设计…………………………….…………4总结……..……………………………………………..……参考文献…….…………………………..……………………….摘要采用逻辑门电路设计电子密码锁,阐述了其工作原理,给出了具体的电路原理图。
该密码锁具有密码预置功能,保密性强,误码报警,并且报警时间可以设定,同时用数码管显示出报警时间。
密码正确时驱动继电器控制开锁指示灯,误码时报警信号由蜂鸣器发出,声音为间歇式鸣笛。
电子技术课程设计报告电子密码锁
![电子技术课程设计报告电子密码锁](https://img.taocdn.com/s3/m/7765374aa55177232f60ddccda38376baf1fe020.png)
电子技术课程设计报告设计课题:电子密码锁电子密码锁一、设计任务与要求1.掌握PCB制板技术2.掌握电子密码锁的原理及其应用3.作好焊接及检查二、方案设计与论证1.方案一采纳单片机芯片,和CD系列,CD4043,CD4082,CD4066组合模式,而用按键开关作为输进端口,共需要10个开关分不作为123456789#*。
工作原理:10位输进按键中,.9.0为有效按键,2.3.4.6.7为伪码键。
密码输进由密码键和输进电路IC1来完成。
密码操纵电路为IC2。
电路欲设密码为05198。
在密码输进按键中,SB0操纵着IC2的电源提供并使IC2开机时复位,同时通过RP、C1设定了10秒的限时功能。
当按下SB0后必须在10秒内完成密码的输进操作,否那么无效。
按键SB5与IC2的置位端1S相连,按下SB5时,IC2的1Q输出高电平。
按键SB1,SB9,SB8分不与IC1的S1、S2、S3的一个输进端相连。
S1,S2,S3的输出端分不连接着IC2的2S,3S和0S。
当顺序按下SB1,SB9,SB8时,IC2DE2Q、3Q、0Q输出高电平。
IC2的1R~0R并联后通过电阻R6接低电平,1S、2S、3S、0S分不通过电阻R5~R2接低电平。
伪码键SB2、SB3、SB4、SB6、SB7的一端并联后接到IC2的0R~3R,当按下其中任何一键后,IC2的4个D触发器全部复位,往常按下的有效键全部失效。
C1、RP组成10秒限时电路,当按下SB0后,电源经SB0、VD1向C1充电,当充到接近电源电压时,IC2的S4接通,IC2的VDD通过S4得到工作电流。
松开SB0后,C1通过RP放电,放电时刻为10秒,10秒后S4断开,IC2失电。
IC3为2-4输进与门电路CD4082,当IC2的4个输出端均为高电平常,IC3的1足输出高电平并使R7使VT导通,继电器吸合。
操作过程:按照电路设定密码05198的顺序按下密码键。
当按下SB0后,电源经SB0路通过VT1向C1充电,当C1充电至S4的接通电压后,S4接通,电源经S4加至IC2的VDD。
电子密码锁课程设计本报告
![电子密码锁课程设计本报告](https://img.taocdn.com/s3/m/9e8c8cd333d4b14e85246800.png)
目录摘要2第1章课题设计背景31.1 EDA技术介绍31.2硬件描述语言VHDL41.3QuartusⅡ设计软件的简介 4第2章系统设计总述 52.1 设计要求 62.2 设计方案 62.32.4 整体组装设计原理图8 第3章单元模块程序设计93.1 电子密码锁系统输入模块93.1.1 输入模块程序93.1.2 输入模块元件113.1.3 输入模块仿真123.2 电子密码锁系统控制模块123.2.1 控制模块程序123.2.2 控制模块元件143.2.3 控制模块仿真153.3 电子密码锁系统显示模块153.3.1 显示模块程序153.3.2 显示模块元件163.3.3 显示模块仿真16 第4章收获与体验17 参考文献18摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,收到了广大的用户的青睐。
电子电路设计常用的方法是实验设计法,一般都包括设计法案提出、方案验证、方案修改3个阶段。
传统的实验设计法通常采用手工接实验电路来完成,往往需要经过试验和修改的反复过程,直到设计出正确的电路。
随着电子和计算机技术的发展,生产了在计算机平台上的EDA(电子设计自动化)技术,这种技术除了具有强大的设计功能外,还具有测试、仿真分析、管理等功能。
在“EDA 桌面设计环境”下用计算机来完成电路的系统综合设计和仿真。
用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。
VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程廷到高度自动化。
第1章课题设计背景1.1EDA技术介绍在电子设计技术领域,可编程逻辑器件(如PLD,GAL)的应用,已有了很好的普及。
电子密码锁课程设计
![电子密码锁课程设计](https://img.taocdn.com/s3/m/262b0d0286c24028915f804d2b160b4e767f81b6.png)
电子密码锁课程设计电子密码锁是一种基于数字密码的智能锁,广泛应用于家庭、商业、工业等领域中。
电子密码锁的课程设计则是为了培养学生的电子密码锁设计与制作能力,以适应社会对电子安全的迫切需求。
本文将介绍电子密码锁课程设计的目的、内容、实验步骤及教学效果等。
一、课程设计目的电子密码锁课程设计的主要目的是培养学生的专业技能,提高学生的综合能力和创新能力。
具体包括以下几个方面:1.掌握数字电路设计基础知识和技能,如数字电路基本元件、电路图的绘制和理解,电路板设计和制作等。
2.了解电子密码锁的工作原理和结构,掌握其主要构成要素及其功能,例如输入模块、控制模块和输出模块等。
3.通过实验,训练学生的思维能力、动手能力和创新能力,培养学生的实验技巧,提高实验能力。
4.提高学生的实践能力,让学生在实践中了解课程中相关知识的应用,增强实践动手能力。
二、课程设计内容电子密码锁课程设计主要包括以下内容:1.电路基础知识及电路设计实验学习数字电路基础知识,并通过电路设计实验掌握数字电路的基本元件、电路图的绘制和理解等内容。
2.电子密码锁的设计原理和结构学习电子密码锁的工作原理和结构,并理解其主要构成要素及其功能,例如输入模块、控制模块和输出模块等。
3.电子密码锁的实验制作通过实验制作电子密码锁,运用所学知识对电子密码锁进行详细设计、调试及测试。
4.课程设计报告将实验结果进行分析、总结并撰写报告,包括电路图,电路板设计图,电路原理图,测试结果和实验过程的记录等。
三、实验步骤电子密码锁课程设计实验具体步骤如下:1. 学生需了解电子密码锁的原理和结构,包括输入模块、控制模块和输出模块等。
2. 进行电路设计实验,学习数字电路基础知识,并掌握数字电路的基本元件和电路图绘制和理解等。
3. 设计电子密码锁电路图,包括输入模块、控制模块和输出模块等,并通过电路软件仿真验证电路的正确性。
4. 设计电子密码锁的电路板设计图,进行电路板的制作和焊接。
电子密码锁EDA课程设计报告书
![电子密码锁EDA课程设计报告书](https://img.taocdn.com/s3/m/403701cb6394dd88d0d233d4b14e852459fb3955.png)
电子密码锁EDA课程设计报告书燕山大学EDA课程设计报告书题目:电子密码锁一、设计题目及要求题目:电子密码锁要求:1. 用10 个按键代表0~9,输入后应转换为8421BCD 码,如按“6”后转换为“0110”;2. 密码位数为6 位,具有密码设置和修改功能;3. 开锁和报警均有LED 灯指示,且报警有声音提示,报警音频率为750Hz,每鸣叫1 秒停1 秒,共鸣叫5 响;4. 用6 个数码管显示输入的密码。
二、设计过程及内容1.设计方案本次EDA设计项目主要由输入模块、数据分路模块、输入及密码寄存模块、比较模块、密码重置模块、显示模块及结果输出报警模块组成。
图一、电路总图Keyinput1为输入模块,其中包含防抖电路,利用74147编码器将单位输入转化成对应的十进制BCD码,并输出按键的脉冲以及计数器所记录按键次数的BCD码,计数器采用74160利用清零端转换成7进制以便记录六位密码。
Cinput1为数据分路模块,输入端为按键表示的4为BCD码和3位二进制地址码,利用74138(3线8线译码器)进行译码,利用四个译码器并联实现利用地址码对输入数据进行并行输出的功能。
Compare为寄存和密码比较模块,输入端为3位地址码、keycp 脉冲、chpw脉冲、六位十进制BCD码并行输入,其中包含的2个cinput模块用以利用输入的地址码将keycpt和chpw脉冲分别送入6个bj模块,6个bj 模块中包含两个寄存器,一个用来寄存系统内密码,一个用来寄存输入的密码,并利用7485进行逐位比较输出结果。
Flash模块为晶体管的扫描模块,输入为6组十进制BCD码,扫描输入cp,利用74151实现利用地址码对6组BCD码的选择输出,最后实现输出端为三位地址码和4位十进制BCD码。
地址码和输出对应循环变化实现数码管的动态显示。
Show1为显示模块,地址码和BCD码为输入,利用7448以直接驱动数码管。
结果输出报警模块包括蜂鸣器和LED指示灯。
电子密码锁课程设计
![电子密码锁课程设计](https://img.taocdn.com/s3/m/3d9b07c150e79b89680203d8ce2f0066f4336414.png)
电子密码锁课程设计一、课程目标知识目标:1. 让学生掌握电子密码锁的基本原理,包括密码设置、存储和比对过程。
2. 了解电子密码锁在生活中的应用,认识到电子密码锁的安全性。
3. 学会使用相关电子元件,如微控制器、键盘、显示屏等,完成电子密码锁的制作。
技能目标:1. 培养学生动手操作能力,学会组装和调试电子密码锁。
2. 提高学生编程能力,学会编写简单的密码比对程序。
3. 培养学生团队协作能力,分组进行项目实践。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学生学习热情。
2. 增强学生的安全意识,认识到密码保护的重要性。
3. 培养学生勇于创新、积极实践的精神,提高解决问题的能力。
课程性质分析:本课程为初中信息技术课程,结合电子技术、计算机编程等知识,注重实践操作和创新能力培养。
学生特点分析:初中生好奇心强,对科技产品有一定兴趣,具备一定的动手能力和团队合作意识。
但编程和电子技术方面的基础较弱,需要教师引导。
1. 理论与实践相结合,注重培养学生的动手操作能力和编程思维。
2. 创设情境,激发学生学习兴趣,引导学生主动探究。
3. 注重团队合作,培养学生的沟通与协作能力。
4. 结合生活实际,让学生认识到电子密码锁在生活中的应用价值。
二、教学内容1. 电子密码锁原理- 密码锁的基本概念- 密码的设置、存储和比对过程- 电子密码锁的安全性分析2. 电子元件及其功能- 微控制器的作用和编程- 键盘输入和显示屏输出- 其他相关电子元件(如继电器、传感器等)3. 实践操作- 电子密码锁的组装与调试- 编写密码比对程序- 设计简单电子密码锁控制系统4. 项目实践- 分组进行项目设计- 团队合作完成电子密码锁制作- 展示与评价第一课时:电子密码锁原理及电子元件介绍第二课时:微控制器编程与键盘、显示屏操作第三课时:电子密码锁组装与调试第四课时:编写密码比对程序与项目实践教学内容安排:1. 前两课时:理论学习和实践操作相结合,让学生了解电子密码锁的基本原理和电子元件功能。
电子密码锁设计报告
![电子密码锁设计报告](https://img.taocdn.com/s3/m/4bfdcb8976a20029bd642dd2.png)
电子密码锁设计报告湖南工程学院课程设计任务书课程名称单片机原理与应用课题电子密码锁设计专业班级电子信息0801 学生姓名学号指导老师周向红、李晓秀、赵葵银审批周向红任务书下达日期 2011年 5月 9 日任务完成日期2011年 5月 25 日345目录第1章概述 .....................P7 第2章系统总体方案设计 .....................P8 第3章硬件设计 .....................P9 第4章软件设计及调试 .....................P12 第5章总结 .....................P15 第6章参考文献 .....................P15 第7章附录A 系统硬件原理图 ...............P16 第8章附录B 程序清单 .....................P1667第1章概述密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的数字密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁。
其特点是保密性好,随机开锁成功率几乎为零。
密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
无活动零件,不会磨损,寿命长。
使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
数字密码锁操作简单易行,一学就会。
本设计使用软件仿真,实现了既定的功能和要求,能使系统正确地开启密码锁和更改密码,而数码管能够正确地显示输入密码。
本实验设计了16个开关按键,每次按下键需要检验是否确实按下,若是则输入密码;否则,就等待按键按下。
关键字:AT89C51、7段LED数码管、74LS247、74LS138、与非门、4*4矩阵键盘等89第2章 系统总体方案设计用以AT89S51为核心的单片机控制方案。
EDA课程设计报告_电子密码锁
![EDA课程设计报告_电子密码锁](https://img.taocdn.com/s3/m/970375f61eb91a37f1115cde.png)
.目录第1章概述 (2)第2章设计要求 (2)第3章总体框图 (2)第4章功能模块 (4)4.1 输入模块 (4)4.2 控制模块 (7)4.3 显示模块 (15)第5章总体设计电路图 (17)第6章设计心得体会 (19)参考文献 (20)第1章概述电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。
讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。
第2章设计要求本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,来控制密码的输入、验证与显示。
设计所要实现的功能为:1 数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。
2 数码验证:开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。
3 错误显示:当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。
4 更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。
5 密码清除:按下REST可清除前面的输入值,清除为“888”。
第3章总体框图1)设计方案:电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。
作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。
拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。
数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。
液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。
电子密码门锁课程设计
![电子密码门锁课程设计](https://img.taocdn.com/s3/m/1fbac166590216fc700abb68a98271fe910eafc9.png)
电子密码门锁课程设计一、课程目标知识目标:1. 学生能理解电子密码门锁的基本工作原理,掌握相关的电子电路知识。
2. 学生能描述电子密码门锁的安全性特点及其在生活中的应用。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的电子密码门锁模型。
2. 学生能够通过实际操作,学会设置和更改电子密码,掌握基本的电子密码门锁使用技巧。
情感态度价值观目标:1. 学生培养对电子技术课程的兴趣,激发创新意识和探索精神。
2. 学生认识到科技在生活中的重要作用,增强安全意识,提高对电子产品的鉴赏能力。
3. 学生在团队合作中,培养沟通、协作能力,学会尊重他人意见,共同解决问题。
课程性质:本课程为电子技术实践课程,注重理论联系实际,提高学生的动手操作能力和创新能力。
学生特点:六年级学生具备一定的电子知识基础,好奇心强,喜欢动手操作,但需引导培养团队合作意识。
教学要求:结合学生特点,注重启发式教学,引导学生主动探究,提高实践能力,同时关注学生的情感态度价值观培养,实现全面发展。
教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 电子密码门锁基础知识:- 介绍电子密码门锁的工作原理。
- 电子元件的认识:微处理器、键盘、电磁锁、传感器等。
2. 电子密码门锁的设计与制作:- 分析电子密码门锁电路图,理解电路连接方式。
- 学习电子密码门锁编程方法,掌握密码设置与更改技巧。
- 动手制作电子密码门锁模型,进行电路搭建和调试。
3. 电子密码门锁的安全性分析:- 探讨电子密码门锁的安全性能,了解常见的密码破解方法。
- 讨论如何提高电子密码门锁的安全性。
4. 应用与实践:- 结合实际生活,探讨电子密码门锁在家庭、学校、酒店等场所的应用。
- 设计并实施一项关于电子密码门锁的创新应用项目。
教材关联性:教学内容与课本第六章《电子技术应用》中的相关内容紧密结合,通过本课程的学习,使学生能够将理论知识运用到实际操作中。
数字电子密码锁设计
![数字电子密码锁设计](https://img.taocdn.com/s3/m/e955da80bceb19e8b8f6ba8f.png)
数字电子密码锁课程设计报告一、设计要求:设计一个保险箱用的4位数字代码锁,该锁有规定的地址代码A、B、C、D4个输入端和一个开箱钥匙孔信号E的输入端,锁的密码由实验者自编。
当用钥匙开箱时,如果输入的4个代码正确,保险箱被打开;否则,电路将发出警报(可用发光二极管亮表示)。
二、设计内容:1、设计分析对输入的地址A、B、C、D的值与对应的保险箱的4位密码进行比较,如果输入值与密码相等,则输出“Y=1”,此时密码锁打开,否则输出“Y=0”。
且输出“Y=0”的时候电路发生警报,即二极管发光。
对输入与密码的比较有两种方式,可以直接用异或门进行比较,也可以用数值比较器进行比较,开箱钥匙信号E作为使能端,当E=1时,有正确的输出,E=0时,电路无有效输出。
2、设计原理图及芯片使用数值比较器CT74LS85芯片实现a)芯片资料:CT74LS85,位4位二进制比较器,其工作原理为:两个输入二进制数和,进行比较时从高位到低位逐一进行比较,如,当时,A>B;当时,A<B,以此类推。
当且仅当,,,时,A=B。
此时输出。
芯片中I为使能端控制输出的有效性。
b)用74LS85实现密码锁逻辑原理图:下图为74LS85的功能表:3、真值表设置密码锁的密码为则,由原理图可知,使用异或门逻辑与使用数值比较器CT74LS85所设计的电路实现相同的功能,故两者真值表均相同,为:4、电路图:5、VHDL仿真TITLE "Top-level file for the 7485 macrofunction. Chooses a device-family optimized implementation.";FUNCTION p7485 (a[3..0], b[3..0], agbi, albi, aebi)RETURNS (agbo, albo, aebo);FUNCTION f7485 (a[3..0], b[3..0], agbi, albi, aebi)RETURNS (agbo, albo, aebo);PARAMETERS(DEVICE_FAMILY);INCLUDE "aglobal.inc";SUBDESIGN 7485(a[3..0] : INPUT = VCC;b[3..0] : INPUT = VCC;agbi : INPUT = VCC;albi : INPUT = VCC;aebi : INPUT = VCC;agbo : OUTPUT;albo : OUTPUT;aebo : OUTPUT;)VARIABLEIF (FAMILY_FLEX() == 1) GENERATEsub : f7485;ELSE GENERATEsub : p7485;END GENERATE;BEGINIF (USED(a0)) GENERATEsub.a0 = a0;END GENERATE;IF (USED(a1)) GENERATEsub.a1 = a1;END GENERATE;IF (USED(a2)) GENERATEsub.a2 = a2;END GENERATE;IF (USED(a3)) GENERATEsub.a3 = a3;END GENERATE;IF (USED(b0)) GENERATEsub.b0 = b0;END GENERATE;IF (USED(b1)) GENERATEsub.b1 = b1;END GENERATE;IF (USED(b2)) GENERATEsub.b2 = b2;END GENERATE;IF (USED(b3)) GENERATEsub.b3 = b3;END GENERATE;IF (USED(agbi)) GENERATEsub.agbi = agbi;END GENERATE;IF (USED(albi)) GENERATEsub.albi = albi;END GENERATE;IF (USED(aebi)) GENERATEsub.aebi = aebi;END GENERATE;agbo = sub.agbo;albo = sub.albo;aebo = sub.aebo;END;6、结果分析由真值表可以看出,当设定密码为Key(1010)时,当且仅当开箱钥匙孔信号E输入有效、地址ABCD输入等于为设定密码Key(1010)时,输出有效开箱信号,打开密码锁;当钥匙孔信号E=0输入无效时,输出Y和报警信号W信号均无效为;当钥匙孔信号E=1有效,但输入地址ABCD与设定密码Key不相符时,输出开锁信号Y=0无效,且报警信号W=1(即接入LED二极管发亮报警)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖州师范学院求真学院课程设计总结报告课程名称单片机系统课程设计设计题目保险箱电子密码锁的设计专业班级姓名学号指导教师报告成绩求真学院信息与工程系二〇一〇年七月三日《单片机系统课程设计》任务书一、课题名称基于单片机电子密码锁的设计制作二、设计基本要求基本功能:1、能通过正确密码输入开锁,并且开锁动作由灯光状态提示。
2、输入错误密码启动声光报警功能。
3、实现手动上锁功能。
扩展功能:1、密码输入错误连续三次,进行长报警并锁定键盘。
2、修改密码功能3、EEPROM断电存储功能。
三、设计报告设计报告要求:(包含以下内容)1、设计任务及分析2、设计硬件方案3、软件设计流程4、软件调试5、心得感想附:主要源程序代码《保险箱的电子密码锁设计》课程设计总结报告目录一、设计任及分析………………………………………………………………………二、设计硬件方案………………………………………………………………………三、设计软件流程………………………………………………………………………四、软件调试………………………………………………………………………….…五、心得感想.……………………………………………………………………………六、程序代码.…………………………………………………………………………参考文献…………………………………………………………………………. ………《保险箱的电子密码锁的设计》一、设计任务近年来,随着改革开放的深入发展,电子电器的飞速发展.人民的生活水平有了很大提高。
各种高档家电产品和贵重物品为许多家庭所拥有。
然而一些不法分子也是越来越多。
这点就是看到了大部分人防盗意识还不够强。
造成偷盗现象屡见不鲜。
因此,越来越多的居民家庭对财产安全问题十分担忧。
有报警功能的密码锁这时正为人们解决了不少问题.但是市场上的密码锁大部分都是用于一些大公司财政机构。
价格高昂,一般人们难以接受。
如果再设计和生产一种价格低廉、性能灵敏可靠的密码锁,必将在防盗和保证财产安全方面发挥更加有效的作用。
本次设计是基于STC89C51单片机和内部资源EEPROM来实现电子密码锁的各种功能,其中主要有以下几个模块:1、矩阵键盘模块:(1)基本的数字键0~9;(2)撤销键:当输入密码有误时,可以按撤销键删除错误的数字;(3)确认键:当密码输入完毕后,按确认键执行开锁判断;(4)密码修改键:在开锁状态下,按此键进行修改密码;(5)上锁键;锁上电子密码锁,处于关闭状态。
图如下:矩阵式(3*4)按键独立式按键(1)当有数字键按下时,显示器的最右端显示无效字符“—”,按一下亮一下。
(2)右边1盏LED指示灯亮,表示开锁成功;8盏LED只是灯全亮,表示开锁未成功。
LED图如下:3、报警模块:当输入密码错误次数超过3次,启动蜂鸣器和指示灯(红)进行报警。
并且将锁定键盘N分钟(N可以视情况修改),在此期间不允许键入当密码输入正确,单片机控制继电器执行开锁机制。
T10T11D5GNDR13.3K电磁锁C24VC C来自微控制器信号D6密码锁开锁机构电路图实验电路图:图中的用LCD1602代替LED8段数码管和8盏LED 指示灯。
二、设计硬件方案1、晶振电路设计:2、复位电路设计:3、键盘电路设计:由于本次设计的按键数目较多,所以采用矩阵式(3*4)的设计方法和两个独立式键盘接口对键盘电路进行设计(如图)。
行列式键盘与独立式键盘相比,可以节省很多接口。
利用扫描法来识别键盘有无键被按下可分两步:第一,识别键盘有无键按下。
首先把所有的列线置0电平,然后检查各行线电平是否都为高电平,如果不全为高电平,则说明有按键被按下,否则则说明无键被按下。
第二,识别出哪个按键被按下。
采用扫描法,在某一时刻置让一条列线处于低电平,其余所有列线处于高电平,检查各行线电平的变化,如果某行线电平为低电平,则可确定此行此列的交叉点出的按键被按下。
三、设计软件流程流程图:开始初始化Flag=3?键盘扫描处理程序四、软件调试所需软件1、伟福的编程,仿真,编译集成环境Wave6000:将汇编语言源程序编译成*.hex文件2、STC-ISP-V4.83下载器:将汇编语言源程序编译成的*.hex文件在线下载到STC单片机中Wave6000使用说明:(1)在“Wave6000”目录中的“BIN”子目录下,双击图标执行伟福软件跳出以下画面(2)第一次使用时须在工具栏中选择仿真器设置栏进行仿真器设置,选择你需要的仿真器、仿真头、CPU,并在使用伟福软件模拟器出打钩。
(3)在下图“模块文件”上点鼠标右键,在下拉菜单中选择“新建项目”,出现“加入模块文件”对话框,选择你已编译完成的汇编语言源程序“NO29.ASM”文件,并选择打开该文件,出现“加入包含文件”对话框,选择你已编译完成的汇编语言源程序“NO29.ASM”文件,并选择打开该文件,出现“保存项目”对话框,现在同一文件名“NO29”,不加文件名后缀,点保存。
(4)双击你已编好的汇编源程序点击工具栏的“项目”,并选择其中的“全部编译”,如左下侧信息栏中指出有错时,在你的源程序中改正错误后再选择“全部编译”直到没有错并生成NO29.hex文件。
STC-ISP-V4.83使用说明:(1)双击图标并出现下图画面:(2)选择你需要的单片机型号;(3)打开“NO29.hex”文件;(4)选择你的串行口(5)点击download/下载,即可实现自动下载编程。
五、心得感想通过本次单片机系统课程设计《保险箱电子密码锁的设计》使我在利用网络这个信息汇集的领域,通过检索、阅读,提高自己阅读文献的本领;对STC89C51单片机有了进一步的认识,对wave6000这个软件的应用也更加纯熟了。
另外,也使我们学习的《单片机原理与应用设计》中的汇编得到了应用,让我对汇编语言也有了更深一步的了解。
学校安排这次的课程设计也就是为了我们的做毕业设计打下基础,让我们熟悉毕业设计的工作流程,让我们尽可能的熟悉并运用好毕业设计所需的软件,以便我们在不也设计中得到更好的发挥。
六、程序代码FLAGKEY EQU 00HRIGHT EQU 01H KEYBUFF EQU 31H WORKFLAG EQU 30H ERRTIMES EQU 32HDEL_TIMES EQU 34HCODEINADDR EQU 3BHRIGCODE1 EQU 40H RIGCODE2 EQU 41H RIGCODE3 EQU 42H RIGCODE4 EQU 43H RIGCODE5 EQU 44HORG 0000HLJMP STARTORG 0100HSTART: MOV SP,#60HCLR RIGHTCLR FLAGKEYMOV WORKFLAG,#0MOV R0,#CODEINADDRMOV ERRTIMES,#3MOV RIGCODE1 ,#5MOV RIGCODE2 ,#5MOV RIGCODE3 ,#5MOV RIGCODE4 ,#5MOV RIGCODE5 ,#0FFH LOOP:MOV R7,WORKFLAGCJNE R7,#3,NEXT0AJMP LOOPNEXT0:LCALL KEYSCANDEALAJMP LOOPKEYSCANDEAL: LCALL SCANKEYJB FLAGKEY,KEYDEALRET KEYDEAL: CLR P3.2LCALL S_DELSETB P3.2MOV A,KEYBUFFCLR CSUBB A,#10JNC ENLCALL DIG_KEYAJMP EXITEN:MOV R7,KEYBUFFCJNE R7,#10,LOCKLCALL EN_KEYAJMP EXITLOCK:CJNE R7,#11,CLR1LCALL LOCK_KEYCLR1:MOV R7,KEYBUFFCJNE R7,#12,XCH1LCALL CLR_KEYAJMP EXITXCH1:MOV R7,KEYBUFFCJNE R7,#13,EXITLCALL XCH_KEYAJMP EXITEXIT: CLR FLAGKEYRETDIG_KEY: MOV R7,WORKFLAGCJNE R7,#0,NEXT2MOV A,KEYBUFFMOV @R0,AINC R0MOV DPTR,#DISPLAY_TABCLR P1.4MOVC A,@A+DPTRMOV P0,ALCALL S_DELSETB P1.4SETB P3.5NEXT2: RETEN_KEY: MOV R7,WORKFLAGCJNE R7,#0,EN_XCHMOV A,#0FFHMOV @R0,AMOV R0,#CODEINADDRLCALL CODECOMP1JNB RIGHT,ERRORCLR RIGHTMOV P0,#0F0HCLR P3.5MOV P1,#0F0HMOV WORKFLAG,#1MOV ERRTIMES,#3RETERROR:DJNZ ERRTIMES,ERR1MOV R7,WORKFLAGMOV R7,#3CLR P3.2MOV P0,#00HCLR P3.5MOV P1,#0F0HLCALL LL_DELSETB P3.2SETB P3.5MOV R7,#0MOV ERRTIMES,#3RETERR1: MOV P0,#00HCLR P3.5MOV P1,#0F0HLCALL SPEAKRETEN_XCH: CJNE R7,#2,EN_ENDSETB RS0SETB RS1MOV R0,#CODEINADDRMOV R1,#COMPCODE1MOV A,R1MOV A,@R0INC R0INC R1MOV DPTR,#DISPLAY_TABCLR P1.5MOVC A,@A+DPTRMOV P0,ASETB P3.5DJNZ INTIMES,EN2AJMP COMP2EN2:MOV R0,#CODEINADDRCOMP2: MOV R1,#COMPCODE1MOV R0,#CODEINADDR LOOPCOMP2: MOV A,@R0MOV B,@R1CJNE A,B,EN_XCHCJNE A,#0FFH,COMPLOOPMOV R0,#CODEINADDRMOV R1,#COMPCODE1 TIHUAN: MOV A,@R1MOV @R0, AINC R0INC R1CJNE A,#0FFH,TIHUANMOV WORKFLAG,#1MOV R0,#CODEINADDR EN_END:RETCOMPLOOP: INC R0INC R1AJMP LOOPCOMP2LOCK_KEY: CLR RIGHTMOV WORKFLAG,#0MOV R1,#CODEINADDRMOV @R1,#0FFHINC R1MOV @R1,#0FFHINC R1MOV @R1,#0FFHINC R1MOV @R1,#0FFHMOV R0,#CODEINADDRMOV P0,#0FHCLR P3.5MOV P1,#0F0HRETCLR_KEY: MOV R7,WORKFLAGCJNE R7,#0,CLR2MOV P1,#0F0HMOV R0,#CODEINADDRRETCLR2:CJNE R7,#2,CLR_ENDMOV P1,#0F0HMOV R0,#CODEINADDR CLR_END:RETXCH_KEY: MOV R7,WORKFLAGCJNE R7,#1,XCH_ENDMOV WORKFLAG,#2CLR P0.6CLR P3.5XCH_END:RETCODECOMP1: MOV R1,#CODEINADDRMOV A,RIGCODE1MOV B,@R1CJNE A,B,ERROR1MOV A,RIGCODE2INC R1MOV B,@R1CJNE A,B,ERROR1MOV A,RIGCODE3INC R1MOV B,@R1CJNE A,B,ERROR1MOV A,RIGCODE4INC R1MOV B,@R1CJNE A,B,ERROR1MOV A,RIGCODE5INC R1MOV B,@R1CJNE A,B,ERROR1OKCL: SETB RIGHTRETERROR1:CLR RIGHTRET;CODETAB: DB 5,5,5,5,0FFH;**** 键盘扫描子程序SCANKEY ***** ; 4*3键盘扫描子程序; 行接P2.0-P2.3,列接P2.4-P2.6; 调用该子程序扫描一遍键盘; 键盘如有按键,则标志位FLAG_KEY=1 ; 输入键盘码放入键盘存储器KEYBUFF ; 面板上键盘为1 2 3 4; 5 6 7 8; 9 0 A B;**************************** SCANKEY:SETB RS0CLR RS1MOV R3,#0F7HMOV R2,#00HL2: MOV A,R3MOV P2,AMOV A,P2MOV R4,ASETB CMOV R5,#03HRLC AL3: RLC AJNC KEYININC R2DJNZ R5,L3MOV A,R3SETB CRRC AMOV R3,AJC L2JB P3.3,L4MOV R2,#12MOV A,R2SETB FLAGKEYMOV KEYBUFF, AAJMP L5L4:JB P3.4,L5MOV R2,#13MOV A,R2SETB FLAGKEYMOV KEYBUFF, AL5:CLR RS0CLR RS1RET;------------------------------------------------- KEYIN:MOV R7,#60D2: MOV R6,#248DJNZ R6,$DJNZ R7,D2D3: MOV A,P2XRL A,R4JZ D3MOV A,R2MOV DPTR,#KEYSCAN_TABMOVC A,@A+DPTRSETB FLAGKEYMOV KEYBUFF, ACLR RS0CLR RS1RET;==================================SPEAK:MOV DEL_TIMES,#5SPK1: CPL P3.2LCALL L_DELDJNZ DEL_TIMES,SPK1SETB P3.2RET S_DEL:MOV R7,#200S_DEL1: MOV R6,#10S_DEL2: MOV R5,#10S_DEL3: DJNZ R5,S_DEL3DJNZ R6, S_DEL2DJNZ R7, S_DEL1RETLL_DEL: MOV R4,#50LL1: LCALL L_DELDJNZ R4, LL1RETL_DEL:MOV R7,#250L_DEL1: MOV R6,#50L_DEL2: MOV R5,#50L_DEL3: DJNZ R5, L_DEL3DJNZ R6, L_DEL2DJNZ R7, L_DEL1RET;================================== ; 键盘扫描码KEYSCAN_TAB:DB 04H,08H,0BHDB 03H,07H,0AHDB 02H,06H,00HDB 01H,05H,09H;-----------------------------------;********键盘扫描结束****************DISPLAY_TAB:DB 0F7H,0F7H,0F7H,0F7H,0F7H,0F7HDB 0F7H,0F7H,0F7H,0F7H,0F7H,0F7H参考文献[1]马忠梅单片机C程序设计[M],北京:北京航空航天大学出版社,2007[2]李广弟单片机基础[M],北京:北京航空航天大学出版社,2007[3]张洪润,兰清华,单片机应用技术教程[M],北京:清华大学出版社,1997[4]闵锐,徐勇,孙峥等.电子线路基础西安[M],西安电子科技大学出版社,2003[5] 李朝青.PC机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2005[6] 张毅刚,彭喜元. 单片机原理与应用设计. 电子工业出版社.。