自动打铃电路设计摘要打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排。
同事也可以作为一个提醒学生作息时间的时间表,让老师和学生都有一个规律科学的时间安排。
因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。
本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以STC89C52单片机为控制器,以DS1302时钟芯片为系统提供时间,并在1602液晶显示器上显示,通过按键可以设定定时打铃时间和打铃间隔。
系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。
关键字:打铃器,STC89C52单片机,DS1302,LCD1602目录1 绪论 (1)1.1 课题描述 (1)1.2 设计任务与要求 (1)1.3 基本工作原理及框图 (1)2 总体电路设计及分析 (2)2.1 总体电路设计 (2)2.2 工作原理 (2)3单元电路设计 (3)3.1 STC89C52最小系统 (3)3.2晶振电路 (5)3.3复位电路 (5)3.4时钟集成模块 (6)3.6按键控制电路 (10)3.7响铃电路 (10)3.8程序流程图 (11)4 软件设计 (11)5 系统测试 (26)总结 (27)致谢 (28)参考文献 (29)1绪论1.1课题描述此次设计利用单片机的中断系统,每次中断都从计时芯片中读取时间,与规定的作息时间比较,如果相等则进行相应的控制或动作。
由显示部分、计时时钟、蜂鸣器驱动模块和按钮控制模块四部分组成,三个轻触按键用于校正时间。
现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。
本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。
1.2 设计任务与要求设计自动打铃电路:1.按照设计要求,画出系统框图和系统硬件电路图。
2. 有基本计时和显示功能(用12小时制显示)。
包括上下午标志,时、分的数字显示,秒信号指示。
3. 能设置当前时间,且具有校时功能,能实现基本打铃功能,铃声可用小喇叭播放。
4. 编写软件程序。
1.3 基本工作原理及框图自动打铃的设计电路框图如图1所示。
图1 自动打铃电路框图2 总体电路设计及分析2.1 总体电路设计教学用电子打铃器主要由AT89S52片机、键盘扫描模块、时钟和复位模块、打铃器模块、八段数码管显示模块等组成。
运用汇编语言来控制单片机80C52实现、动态数码显示等功能。
且本设计中的80C52片机是整个工作过程的核心,是整个设计灵魂,它控制了脉冲时序的产生,显示信号的发送控制显示LED的选择[1]。
所用到的芯片元器件:80C52片机,3个按键,1个蜂鸣器,4个八段LED数码管。
80C52一种带4K字节存储器(的低电压、高性能CMOS 8位微处理器,俗称单片机。
2.2 工作原理工作原理是在主函数里实时扫描按键函数,当键盘有键按下时,停止中断读取时钟芯片的值,判断键值,把改变后的时间从新写入时钟芯片。
如果读取的时间与预设的时间一致时,单片机的P3.7口将执行相应的动作[2]。
电路设计仿真图如图2所示。
图2电路设计仿真图3单元电路设计3.1 STC89C52最小系统STC89C52是由深圳宏晶科技公司生产的与工业标准MCS-52令集和输出管脚相兼容的单片机[3]。
STC89C52主要功能如表1所示。
表 1 STC89C52主要功能主要功能特性STC89C52 PDIP封装如图3所示。
T0/P3.4T1/P3.5WR/P3.6RD/P3.7图3 STC89C52 PDIP封装图1.主电源引脚(2根)●VCC(Pin40):电源输入,接+5V电源。
●GND(Pin20):接地线。
2.外接晶振引脚(2根)。
●XTAL1(Pin19):片内振荡电路的输入端。
●XTAL2(Pin20):片内振荡电路的输出端。
3.控制引脚(4根)●RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
●ALE/PROG(Pin30):地址锁存允许信号。
●PSEN(Pin29):外部存储器读选通信号。
●EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4.可编程输入/输出引脚(32根)●STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
●P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7。
●P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7。
●P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7。
●P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7。
最小系统是指能进行正常工作的最简单电路。
它包含五个电路部分:电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入/输出接口电路。
其中电源电路、时钟电路、复位电路是保证单片机系统能够正常工作的最基本的三部分电路,缺一不可[4]。
STC89C52最小应用系统电路如图4所示。
图4 STC89C52最小应用系统电路3.2晶振电路单片机的每一条指令的执行都是由若干个基本的微动作组合而成的。
例如由取指令、指令译码、指令执行等微动作组合而成。
这些微动作在时间上存在着严格的先后顺序,要想这些动作有条不紊地执行,就必须有一个时间基准来同步各部件的动作[5]。
单片机的时钟信号就是用来提供单片机内部各个微动作的时间基准。
而根据连接方式不同,时钟信号的产生有内部振荡方式和外部振荡方式两种方式。
晶振电路由两个33pf电容跟11.0592MHZ的晶振片组成。
晶振电路为单片机系统提供外部的振荡信号,从而支持单片机的运行。
是单片机控制系统不可或缺的一部分[6]。
晶振电路图5所示。
图5 晶振电路3.3复位电路复位电路与晶振电路构成了单片机的最小系统。
当MCS-52系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST 持续为高电平,单片机就处于循环复位状态[7]。
根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。
上电复位要求接通电源后自动实现复位操作[7]。
图中电容C1和电阻R1对电源十5V来说构成微分电路。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能[8]。
本次课程设计采用上电复位电路实现如图6所示。
图6 复位电路3.4 时钟集成模块DS1302概述DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用双电源供电(主电源和备用电源),同时提供了对后背电源进行涓细电流充电的能力。
采用三线接口与CPU进行同步通信[9]。
DS1302引脚介绍如图7 DS1302封装图。
X1X2I/OCE图7 DS1302封装图引脚功能为:●Vcc:主电源;Vcc2:备用电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电;当Vcc2<Vcc1时,由Vcc1向DS1302供电。
●SCLK:串行时钟输入端,控制数据的输入与输出。
●I/O:三线接口时的双向数据线。
●CE:输入信号,在读、写数据期间必须为高。
(4)DS1302寄存器DS1302中与时间、日期有关的寄存器共有12个,其中7个存放数据的格式为BCD 码格式,其读写地址如下表2所示。
表 2 DS1302时钟寄存器第一行秒寄存器,CH为时钟暂停标志位,该位为1时时钟停止,该位为0时时钟运行。
第二行分寄存器,bit0~bit6表示分钟数,因采用BCD编码,所以低四位最大能表示的数字为9,计数满向高三位进1。
第三行时寄存器,12/24用来定义DS1302小时的运行模式,12小时模式下bit5为1表示PM下午,bit5为0表示AM上午。
第八行控制寄存器,bit7是写保护位WP,当WP为1时,写保护位可防止对任一寄存器的写操作,在任何的对时钟和RAM的写操作之前,WP位必须为0 。
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
3.5 LCD显示电路工业字符型液晶,1602是指显示的内容为16*2,即能够同时显示两行,每行16个字符。
常见的1602字符液晶有两种,一种显示的是绿色背光黑色字体,另一种显示蓝色背光白色字体,目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的。
本课题所用1602液晶模块,显示屏是蓝色背光白色字体[10]。
1602字符液晶引脚如图8所示。
LCD1602图8 1602字符液晶1602引脚介绍●第1脚:GND为地电源。
●第2脚:VCC接5V正电源。
●第3脚:VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生重影,使用一个1K的电位器调整对比度。
●第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。
●第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
●第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
●第7~14脚:DB0~DB7为8位双向数据线。
●第15~16脚:背光灯电源。
(3)1602字符液晶字库1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形[11]。
如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。
如表3点阵字符图形。
表3点阵字符图形采集到的时钟数据通过AT89C51端口P0.0-P0.7送给LCD液晶屏D0~D7的数据端口。
通过向液晶屏写入命令,显示相关的数据[11]。