西南科技大学本科生毕业论文
开始设置显示位LCD初始化写数据LCD写命令判忙LCD判忙写完?YP0.7=0?Y结束NP0.7=0?NYN写完?YN
图4-4 LCD1602液晶显示子程序流程图
从此流程图我们得出:LCD液晶显示屏在写显示程序的时候,我们要先写命令,再设定字符显示和汉字的位置,最后写数据,在每写一次命令或数据都需要判断液晶是否忙。打开液晶显示屏进入初始化状态,开始写命令,首先判断LCD是否忙,如果是P0.7=0,那么进入下一步写命令,如果不是P0.7=0,返回LCD是否忙。
4.6 电子锁门禁开关子程序设计
本系统的电子锁门禁开关,单片机只需要输出高低电平即可,输出高电平代表继电器上电,模拟电机运作,门禁开门,低电平即电机停止,门禁自动关闭。程序流程如图4-5所示:
开始IC卡扫描识别成功?YI/O输出低电平N电子锁门禁开
图4-5 门禁系统开关子程序流程图
23
西南科技大学本科生毕业论文
4.7 报警子程序设计
本系统的报警提示是通过蜂鸣器和LED来实现的,根据报警电路原理,报警是通过一个I/O口来实现的,当I/O口输出低电平,蜂鸣叫叫且LED亮;当I/O口输出高电平,蜂鸣器不叫且LED灭。报警提示子程序流程如图4-6所示:
开始IC卡扫描识别成功?NYI/O输出高电平LED/蜂鸣器报警关LED/蜂鸣器报警开
图4-6 蜂鸣器/LED报警子程序流程图
4.8 本章小结
本章主要完成了系统总程序的设计,一系统框图的方式,将各个模块如何运行,完成各自需要的动作,以实现设计要求的各项功能,其中包括了IC卡读写子程序的设计和键盘扫描程序的设计,以及液晶显示子程序等。
24
西南科技大学本科生毕业论文
第5 章 门禁系统的调试
5.1 门禁系统模拟调试
5.1.1 单片机软件模拟调试
系统软件调试采用Keil4编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作。将设计的程序通过编程器下载到单片机STC89C52单片机中,再将单片机插入插座里,给制作的实物连通电源。即可完成程序下载。
下载过程中,若出现现在失败,是因为单片机需要断电上电才能下载。关闭电源即可。前提是串口要找正确,单片机型号选择要正确。
软件调试也需要和硬件结合起来,本系统调试过程中即使如此。调试步骤如下:
(1)KEIL软件代码编写; (2)KEIL软件代码编译; (3)程序纠错,指导错误为0; (4)程序下载到单片机看运行情况;
(5)是否达到设计要求,否则返回1进行代码编写。
将软件程序下载到KEIL软件后运行程序,软件界面显示程序有误,如图5-1所示:
图5-1 程序报错
经过分析,在软件程序中代码有误,将程序出错代码改写,
25
西南科技大学本科生毕业论文
init_all();
GG=byte_read(0x2000); init_lcd();num=255;
timer0_init();//定时器初始化函数
YE=13;MO=11;DA=2;XQ=6;HH=MM=SS=0;//时钟、日期初始化
counter11=0;counter=0;x=0;
重新下载到软件并运行,结果与预想一样,能够实现预期的结果,调试如图5-2所示:
图5-2 KEIL软件调试
单片机软件的调试主要是观察以下几个方面:
在没有连接任何硬件设备之前,进行软件部分的上机的模拟调试。主要是使所编辑的程序没有语法上的错误。并且使得软件的编译尽量模块化,符合硬件的实际工作环境。
模拟量采集的软件调试部分:对8路模拟量的采集是通过一个调用函数READ_MONI()来实现的。在调试中要做到的就是模拟量采集数据的准确性。在实际调试中,通过在ADC0809的模拟通道上加上稳定的电压,然后由单片机读取并将结果送至上位机处理后显示出来结果与实际的电压对比,观察其相差程
26
西南科技大学本科生毕业论文
度的大小来实现的。对8个通道数据的采集都是采用这样的方法。直到所有的通道采集结果均达到所要求的精度要求就可以了。 5.1.2 单片机硬件模拟调试
在完成了系统的软、硬件设计工作之后,进行了实际的电路板焊装和整体调试,调试中使用的主要仪器有:万用表、示波器、伟福810仿真开发系统以及串口调试助手串口精灵。
卡操作调试
利用串口调试助手,刷卡后,观察卡号是否能够在串口精灵中正确显示。调试结果为:刷卡后,在串口精灵中可以看到正确的卡号。该调试结果表明:主板部分和读卡器部分以及串口通信都正常工作,能够达到预期的效果。
按键操作调试
在卡操作达到预期效果的前提下,按照按键操作说明,分别进行键盘操作,观察卡注册、卡注销、呼叫开门、修改密码等按键操作后,其相关操作都能正常工作。该调试结果表明:按键部分也能正常工作。
5.2 系统硬件焊接与调试
根据系统设计方案,本系统的调试可分为两大部分:模拟部分和纯MCU部分。由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试。断开两部分的连接点,先调试MCU部分。试着输入一系列脉冲(用适当的电阻接正极,间断性地输入),观察MCU部分能是否能显示;模拟借助示波器观察波形效果如何。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。最后将各模块组合后进行整体测试,使系统的功能得以实现。
1.硬件调试
硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺故障。 (1)脱机检查。按照电路原理图用万用表逐步检查电路板中所有器件的各引脚,尤其是电源的连接是否正确;检查各开关按键是否能正常工作:为了保护芯片,优先对各IC座(尤其是电源端)电位进行检查,确定无误后插入芯片。
(2)联机调试。暂时拆下芯片,将仿真器的仿真插头插入芯片插座进行调试,检验键盘电路是否满足要求。通过简单的测试软件来查看接口工作是否正常。例如,将一个能通过安检控制蜂鸣器声响检测键盘电路的好坏。运行结果与预期相符,蜂鸣器动作,可验证键盘电路没问题。
27