课程设计 4.2键盘扫描模块
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图4.2 所示.
图4.2 键盘扫描流程图
4.3修改密码模块
在密码输入正确情况下,可以按下“重置密码”对密码进行重新设置,每设定一位就将密码储存起来,当设置4位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。图4.3为修改密码流程图。
12
课程设计
图4.3 密码修改流程图
5 系统调试与总结
5.1系统调试
软件调试方案:伟福软件中,在“文件\\新建文件”中,新建C语言源程序文件,编写相应的程序。在“文件\\新建项目”的菜单中,新建项目并将C语言源程序文件包括在项目文件中。在 “项目\\编译”菜单中将C源文件编译,检查语法错误及逻辑错误。在编译成功后,产生以 “*.hex”和“*.bin” 后缀的目标文件。
硬件调试方案:在设计平台中,将单片机的P1.0-P1.7分别与8个独立式键盘通过插线连接起来,将P3.0-P3.3分别与4个发光二极管连接起来,P3.4与蜂鸣器的输入连接起来。 在伟福中将程序文件编译成目标文件后,将下载线安装在实验平台的下载线接口上,运行“MCU下载程序”,选择相应的flash 数据
13
课程设计 文件,点击“编程”按钮,将程序文件下载到单片机的Flash中。然后,上电重新启动单片机,检查所编写的程序是否达到题目的要求,是否全面完整地完成试题的内容。
5.2总结
从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多
于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。
参考文献:
[1] 张迎新.单片微型计算机原理、应用及接口技术(第2版)[M].北京:
国防工业出版社,2004
[2] 伟福LAB6000系列单片机仿真实验系统使用说明书
[3] 阎石.数字电路技术基础(第五版).北京:高等教育出版社,2006 [4] 夏路易 石宗义. 电路原理图与电路板设计教程Protel99SE(附光盘)/高等院校电子技术教材,2006
14
课程设计 附录A 系统原理图
附录B 源程序
EN BIT P3.0; RW BIT P3.1; RS BIT P3.2; DISPLAY EQU P0; SPEAKER BIT P1.0; LED BIT P1.2; OPEN BIT P1.1;
RETURNBIT BIT 20H.1; ;密码缓冲区 PS1 EQU 46H PS2 EQU 47H PS3 EQU 48H PS4 EQU 49H PS5 EQU 4AH
PS6 EQU 4BH ;AT24C02读取缓冲区 REDY AT1 EQU 34H AT2 EQU 35H AT3 EQU 36H AT4 EQU 37H AT5 EQU 38H AT6 EQU 39H
SDA BIT P1.4 ;定义串口数据端 SCL BIT P1.3 ORG 0000H; LJMP START; ORG 000BH;
LJMP INTERMIT_T0; ORG 001BH;
LJMP INTERMIT_T1; ORG 0030H; START:
MOV SP,#60H;
LCALL SYS_INITIALIZATION;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序
MAIN0: LCALL STRAT_DISPLAY; MAIN:
MOV 52H,#0; 52H判断输入错误次数储存地址
SETB LED; SETB TR0; LCALL KEY;
CJNE A,#'A',NEXT1; LJMP SET_PASSWORD;
15

