本科毕业设计说明书(论文)
4 仿真调试
4.1 Proteus ISIS简介
第 22 页 共 41页
本设计硬件原理图的绘制使用了Proteus软件,Proteus软件是一款电路设计与仿真软件,它基于VSM技术,相比其他软件有着诸多优点:它支持仿真的单片机型号很多,像MCS-51系列、PIC系列等均可,同时集成了多样的单片机外围电路,比如键盘、LED、LCD等等。Proteus软件使我们可以比较容易地获得一个功能多、易使用的单片机仿真平台。
4.2 软件调试
4.2.1 Keil软件简介
本设计的软件编译环境使用了Keil uVision4,这是一款基于C语言的51系列兼容单片机软件开发系统。相比于汇编而言,C语言无论是在在功能上、结构性上,还是在可读性、可维护性上都有着巨大的优势,使人们得以编制更加复杂、精致的程序。除了语言优势,Keil C51软件生成的目标代码很紧凑,这加快了运行速度,提高了效率。
使用者可以用任意编辑器编写代码源文件,添加到C51及A51编译器中就可以编译生成OBJ文件,然后连接定位库文件后生成ABS文件。ABS文件经过OH51的转换就可以得到标准的Hex文件,可以使用仿真器直接对目标进行调试[18]。
4.2.2 程序调试
在Keil软件上进行程序的调试,首先新建工程,在空白的代码编辑页输入程序,保存后进行程序编译,若报错修改报错处。经反复修改后,程序会提示编译成功,编译成功的画面如图4.1所示:
本科毕业设计说明书(论文)
第 23 页 共 41页
图4.1 Keil编译成功
Keil中的程序需生成51单片机可执行的HEX文件,需要对“目标1”的属性进行如图4.2和图4.3所示的操作。
图4.2 目标1的选项(1)
图4.3 目标1的选项(2)
本科毕业设计说明书(论文)
4.3 Proteus仿真
第 24 页 共 41页
在Proteus中打开前面所制作的工程,双击单片机芯片,在其属性中填入上一部所生成的 E-lock.hex 文件,如图6.4所示:
图4.4 AT89C51的属性
点击“开始仿真”按钮后,就可以看到最终的制作成果了。初始状态如图6.5所示。
图4.5 仿真初始状态
现在就可以逐一实现电子密码锁的各种功能。以下是电子密码锁各种功能实现的具体仿真过程:
本科毕业设计说明书(论文)
反应出来,仿真效果图如图6.6所示。
第 25 页 共 41页
(1)本电子密码锁在密码输入过程中,每输入一位密码,都会在显示屏上
图4.6 输入密码时的仿真图
(2)本设计设定的初始密码为111222,当在4*3矩阵键盘上输入111222并按下确认键后,显示屏上将显示 “Unlock Succeed”,同时播放音乐,实现开锁功能。在本设计的仿真中使用发光二极管代替实际产品中的电磁锁,以发光二极管D1的发光代表锁打开。密码输入正确,实现开锁的仿真图如图6.7。
图4.7 密码正确实现开锁的仿真图
(3)当密码输入有误时,显示屏上将会显示“Wrong Password, Unlock Failed !”,同时播放短促的报警声,锁保持关闭,发光二极管D1不发光。密码输入错误,锁不打开的仿真图如图6.8所示。
图4.8 密码错误不能开锁的仿真图
本科毕业设计说明书(论文)
第 26 页 共 41页
(4)电子密码锁的密码可修改。用户确认修改后会提示用户输入旧密码,当旧密码输入正确并验证通过后,即可设置新的密码。按下“修改密码”键后显示屏的显示情况如图6.9所示。
图4.9 询问用户是否要修改
图4.10 确认修改后画面
(5) 如果旧密码输入错误则不能进行新密码的设置,显示屏上会显示“Wrong Password, Match Failed!”并于3秒后要求重新输入。显示屏显示如图6.11所示。
图4.11验证原密码失败的仿真图
(6)只有当输入的旧密码正确时,方可输入新密码,显示如图6.12所示。