1、基于STC89C52单片机电子密码锁学生姓名: xx 学生学号: xxxxx 院(系): 电气信息工程学院 年级专业: 级电子信息工程2班 指导老师: 陶文英 二一三年六月摘 要伴随大家生活水平提升,怎样实现家庭防盗这一问题也变尤其突出,传统机械锁因为其结构简单,被撬事情屡见不鲜,电子密码锁含有安全性能高,成本低,功耗低,操作简单等优点使其作为防盗卫士角色越来越关键。从经济实用角度出发,采取51系列单片机,设计一款可更改密码,LCD1602显示,含有报警功效,该电子密码锁体积小,易于开发,成本较低,安全性高,能将其存放现场历史数据立即上报给上位机系统,实现网络实时监控,方便管理人员立即分析和处
2、理数据。其性能和安全性已大大超出了机械锁,特点有保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;密码可变, 用户能够常常更改密码,预防密码被盗,同时也能够避免因人员更替而使锁密级下降;误码输入保护。当输入密码数次错误时,报警系统自动开启;电子密码锁操作简单易行,受到广大用户亲睐。关键词 单片机, 密码锁, 更改密码, LCD1602目 录摘要I1 绪论 1.1电子密码锁介绍1 1.2 电子密码锁发展趋势12 设计方案33 关键元器件4 3.1 主控芯片STC89C524 3.2 晶体振荡器8 3.3 LCD显示密码模块设计9 3.3.1 LCD1602介绍9 3.3.2 LCD16
3、02液晶显示模块和单片机连接电路114 硬件系统设计12 4.1 设计原理12 4.2 电源输入电路12 4.3 矩阵键盘13 4.4 复位电路14 4.5 晶振电路14 4.6 报警电路15 4.7 显示电路15 4.8 开锁电路16 4.9 电路总体组成165 软件程序设计18 5.1 主程序步骤介绍18 5.2 键盘模块步骤图19 5.3 显示模块步骤图21 5.4 修改密码步骤图22 5.5 开锁和报警模块步骤图236 电子密码锁系统调试及仿真25 6.1硬件电路调试及结果分析25 6.2软件调试及功效分析25 6.2.1调试过程25 6.2.2 仿真结果分26 6.3 仿真全图287
4、 结论29参考文件30附录:311 绪论1.1电子密码锁介绍电子密码锁是一个经过密码输入来控制电路或是芯片工作,从而控制机械开关闭合,完成开锁、闭锁任务电子产品。它种类很多,有简易电路产品,也有基于芯片性价比较高产品。现在应用较广电子密码锁是以芯片为关键,经过编程来实现。其性能和安全性已大大超出了机械锁。其特点以下:1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2) 密码可变,用户能够随时更改密码,预防密码被盗,同时也能够避免因人员更替而使锁密级下降。3) 误码输入保护,当输入密码数次错误时,报警系统自动开启。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械
5、锁必需佩带钥匙才能开锁。6) 电子密码锁操作简单易行,一学即会。1.2 电子密码锁发展趋势日常生活和工作中,住宅和部门安全防范、单位文件档案、财务报表和部分个人资料保留多以加锁措施来处理。现在门锁关键用弹子锁,其钥匙轻易丢失;保险箱关键用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,大家常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给大家带来不便若使用机械式钥匙开锁,为满足大家对锁使用要求,增加其安全性,用密码替换钥匙密码锁应运而生。因为电子器件所限,以前开发电子密码锁,其种类不多,保密性差,最基础就是只依靠最简单模拟电子开关来实现,制作简单但很
6、不安全,在后为多是基于EDA来实现,其电路结构复杂,电子元件繁多,也有使用早先20引角2051系列单片机来实现,但密码简单,易破解。伴随电子元件深入发展,电子密码锁也出现了很多种类,功效日益强大,使用愈加方便,安全保密性更强,由以前单密码输入发展到现在,密码加感应元件,实现了真真电子加密,用户只有密码或电子钥匙中一样,是打不开锁,伴随电子元件发展及大家对保密性需求提升出现了越来越多电子密码锁。出于安全、方便等方面需要很多电子密码锁已相继问世。但这类产品特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适适用于保密要求高且供个人使用箱、柜、房间等。因为数字、字符、图形图像、人体生物特
7、征和时间等要素均可成为钥匙电子信息,组合使用这些信息能够使电子防盗锁取得高度保密性,如防范森严金库,需要使用复合信息密码电子防盗锁,组合使用信息也能够使电子防盗锁取得无穷扩展可能,使产品多样化,对用户而言是“千挑百选、自得其所”。能够看出组合使用电子信息是电子密码锁以后发展趋势。2 设计方案采取以单片机为关键控制方案因为单片机种类繁多,多种型号全部有其一定应用环境,所以在选择时要多加比较,合理选择,以期取得最好性价比。通常来说在选择单片机时从下面多个方面考虑:性能、存放器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功效、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上部分还有部分
8、最基础比如:中止源数量和优先级、工作温度范围、有没有低电压检测功效、单片机内有没有时钟振荡器、有没有上电复位功效等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员适应性、技术支持和服务等等原因。基于以上原因本设计选择单片机STC89C52作为本设计关键元件,利用单片灵巧活编程设计和丰富I/O端口,及其控制正确性,实现基础密码锁功效。在单片机外围电路外接输入键盘用于密码输入和部分功效控制,外接LCD1602液晶显示器用于显示作用。当用户需要开锁时,先按键盘开锁键以后按键盘数字键09输入密码。密码输完后按下确定键,假如密码输入正确则开锁,不正确则重新输入密码,当三次密码错误则发出报
9、警;当用户需要修改密码时,先按下键盘设置键后输入原来密码,只有当输入原密码正确开锁后才能设置新密码。新密码输入无误后按确定键使新密码将得到存放,密码修改成功。3 关键元器件3.1 主控芯片STC89C521)STC89C52单片机关键特征以下: Stc89c52是一个带8K字节闪烁可编程可擦除只读存放器(FPEROMFalsh Programmable and Erasable Read Only Memory)低电压,高性能CMOS8位微处理器,俗称单片机。该器件采取ATMEL高密度非易失存放器制造技术制造,和工业标准MCS-51指令集和输出管脚相兼容。因为将多功效8位CPU和闪烁存放器组合
10、在单个芯片中,stcstc89c52是一个高效微控制器,为很多嵌入式控制系统提供了一个灵活性高且价廉方案,stc89c52芯片引脚图图3-1所表示。图3-1 stc89c52芯片引脚图关键特征:和MCS-51 兼容 8K字节可编程闪烁存放器 寿命:1000写/擦循环数据保留时间:全静态工作:0Hz-24Hz三级程序存放器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器6个中止源 可编程串行通道低功耗闲置和掉电模式片内振荡器和时钟电路 2)STC89C52RC 引脚功效说明:1、主电源引脚VSS和VSS STC89C52芯片引脚图VSS(40脚)接+5V电压;VSS(20脚)
11、接地。 2、外接晶体引脚XTAL1和XTAL2 XTAL1(19脚)接外部晶体一个引脚。在单片机内部,它是一个反相放大器输入端,这个放大器组成了片内振荡器。当采取外部振荡器时,对HMOS单片机,此引脚应接地;对SHMOS单片机,此引脚作为驱动端。 XTAL2(18脚)接外晶体另一端。在单片机内部,接至上述振荡器反相放大器输出端。采取外部振荡器时,对HMOS单片机,该引脚接外部振荡器信号,即把外部振荡器信号直接接到内部时钟发生器输入端;对XHMOS,此引脚应悬浮。 3、控制或和其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP RST/VPD(9脚)当振荡器运行时,在此脚上
12、出现两个机器周期高电平将使单片机复位。推荐在此引脚和VSS引脚之间连接一个约8.2k下拉电阻,和VSS引脚之间连接一个约10F电容,以确保可靠地复位。 VSS掉电期间,此引脚可接上备用电源,以确保内部RAM数据不丢失。当VSS主电源下掉到低于要求电平,而VPD在其要求电压范围(50.5V)内,VPD就向内部RAM提供备用电源。 ALE/PROG(30脚):当访问外部存贮器时,ALE(许可地址锁存)输出用于锁存地址低位字节。即使不访问外部存放器,ALE端仍以不变频率周期性地出现正脉冲信号,此频率为振荡器频率1/6。所以,它可用作对外输出时钟,或用于定时目标。然而要注意是,每当访问外部数据存放器时
13、,将跳过一个ALE脉冲。ALE端能够驱动(吸收或输出电流)8个LS型TTL输入电路。 对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。 PSEN(29脚):此脚输出是外部程序存放器读选通信号。在从外部程序存放器取指令(或常数)期间,每个机器周期两次PSEN有效。但在此期间,每当访问外部数据存放器时,这两次有效PSEN信号将不出现。PSEN一样能够驱动(吸收或输出)8个LS型TTL输入。 EA/VPP(引脚):当EA端保持高电平时,访问内部程序存放器,但在PS(程序计数器)值超出0FFFH(对851/8751/80S51)或1FFFH(对8052)时
14、,将自动转向实施外部程序存放器内程序。当EA保持低电平时,则只访问外部程序存放器,不管是否有内部程序存放器。对于常见8031来说,无内部程序存放器,所以EA脚须常接地,这么才能只选择外部程序存放器。 对于EPROM型单片机(如8751),在EPROM编程期间,此引脚也用于施加21V编程电源(VPP)。4控制或和其它电源复用引脚 RST/Vpd,ALE/PROG,PSEN 和EA/Vpp。RST/Vpd 当振荡器运行时。在此引脚上出现两个机器同期高电平(由低到高跳变),将使单片机复位。在 VSS掉电期间,此引脚可接上备用电源,由 Vpd向内部 RAM提供备用电源,以保持内部RAM中数据。ALE/
15、PROG 正常操作时为ALE功效(许可地址钱存),提供把地址低字节锁存到外部锁存器。ALE引脚以不变频率(振荡周期1/6)周期性地发出正脉冲信号。所以,它可用作对外输出时钟,或用于定时目标。但要注意,每当访问外部数据存放器时,将跳过一个 ALE脉冲。 ALE端能够驱动(吸收或输出电流)八个 LSTTL电路。对于 EPROM型单片机,在 EPROM编程期间,此引脚接收编程脉冲(PROG功效)。PSEN 外部程序存放器读选通信号输出端。在从外部程序存放器取指令(或数据)期间;PSEN 在每个机器周期内两次有效。 PSEN 一样能够驱动八个LSTTL输入。EAVpp EA为内部程序存放器和外部程序存
16、放器选择端。当EA为高电平时,访问内部程序存放器(PS值小于4K)。当EA为低电平时,则访问外部程序存放器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21VEPROM编程电源(Vpp)。5、输入/输出(I/O)引脚P0、P1、P2、P3(共32根) P0口(39脚至32脚):是双向8位三态I/O口,在外接存放器时,和地址总线低8位及数据总线复用,能以吸收电流方法驱动8个LS型TTL负载。 P1口(1脚至8脚):是准双向8位I/O口。因为这种接口输出没有高阻状态,输入也不能锁存,故不是真正双向I/O口。P1口能驱动(吸收或输出电流)4个LS型TTL负载。对8052、8032,P1.
17、0引脚第二功效为T2定时/计数器外部输入,P1.1引脚第二功效为T2EX捕捉、重装触发,即T2外部控制端。对EPROM编程和程序验证时,它接收低8位地址。 P2口(21脚至28脚):是准双向8位I/O口。在访问外部存放器时,它能够作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2能够驱动(吸收或输出电流)4个LS型TTL负载。 P3口(10脚至17脚):是准双向8位I/O口,在MSS-51中,这8个引脚还用于专门功效,是复用双功效口。P3能驱动(吸收或输出电流)4个LS型TTL负载。 作为第一功效使用时,就作为一般I/O口用,功效和操作方法和P1
18、口相同。作为第二功效使用时,各引脚定义如表所表示。 值得强调是,P3口每一条引脚均可独立定义为第一功效输入输出或第二功效。如表3-1。表3-1 P3口管脚备选功效P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中止0)P3.3/INT1(外部中止1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存放器写选通)P3.7/RD(外部数据存放器读选通)3.2 晶体振荡器晶体振荡器,简称晶振,其作用在于产生原始时钟频率,这个频率经过频率发生器放大或缩小后就成了电脑中多种不一样总线频率。以声卡为例,要实现对模拟信号44.1kHz或
19、48kHz采样,频率发生器就必需提供一个44.1kHz或48kHz时钟频率。假如需要对这两种音频同时支持话,声卡就需要有两颗晶振。不过现在娱乐级声卡为了降低成本,通常全部采取SCR将输出采样频率固定在48kHz,不过SRC会对音质带来损害,而且现在娱乐级声卡全部没有很好地处理这个问题。现在应用最广泛是石英晶体振荡器。 石英晶体振荡器是一个高精度和高稳定度振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一个能够替换LC谐振回路晶体谐振元件。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。为数据处理设备产生时钟信号和
20、为特定系统提供基准信号。在单片机中为其提供时钟频率。石英晶体振荡器是利用石英晶体(二氧化硅结晶体)压电效应制成一个谐振器件,它基础组成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它能够是正方形、矩形或圆形等),在它两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就组成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品通常见金属外壳封装,也有用玻璃壳、陶瓷或塑料封装。只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器固有频率时,就会发生压电谐振,从而造成机械变形振幅忽然增大。时钟信号用
21、来提供单片机片内多种微操作时间基准,时钟信号通常见两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于组成振荡器高增益反向放大器,引脚XTAL1和XTAL2分别是此放大电器输入端和输出端,因为采取内部方法时,电路简单,所得时钟信号比较稳定,实际使用中常采取这种方法,外接晶体振荡器(简称晶振)或陶瓷谐振器就组成了内部振荡方法,片内高增益反向放大器和作为反馈元件片外石英晶体或陶瓷谐振器一起可组成一个自激振荡器并产生振荡时钟脉冲。外接晶体和电容C2和C3组成并联谐振电路,它们起稳定振荡频率、快速起振作用,其值为30pF左右,晶振频率选11.0592MHz 3.3 LCD显示密码模块
22、设计显示模块关键由LCD1602显示器组成,她显示是键盘输入密码,和密码正确和错误提醒。当输入密码时,出于安全性考虑,显示密码是有*号替换,为暗密。当输入六位密码后按下确定键,系统会和存于ROM密码对比, 若密码错误,显示器会显示Error,若密码正确,显示器会显示Right。3.3.1 LCD1602介绍1) 1602功效介绍1602液晶也叫1602字符型液晶它是一个专门用来显示字母、数字、符号等点阵型液晶模块它有若干个5X7或5X11等点阵字符位组成,每个点阵字符位全部能够显示一个字符。每位之间有一个点距间隔每行之间也有间隔起到了字符间距和行间距作用,正因为如此所以她不能显示图形。1602
23、LCD是指显示内容为16X2,即能够显示两行,每行16个字符液晶模块(显示字符和数字)。 2) 1602LCD 采取标准 14脚(无背光)或 16脚(带背光)接口,各引脚接口说明以下表3-2所表示: 表3-2 引脚功效说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极其引脚图以下图3-2所表示: 图3-2 LCD1602引脚图3) LCD寄存器选择 表3-3 LCD寄存器选择ER/W
24、RS功效说明110写入命令寄存器111写入数据寄存器110读取忙碌标志及RAM地址111读取RAM数据0X1不动作3.3.2 LCD1602液晶显示模块和单片机连接电路图3-3 LCD1602液晶显示模块和单片机连接电路4 硬件系统设计4.1 设计原理本设计关键由单片机、矩阵键盘、液晶显示器和密码存放等部分组成。其中矩阵键盘用于输入数字密码和进行多种功效实现。由用户经过连接单片机矩阵键盘输入密码,后经过单片机对用户输入密码和自己保留密码进行对比,从而判定密码是否正确,然后控制引脚高低电平传到开锁电路或报警电路控制开锁还是报警,实际使用时只要将单片机负载由继电器换成电子密码锁电磁铁吸合线圈即可,
25、当然也能够用继电器常开触点去控制电磁铁吸合线圈。本系统共有两部分组成,即硬件部分和软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存放部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应由主程序、初始化程序、LCD显示程序、键盘扫描程序、开启程序、关闭程序、建功效程序、密码设置程序、EEPROM读写程序和延时程序等组成。复位电路振荡电路键盘电路开锁电路STC89C52单片机显示电路报警电路图4-1 组成原理4.2 电源输入电路 三端集成稳压器LM7805和LM7905是作为固定输出电压经典应用。正常工作时,输入、输出电压差为2-3V。电容C为输入稳定电容,其作用是减
26、小纹波,消振、抑制高频和脉冲干扰,它通常为0.1-1uF。电容C为输出稳定电容,其作用是改善负载瞬态响应,它通常为1uF。使用三端稳压器时要依据输出电流大小选择加散热器,不然会因为过热而无法工作到额定电流。图4-2 电源输入电路4.3 矩阵键盘 因为本设计所用到按键数量较多而不适适用独立按键式键盘。采取是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键在行列交叉点上,密码锁密码由键盘输入完成,和独立式按键键盘相比,要节省很多I/O口。本设计中使用这个4*4键盘不仅能完成密码输入还能作尤其功效键使用,比如清空显示功效等。键盘每个按键功效在程序设计中设置 。其大致功效(看键盘按键上标识)及
27、和单片机引脚接法。图4-3 矩阵键盘4.4 复位电路单片机复位是使CPU和系统中其它功效部件全部处于一个确定初始状态,并从这个状态开始工作,比如复位后PC0000H,使单片机从第个单元取指令。不管是在单片机刚开始接上电源时,还是断电后或发生故障后全部要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存放器读选通信号PSEN无效。地址锁存信号ALE也为高电平。依据实际情况选择图2-8所表示复位电路。该电路在最简单复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上电压很小,复位下拉电阻上电压靠近电源电压,即RST为高电平,在电容充电过程中RST端电压逐
28、步下降,当RST端电压小于某一数值后,CPU脱离复位状态,因为电容C1足够大,能够确保RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1经过R5放电。当电容C1放电结束后,RST端电位由R11和R15分压比决定。因为R113?报警程序修改程序YNNY图5-1 主程序步骤5.2 键盘模块步骤图 键盘输入模块关键包含键盘扫描、延时去抖、找到键值和返回键值。键盘扫描时循环,程序编写是会使其进入是循环,这么能够检验出是否有按键按下,假如无按键按下就会进入等候有按键按下状态,假如有按键按下话就进入延时去抖步骤,这么能够肯定确
29、实定扫描到按键是否被按下。经过去抖以后就是确定按键位置即是第几行和第几列,找到按键后,就是确定键值并返回按键值,每一次扫描到有键按下后,最终全部要有释放闭合按键步骤,这是为了避免影响下一次键盘扫描和按键值读取。步骤图图5-2所表示键盘扫描返回键值闭合键释放计算键值找到闭合键延时去抖有键闭合?YN图5-2 键盘模块步骤按键消抖子程序所表示:if(press_on!=0XF0)/-按键消抖-(时间自定)delay(50);press_on=KEY_IO; 确定键值子程序以下所表示:switch(row) case 0xe0:row=0;break;case 0xd0:row=1;break;cas
30、e 0xb0:row=2;break;case 0x70:row=3;break; switch(col) case 0x07:col=0;break;case 0x0b:col=1;break;case 0x0d:col=2;break;case 0x0e:col=3;break; recieve=key_valuerowcol; 5.3显示模块步骤图LCD显示模块软件设计关键包含开始、初始化LCD、清除LCD、写LCD四个过程。其中写包含写数据和写字符。写数据部分程序:/写数 (5位数据)void printf_data(uchar row,uchar col,uchar count,ui
31、nt dat) uchar sh1,sh2,sh3,sh4,sh5; sh5=dat/10000; sh4=dat%10000/1000; sh3=dat%1000/100; sh2=dat%100/10; sh1=dat%10; write_adr(0x0c); switch(row) case 1:row=0x80;break; case 2:row=0xc0;break; default:break; write_adr(row+col-1); delay(500); if(count=5) write_data(sh5+48); if(count=4) write_data(sh4+4
32、8); if(count=3) write_data(sh3+48); if(count=2) write_data(sh2+48); if(count=1) write_data(sh1+48);写字符小程序为:/写一段字符void printf_char(uchar row,uchar col,uchar Inbuffer31) uchar i; write_adr(0x0c); switch(row) case 1:row=0x80;break; 步骤图5-3以下:初始化LCD开始清除LCD写LCD结束图5-3 显示模块步骤图5.4修改密码步骤图修改密码模块关键是在输入密码正确以后,按下
33、14键即是修改密码键就能进入修改密码界面,其步骤分为四个步骤,分别为按下14键并开启定时、输入修改密码、按下确定键11键、LCD显示。修改密码部分程序以下:/改密码void ch_word(void)unsigned char recieve=0xff,b10,j=0;LCD_CLR();printf_char(1,1,new_password%d);while(recieve!=11)recieve=keypad();delay(10000);if(recieve=0)bj=recieve;printf_data(2,j+1,1,recieve);j+;else if(recieve=12)
34、if(j!=0) aj=0;printf_char(2,j, %d); j-; 步骤图图5-4所表示:按下14键开启定时输入密码存入缓冲按下确定1111键比较密码调用LED调用显示 图5-4 修改密码步骤图5.5开锁和报警模块步骤图开锁和报警模块关键任务是把从键盘输入到单片机密码和本身保留在单片机中密码进行对比,假如正确就开锁,假如错误话就进行计数并显示在LCD液晶显示器上,当输入密码错误次数达成3次就进入报警模式,开启蜂鸣器报警。其步骤图图5-5所表示。 图5-5 报警步骤图6 电子密码锁系统调试及仿真6.1硬件电路调试及结果分析硬件调试首先检验电路板焊接是否有误,检验有是否出现虚焊、漏焊、
35、线路短接、元器件引脚是否错误焊接等等问题,然后检验电路中一些元器件是否起作用,最终利用部分小程序测试LCD1602是否完好无损。检测单片机是否工作可经过观察示波器显示波形是否衰减,或利用万用表测一下18,19脚电压,应该有个2-3V就说明起振了,另外,ALE假如有信号或有电压也说明单片机工作了。我采取利用万用表侧18、19脚电压,其结果显示为2.3V。检测电路有没有虚焊可用万用表二极管档来检测,当把万用表红黑两表笔接触在焊接线路两端后,万用表发出声音,则说明没有虚焊。检验电路是否短路也是利用同一原理。6.2软件调试及功效分析软件调试即是把已经写好C语言程序载入到软件调试工具,检验软件是否有设法错误,再依据软件提醒对本程序进行修改,直到没有错误再生成单片机能运行机器码,再用51开发板或其它单片机写入工具把机器码写入单片机进行实际程序调试,依据实际情况再对程序不足加以修改,直到满足设计要求。本设计采取Proteus和KEIL软件进行仿真、调试,首先在在Proteus软件上进行硬件电路描绘,其次在KEIL软件编写电子密码锁源程序,源程序经过汇编后产生Hex文件,最终将生成目标文件添加到单片机中仿真调试。6.2.1调试过程首先打开KE