微机原理课题设计实验报告材料之矩阵式键盘数字密码锁
矩阵式键盘实验报告材料
矩阵键盘实验报告姓名佘成刚学号 2010302001班级 08041202时间 2016.01.20一、实验目的1.学习矩列式键盘工作原理;2.学习矩列式接口的程序设计。
二、实验设备普中HC6800ESV20开发板三、实验要求要求实现:用4*4矩阵键盘,用按键形式输入学号,在数码管上显示对应学号。
四、实验原理工作原理:矩阵式由行线和列线组成,按键位于行、列的交叉点上。
如图所示,一个 4*4 的行、列结构可以构成一个由 16 个按键的键盘。
很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的 I/0 口。
(1)矩阵式键盘工作原理按键设置在行、列交节点上,行、列分别连接到按键开关的两端。
行线通过下拉电阻接到 GND 上。
平时无按键动作时,行线处于低电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。
列线电平如果为低,行线电平为高,列线电平如果为高,则行线电平则为低。
这一点是识别矩阵式键盘是否被按下的关键所在。
因此,各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。
(2)按键识别方法下面以3 号键被按下为例,来说明此键是如何被识别出来的。
前已述及,键被按下时,与此键相连的行线电平将由与此键相连的列线电平决定,而行线电平在无键按下时处于高电平状态。
如果让所有列线处于高电平那么键按下与否不会引起行线电平的状态变化,始终是高电平,所以,让所有列线处于高电平是没法识别出按键的。
现在反过来,让所有列线处于低电平,很明显,按下的键所在行电平将也被置为低电平,根据此变化,便能判定该行一定有键被按下。
但我们还不能确定是这一行的哪个键被按下。
所以,为了进一步判定到底是哪—列的键被按下,可在某一时刻只让一条列线处于低电平,而其余所有列线处于高电平。
当第 1 列为低电平,其余各列为高电平时,因为是键 3 被按下,所以第 1 行仍处于高电平状态;当第 2 列为低电平,其余各列为高电平时,同样我们会发现第 1 行仍处于高电平状态,直到让第 4 列为低电平,其余各列为高电平时,因为是 3 号键被按下,所以第 1 行的高电平转换到第 4 列所处的低电平,据此,我们确信第 1 行第 4 列交叉点处的按键即3 号键被按下。
微机原理课程设计++多功能密码锁
微机原理课程设计++多功能密码锁第一篇:微机原理课程设计++多功能密码锁微机原理课程设计报告学院:专业:班级:姓名:指导老师:设计任务:多功能密码锁目录一、设计目标二、设计要求三、整体功能描述四、硬件设计功能模块 1.键盘 2.中断控制 3.计时 4.按键响应 5.报警 6.储存器及片选 7.整机电路五、程序流程图六、程序清单七、设计总结一、设计目标1.密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同显示O字样。
2.当输入密码错误时,发出错误警告声音,同时显示C字样。
3.当六次误码输入的条件下,产生报警电平报警。
4.还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。
二、设计要求1、选用8088和适当的存储器及接口芯片完成相应的功能。
2、用LED显示器显示电子锁的当前状态。
3、画出详细的硬件连接图。
4、给出程序设计思路、画出软件流程图。
5、给出地址分配表。
6、给出所有程序清单并加上必要注释。
7、完成设计说明书(列出参考文献,所用器件型号)。
三、整体功能描述本设计为多功能密码锁,使用存储器保存密码防止断电后密码丢失。
工作时按下按键蜂鸣器会发出声音提示按键有效并在数码管有“--”闪烁字样,若相隔1分钟无按键按下,则清零。
在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示O字样。
开锁后可按下“复位/修改密码键”实现修改密码功能的转入,之后先输入密码再输入同样的密码确认才可成功修改,修改成功后蜂鸣器会发出三声,数码管“O”闪烁三次提示修改密码成功。
当输入密码错误时,发出错误警告声音,同时显示FF字样,当输入密码错误次数累积够6次后,蜂鸣器会产生90秒的报警声响进行报警。
四、硬件设计功能模块本设计使用了8088、8259A、8255、8253、A28F512、74LS138、74LS148、地址锁存器、数码管以及74系列逻辑门、蜂鸣器、开关等芯片与元器件,实现了键盘输入、中断控制、计时、按键响应、开锁及报警等功能模块。
单片机 矩阵键盘实验 实验报告
单片机矩阵键盘实验实验报告一、实验目的本次实验的目的是掌握原理和方法,利用单片机识别矩阵键盘并编程实现键码转换功能,控制LED点亮显示。
二、实验原理矩阵键盘是一种由多路单向控制器输入行选择信号与列选择信号连接而形成的一一对应矩阵排列结构。
它广泛应用于电子游戏机、办公自动化设备、医疗仪器、家电控制及书籍检索机器等方面。
本次实验采用的矩阵键盘是一个4 x 4矩阵,用4段数码管显示按键编码,每个按键都可以输入一个代码,矩阵键盘连接单片机,实现一个软件算法来识别键码转化。
从而将键盘中的按键的按下信号转换成程序能够识别的代码,置于相应的输出结果中,控制LED点亮,从而可以实现矩阵键盘按键的转换功能。
三、实验方法1.硬件搭建:矩阵键盘(4行4列)与单片机(Atmel AT89C51)相连,选择引脚连接,并将数码管和LED与单片机相连以实现显示和点亮的功能。
2.程序设计:先建立控制体系,利用中断服务子程序识别和码值转换,利用中断服务子程序实现从按键的按下信号转换为程序能够识别的代码,然后将该代码段编写到单片机程序中,每次按下矩阵键盘按键后单片机给出相应的按键编码输出,用数码管显示,控制LED点亮。
四、实验结果经过实验,成功实现了矩阵键盘与单片机之间的连接,编写了中断服务子程序,完成了按键编码输出与LED点亮的功能。
实验完成后,数码管显示各种按键的编码,同时LED会点亮。
本次实验介绍了矩阵键盘的原理,论述了键码转换的程序设计步骤,并实验完成矩阵键盘与单片机的连接,实现用LED点亮以及数码管显示按键的编码。
通过本次实验,受益匪浅,使我对使用单片机编写算法与程序有了更深入的认识,同时丰富了课堂学习的内容,也使我更加热爱自己所学的专业。
密码锁实验报告doc
密码锁实验报告篇一:电子密码锁实验报告密码锁实验报告一,实验目的1. 学习8051定时器时间计时处理、跑马灯、按键扫描及LED数码管显示的设计方法。
2. 设计任务及要求利用实验平台上8个LED数码管,按键,跑马灯实现设置密码,密码锁的功能二,实验要求基本要求:1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。
2:可以自行设定或删除8位密码。
3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
三,实验基本原理利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
四,实验设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash 只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。
这样,既能做到经济合理又能实现预期的功能。
1在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。
微机原理课程设计 电子密码锁
一.课程设计的目的和任务1.设计目的1、了解和掌握8086,8255接口芯片以及LED灯的原理和功能。
2、能用这些接口芯片构建一个简单的系统控制对象。
3、掌握接口电路的综合设计与使用。
4、通过自己动手,进一步了解计算机得工作原理,接口技术,提高计算机硬件,软件综合应用能力,即对微机原理,接口技术,汇编语言程序设计进行综合训练。
2.设计任务1、选用8086和适当接口芯片完成相应的功能。
2、用LED灯显示电子锁的当前状态。
3、画出详细的硬件连接图。
4、给出程序设计思路、画出软件流程图。
5、给出所有程序清单并加上必要注释。
二、设计内容密码锁在开启之后需要置一个初始密码,之后输入密码并按确认键,在输入密码正确的条件下输出开锁电平,此时绿灯亮表示密码锁开启。
当输入密码错误时,红灯亮表示密码锁关闭状态。
可以继续输入密码并确认输入密码,直至密码正确则开启。
在密码输入正确之后还可以实现对密码的修改,修改密码之后按下确认修改密码键,修改成功。
三、方案选择及原理通过8255的24个接口实现密码输入,密码锁开关显示输出的功能。
应用8255的A 口的8位作为密码输入的8位,通过8个SWITCH开关控制,B口的其中两位分别接绿和红的LED灯作为输出表示密码锁的开关(绿灯亮表示密码正确开锁,红灯亮表示密码错误闭锁)。
C口的作为输入,使用其中两位分别接两个BUTTON开关,一个作为密码修改确认开关,一个作为密码输入确认开关。
四、所用器件CPU8086,地址锁存器273,译码器154,并行接口8255A,SWITCH开关,BUTTON 开关,LED灯。
主要器件简介CPU80868086是Inter系列的16位微处理器,芯片上有2.9万个晶体管,采用 HMOS工艺制造,用单一的+5V电源,时钟频率为5MHz~10MHz。
8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。
可寻址的内存空间为1MB。
并行接口8255Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
微机原理课题设计实验报告之矩阵式键盘数字密码锁
微机系统与应用课程设计报告班级:学号:姓名:实验地点:E楼Ⅱ区311实验时间:2013.3.4-3.9矩阵式键盘数字密码锁设计一 . 实验目的1.掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。
2.初步掌握键盘扫描,密码修改和计时报警程序的编写方法。
3.掌握通过矩阵式键盘扫描实现密码锁功能的设计思路和实现方法。
二.实验内容矩阵式键盘数字密码锁设计,根据设定好的密码,采用4x4矩阵键盘实现密码的输入功能。
当密码输入正确之后,锁就打开(绿灯亮),10秒之后,锁自动关闭(红灯亮);如果连续输入三次密码不正确,就锁定按键5秒钟,同时发出报警(黄灯闪),5秒后,解除按键锁定,恢复密码输入。
数字密码锁操作键盘参考上面设定,也可以自行设计键盘。
用户初始密码为“123456”,系统加电运行后,密码锁初始状态为常闭(红灯亮),用户可以选择开锁或修改密码:如果选择开锁就按“Open”键,系统提示输入密码,输入用户密码+“#”键后,如果密码正确,就打开锁(绿灯亮),系统等待10秒,然后重新关闭密码锁,若密码错,提示重新输入,连续三次错误,提示警告词同时报警(黄灯闪),锁定键盘5秒,然后重新进入初始状态;如果选择修改密码就按”Modify Secret”键,系统提示输入旧密码,输入旧密码+“#”键后,如果正确,系统提示输入新密码,输入新密码+“#”后,新密码起效,重新进入初始状态;如果旧密码错,不能修改密码,密码锁直接进入初始状态。
三.实验基本任务1)具有开锁、修改用户密码等基本的密码锁功能。
2)对于超过3次密码密码错误,锁定键盘5秒,系统报警。
5秒后解除锁定。
4)通过LCD字符液晶和LED指示灯(红,绿,黄)实时显示相关信息。
5)用户密码为6位数字,显示采用“*”号表示。
6)码锁键盘设计合理,功能完善,方便用户使用。
本次实验还做了附加的任务( 1)增加了管理员(Admin)功能,如果用户忘记密码可向管理员求助。
单片机c语言程序设计---矩阵式键盘实验报告
单片机c语言程序设计---矩阵式键盘实验报告课程名称:单片机c语言设计实验类型:设计型实验实验项目名称:矩阵式键盘实验一、实验目的和要求1.掌握矩阵式键盘结构2.掌握矩阵式键盘工作原理3.掌握矩阵式键盘的两种常用编程方法,即扫描法和反转法二、实验内容和原理实验1.矩阵式键盘实验功能:用数码管显示4*4矩阵式键盘的按键值,当K1按下后,数码管显示数字0,当K2按下后,显示为1,以此类推,当按下K16,显示F。
(1)硬件设计电路原理图如下仿真所需元器件(2)proteus仿真通过Keil编译后,利用protues软件进行仿真。
在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
操作方完成矩阵式键盘实验。
具体包括绘制仿真电路图、编写c源程序(反转法和扫描法)、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。
完成思考题。
三、实验方法与实验步骤1.按照硬件设计在protues上按照所给硬件设计绘制电路图。
2.在keil上进行编译后生成“xxx.hex”文件。
3.编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
四、实验结果与分析void Scan_line()//扫描行{Delay(10);//消抖switch ( P1 ){case 0x0e: i=1;break;case 0x0d: i=2;break;case 0x0b: i=3;break;case 0x07: i=4;break;default: i=0;//未按下break;}}void Scan_list()//扫描列{Delay(10);//消抖switch ( P1 ){case 0x70: j=1;break;case 0xb0: j=2;break;case 0xd0: j=3;break;case 0xe0: j=4;break;default: j=0;//未按下break;}}void Show_Key(){if( i != 0 && j != 0 ) P0=table[ ( i - 1 ) * 4 + j - 1 ];else P0=0xff;}五、讨论和心得。
矩阵式键盘设计实训报告
一、实验目的1. 掌握矩阵式键盘的工作原理及电路设计方法。
2. 熟悉单片机与矩阵键盘的接口连接及编程技巧。
3. 提高动手实践能力,培养创新意识。
二、实验设备1. 单片机实验平台2. 矩阵键盘模块3. 数字多用表4. 编译器(如Keil51)5. 连接线三、实验原理矩阵键盘是一种常用的键盘设计方式,通过行列交叉点连接按键,从而实现多个按键共用较少的I/O端口。
矩阵键盘通常采用逐行扫描的方式检测按键状态,当检测到按键按下时,根据行列线的电平状态确定按键位置。
四、实验内容1. 矩阵键盘电路设计2. 矩阵键盘编程3. 矩阵键盘测试与调试五、实验步骤1. 电路设计(1)根据矩阵键盘的规格,确定行线和列线的数量。
(2)将行线和列线分别连接到单片机的I/O端口。
(3)在行线上串联电阻,防止按键抖动。
(4)连接电源和地线。
2. 编程(1)初始化单片机的I/O端口,将行线设置为输出,列线设置为输入。
(2)编写逐行扫描程序,逐行拉低行线,读取列线状态。
(3)根据行列线状态判断按键位置,并执行相应的操作。
3. 测试与调试(1)将编写好的程序下载到单片机中。
(2)连接矩阵键盘,观察按键是否正常工作。
(3)使用数字多用表检测行列线电平,确保电路连接正确。
(4)根据测试结果,对程序进行调试,直到矩阵键盘正常工作。
六、实验结果与分析1. 电路连接正确,按键工作正常。
2. 逐行扫描程序能够正确检测按键位置。
3. 按键操作能够触发相应的程序功能。
七、实验总结1. 通过本次实训,掌握了矩阵式键盘的工作原理及电路设计方法。
2. 熟悉了单片机与矩阵键盘的接口连接及编程技巧。
3. 提高了动手实践能力,培养了创新意识。
八、心得体会1. 在实验过程中,遇到了电路连接错误和程序调试困难等问题,通过查阅资料、请教老师和同学,最终成功解决了问题。
2. 本次实训让我深刻体会到理论知识与实际操作相结合的重要性,同时也认识到团队合作的重要性。
九、改进建议1. 在电路设计过程中,可以考虑增加去抖动电路,提高按键稳定性。
单片机实习报告材料键盘式电子密码锁
单片机应用实习实习报告院系名称:电气与信息工程学院专业班级:测控14-1学生:黄文峰学号: 20141765指导老师:曲贵波鹏工程学院教务处制2016年6月实习任务书学生黄文峰院系电气与信息工程学院专业班级测控14-1指导教师曲贵波鹏职称副教授是否外聘□是否题目名称键盘式电子密码锁一、设计的容、目的和意义本次实习是有关于键盘式电子密码锁的设计。
键盘式的电子密码锁使用最为广泛,本产品主要用于保险箱、防盗门、保险柜之类的,还有一部分用于保管箱和运钞车。
该产品在键盘上输入密码,易于掌握,由于密码是记在用户的脑子里,所以既准确又可靠,不易破解,除非自己丢失或者泄露。
如今电子密码锁向着“随意设定密码”“显示乱序”“多重设定密码”“锁定键盘”等方向发展,使得不法分子无从入手。
尽管新型电子防盗锁层出不穷,但是键盘式电子密码锁仍在市场上占据着主流地位,并且经常作为其他类型防盗锁的辅助功能。
本设计主要可实现:(1)在一定时间没有任何按键操作则关闭显示器,并锁定键盘,单片机复位后锁定取消;(2)能够从键盘中输入密码,并相应地在显示器上显示‘*’;(3)能够判断密码是否正确,正确则开锁,错误则输出相应信息;(4)在操作错误达到一定次数后能够报警;(5)能够实现密码的修改;二、设计的技术指标要求1、研究方法(1)总体按照最优化的方法进行软件设计和硬件设计,走软件实现道路;(2)对软硬件进行模块划分,并对各单元电路结合EDA工具进行论证设计;(3)在查阅文献基础上展开设计,力求创新。
2、技术要求(1)可以修改密码;(2)输入密码必须正确;(3)密码输入次数过多会自动报警;第1章总体设计方案1.1 总体设计方案此电子密码锁的系统中设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。
另外系统还有LED提示灯,报警蜂鸣器等。
系统能完成本机超次锁定、修改用户密码基本的密码锁的功能。
本设计的任务拟采用单片机(C51)作为单片机的核心单元,利用单片机串行发射、接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。
矩阵键盘设计实验报告材料
南京林业大学实验报告基于AT89C51单片机4x4矩阵键盘接口电路设计课程机电一体化设计基础院系机械电子工程学院班级学号姓名指导老师雨图2013年9月26日一、实验目的1、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。
2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。
3、掌握利用Keil51软件对程序进行编译。
4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。
5、会根据实际功能,正确选择单片机功能接线,编制正确程序。
对实验结果能做出分析和解释,能写出符合规格的实验报告。
二、实验要求通过实训,学生应达到以下几方面的要求:素质要求1.以积极认真的态度对待本次实训,遵章守纪、团结协作。
2.善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。
能力要求1.模拟电路的理论知识2.脉冲与数字电路的理念知识3.通过模拟、数字电路实验有一定的动手能力4.能熟练的编写8951单片机汇编程序5.能够熟练的运用仿真软件进行仿真三、实验工具1、软件:Proteus软件、keil51。
2、硬件:PC机,串口线,并口线,单片机开发板四、实验容1、掌握并理解“矩阵键盘扫描”的原理及制作,了解各元器件的参数及格元器件的作用。
2、用keil51测试软件编写AT89C51单片机汇编程序3、用Proteus软件绘制“矩阵键盘扫描”电路原理图。
4、运用仿真软件对电路进行仿真。
五.实验基本步骤1、用Proteus绘制“矩阵键盘扫描”电路原理图。
2、编写程序使数码管显示当前闭合按键的键值。
3、利用Proteus软件的仿真功能对其进行仿真测试,观察数码管的显示状态和按键开关的对应关系。
4、用keil51软件编写程序,并生成HEX文件。
5、根据绘制“矩阵键盘扫描”电路原理图,搭建相关硬件电路。
6、用通用编程器或ISP下载HEX程序到MCU。
7、检查验证结果。
六、实验具体容使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。
单片机 矩阵键盘实验 实验报告
实验五矩阵键盘实验一、实验内容1、编写程序,做到在键盘上每按一个数字键(0-F)用发光二极管将该代码显示出来。
按其它键退出。
2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。
可定义“A”键为“+”键,“B”键为“=”键。
二、实验目的1、学习独立式按键的查询识别方法。
2、非编码矩阵键盘的行反转法识别方法。
三、实验说明1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。
2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。
3、识别键的闭合,通常采用行扫描法和行反转法。
行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。
行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。
然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。
这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。
由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。
行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。
矩阵键盘设计实验报告
矩阵键盘设计实验报告
矩阵键盘是一种特殊的电子输入设备,其特殊性在于每个按键可以仅由几根线连接而成。
这可以将按键尺寸缩小,同时也减少了接線复杂度。
在本次实验中,我们设计了一个4*4的矩阵键盘。
矩阵键盘的外型是4 *4的按键,其中每个按键由一个PIN组成,连接起来分别连接在一个不同的ROW与COL上。
在使用矩阵键盘时,我们将其连接到一台电脑上,通过电脑程序监视每行每列的通断状态,当一行或者一列被按下,程序会自动捕捉,来表示一个字符或者code.
首先,我们先准备一台电脑,再连接矩阵键盘的各个PIN,用8个信号线将矩阵键盘连接到单片机,再用USB线将单片机连接到电脑上,使用PL 2303驱动链接矩阵键盘和电脑终端。
单片机负责捕获ROW和COL的信号,计算并识别矩阵键盘的按键,将计算出的字符发送至电脑终端,进行小程序的检测。
在电脑端,我们使用Apple系统的终端运行.bash,编写简单的shell脚本实现对矩阵键盘信号识别。
脚本将不断检测矩阵键盘信号状态,根据捕捉到的ROW和COL信号,将其映射出字符信息,在一定时间内输出至终端。
在实验的最后,我们检验了所设计的矩阵键盘是否符合预期效果。
通过代码发送进行按键操作,能检测到正确的字符,表明矩阵键盘的设计及实现满足要求。
本次实验可以作为以后矩阵键盘的参考,深入研究程序软件,提高实验效率。
矩阵按键实训报告
一、实训背景随着电子技术的飞速发展,按键技术在电子设备中的应用越来越广泛。
矩阵按键因其结构紧凑、易于扩展等优点,被广泛应用于各类电子设备中。
为了提高学生对矩阵按键原理和应用的理解,本次实训选取了矩阵按键作为实训内容。
二、实训目的1. 理解矩阵按键的原理和结构;2. 掌握矩阵按键的驱动程序编写;3. 学会使用矩阵按键实现简单功能;4. 提高学生的动手能力和实践能力。
三、实训内容1. 矩阵按键原理与结构矩阵按键是一种利用行列交叉原理来检测按键状态的按键电路。
它由若干行和列组成,通过行列交叉的交叉点连接按键。
当按键被按下时,相应的行和列被连接,从而实现按键的识别。
2. 矩阵按键驱动程序编写以51单片机为例,介绍矩阵按键驱动程序的编写方法。
(1)初始化矩阵按键:设置行线为输出,列线为输入,并对行线进行上拉。
(2)扫描按键:从第一行开始,依次将行线置低电平,其他行线置高电平,然后读取列线的状态。
如果列线为低电平,则表示该行对应的按键被按下。
(3)消抖处理:为了避免按键抖动引起的误判,需要对按键状态进行消抖处理。
3. 使用矩阵按键实现简单功能以一个简单的计算器为例,介绍使用矩阵按键实现计算器功能的方法。
(1)设计计算器界面:根据计算器的功能需求,设计按键布局。
(2)编写按键扫描程序:根据按键布局,编写按键扫描程序,实现按键的识别。
(3)编写功能实现程序:根据计算器的功能需求,编写功能实现程序,如加、减、乘、除等。
四、实训过程1. 实训准备:准备51单片机开发板、矩阵按键模块、电源等实验器材。
2. 矩阵按键原理与结构学习:通过查阅资料,了解矩阵按键的原理和结构。
3. 矩阵按键驱动程序编写:根据实训要求,编写矩阵按键驱动程序。
4. 矩阵按键功能实现:使用矩阵按键实现计算器功能,包括按键扫描、消抖处理、功能实现等。
5. 实验调试:对实验程序进行调试,确保程序正常运行。
五、实训总结通过本次实训,我掌握了矩阵按键的原理和结构,学会了矩阵按键驱动程序的编写,以及使用矩阵按键实现简单功能的方法。
简易密码锁设计实验报告
简易密码锁设计实验报告
密码锁作为一种常见的安全锁具,广泛应用于各种安全场合。
在本次实验中,我们将设计一个简易的密码锁,并通过实验验证其功能和安全性能。
原理
密码锁主要由以下几个部分组成:输入设备、控制器和输出设备。
输入设备通常是键盘或按键开关,控制器用于接收输入信号并判断是否正确,输出设备可以是电子门锁、LED 指示灯或蜂鸣器等。
在本次实验中,我们将采用单片机作为控制器,用矩阵键盘作为输入设备,用LED灯和蜂鸣器作为输出设备。
具体原理如下:
输入设备
矩阵键盘是一种常见的数字输入设备,在本次实验中我们将使用4*4矩阵键盘。
该键盘由16个按键组成,分别对应09数字和AF字母共16个字符。
控制器
我们将使用STM32F103C8T6单片机作为控制器。
该单片机具有较高的性能和丰富的外设资源,在密码锁设计中可以充分发挥其优势。
控制器主要工作流程如下:
(1) 初始化:对单片机进行初始化,并定义好输入输出引脚。
(2) 输入密码:从矩阵键盘读取用户输入的密码。
(3) 判断密码:将读取到的密码与预设的正确密码进行比较,如果相同则解锁,否则报警。
(4) 解锁/报警:如果密码正确,则点亮LED灯并发出解锁提示音;否则点亮红色LED灯并发出警示音。
输出设备
我们将使用两个LED灯和一个蜂鸣器作为输出设备,用于提示用户解锁状态。
其中绿色LED灯表示解锁成功,红色LED灯表示解锁失败,蜂鸣器用于发出提示音。
矩阵键盘实验报告
矩阵键盘实验报告矩阵键盘实验报告引言:矩阵键盘是一种常见的输入设备,广泛应用于电子产品中。
本实验旨在通过对矩阵键盘的研究和实验,深入了解其原理和工作机制,并探索其在实际应用中的潜力。
本文将从实验目的、实验步骤、实验结果和讨论四个方面进行论述。
实验目的:1. 理解矩阵键盘的工作原理;2. 掌握矩阵键盘的接线方法;3. 通过实验验证矩阵键盘的可靠性和稳定性。
实验步骤:1. 准备实验材料:矩阵键盘、电路板、导线等;2. 连接电路:将矩阵键盘与电路板通过导线连接;3. 编写程序:使用C语言编写程序,实现对矩阵键盘的扫描和按键检测;4. 烧录程序:将编写好的程序烧录到单片机中;5. 运行实验:按下矩阵键盘上的按键,观察电路板上的指示灯是否亮起。
实验结果:经过实验,我们成功地完成了矩阵键盘的接线和程序烧录,并进行了按键测试。
在按下不同的按键时,电路板上相应的指示灯亮起,证明了矩阵键盘的正常工作。
讨论:1. 矩阵键盘的工作原理:矩阵键盘是由行线和列线组成的,每个按键都与行线和列线相连。
当按下某个按键时,对应的行线和列线会短接,从而使得电流流过该按键,被检测到。
2. 矩阵键盘的接线方法:在本实验中,我们采用了常见的4行4列的接线方式,即将矩阵键盘的4个行线连接到单片机的4个输入引脚上,将4个列线连接到单片机的4个输出引脚上。
3. 矩阵键盘的可靠性和稳定性:通过实验,我们发现矩阵键盘具有较高的可靠性和稳定性。
即使在长时间使用和频繁按键的情况下,矩阵键盘仍能正常工作,并且按键的检测准确率较高。
4. 矩阵键盘的应用潜力:矩阵键盘广泛应用于各种电子产品中,如计算机、手机、电视遥控器等。
它具有结构简单、成本低廉、易于集成等优点,因此在电子产品设计中具有广阔的应用前景。
结论:通过本次实验,我们对矩阵键盘的工作原理和接线方法有了更深入的了解,并验证了其可靠性和稳定性。
矩阵键盘作为一种常见的输入设备,在电子产品设计中具有重要的地位和潜力。
矩阵式键盘实验报告
矩阵式键盘实验报告矩阵键盘设计实验报告南京林业大学实验报告基于AT89C51单片机4x4矩阵键盘接口电路设计课程院系班级学号姓名指导老师机电一体化设计基础机械电子工程学院杨雨图2013年9月26日一、实验目的1、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。
2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。
3、掌握利用Keil51软件对程序进行编译。
4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。
5、会根据实际功能,正确选择单片机功能接线,编制正确程序。
对实验结果能做出分析和解释,能写出符合规格的实验报告。
二、实验要求通过实训,学生应达到以下几方面的要求:素质要求1.以积极认真的态度对待本次实训,遵章守纪、团结协作。
2.善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。
能力要求1.模拟电路的理论知识2.脉冲与数字电路的理念知识3.通过模拟、数字电路实验有一定的动手能力4.能熟练的编写8951单片机汇编程序5.能够熟练的运用仿真软件进行仿真三、实验工具1、软件:Proteus软件、keil51。
2、硬件:PC机,串口线,并口线,单片机开发板四、实验内容1、掌握并理解“矩阵键盘扫描”的原理及制作,了解各元器件的参数及格元器件的作用。
2、用keil51测试软件编写AT89C51单片机汇编程序3、用Proteus软件绘制“矩阵键盘扫描”电路原理图。
4、运用仿真软件对电路进行仿真。
五.实验基本步骤1、用Proteus绘制“矩阵键盘扫描”电路原理图。
2、编写程序使数码管显示当前闭合按键的键值。
3、利用Proteus软件的仿真功能对其进行仿真测试,观察数码管的显示状态和按键开关的对应关系。
4、用keil51软件编写程序,并生成HEX文件。
5、根据绘制“矩阵键盘扫描”电路原理图,搭建相关硬件电路。
6、用通用编程器或ISP下载HEX程序到MCU。
数字密码锁的实训报告
一、项目背景随着科技的不断发展,人们对安全性的要求越来越高。
传统的机械锁由于其构造简单,容易被撬,安全性较差。
为了提高锁的安全性,电子密码锁应运而生。
电子密码锁通过数字密码技术,实现了高安全性的锁具,广泛应用于家庭、企事业单位、银行等场所。
本实训项目旨在通过设计、制作和调试数字密码锁,了解电子密码锁的工作原理,提高学生的实践能力和创新能力。
二、实训目的1. 熟悉电子密码锁的工作原理和设计方法;2. 掌握数字电路、单片机等电子技术的基本知识和应用;3. 培养学生的实践能力和创新能力;4. 提高学生对电子产品的安全性和可靠性的认识。
三、实训内容1. 硬件设计(1)密码键盘设计:设计一个4x4的键盘矩阵,实现10个有效密码按键和一个确定键;(2)单片机设计:选择STC51单片机作为主控芯片,实现密码的存储、比较和输出控制;(3)显示模块设计:选用LCD液晶显示屏,显示密码输入状态、解锁成功或失败等信息;(4)驱动电路设计:设计驱动电路,实现对LCD显示屏、蜂鸣器等外围设备的控制。
2. 软件设计(1)密码输入程序:实现用户输入密码,并对输入的密码进行校验;(2)密码存储程序:将用户设置的密码存储在单片机的EEPROM中;(3)解锁控制程序:当输入密码正确时,控制继电器动作,打开锁具;当输入密码错误时,蜂鸣器发出报警声;(4)LCD显示程序:显示密码输入状态、解锁成功或失败等信息。
3. 调试与测试(1)硬件调试:连接电路,检查电路连接是否正确,排除硬件故障;(2)软件调试:编写程序,进行编译、下载,观察程序运行状态,调试程序错误;(3)整体调试:将硬件和软件结合起来,进行整体调试,确保数字密码锁功能正常。
四、实训结果与分析1. 硬件设计结果(1)密码键盘设计:完成4x4键盘矩阵,实现10个有效密码按键和一个确定键;(2)单片机设计:完成STC51单片机的编程,实现密码的存储、比较和输出控制;(3)显示模块设计:完成LCD液晶显示屏的编程,显示密码输入状态、解锁成功或失败等信息;(4)驱动电路设计:完成驱动电路的连接,实现对LCD显示屏、蜂鸣器等外围设备的控制。
矩阵键盘实验报告
自主学习用实验矩阵键盘识别实验
一、实验目的
1、掌握 4×4 矩阵键盘的工作原理和键盘的扫描方式。
2、掌握键盘的去抖方法和键盘应用程序的设计。
二、实验设备
1、PC 机一台;
2、开放式模块化单片机教学实验箱一台;
3、USB 下载线一根。
三、实验内容
自行编制程序,用 51 单片机实现 4×4 矩阵键盘扫描,采用线反转法;并实现当S11按下时在数码管上显值“0”,当S12按下时在数码管上显值“1”……,即依次将 S11 至S26按下,在数码管上依次显示十六进制数“0-F”,矩阵键盘原理图如图1-1 所示。
单片机与数码管接口电路原理图如图 1-2 所示。
图 1-1 矩阵键盘接口电路
图 1-2 数码管接口电路原理图
四、思考题
1.画出所编程序的流程图;
2.若要实现2×4 矩阵键盘,软硬件作如何修改。
答:将行线P2^3, P2^4接线去掉。
程序对应部分P2=0xfd; P2=0xfe;删掉。
3.实验中有何故障、问题出现,是否得到解决?如何解决的?问题:显示值对应出错。
原来是共阳段码和共阴段码弄相反了。
矩阵键盘密码锁实训报告
一、实训背景随着科技的不断发展,电子产品的安全性越来越受到重视。
矩阵键盘密码锁作为一种常见的电子安全设备,具有操作简单、可靠性高、成本低等优点,在众多领域得到了广泛应用。
为了提高学生对电子技术及单片机应用的理解和实践能力,我们开展了矩阵键盘密码锁的实训。
二、实训目的1. 熟悉矩阵键盘的工作原理及按键扫描方法;2. 掌握单片机在密码锁系统中的应用;3. 培养学生动手实践能力和团队合作精神;4. 提高学生对电子产品的安全性认识。
三、实训内容1. 硬件设计(1)主控芯片:选用STC89C52单片机作为核心控制单元;(2)矩阵键盘:采用4x4矩阵键盘,共16个按键;(3)显示屏:选用1602LCD液晶显示屏,用于显示密码及提示信息;(4)其他元件:按键、蜂鸣器、电阻、电容等。
2. 软件设计(1)按键扫描:采用逐行扫描法,对矩阵键盘进行扫描,检测按键状态;(2)密码设置与验证:设置四位密码,用户输入密码后,系统进行验证;(3)开锁与上锁:当密码正确时,系统解锁;当密码错误时,蜂鸣器报警;(4)定时器:设置一个定时器,用于控制密码输入错误次数,若连续输入错误三次,则锁定系统。
3. 系统实现(1)搭建电路:按照设计图纸,将各元件焊接在电路板上;(2)编写程序:使用C语言编写程序,实现矩阵键盘扫描、密码设置与验证、开锁与上锁等功能;(3)下载程序:将编写好的程序下载到单片机中;(4)调试与测试:对系统进行调试,确保各功能正常。
四、实训过程1. 电路搭建:按照设计图纸,将各元件焊接在电路板上,注意焊接质量,确保电路的可靠性;2. 程序编写:使用C语言编写程序,实现矩阵键盘扫描、密码设置与验证、开锁与上锁等功能,并进行调试;3. 系统调试:将编写好的程序下载到单片机中,对系统进行调试,确保各功能正常;4. 功能测试:测试密码设置、密码验证、开锁与上锁等功能,验证系统性能。
五、实训结果与分析1. 矩阵键盘扫描:通过逐行扫描法,成功实现了对矩阵键盘的扫描,并能准确检测按键状态;2. 密码设置与验证:成功实现了四位密码的设置与验证,当密码正确时,系统解锁;当密码错误时,蜂鸣器报警;3. 开锁与上锁:成功实现了开锁与上锁功能,当密码正确时,系统解锁;当密码错误时,蜂鸣器报警,并锁定系统;4. 定时器:成功设置了定时器,当连续输入错误三次密码时,系统锁定,直至系统复位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机系统与应用课程设计报告班级:学号:姓名:实验地点:E楼Ⅱ区311实验时间:2013.3.4-3.9矩阵式键盘数字密码锁设计一 . 实验目的1.掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。
2.初步掌握键盘扫描,密码修改和计时报警程序的编写方法。
3.掌握通过矩阵式键盘扫描实现密码锁功能的设计思路和实现方法。
二.实验内容矩阵式键盘数字密码锁设计,根据设定好的密码,采用4x4矩阵键盘实现密码的输入功能。
当密码输入正确之后,锁就打开(绿灯亮),10秒之后,锁自动关闭(红灯亮);如果连续输入三次密码不正确,就锁定按键5秒钟,同时发出报警(黄灯闪),5秒后,解除按键锁定,恢复密码输入。
数字密码锁操作键盘参考上面设定,也可以自行设计键盘。
用户初始密码为“123456”,系统加电运行后,密码锁初始状态为常闭(红灯亮),用户可以选择开锁或修改密码:如果选择开锁就按“Open”键,系统提示输入密码,输入用户密码+“#”键后,如果密码正确,就打开锁(绿灯亮),系统等待10秒,然后重新关闭密码锁,若密码错,提示重新输入,连续三次错误,提示警告词同时报警(黄灯闪),锁定键盘5秒,然后重新进入初始状态;如果选择修改密码就按”Modify Secret”键,系统提示输入旧密码,输入旧密码+“#”键后,如果正确,系统提示输入新密码,输入新密码+“#”后,新密码起效,重新进入初始状态;如果旧密码错,不能修改密码,密码锁直接进入初始状态。
三.实验基本任务1)具有开锁、修改用户密码等基本的密码锁功能。
2)对于超过3次密码密码错误,锁定键盘5秒,系统报警。
5秒后解除锁定。
4)通过LCD字符液晶和LED指示灯(红,绿,黄)实时显示相关信息。
5)用户密码为6位数字,显示采用“*”号表示。
6)码锁键盘设计合理,功能完善,方便用户使用。
本次实验还做了附加的任务(1)增加了管理员(Admin)功能,如果用户忘记密码可向管理员求助。
管理员密码为8位数字(系统内预先已设定),管理员按“Admin”键后,系统提示输入管理员密码,输入管理员密码+“#”键后,如果正确,系统自动恢复用户初始密码为“123456”;如果错误,程序停止运行,系统退出。
2)增加了输入清除功能(*),在输入密码过程中,如果中途按下“*”键,则清除前面的输入,开始重新输入密码。
(2)增加组合键(Shift)功能,使系统的密码选择范围除数字外,另外增加3)a,b,c,d,e,f,g,h,i,j等10个字母。
数字直接输入,字母“Shift”+“字母”。
四 . 实验设计方案实验用到8255作为并行接口设备,用以ISA总线与外设的连接,本次用的是8255的A口作为输出口,C口的高4位与B口是输入,C口低4位是输出口,所以控制住设置为ox8a,8253作为时钟器,作为控制提示灯的时间闪烁,8255的A口接键盘的rom,B口接col,地址线都连接在总线下面的芯片上接口,其他的读写控制线都接入ISA总线上。
如下图的接线设置五.实验器材8086CPU,可编程并行接口8255,可编程定时器8253,LCD显示屏,LED 灯,4x4矩阵键盘。
电路连接关系:1、首先将8255模块的控制总线与总线连接,并将片选CS连接至000H-007H地址空间;2、将8253模块的控制总线与总线连接,并将片选CS连接至008H-00FH地址空间;3、将DRV模块JS8(CS)连接至0010H-0017H地址空间;4、将LCD模块的控制总线与总线连接,并将片选CS接至018H-01FH地址空间;5、8255和键盘的连线,他们之间的连接关系如下:6、8255和TRL的连线,他们之间的连接关系如下:7、时钟源的/64同8253的CLK0连接。
8、8253的OUT0同JS7的B0连接。
9、8253的GATE0同JS3的K7连接。
(高电平选通)六.程序流程图其中软硬件初始化流程如图1所示图1. 初始化流程图密码锁程序运行流程如图2所示图2 密码锁程序流程图其中密码输入模块详细流程如图3图3. 输入模块流程图七.主要代码unsigned char kbscan()//键盘扫描{i nt row_va[4]={0x0e,0x0d,0x0b,0x07}; //选中每一行时的A口值u nsigned char data;u nsigned char data_tmp;S leep(200); //第一次消除抖动--每次键盘扫描的时间间隔至少为200毫秒f or(int i=0;i<4;i++,i%=4){int tmp=row_va[i];OutByte(0xde00, tmp); //循环扫描第一到四行InByte(0xde01,&data);if(data==NULL) //扫描不到的情况排除掉{}else if((data&0x0f)!=0x0f) //检测这一行是否有按键被按下{Sleep(10);//第二次消除抖动--如果10ms之后还是相同的按键就执行下面的。
InByte(0xde01,&data_tmp);data_tmp=data_tmp&0x0f;if(data_tmp!=data) continue; //否则不执行下面的while(data_tmp==data)//第三次消除抖动--判断按键是否弹起。
弹起则结束循环{InByte(0xde01,&data);data=data&0x0f;Sleep(10);if(data==0x0f){Sleep(100);InByte(0xde01,&data);data=data&0x0f;}}switch(data_tmp){case 0x0e: return value[i][0];case 0x0d: return value[i][1];case 0x0b: return value[i][2];case 0x07: return value[i][3];}}}r eturn NULL;}void displayOnLcd()//在LCD上显示*号.{u nsigned char stmp[2]="*";f or (int i=0;i<1;i++) OutByte(0xde09, stmp[i]);}int main(int argc, char* argv[]) //主函数{init8255(); //初始化8255 i nit8253();I nitLCD(); //初始化LCDS leep(100);u nsigned char temp;Start_Position://-->-->--> 起始位置----起始条件O utByte(0xde02,0xFE); //红灯亮t emp = '\0'; //指令符号p rintf("please input Open!");w hile(1){int j=0;temp = kbscan(); //获取在键盘中得到的数字printf("the key:%c\n",temp);if(temp=='O'){Mimasum=0;Clear(); //清空屏幕while(1){temp = kbscan();j++;printf("第%d次键盘扫描:%c\n",j,temp);if(isnum(temp)){if(Mimasum<6){Wodemima[Mimasum]=temp;Mimasum++;displayOnLcd(); //上屏幕LCD一个*号}}else if(isoper(temp)){if(temp=='#') //密码匹配{if(Mimasum==6){if(Newmima==true) //修改密码标志为true且原密码正确--修改密码{int i;for(i=0;i<6;i++)Mimachar[i]=Wodemima[i];Newmima=false;printf("新密码为:");for(i=0;i<6;i++){printf("%c",Mimachar[i]);}printf("\n");}else if(Equal(Mimachar,Wodemima)){if(Modify==true) //Modify为true--修改密码{Newmima=true; //把修改密码标志赋值为trueModify=false;Mimasum=0;Clear(); //清空屏幕printf("输入新密码:\n"); //提示:输入新密码}else{printf("密码正确!\n");OutByte(0xde02,0x7f); //绿灯亮Sleep(10000); //绿灯亮10SOutByte(0xde02,0xFE); //红灯亮&&绿灯灭Mimasum=0;Errorcount=0;goto Start_Position; //回到最前面}}else{Errorcount++;printf("密码错误次数%d 次!!\n",Errorcount);if(Errorcount>=3) //提示重新输入的显示{OutByte(0xde02,0xFD); //黄灯亮Sleep(1000);OutByte(0xde02,0xFF); //黄灯灭Sleep(1000);OutByte(0xde02,0xFD); //黄灯亮Sleep(1000);OutByte(0xde02,0xFF); //黄灯灭Sleep(1000);OutByte(0xde02,0xFD); //黄灯亮Sleep(1000);OutByte(0xde02,0xFE); //红灯亮&&绿灯灭Mimasum=0; //初始Errorcount=0;Clear(); //清空屏幕goto Start_Position;}else{printf("请重新输入密码:\n");}}}}else if(temp=='*'){Mimasum=0; //重新输入密码Clear(); //清空屏幕}else if(temp=='A'){Guanlisum=0;Clear(); //清空屏幕printf("请输入管理员密码:\n");while(1) //输入管理员密码{temp = kbscan();printf("one次键盘扫描:%c\n",temp);if(isnum(temp)){if(Guanlisum<8){Guanlichar[Guanlisum]=temp;Guanlisum++;displayOnLcd(); //上屏幕LCD*号}}else if(isoper(temp)){if(temp=='#'&& Guanlisum==8){int i;for(i=0;i<8;i++){i f(Guanlikey[i]!=Guanlichar[i]) return 0;}Mimachar[0]='1';Mimachar[1]='2';Mimachar[2]='3';Mimachar[3]='4';Mimachar[4]='5';Mimachar[5]='6';printf("密码初始化完成.\n");Guanlisum=0;Mimasum=0;Errorcount=0;Modify=false;Newmima=false;goto Start_Position; //回到开始}else if(temp=='*'){Guanlisum=0;Clear(); //清空屏幕}}}}else if(temp=='M'){Modify=true;Mimasum=0;Clear();printf("请输入原密码:\n");}}}}}实用标准文案文档c out<<endl;e nd8255();// CloseDevice(); r eturn 0;}八. 实验心得通过这次微机课题设计实验,使我学到了不少实用的知识,更重要的是做实验的过程,思考问题的方法,这与其他的实验师通用的,真正使我受益匪浅。