可预置的定时显示警报系统方案_第1页
可预置的定时显示警报系统方案_第2页
可预置的定时显示警报系统方案_第3页
可预置的定时显示警报系统方案_第4页
可预置的定时显示警报系统方案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 学院第六届大学生电子设计竞赛设计报告作品名称:可预置的定时显示报警系统学校全称: 合 肥 学 院团队成员: 浩忠 08级电气(5)班王笑康 08级电气(5)班朱丹 08级电气(5)班可预置的定时显示报警系统摘要:此次设计的是一个基于AT89S52单片机的多功能可预置的定时显示报警系统,能够实现时间可预置报警显示模块,根据具体情况设置定时时间、时间递减显示间隔以与报警持续时间。另外,通过菜单选择,实现了置篮球24秒倒计时显示模块,可以任意暂停,有效的计算比赛的准确进度时间;万年历时钟显示当前时间,本系统采用的DS12887芯片具备置电池,可以在单片机断电的情况下,继续计时,保持万年历时间的准确

2、性。关键词:可预置报警系统,DS12887,单片机 一、理论分析1.1系统设计目的本系统主要用于对时间有所限定的比赛中。比如篮球比赛规则中,队员持球时间不能超过30秒,达到时刻系统会立刻报警,给运动员和裁判员提供准确比赛信息。本系统可实现篮球24秒倒计时功能,可以对定时时间进行预置,时间围在0999秒之间,可任意设置倒计时显示间隔时间以与报警持续时间,扩大了本系统的使用围。1.2 系统设计思想本系统以AT89S52为系统控制器,DS12887为时钟芯片,LCD1602和数码管为显示模块,蜂鸣器和发光二极管作为报警模块,整个系统由独立键盘完成预置。系统采用LCD1602实现菜单显示、万年历的显示

3、和数码管实现显示倒计时。独立键盘操作实现人机对话完成对菜单选择和时间的设定。二、方案比较与确定2.1、控制模块凌阳单片机本身具备语音识别功能的十六位单片机,具有基本的DSP功能,具备语音识别的优点。如常见的语音控制机器人,语音控制小车等。AT89S52是一种低功耗、高性能CMOS8位微控制器,应用围广。凌阳单片机在语音处理功能方面较为出众,但是我们采用AT89S52作为控制中枢,它能够满足我们的作品需求,同时使用简单、方便。2.2、电源模块(1)购买电源(2)使用电脑供电。使用第二种供电方式。设计出来的系统工作状态相对较稳定。2.3、显示模块(1)数码管显示(2)1602液晶显示(3)数码管结

4、合1602液晶显示。使用数码管显示报警持续的时间。三位数码管分别显示十位、个位与小数点后一位。 LCD1602液晶作为万年历显示模块以与功能菜单的显示模块。使用一红色LED发光二极管作为报警时候的闪烁灯,起到报警引起注意力的作用。2.4、时钟模块(1)DS1302(2)DS12887。万年历的显示要用到时钟芯片,DS1302容易有不起振的现象,需要外部供电、外接晶振与电容;DS12887部自给供电,晶振置。本模块有两个功能:一是为系统提供实时的时间日历信息;二是送出一个周期为 125ms 的方波。DS12887 是 DALLAS 公司生产的实时日历时钟芯片,其主要功能包括非易失性时日历时钟、报

5、警器、百年历、可编程中断、方波发生器和 114 字节的非易失静态 RAM。本系统采用的是时钟芯片DS12887,如附录一图一所示。2.5、操作模块(1)矩阵键盘(2)独立键盘。本系统要求可预置定时显示以与菜单选择,此模块的实现需要键盘模块。独立键盘的制作和处理简单;矩阵键盘节约I/O口,但是为了判断是哪一个键盘被按下要用到动态扫描,从软件处理方面相对较麻烦。结合作品需求的实际情况,采用独立键盘。综上所述,整个系统的方案方框图如下图1所示:图1 系统方框图三、系统硬件设计单元模块设计根据本系统要实现的功能分为四个模块:显示模块;驱动模块;键盘模块和控制模块。3. 1显示模块显示模块包括三个功能:

6、万年历与菜单显示、报警持续时间显示、闪烁灯显示。其中万年历与菜单显示模块采用DS12887时钟芯片显示当前时间和日期;报警持续时间显示的是预先设置要报警的延续的时间的长度。在报警开始的时刻起,数码管开始显示倒计时,闪烁灯在报警的同时不断的闪烁,闪烁的时长和预置的报警延续时长一样。3. 2驱动模块驱动模块分三部分:(1)蜂鸣器的驱动。9012三极管,利用晶体管的开关功能对蜂鸣器进行驱动。(2)对数码管的驱动。本系统采用2片74HC573锁存:一片连接数码管的位选,单片机控制位选的数据输入;另一片锁存器连接8位段选,锁存器的三位数据输入由单片机的I/O口控制利用动态扫描实现显示,实现驱动,如附录一

7、图二所示。 (3)LCD1602液晶显示的驱动。LCD1602与时钟芯片DS12887相接。3. 3键盘模块本系统使用的键盘全部为初始化预置使用,使用的键盘数目较少,采用的是独立键盘,使用方便,避免了相对较麻烦的动态扫描。每个键盘与一个I/O口相连,在键盘被按下后,I/O口检测到低电平根据软件程序单片机完成相应的动作。模块图如附录一图三所示。3. 4 控制模块控制模块包括单片机的中枢控制和外部键盘的控制。(1)单片机的中枢控制本系统采用AT89S52单片机作为主控芯片。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在本系统中单片机主要作用

8、是判断四个独立键盘是否被按下,完成相应的响应。正常状况下,单片机读取DS12887中的数据,显示在LCD1602液晶屏上。当有键盘被按下时,启动预置显示的各个菜单,通过键盘操作完成初始化,开始倒计时。单片机的驱动主要是依靠最小系统来完成,包括一个复位电路与振荡电路。两个电路分别提供复位与时钟信号。最小系统电路图如附录一图四所示。(2)外部键盘的控制当外部键盘有动作时,I/O口返回单片机一个低电平,然后由单片机执行相应的功能函数。键盘SM2、SM3、SM4的作用分别为:显示时间设置、显示的星期设置、报警时长设置、翻转定时报警菜单与正常显示的日期。四、系统软件设计本系统程序采用Keil uVisi

9、on4软件编译,根据系统功能要求,系统初始化显示当前时间,此后扫描键盘,判断有无按键按下,并且根据不同的按键动作改变相应标志位的值,从而显示不同功能模块。整个系统软件的流程图如下图2所示:开始初始化显示时间键盘扫描时钟模块判断标志位预置报警模块图2 软件流程图五、系统测试5.1测试条件本系统在测试时采用电脑的USB接口提供稳定的5V直流电给系统供电。5.2硬件测试1、对系统电路的测试。在焊接好电路、连接好系统、系统通电之后发现系统并不能正常运行。仔细检查后发现单片机的P2的I/O口的前后顺序与P0、P1和P3的不是一样的。2、对显示模块的测试。在排查系统电路之后,首先对系统的LCD液晶显示模块

10、进行测试,发现液晶LCD并不能正常工作。首先从软件处寻找问题,在排除软件的问题后,查阅使用手册时了解到在显示之前要调节好显示屏的辉度,只有液晶在合适的辉度条件,才可以正常工作。3、对数码管测试。在对数码管的测试时没有出现什么问题。数码管是通过两块74HC573分别连接段选位选,通过动态扫描实现的。细心连接即可。4、对键盘模块的测试。主要测试的是四个独立键盘的功能是否可以得到完全实现。通过测试,功能完全满足预先设计的要求。5、对蜂鸣器的测试。蜂鸣器由晶体三极管驱动。当倒计时结束、报警开始时蜂鸣器开始报警,满足预先设计的要求。5.3软件测试1、在报警持续时间测试中发现当持续时间为15秒时,系统会一

11、直报警,没有按照预先设置停下来。仔细排查软件时发现时持续时间变量类型为unsigned char,数据围为0-255。当持续时间为15秒时,软件中的Tbeep=20*15=300,超出了数据围,导致数据不确定而出错,解决方案是把变量类型改为unsigned long。实测数据如表1所示。2、测试中发现当设置报警时间10秒,倒计时间间隔为4秒时,时间显示为10、6、2、0。但是从2变为0用了4秒的时间,显然就有了误差。解决方案是设置另一变量Ttime1,以1秒递减,当报警倒计时减至0秒时,让真实时间Ttime变为0,可以精确报警。实测数据如表2所示。3、本系统的应用功能较多,编写出来的程序代码较

