电子密码锁的设计与制作 - 图文(5)

2019-03-03 21:31

第四章 系统软件设计

第四章 系统软件设计

因设计主要是作用汇编语言来开发的51单片机项目程序,所以首先必须有一个可以在Windows XP或Windows vista操作系统下执行的汇编语言编译器,本设计采用Keil编译器进行编程,因为它可以支持一系列的51单片机。

开始 旧密码输入 初始化 A 模式选择 B 新密码输入 存入缓存区 N 再次输入密码 重新输入 识别按键 手动清除 N 密码输入 Y 密码比较 设置完毕返回 开门

图4-1 主程序的流程图

4.1主程序模块

主程序主要是完成系统初始化、设置中断向量、检查有无键按下、以及调用显示等等。主程序部分如下所示: en bit p3.5 rw bit p3.4 rs bit p3.3

;将lcd的en管脚连接到单片机的p3.5口 ;将lcd的rw管脚连接到单片机的p3.4口 ;将lcd的rs管脚连接到单片机的p3.3口 ;将lcd的显示端口连接到p0口上 ;蜂鸣器连接到p2.6口

;与蜂鸣器共同作用的led灯连到p2.7口 ;开锁电路的控制端连接到p2.0口 ;程序开始地址

display equ p0 speaker bit p2.6 led bit p2.7 open bit p2.0 ORG 0000h LJMP start; ORG 000bh;

returnbit bit 20h.1;

15

淮安信息职业技术学院毕业设计论文

LJMP intermit_t0; ORG 001bh;

LJMP intermit_t1; ORG 0030h; start:

MOV sp,#60h; lcall sys_initialization

;调用子程序sys_initialization

4.2键盘扫描及识别子程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图4-2所示

键盘部分程序如下: key:

;键盘程序名称 ;调用子程序ks ;判断是否有键按下 ;跳回键盘程序

call ks jnz k1 jmp key

ks:mov p1,#0f0h; mov a,p1; xrl a,#0f0h; ret;

16

第四章 系统软件设计

图4-2 键盘扫描程序流程图

4.3系统模块密码设置子程序

由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每个功能模块都有它自己的子程序,在本设计中是用LCD显示数据,所以就要用到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。如下图为密码修改子程序流程图

17

淮安信息职业技术学院毕业设计论文

选择模式 旧密码输入 新密码输入 存入缓存 重新输入 再次输入密码 N 是否大于3次 Y 锁定 N 比较密码 Y 返回

图4-3 设置密码子程序

4.4程序调试

在硬件支持的环境下,用proteus设计好的电路,Keil编好的程序编译成芯片可识别的S51文件,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,由图4-4~图4-7可看出最终调试成功。

图4-4 keil编译程序成功

18

第四章 系统软件设计

图4-5 keil生成hex文件

图4-6 proteus调用keil的hex文件进行仿真

19


电子密码锁的设计与制作 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年中考物理试题分类汇编—光现象

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: