1、基于单片机控制LCD显示电子时钟设计摘要本设计使用11.0592MHZ晶振与单片机AT89C52相连接,以AT89C52芯片为核心,采用1602的并行操作方式显示。通过使用该单片机,实现把时间和温度显示在1602液晶上,并且按秒实时更新。STC89C52单片机是由深圳宏晶科技公司推出的,功耗小,电压可选用46V电压供电。通过板子上的按键可随时调节时钟的年、月、日、星期、时、分、秒,按键设计3个有效按键,分别有功能选择键、数值增大键、数值减小键。在每次的按键按下时,蜂鸣器有“滴”的提示声。再利用DS12887设计实现断电自动保护显示数字的功能,当下次上电时会接着上次上电前的时间继续运行。本设计的
2、+5V电源采用LM1117电压转换元件,将电源适配器转换得到的12V电压直接变成5V电压供系统使用。通过软硬件结合达到最终目的。关键词: 单片机AT89C52;1602液晶;电子时钟;DS12887芯片AbstractThe design uses a 11.0592MHz crystal with AT89C52 microcontroller is connected to the AT89C52 chip as the core, and 1602 parallel operation. By using the microcontroller, the time is displaye
3、d in 1602, and updated in real time in seconds. STC89C52 microcontroller is launched by the Shenzhen-Hong Crystal Technology, Inc., low power consumption, voltage can be used to 6V voltage power supply. Through the keys on the board can always adjust the clock of the year, month, day, week, when, mi
4、nutes, seconds, button design 3 effective keys, function selection key, increase the value of the key, key decreases the value. Each time the button is pressed, the buzzer tone drop. Re-use the DS12887 design power-off automatically to protect the display number, then the last time before the power
5、to continue running when the next power. The design of the 5V power supply using LM1117 voltage conversion device, power adapter converted directly into 12V voltage 5V voltage for system use. Through a combination of hardware and software to achieve the ultimate objective.Keywords: Microcontroller A
6、T89C52;1602 LCD;Electronic clock;DS12887chip目录第1章 绪论11.1 电子时钟的研究背景11.2 电子时钟的国内外研究现状1第2章 设计思路与方案选择32.1 系统的设计思路32.2 方案选择32.2.1 单片机芯片的选择32.2.2 显示模块及时钟芯片的选择42.2.3 温度系统方案选择42.2.4 报警系统的方案比较42.2.5 键盘控制方案选择4第3章 系统的硬件设计与实现53.1电路设计框图53.2主要硬件电路的设计53.2.1 单片机主控制模块的设计53.2.2 显示模块的设计93.2.3 时钟电路模块的设计123.2.4 温度采集模块设计
7、173.2.5 按键调整系统模块设计173.2.6 蜂鸣器报警模块18第4章 软件设计194.1 软件设计总体说明194.2 程序软件的实现19第5章 总结24参考文献25致谢26基于单片机控制LCD显示电子时钟设计第1章 绪论1.1电子时钟的研究背景20世纪末,在电子技术极速发展的推动下,现代电子产品以及各种高科技产品渗透到了社会的多个领域,这有力地推动了社会信息化程度以及综合科技水平的提高,但产品更新的也越来越快。随着科技的发展和全球化竞争的日益激烈,人们对数字时钟的要求越来越高,传统的时钟已不能满足人们的需求。多功能电子钟不管在性能、样式还是用途上都发生了重大的变化,许多电子钟都已具备电
8、子秒表、电子闹钟、温度检测等功能。多功能电子时钟除了具有基本功能外,还可以对环境温度进行检测。在许多行业生产及日常生活中,对温度的测量及控制十分重要。目前,较为典型的温度检测控制系统是由模拟式温度传感器、A/D转换电路和各种单片机组成。由于模拟式温度传感器输出的模拟信号必须经过A/D转换环节转换为数字信号后才能与单片机等微处理器接口进行读写的操作,所以硬件电路会比较复杂,且成本较高。而以DS18B20为代表的新型单线总线数字式温度传感器改变了这一模式,它集温度测量和A/D转换于一体,这类传感器可以直接输出数字量,同时与单片机接口电路结构简单,可以广泛用于各种场合,具有较强的推广应用价值1。数字
9、电子时钟采用数字电路实现对时、分、秒数字显示,广泛用于家庭,办公室,车站等场所,由于数字集成电路的发展和石英晶体振荡器的推广使用,数字时钟的精度大大提高,数字化钟表给人们的生产生活带来了极大的方便,而且功能得到了拓展。例如按时自动打铃、定时自动报警、时间程序自动控制、自动启闭路灯、定时广播、通断动力设备、定时开关冰箱等,所有这些都以钟表数字化为基础。因此,研究数字时钟及扩大其应用,有着非常现实的意义2。1.2电子时钟的国内外研究现状数字电子时钟给人们的学习、生活、工作、娱乐带来极大的方便,但随着科学技术的不断发展,生活节奏的加快,人们对时间计量的精度要求越来越高。可以说时间的准确已成为各行各业
10、安全运行的基础,如果时间出现误差而不能及时校正,会造成一系列严重的后果和经济损失3。 电子时钟的设计方法有很多种,可用中小规模集成电路组成电子钟,也可以用单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有编程灵活、硬件结构简单、便于功能扩展等特点。用单片机作为数字钟的核心控制器,可以通过它的时钟信号实现计时功能,将时间数据经单片机输出,并利用显示器显示。通过键盘进行定时、校时。输出设备显示器可以采用液晶显示技术或者数码管显示技术4。温度是一种基本的环境参数,传统方式是采用热电偶或热电阻进行测控,但是由于其复杂性已逐渐被代替。近年来,美国DALLAS 公司生产的以DSl8B20 为代表的
11、新型单总线数字式温度传感器以其突出优点广泛使用于仓储管理、气象观测、科学研究、工农业生产制造以及日常生活中。DSl8B20 集A/D 转换和温度测量于一体,直接输出数字量,传输距离远,可以方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件5。 智能温度传感器于上世纪90年代中期问世,此类传感器是计算机技术、微电子技术和自动测试技术的结晶。智能温度传感器内部一般包含温度传感器、信号处理器、A/D转换器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、随机存取存储器、只读存储器和中央控制器。智能温度传感器能实时更新并输出温度数据,适配于各种微控制器也就是通常所说的单片机,并
12、可通过软件来实现显示功能,其智能化取决于软件和硬件的综合开发水平。目前,新型温度传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展6。21世纪后,智能温度传感器毫无疑问正朝着高精度、多功能、总线标准化、高可靠性及高安全性等高科技的方向迅速发展,开发虚拟传感器和网络传感器、研制更先进的单片测温系统已是刻不容缓7。在日常生活和自动控制系统中,我们时常会有对时间和温度同时进行实时监控的需求。这就给多功能的时钟提供了市场,本文给出了一种基于单片机实现带温度检测的电子时钟的设计方法和实现过程。第2章 设计思路与方案选择2.1 系统的设计思路本次设计完成电子时钟精确时间的显示、环境温度测量以及定时
13、闹钟的功能。由于DS12887时钟芯片内置一个锂电池,所以即使出现断电情况依然可以运行十年以上不丢失数据,且重新上电后不用校正时钟。硬件电路包括单片机最小系统电路、DS12887实时时钟芯片电路模块、LCD1602液晶显示模块、DS18B20温度传感器模块、按键模块、蜂鸣器报警电路模块;软件部分主要通过c程序的编程实现对时钟芯片进行时间数据的读写,然后通过液晶显示时间、按键操作实现功能转换及屏幕切换8。2.2方案选择2.2.1单片机芯片的选择STC89C52单片机的主要特性如下:与MCS-51产品指令系统完全兼容全静态工作模式:033MHz4K字节的在线编程Flash存储器,1000次擦写周期
14、4.05.5V的工作电压范围三级程序存储器锁1288字节内部RAM 32个可编程I/O口线2个16位定时/计数器6个中断源低功耗空闲和掉电模式全双工串行UART通道中断可从空闲模式唤醒系统看门狗(WDT)及双数据指针具有掉电状态下的中断恢复功能掉电标识和快速编程特性 灵活的在系统编程(ISP字节或页写模式)92.2.2 显示模块及时钟芯片的选择采用液晶LCD显示,以电流刺激液晶分子产生点,显示字符的行数和液晶的点阵行。液晶功耗低、体积小、显示简单。采用DS12887实现时钟记时,把时间数据送入单片机,由单片机控制显示。DS12887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年
15、以及闰年补偿的年进行计数,精度非常高,工作电压范围2.5V5.5V,最小时耗电小于300mA10。2.2.3温度系统方案选择采用DS18B20直接进行测温。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它可以直接读出被测温度,并可根据实际要求通过简单的编程实现912位的数字值读数方式。温度实现只能通过外部的温度传感器来实现。经上网查阅及市场考察,DS18b20体积小,电路接法简单。内部含寄存器为设计实现上下限报警功能提供保障。精度为0.5,符合我们的设计要求。2.2.4 报警系统的方案比较采用蜂鸣器实现闹钟铃声及温度超限报警。蜂鸣器具有成本低,电路结构
16、简单,体积小的特点。基于设计所需功能,蜂鸣器是最佳选择。2.2.5 键盘控制方案选择购买单个复位开关做成键盘。因其价格便宜且可以实现所需功能。对此次作品的方案选定:采用STC89C52作为主控制系统;DS12887提供时钟;数字式温度传感器;液晶1602作为显示。第3章 系统的硬件设计与实现3.1电路设计框图初步确定设计系统由单片机主控模块、时钟模块、测温模块、报警模块、显示模块、键盘接口模块共6个模块组成,电路系统框图如图3-1所示。 蜂鸣报警模块 STC89C52主控制模块 键盘模块液晶1602显示模块 温度采集模块DS12887时钟模块图3-1电路设计框图3.2主要硬件电路的设计3.2.
17、1单片机主控制模块的设计本系统采用的是深圳宏晶科技公司生产的STC89C52单片机,首先我们来熟悉一下STC89C52单片机的外部引脚和内部结构。如图3-2(1)单片机的引脚功能STC89C52单片机有40个引脚。 Vcc:电源电压+5V GND:接地 P0口:P0口是一组8位漏极开路型双向I/O口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换低8位地址和数据总线服用,在访问期间激活内部上拉电阻。 P1口、P2口:带内部上拉电阻的8位双向I/O,P1的输出缓冲级可以驱动4个TTL逻辑门电路。对端口写“1
18、”,通过内部的上拉电阻把端口拉到高电平,此时为输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。图3-2 STC89C52管脚图 P3口:带内部上拉电阻的8位双向I/O,P3的输出缓冲级也可以驱动4个TTL逻辑门电路。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,还有第二功能,见表3-1所示:表3-1 P3口的第二功能图端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3
19、INT1(外中断1)P3.4T0(定时/计时器0外部输入)P3.5T1(定时/计时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通) RST:复位输入端口。当振荡器工作时,RST引脚出现两个以上高电平机器周期将使单片机复位。设置SFR AUXR的DISRT0可打开或关闭该功能。DISRT0位缺省为打开状态。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,所以它可用于定时,每当访问外部数据存储器时将跳过一个ALE脉冲。 EA/VPP:允许外
20、部访问端口。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平。需要注意的是:如果加密位(LB1)被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的变成电压Vpp. PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取数据(或指令)时,每个两次PSEN机器周期有效,即输出两个脉冲。当访问外部数据存储器,无两次有效的PSEN信号。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端口。 XTAL2:振荡器反相放大器的输出端口。(2
21、)STC89C52单片机与MCS-51完全兼容 看门狗(WDT):WDT由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成,是一种需要软件控制的复位方式。WDT 在默认情况下无法工作;用户必须在WDTRST 寄存器(地址:0A6H)中依次写入01EH 和0E1H以激活WDT。WDT激活后,晶振工作,WDT在每个机器周期都会增加。除了复位(硬件复位或WDT溢出复位),无法停止WDT工作。当WDT溢出,它将驱动RSR引脚输出一个高电平。 可编程串口(UART)在STC89C52中操作与STC89C51 和STC89C52 一样。STC89C52系列单片机的串行通信口可以工
22、作于同步和异步通信方式,当工作于异步方式时,可以同时进行数据的发送和接收。串行口内的接收器采用的是双缓冲结构,可以在接收到的第一个字节被读走之前开始接收第二个字节。串行口的发送和接收操作都是在特殊功能寄存器中的数据缓冲寄存器SBUF中进行的,如果将数据写入SBUF,数据会被送入发送寄存器准备发送。如果执行SBUF指令,则读出的数据一定来自接收缓存器。因此,这2个寄存器的功能决不能混淆11。 振荡电路:STC89C52系列单片机的内部振荡器,由一个单极反相器组成。XTAL2为反相器的输出,XTAL1反相器的输入。在组成一个单片机应用系统时,常采用的方式是由外部时钟源提供一个时钟信号到XTAL1端
23、输入,而XTAL2端浮空。这种方式结构紧凑,成本低廉,可靠性高。在电路中,如果使用高质的晶振, C1、C2通常都选择30pF。 RAM:高于7FH内部数据存储器的地址是8位的,也就是说其地址空间只有256字节,但内部RAM的寻址方式实际上可提供384字节。低于7fh的直接地址访问同一个存储空间,高于7FH的间接地址访问另一个存储空间。这样,虽然高128字节区分于专用寄存器 ,即特殊功能寄存器区的地址是重合的,但实际上它们是分开的。访问哪一个区是通过不同的寻址方式加以区分的。 定时/计数器:STC89C52单片机内含有2个16位的定时器/计数器。当用于定时器方式时,它的输入来自内部时钟发生电路,
24、定时器的技术频率为晶振频率的1/12,而计数频率最高为晶振频率的1/24。为了实现定时和计数功能,定时器中含有3种基本的寄存器:控制寄存器、方式寄存器和定时器/计数器。控制寄存器是8位的,用于控制定时器的工作状态,方式寄存器也是一个8位的寄存器,用于确定定时器的工作方式,定时器/计数器是16位的计数器,分为高字节和低字节两部分12。 SFR:SFR是具有特殊功能的所有寄存器的集合,共含有22个不同寄存器,它们的地址分配在80HFFH中。未被占用的单元,内容是不确定的。所以在编程时不应该将数据写入这些未确定的地址单元中,特殊功能寄存器主要有累加器ACC、B寄存器、堆栈指针SP、程序状态字寄存器P
25、SW、数据指针DPTR、I/O端口、串行口数据缓冲器SBUF、捕捉寄存器、定时器寄存器、控制寄存器。 中断系统:STC89C52单片机有6个中断源,中断系统主要由中断允许寄存器IE、中断优先级寄存器IP、优先级结构和一些逻辑门组成。IE寄存器用于允许或禁止中断;IP寄存器用于确定中断源的优先级别;优先级结构用于执行中断源的优先排序;有关逻辑门用于输入中断请求信号。在整个中断响应过程中CPU所执行的操作步骤如下:(1)完成当前指令的操作;(2)将PC内容压入堆栈;(3)保存当前的中断状态;(4)阻止同级的中断请求;(5)将中断程序入口地址送PC寄存器;(6)执行中断服务程序;(7)返回(2)。3
26、.2.2 显示模块的设计(1)LCD1602功能介绍LCD1602各引脚功能如表3-2所示。表3-2 LCD1602管脚功能表(2)基本操作时序:LCD1602读写操作时序是直接记忆和总结读写时电平高低和变化,下面就列出典型读写的时序要求,以方便编写程序13。读状态-输入:RS=L,R/W=H,E=H 输出:D0-D7=状态字写指令-输入:RS=L,R/W=L,D0-D7=指令码,E=高脉冲输出:无读数据-输入:RS=H,R/W=H,E=H 输出:D0-D7=数据写数据-输入:RS=H,R/W=L,D0-D7=数据,E=高脉冲输出:无(3)状态字说明: 表3-3 状态字表 对控制器每次进行读写
27、操作之前,都必须进行读写检测,确保STA7为0。(4)指令说明: 表3-4 显示模式设置表 表3-5 显示开/关及背光灯设置表(5)数据控制控制器内部有一个数据地址指针,用户可通过它们访问内部的全部80字节RAM15。(6)数据指针设置 表3-6 数据指针设置表(7)其他设置 表3-7 其他设置指令表(8)LCD1602初始化过程a、延时15ms。b、写指令38H(不检测忙信号)。c、延时5ms。d、写指令38H(不检测忙信号)。e、写指令5ms。f、写指令38H(不检测忙信号)。g、之后每次写指令、读/写数据操作之前均需检测忙信号。h、写指令38H:显示模式设置。i、写指令08H:显示关闭。
28、j、写指令01H:显示清屏幕。k、写指令06H:显示光标移动设置。p、写指令0CH:显示及光标设置。(9)LCD1602的电路设计液晶LCD1602的D0-D7引脚与STC89C52芯片的P2口连接,而控制引脚RS,R/W,CS则分别与P1.6,P1.5,P1.4连接。引脚3接一个1K的电位器来调整对比度,从而达到适合的背光灯对比度16。液晶显示模块电路如图3-3所示。图3-3 液晶显示模块3.2.3时钟电路模块的设计(1)DS12887功能特点DS12887是美国达拉斯半导体公司推出的时钟芯片,此芯片是基于CMOS技术的,将所需的晶振和外部锂电池相关电路集于芯片内部,简化了外围电路,同时它与
29、计算机常用的时钟芯片MC146818B和DS1287芯片引脚兼容,可直接进行对等交换。主要功能有: 内含一个锂电池,断电可以运行十年,并且不会丢失数据,时间功能正常运行。可计时至2100年前的秒、分、时、星期、日、月、年等日历信息并带有闰年补偿功能。 可通过编程选择BCD码或者二进制数表示日历和定时闹钟。 可通过编程选择12小时或24小时制,12小时时钟模式带有PM和AM提示,此外还有有夏令时功能。 可选择MOTOROLA和INTEL总线时序。 内部共有128个RAM单元,其中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有ARAM单元数据都具有掉电保护功能。 中断信号输出(IRQ
30、)和总线兼容,定时闹钟中断、周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试17。三种可供选择的中断方式 a、时间性中断 b、周期性中断c、时钟更新结束中断(2) DS12887的原理及管脚说明图3-4显示了DS12887管脚排列图。下面说明管脚功能:图3-4 DS12887管脚图GND:电源接地VCC:直流电源+5V电压。若外部提供的VCC电源小于4.25V,读写会被禁止,但芯片内部计时仍在继续,重新通上+5V电源后,通过编程即可显示当前时间;若外部提供的VCC电源小于3V,电源方式切换为内部锂电池提供,同样可以保持芯片内部计时仍然继续。MOT(模式选择):接VCC(+5V
31、)时,芯片在MOTOROLA时序下工作,接GND时,芯片在INTEL时序下工作。 SQW(方波信号):通过15个分频器抽头中的13个提供方波输出。 AD0AD7(双向地址/数据复用线):数据和控制指令都通过此8个引脚来于单片机等控制器传输。DS(数据选通或读输入):该引脚有两种操作模式,视该芯片是出于MOTOROLA模式或者INTEL模式,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;若为INTEL时序,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。R/W(读/写输入):R/W管脚同样也有两种操作模式。此引脚的两种模式与DS相似。CS(片选
32、输入):在访问DS12887的总线周期内,片选信号必须保持为低。RESET(复位输出):若要保证DS12887有效复位,必须让该脚保持低电平时间大于200ms。 IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上拉电阻18。(3)DS12887的内部功能地址分配图DS12887的存储器分配图如图3-5所示,其中00H-09H为时钟信息和闹钟信息寄存器,0AH-0DH为四个控制寄存器。图3-5 DS12887存储器分配图控制寄存器 寄存器A 表3-8 DS12887寄存器AUIP:更新位。若UIP为1,实时时钟的更新
33、转换发生的很快,而当UIP为0,更新转换至少在244s内不会发生。DV0,DV1,DV2:用于晶振和复位分频链的开启。 表3-9 DS12887周期中断率和方波频率RS3,RS2,RS1,RS0:频率选择位,通过这四个位用户可以: a、用PIE位允许中断; b、用SQWE位允许SQAW输出; c、二者同时允许并用相同的频率; d、二者都不允许。 寄存器B 表3-10 DS12887寄存器BSET:此位为0,时间更新正常进行,每秒计数走时一次,当此位为1,时间更新被禁止,程序可对芯片进行初始化的操作和编程。PIE:周期中断允许位,PIE为1,则允许以选定的频率拉低IRQ管脚,PIE为0,则禁止中
34、断。AIE:定时闹钟中断允许位,AIE为1,允许中断,否则禁止中断。UIE:更新结束中断允许位,AIE为1,允许中断,否则禁止中断。SQWE:方波允许位,置1选定频率方波从SQW脚输出;为0-时,SQW脚为低。DM:数据模式位,DM为1表明为十进制数据,而0表明是BCD码的数据。 24/12:小时格式位,1表明24小时制,而0表明12小时制。DSE:夏令时允许位,当DSE置1时允许两个特殊的更新,在四月份的第一星期日,时间从1:59:59AM时改变为3:00:00AM;在十月的最后一个星期日的1:59:59AM时改变为1:00:00AM。当DSE位为0,这种特殊修正不发生。 寄存器C 表3-1
35、1 DS12887寄存器CIRQF:中断申请标志位。当下列表达式中一个或多个为真时,置1。 PF=PIE=1;AF=AIE=1;UF=UIE=1; 即:IRQF=PFPIE+AFAIE+UFUIE 只要IRQF为1,IRQ管脚输出低 ,程序读寄存器C以后或RESET管脚为低后,所有标志位清零。 VF:更新周期结束标志位。VF为1表明更新周期结束。AF:定闹中断标志位,只读,AF为1表明现在时间与定闹时间匹配。 BIT0BIT3:未用状态位,读出总为0,不能写入。 寄存器D VRT:内部锂电池状态位,平时应总读出1,如出现0,表明内部锂电池耗尽。BIT0BIT6:未用状态位,读出总为0,不能写入
36、。 表3-11 DS12887寄存器D(4)DS12887的电路设计本设计中的DS12887芯片AD0-AD7引脚与STC89C52芯片的P2口相连接。MOT引脚接地,为INTEL总线时序方式。因此R/W和DS引脚也为对应INTEL的操作模式19。时钟模块电路如图3-6所示。图3-6 时钟模块电路图3.2.4 温度采集模块设计温度传感器DS18B20的接法很简单,它的DQ引脚与STC89C52芯片的P1.7引脚相连接。这里只用到一个温度传感器,若要使用多个则只需将所有的DS18B20的I/O口接在一起即可,在具体操作时,通过读取每个芯片的内部序列号来识别20。3.2.5 按键调整系统模块设计7
37、4LS21芯片为两组4输入与门(正逻辑)。本设计中的四个按键分别接到74LS21芯片的1A,1B,1C,1D,即4输入与门的4个输入。而74LS21的输出1Y则接到STC89C52芯片的P3.2(INT0)引脚,由于该引脚为低电平有效,当警报发生时按下四个按键中任意一个都会使输出1Y变为低电平,则芯片发生中断,报警停止。同时,四个按键key1-key4也接到STC89C52芯片的P1.0-P1.3起到调节时间日期等功能21。按键模块电路如图3-7所示。图3-7 按键模块3.2.6 蜂鸣器报警模块蜂鸣器报警模块的作用:当定时闹钟时间到时,蜂鸣器发出预设的声音,而发光二极管则会随着音乐闪烁。本模块
38、采用PNP三极管为蜂鸣器放大电流,基极通过4.7k电阻与单片机STC89C52的闲置引脚P3.5相连接,集电极直接接地,发射极接发光二极管和蜂鸣器22。报警模块电路如图3-8所示。图3-8 报警模块第4章 软件设计4.1 软件设计总体说明本系统的程序采用C语言编写,为了便于修改和调试,系统软件采用模块化设计,程序的编写编译在软件WAVE6000中完成。系统中有四个按键,即:设置键S1、切换键S2、上调键S3、下调键S4。(1)按下S1键,系统进入设置状态,再按下S2键可在除温度外的项目,如年、月、日、时、分、秒、星期、闹钟上停留,此时可按上、下调键进行加减一操作。(2)同时按下S1键和S2键会
39、将当前的时间恢复到默认时间。(3)同时按下S3键和S4键可对闹钟进行开启和关闭。4.2 程序软件实现 主程序流程图如图4-1所示图4-1 主程序流程图 LCD1602液晶显示模块子程序流程图如图4-2所示图4-2 LCD1602子程序流程图 DS12887模块子程序流程图如图4-3、图4-4所示图4-3 DS12887时间显示流程图图4-4 DS12887时间设置流程图 DS18B20模块子程序流程图如图4-5所示图4-5 DS18B20子程序流程图 报警模块子程序流程图如图4-6所示图4-6 报警模块子程序流程图第5章 总结本设计的硬件电路主要由单片机最小系统电路、温度测量模块、按键模块、时
40、钟芯片模块、LCD1602液晶显示模块等模块组成,软件方面则是通过C语言对系统进行编程,这体现了本设计的实时性和灵活性。系统实现了以下多种功能:1)显示年、月、日、星期等日历相关信息。通过按键设置年月日和星期,以及定时闹钟。2)掉电后时钟芯片正常运行,重新上电后不用校正时钟。3)定时时间到达时,蜂鸣器报警;手动按任意键报警停止;如无人工按键,报警在1.5min后停止。4)实时温度显示。本设计还有一些地方可以改进:(1) 供电电源改成5V电池在生活中,不可能使用电源箱来作为硬件的供电电源,如果想要完成便携式携带的电子钟,则也不可能使用电源适配器来实现电源的提供,所以电源应该使用基于锂电池的设计使
41、系统具备安全,简单,容易携带等优点。(2) 可以增加一个背光自动调节功能该功能主要是通过液晶显示屏LCD1602外接光敏三极管来实现,但考虑到器件价格及时间方面的限制,放弃了这个部分。但若能有这个功能,则夜晚的时候背光灯更亮,白天的时候背光灯较暗,这也间接起到了节能的作用。参考文献1 黄文梅.系统分析与仿真MATLAB语言及应用M.国防科技大学出版社,1999.232-258.2 阎石.数字电子技术(第五版)M.北京高等教育出版社,2006.34-52.3 蔡明文,冯先成.单片机课程设计M.华中科技大学出版社,2007.118-135.4 陈明萤.8051单片机课程设计实训材料M.清华大学出版
42、社,2004.21-56.5 康华光.模拟电子技术(第五版)M.高等教育出版社,2006.145-178.6 黄智伟.全国大学生电子设计竞赛电路(第一版)M.航空航天大学出版社,2006.78-95.7 李可为.数字钟电路及应用M.电子工业出版社,1996.73-102.8 夏继强,沈德金.单片机实验与实践教程(二)M北航出版社,2001.116-120.9 张红润,蓝清华.单片机应用技术教程M清华大学出版社,1997.73-88.10 周立功.单片机实验与实践M北京航空航天大学出版社,2004.65-103.11 李朝青.单片机原理及接口技术M.北京航空航天大学出版社,1994.57-93.
43、12 何立民.单片机应用文集(一)M.北京航空航天大学出版社,1991.157-178.13 方大千,鲍俏伟.使用电子控制电路M.国防科技出版社,2003.230-276.14 曾繁泰.EDA工程概论M.清华大学出版社,2002.37-56.15 谭会生,张昌凡.EDA技术及应用M.西安电子科技大学出版社,2004.110-130.16 李光飞.单片机c程序设计实例指导M.北京航空航天大学出版社,2005.99-121.17 李强.键盘接口程序计数M.电子设计出版社,2003.76-89.18 肖来胜.单片机技术实用教程M.华中科技大学出版社,2004.113-152.19 杨晓川.Porte
44、l设计指导教程M.清华大学出版社,2003.300-312.20 何立民.单片机应用技术选编(11)M.北京航空航天大学出版社,2006.257-278.21 陈正振.电子电路设计与制作M.广西交通职业学院出版社,2007.324-352.22 张洪润.单片机应用设计200例M.北京航空航天大学出版社,2006.7-16.致谢大学生涯行将结束,今天完成了毕业论文的定稿工作,现在,我要对老师、同学、学校、家人表达最真诚的谢意。首先要提到的是我的毕业设计指导老师,虽然他并没有给我代过课,但是他对工作认真严谨的态度完全体现在了设计毕业论文的过程中。尽管老师平时也有教学上的任务,但他对我的毕业设计一点
45、也没有省心,而是投入到了每个环节中,这包括前期方案的设计,资料的查找,论文的修改和完成。在这些环节中,老师都会尽可能的帮助我去好好完成,比如我在做毕业设计的中途由于自身的能力有限而遭遇瓶颈,无法顺利进行的时候,耐心的与我沟通,帮我找取相关资料。虽然不在学校也能及时的得到他和本组同学的帮助,没有他们的帮助也许我根本无法完成设计。在此,谨对有高度责任心的老师致以最崇高的谢意。同学的帮助也是不能忽视的。由于已经离校实习,毕业设计这样的任务其实对我来说是很大的考验,庆幸在我完成毕业设计的过程中,本组其他同学和班级同学对我提供了很大的帮助,我的能力相对较差,没有他们耐心的帮助我确实没有办法完成设计任务。最后则要感谢母校四年来提供给我的优质的教学服务和生活,所有任课老师的认真教学,是你们让我的专业知识得到丰富,让我学会了很多适应社会的技能,更要感谢父母亲对我学习生活上的关心,他们是我永