12、多,采用的C语言编写环境为KEIL C 4,此程序编译后的程序HEX文件大于8K,超出了AT89S52的储存围。采用HEXBIN软件,把下载到单片机的文件的大小转换为满足AT89S52条件下的文件大小。表1 报警持续时间测试 表2 报警开始时间测试定时时间报警时间实测报警时间定时时间显示间隔实测报警开始时间15s5s5s110s1s10s210s5s5s210s2s10s315s5s一直报警310s3s12s六、系统所用到的材料与仪器本系统用到的元器件如表3所示。表3 系统元器件清单名 称数 量AT89S52 单片机1LCD1602 芯片1DS12887 芯片13位共阳数码管 1蜂鸣器1按键4

13、电源112M晶振1发光二极管若干74HC573两片电阻若干电容若干 导线若干六、总结本系统预先设计的目的是可预置的报警系统。主要是利用单片机的中枢控制功能,实现对万年历的显示、预置报警时间长度的预置,通过处理完成对预置时间的倒计时,在此过程中可以通过独立键盘任意暂停,满足了实时比赛的需求。在达到预置时间的同时,蜂鸣器开始报警,完成一次工作。同时具备的万年历功能模块是采用DALLAS公的DS12887芯片,置电池,断电情况下也可以精确的保持时间的进度,可以精确的显示时间,扩展了本系统的应用功能、围。通过预先设计与合理化的硬件电路设计与软件编程,本系统最终达到了上述的要求,可以满足预想的使用目的。

14、参考文献:1郭天祥编.51单片机C语言教程入门、提高、开发、拓展全攻略,2009年1月.2于永等编著.51单片机C语言常用模块与综合系统设计,电子工业,2007年4月.3永真编.全国大学生电子设计竞赛试题精解选,电子工业,2007年6月.附录一:电路图 图一:DS12887的管脚图位选控制锁存器 段选控制锁存器图二:2片锁存器图三:外接的独立键盘图四:单片机的最小系统图五:系统原理图图六:系统硬件电路图附录2 部分程序清单#include#define uchar unsigned char#define uint unsigned intuchar miao,fen,shi,ri,zhou,

15、yue,nian,time_flag,caidan_flag,time0ryuzhi_flag,timekey_num,yuzhikey_num,shuma24s_flag,shumayuzhi_flag,dp=0,tt=0,yuzhitime_flag;uchar yuzhitimekey_num,aa,bb,Ttime1,flagbb,flag_beep,Tbeep;char zhen=24,Tg,Tb,Ttime;sbit DS_cs = P20;sbit DS_as = P21;sbit DS_rw = P36;sbit DS_ds = P37;sbit LCD_rs = P22;sb

16、it LCD_en = P24;sbit key1 = P25;sbit key2 = P26;sbit key3 = P27;sbit key4 = P35;sbit duan = P30;sbit wei = P31;sbit beep = P34;sbit led = P23;uchar code table1= 20 - - ;uchar code table2= : : ;uchar code table3= W E L C O M E ;uchar code table4= 24S SET ;uchar code table5=Tgap Tbeep Ttime;uchar code

17、 table6= 0 0 0 ;uchar shuma10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void init_dis(uchar add,uchar table);void delay(uchar z) /延时函数void DS_write(uchar add,uchar date) /向DS12887芯片中的寄存器中写数据函数uchar DS_read(uchar add) /从DS12887芯片中读取数据函数void LCD_write_(uchar ) /1602写命令函数void LCD_write_data(uch

18、ar date) /1602写数据函数void Display_Btime(uchar add,uchar date) /在1602中指定位置显示单个数据函数void Display_BCDtime(uchar add,uchar date) /在1602中指定位置显示时间函数void Display_yuzhitime(uchar add,uchar date) /在1602中指定位置显示预置的数据函数void BCD_time() /从DS12887芯片中读取数据并且在1602中显示void disp24s() /在数码管上显示24S的函数void dispyuzhi() /在数码管上显示预置的时间函数void caidan_keyscan() /菜单键盘扫描函数void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论