河南科技大学毕业论文
§4.4.1显示程序设计
其显示子程序流程图4.4.1-1如下所示:
程序开始位选信号YP0口输出为位选数据段选信号YP0口输出为段选数据数码管显示数据信息
图4.4.1-1
其显示子程序名称为:display(),具体内容会在附录中给出。
每次先送一位要显示的数据位地址字节,然后再送该位LED的显示数据字节,直到8位显示完全。正常工作中8位数码管显示实时时钟,时间显示小时、分钟和秒钟,其中有两位用来显示“--”,用以分隔小时、分钟和秒钟,这样显示更加清晰。
§4.5红外遥控模块
按键是系统输入数据设备应用最广泛的一种,它也是人机交互对话。本系统在按键不多的情况下采用中断方式,把按键信号采集放在中断程序中,按键的功能放在任务操作模式中完成。
本系统通过红外遥控器来作为按键使用。首先通过红外线遥控器解码程序来获得红外按键的编码值。再通过相应码值来设置对应的按键操作。其对红外遥控程序的操作,我们单独以头文件的方式给出,其头文名称件程序为IR .h,具体内容会在附录中给出。
27
河南科技大学毕业论文
第5章 系统调试运行及问题分析
整个系统设计完成后,要进行运行调试,排除软件和硬件的故障,同时验证系统的可靠性及稳定性,使系统符合设计要求。本系统的调试主要分两个步骤:单片机系统调试(硬件调试和软件调试)及整个控制系统试运行调试。
§5.1单片机系统调试方法及步骤
单片机系统的调试应包括硬件及软件两部分,主要是通过调试发现硬件及软件中存在的问题,查看其运行结果是否符合设计要求。
系统硬件和软件的研制可以相互独立的平行进行,软件调试可以在硬件完成之前,硬件也可以在无完整应用软件的情况下进行调试,但它们需要借助另外的工具提供调试环境。硬件和软件分调完成之后,还要再进行软件和硬件的联调,在调试中找出问题,判断故障源,修改软硬件。
在对系统进行实际调试时,首先应对硬件进行静态调试,同时对系统软件进行初步调试,此后再对软件和硬件进行动态调试,最后才能使系统进入正常工作。
1. 静态调试:静态调试主要是排除明显的硬件故障。在电路搭建好后,对其进行仔细检查,查看端口是否正确连接,连接是否可靠。同时还应当用万用表检查电路,看应当开路的地方是否开路,应当短路的地方是否短路,电源地线连接是否可靠。在焊接后,查看焊接是否牢固,有无虚焊或短路等。在将芯片、传感器等元件插到电路板上时,要保证各处电源极性、电压正确,以防止因电源极性接反或电压过高损坏芯片或传感器。此外,插入芯片必须在断电的情况下进行,特别注意芯片的方向不要插反。
2. 软件调试:系统软件程序在编制好以后,可通过汇编软件对源程序进行汇编,变为可执行的目标代码,在汇编过程中出现的错误,要及时纠正。在软件调试时采用软件模拟开发系统对程序进行调试,这种模拟开发系统是在计算机上利用模拟软件实现对单片机的硬件模拟、指令模拟及运行状态模拟,从而完成应用软件开发的全过程。调试过程中的运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,通过这些显示结果随时跟踪程序运行状态,以确定程序
28
河南科技大学毕业论文
运行无错误。
3. 动态调试:控制系统的软件和硬件是密切相关的,软件模拟开发系统不能对硬件部分进行诊断,同时也不能实时在线仿真,所以用户程序还需跟硬件连接起来进行联调,同时对软件和硬件进行检查和诊断。整个单片机系统进行在线调试时,需借助仿真开发工具来对用户软件及硬件电路进行诊断、调试。在应用系统各电路板调试成功后,将用户程序加载到在线仿真器上,这时就能单步、多步或连续地执行目标程序,同时也可以根据需要分段设置断点执行用户程序。系统中的硬件故障(如各个部件内部存在的故障和部件之间连接的逻辑错误)主要是靠联机仿真来排除的。对于与硬件无联系的用户程序,例如定时标志等,虽然已经没有语法错误,但可能存在逻辑错误,这时,就借助于动态在线调试手段发现逻辑错误,直至逻辑错误纠正为止。而对于一些与硬件相关的用户程序,如接口驱动程序等,则需要配合硬件,进行在线调试,如果有逻辑错误,也要及时纠正修改。程序调试完毕后,利用在线编程器将程序固化到单片机中,使整个系统运行起来。
§5.1出现的主要问题及分析解决
系统调试一般来讲是一种复杂,而仔细的工作,所以在调试过程中需要有耐心,仔细检查、解决出现的一切问题。只有所有问题都得到解决后,才能保证整个系统的正常运行。在本系统的调试过程中遇到的主要问题及分析解决:
问题1: 电源供电电路中集成稳压器温度过高。分析解决:稳压器温度过高的原因之一是:12V变压器整流滤波后加到集成稳压器输入端的电压较高,使7805上的压降过大。此问题可通过使用9V变压器,在集成稳压器前串入两只二极管降压,同时增大散热片来解决。
问题2: 人体存在传感器有人存在时输出高电平的电压偏低分析解决:人体存在传感器输出高电平的电压偏低,单片机会产生误判,或采集不到正确的信号,于是在人体存在传感器的输出端加一个100千欧的上拉电阻。
问题3: 有人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的,那么如何判定教室此时有人的问题。
分析解决: 有人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的问题。此问题在系统软件设计时,将有人体存在的状态保持二至五分钟再继续采集信号,并加以处理。
29
河南科技大学毕业论文
问题4: 单片机控制信号输出后,继电器没按预定设计产生动作。
分析解决: 单片机输出控制信号,在控制继电器时,必须加驱动模块,否则信号电流过小将不能使继电器产生吸合动作,在本电路中我们加入的驱动模块是芯片ULN2003来驱动继电器使其能正常运行,最终带动负载。
问题5: 每次开机插上电源后,硬件时钟显示的时间都从所设初始值开始计时。 分析解决: 硬件时钟显示的时间不正常。解决办法一方面是充电电池没有充电功能;另一方面是应对硬件时钟先进行自检。
30
河南科技大学毕业论文
结 论
本课题对适合应用于教室灯光控制系统部分进行了研究。以环境光、人体存在状况等外界环境为控制器的输入参数,比单纯的人员管理教室灯光更合理更有效的降低教室灯光的资源费用,同时还加入时间控制参数,使教室灯光的控制更加符合学校的作息时间。本控制系统的设计对于各类大、中专院校的教师灯光管理具有重要的意义,也使用于各类办公室的灯光控制。
该教室灯光系统的控制是以AT89C2051单片机主控单元为核心,通过相关电脑的驱动,完成对系统设备(灯光)的控制,采用一个二极管闪烁显示整个系统的工作状态,实现对教室灯光的自动开灯、关灯控制。系统设计智能化控制的同时还设置了手动和遥控器控制,这样在系统偶尔出现故障时,可采用手动操纵,不至于影响教室灯光的正常使用。
在保证系统与已有的教室灯光配套使用时,不需要对原有设备电路进行大的改动,以降低成本实现教室灯光的智能控制。
由于教室大小面积各不相同教室灯光数量不一教室内部安装智能控制设备的数量也会有所不同,特别是人体传感器使用的数量受面积的影响很大,一套教室灯光控制系统也只是在有限的范围内。若教室面积很大,超过传感器的辐射范围,这样采集的信号可能会不够准确,进而影响控制设备的运行。为防止这种现象的发生,使系统更加的可靠,最好采用多个传感器。
初步试验表明,基于C51单片机的教学楼智能照明系统,能完成对教学楼内各种教室及楼道照明的智能控制,精度在要求指标范围内。
31