校园打铃系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。单片机技术起着不可忽视的作用并且在智能控制领域有着举足轻重的地位。本设计就是利用Atmel 公司生产的单片机AT89S52芯片和AT24C02芯片(存储芯片),以及利用DS1302用作时钟芯片(具有实时显示当前时间,按设定时间用蜂鸣器报时,能修改当前时钟(闹钟)等功能)。在以单片机为核心的基础上加上其外围设备实现的小的系统——自动打铃系统。所谓的单片机小系统从系统的角度来定义就是完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。硬件设计部分分别从各个功能电路进行阐述,包括电源电路、复位电路、时钟电路、红外遥控及显示电路。软件部分分成了四个模块:初始化模块、时间显示模块、遥控按键设定模块、以及定时打铃模块。初始化模块主要是对定时计数器的方式及初值的设定。时间显示模块负责正确的显示当前时间。按键设定模块主要是对时间的校准及设定。定时打铃模块负责到时响铃功能。也就是说系统的功能是由硬件和软件两大部分共同合作完成。
第1章 系统总体设计
1.1 作息时间控制钟系统概述
设计一个校园打铃系统,使用的是24小时制。要求在掉电状态下数据不丢失,可以设置多个打铃时间点(在本系统中我利用AT24C02芯片存储使系统能够设置25组的打铃时间点),用红外线遥控按键设置同样的打铃时间,数字键输入设置内容,不只上、下键地调时。由于用的不是单片机内部的定时器,定时功能用的是外部时钟DS1302芯片,而DS1302芯片的精度取决于32768HZ 晶振的精度,32768HZ 晶振的精度小于0.01%,所以整个系统的精确度高于99.99%。
1.2 功能特点
25路掉电不丢失数据的用户定时功能。采用首创的忽略定时新概念,可以设置定时某项为忽略值,再配合多路定时项目使定时的内容自由发挥,千变万化,能够适应各种的定时要求。SAA3010红外线遥控器输入控制,数字键输入数据,方便快捷。全程帮助提示和独立的帮助菜单,易学易用。数字键输入设置内容,不只上、下键地调时了。人性化软件设计,设计时考虑到许多使用细节。
1.3 总体设计图
图1-1 系统总体设计图
中央处理单元 AT89S52 存储模块
AT24C02 红外接收模块 打铃电路
时钟模块
DS1302 复位电路
红外发送
模块 时间显示模块
LCD2402
第2章方案的论证
2.1 电源模块
电源模块是为系统提供电源,本设计中用到的是正5V的直流稳压电源。
方案一:采用串联反馈式稳压电路获得直流稳压电源。该电路由比较放大电路、稳压管、三极管、限流电阻及两个取样电路组成,此电路由主回电路式起调整作用的BJTT与负载串联而得名的。但它的输出电源不可能绝对稳定的,只能是基本稳定,且负载电流较大时,调整管的集电极损耗大,电源效率低,有时还要配有庞大的散热装置。
方案二:本设计用到的电源为5V,属于中小功率稳压电源,所以可以采用三端稳压芯片LM7805。用其设计的是线性开关,线性稳压电路,具有结构简单、调节方便、输出电压稳定性强、文波电压小等优点,但是,在负载电流较大且输出电压较低时,其自身的功耗很大。但如果给本系统供电,完全满足要求。
综上所述,我选择方案二。
2.2 AT89S52芯片模块
方案一:采用AT89C2051芯片,它具有体积小、功耗小。含有中断、定时/计数器。本次设计需要非常大的编程量,虽然其价钱相对便宜,但IO口数和存储空间相对较少,所以此芯片不利于系统的工作和系统功能的扩展。
方案二:采用AT89C51芯片,它具有AT89C2051芯片的所有功能,且IO口数相对较多,价钱相对也比较便宜,但存储空间不是非常大,而本次的设计需要大量的存储空间。
方案三:采用AT89S52芯片,它具有AT89C2051和AT89C51芯片的所有功能,且IO 口数非常多,比AT89C2051和AT89C51多。价钱虽然比AT89C2051和AT89C51昂贵,但存储空间非常大,可以到达8K。而本次的设计正需要此容量的空间。
综上所述,我选择AT89S52芯片作为本次设计的主控芯片
2.3 显示模块
在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED 数码管、液晶显示器。
方案一:采用LCD1602液晶模块,1602 液晶模块内部的字符发生存储器(CGROM)已经存储了160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H 中的点阵字符图形显示出来,我们就能看到字母“A”。
方案二:采用LCD2402液晶模块,用LCD 显示一个字符时比较复杂,因为一个字符由6×8 或8×8 点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM 区的8 字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD 上开始显示的行列号及每行的列数找出显示RAM 对应的地址,设立光标,在此送上该字符对应的代码即可。
由于LCD1602液晶显示模块只能显示16*2个字符,而LCD2402液晶显示模块能够显示24*2个字符,在本设计中要显示的字符比较多,综上所述,我选择LCD2402作为本设计的显示模块。
2.4 其他模块
在通过各种的考虑后,时钟芯片我选用的是DS1302, DS1302 是DALLAS 公司推出的涓