宠物定时喂食器设计与开发毕业论文 下载本文

2)变压器后面是一个桥式整流电路,此电路由4个二极管组成,整流后就得到一个电压波动很大的直流电源,所以在这里接一个电解电容。

3)变压器输出端的12V电压经桥式整流并电容滤波,在电容C2两端大约会有13V多一点的电压,假如从电容两端直接加一个负载,当负载变化或交流电源有少许波动都会使C2两端的电压发生较大幅度的变化,因此要得到一个比较稳定的电压,在这里接一个三端稳压器的元件。

4)因为我们要输出5V的电压,所以选用7805,7805前面的字母可能会因生产厂家不同而不同。LM7805最大可以输出1A的电流,内部有限流式短路保护,短时间内。

5)三端稳压器后面接一个C2的电容,这个电容有滤波和阻尼作用。最后在C223两端接一个输出电源的插针,可用于与其它用电器连接,比如MP3等。虽然7805最大电流是一安培,但实际使用一般不要超过500mA,否则会发热很大,容易烧坏。一般负载电有200mA以上时需要散热片。 4.思路方法:

平时对于5V 的直流电源需求的情况比较多,在单片机,以及一些电路中应用的较多,因此,为了更方便快捷的由220V的交流电得到这样的电源,因此设计了这样一个电源电路模块。首先,翻阅了参考书,复习了整流稳压的一些电路知识,然后设计出一个实现电路,使用了portel99绘制出电路图,对电路进行简单的仿真和校验。最后进行调试证明方法可行。

4系统软件设计

4.1主程序流程图 4.1.1主流程概述

主程序包括按键模块、LCD16864显示模块、DS1302时钟模块、DS18B20温度测试模块、电机控阀门、闹铃模块等。通过开始查询按键,有键按下则开始调整时间和设置闹钟,若没有按下,则执行下面的时间、日期及闹钟时间的显示,最后依次循环这些相同的操作,相应流程图如图4-1所示:

图4-1 程序主流程图

4.1.2设计思想

本课题的设计思想是根据宠物自动喂食器的要求来设计的,如图4-1所示。程序的主要流程的大致过程如下所示:

1)首先初始化各个硬件设备,初始化所需的定时器、中断等; 2)程序初始化之后,正常情况下给宠物自动添加食物; 3)DS18B20温度测试和DS1302时钟电路模块开始工作;

4)接着进行数据的读取,判断LED12864显示是否正确,分三种情况来说: ? 若LED显示器没按定时器的要求正确显示,通过按键进行调整闹铃,直

到正确为止;

? 若万年历的数据显示不正确,也是通过按键进行调整年、月、日、时、

分、秒,直到调整到我们需要的时间显示;

? 若显示正确,能够在显示器上直观的看出显示的正确结果。

5)当调整好闹铃和万年历时,当到达设定时间时,蜂鸣器发出声音,彩灯

点亮,步进电机会控制门阀打开宠物喂食器,进而使得宠物进食,一直循环进行;

6)最后结束显示万年历。

4.2程序设计软件概述

本设计是以AT89S52最小系统为主控,通过编写软件控制单片机,通过按键操作设定喂食时间和调整万年历,实现温度和万年历的显示,喂食过程伴随照明灯的点亮,启动闹铃。

本系统中单片机的开发软件是采用 KeilC51软件,该软件集编译和调试于一体,包括查看单片机I/O口,串口通信,定时器等内部资源。下载软件和程序写入。

KeilC51是美国公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在结构性、功能、可读性、可维护性显著的优势,所以很容易学。此软件包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。如果你使用C语言编程,那么KeilC51就是你的最佳选择,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编,PLM语言和C语言的程序设计。

4.3软件调试

1.使用Keil软件编程步骤:

1) 使用软件Project菜单项中的New Project建立一个新的工程。 2) 为新工程选择芯片,添加源程序文件(.c 或是.asm)。

3) 对工程进行相关的配置,Option for Target1配置页面窗口中选中Output页面

中的Create HEX选项。

4) 编写程序并使用Project菜单项中的Build All子菜单为应用创建可执行(.HEX)。 2.调试程序

调试程序是发现查找程序的逻辑错误的过程。 1) AT89S52单片机下载线,打开实验 箱电源。 2) 打开电脑桌面上的双龙电子软件SLISP。

3) 在SLISP软件界面中,器件—选择AT89S52, FLASH存储器—选择由Keil

软件生成的**.Hex文件,之后点击软件界面最下方的编程按钮,下载程序,下载完成,单片机会自己执行程序。

4) 观察程序执行结果,程序运行结果与预期不一致,则返回Keil编程界面,检

查程序逻辑。

5系统调试

5.1硬件调试方法

1.是焊接的顺序问题。

当初板子做好以后,我一口气就把所有的元件焊上去了,这样对于没有调试过的板子,就很难找到原因。所以焊接的顺序很重要,应该是应该按功能划分的器件进行焊接,顺序是功能部件的焊接--调试(OK)--另一功能部件的焊接,这样能容易找到问题的所在。

2.调试功能划分的器件上出现问题,按以下步骤进行: 1)检查原理图连接是否正确。 2)检查原理图与PCB图的一致性。

3)检查原理图与器件的DATASHEET上引脚是否一致。 4)用万用表检查是否有虚焊,引脚短路现象。

5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确。

6)用示波器进行检测。如我就是通过示波器对SRAM各个引脚进行检查,发现地址线都是有信号的,而数据线无信号出现,才找到问题所在。

7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。

3.多观察,多思考。在调试过程中,对于出现的任何现象都不要放过,问题的解决就是从一些小的现象入手的。

4.软件的调试要和硬件配合进行,往往问题可能不是硬件上的问题。

5.2硬件调试技巧

1.排除逻辑故障

这类故障往往是由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查