版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机AT89S52的多功能数字显示定时器摘 要时钟是人们生活中必不可少的一种工具,它在人类生产、生活、学习等多个领域得到广泛的应用。随着科技的发展,人们不仅对于时钟精度的要求越来越高,而且对于时钟功能的要求也越来越多,时钟已不仅仅是一种用来显示时间的工具,在很多实际应用中它还需要实现其它的功能,诸如闹钟功能、日历显示功能、温度测量功能。钟表的数字化给人们的生产生活带来了极大的方便,诸如定时自动报警、按时自动打铃、时间程序自动控制等等。可以说,设计多功能数字时钟的意义不只在于数字时钟本身,更大的意义在于它在许多实时控制系统中的应用。因此,研究数字时钟及扩大其应用,有着非常现实的意义。本文探
2、讨了一种带数字温度计的多功能数字显示时钟的的实现方案,介绍了以Atmel89s52 单片机为核心,控制实时时钟芯片DS12C887,数字温度芯片DS18B20,和液晶显示模块1602,实现时间和闹钟的显示与调整,温度显示,整个系统的软件设计在Keil 环境下以C 语言实现。关键词 电子时钟/AT89S52/时钟芯片/温度传感器BASED ON AT89S52 MICROCONTROLLER MULTI-FUNCTIONAL DIGITALDISPLAY CLOCKABSTRACTClock is essential to people's lives as a tool of huma
3、n production ,and it is widely used in living, learning and any other fields .With the development of technology, people not only demand higher and higher clock precision, but also need more and more functional requirements for the clock .Clock has not only a tool used to display time, in many pract
4、ical applications, it needs to be able to achieve more any other functions. For example, it is used in alarm clock, calendar display, temperature measurement function and so on.Digital clocks has brought to the people's production and life great convenience, such as auto regular alarm, auto time
5、 and rang the bell, the auto time control and so on .You could be said that the significance of design multi-function digital clock has not only been confined to the digital clock itself, but it is used in many real-time control system. Therefore, it has a very real sense to the study digital clock
6、and extend its application, This paper discusses a kind of multi-function digital display clock with emperature measurement function, it is based on the Atmel89s52 MCU , control real-time clock chip DS12cc887, the temperature chip DS18B20who has temperature measurement function, and liquid crystal d
7、isplay module 1602 to achieve the time and alarm clock display ,temperature function, the system software was designed on the environment for Keil with C language.KEYWORDS electronic clock,AT89S52,clock chip,temperature sensor目 录摘 要IABSTRACTII1 前言11.1 多功能数字时钟研究的背景和意义11.2 多功能数字显示定时时钟的功能12 多功能数字显示定时时钟
8、的设计方案及分析32.1 FPGA设计方案32.2 555时基电路设计方案32.3 单片机设计方案43 基于单片机的电子时钟硬件设计63.1 系统主控制部分63.2 时钟芯片电路73.2.1 DSl2CR887的具体的特性73.2.2 引脚功能83.3 温度传感器电路93.4 显示电路113.5 按键电路设计113.6 闹铃电路设计123.7 电源电路设计134 多功能数字显示定时时钟的软件设计144.1 控制主程序模块144.2 实时时钟日历子程序设计144.3 环境温度采集子程序设计154.4 显示子程序设计164.5 键盘扫描子程序184.6 闹铃子程序设计185 多功能数字显示定时时钟
9、的调试195.1 硬件调试19 单片机基础电路调试19 显示电路调试195.1.3 DS12C887电路调试205.1.4 按键电路调试205.2 软件调试20 环境温度采集子程序调试20 键盘子程序调试21结束语22致谢23参考文献241前言1.1多功能数字时钟研究的背景和意义20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。数字钟已成为人们日常生活中必不可少的必需品,它广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活
10、、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点,因此在许多电子设备中被广泛使用。电子钟是人们日常生活中常用的计时工具,而多功能数字式电子钟又有其体积小、重量轻、走时准确、结构简单、功能复杂等优点而在生活中被广泛应用。本设计采用AT89S52作为多功能时钟的控制核心来设计一个多功能数字式电子钟,使其完成时间及温度的显示功能。采用时钟芯片DS12C887制作的数显电子钟具有走时精度高,可靠性高,并且具有显示年,月,日,星期、小时、分钟、秒的功能;并且采用DS18B20进行温度检测,
11、使用液晶显示器显示时间和温度,这样,无论白昼都同时满足人们对时间和环境温度的确知。整个电路简单,成本低,可以广泛应用于商场、车站、学校、企事业单位、家庭等等。由于本人能力有限,在设计中难免会出现错误与不足,希望各位老师及读者给予批评并提出宝贵意见。1.2 多功能数字显示定时时钟的功能本设计是由电源部分,单片机控制部分,显示部分,存储部分,温度传感器和音响电路等组成。用AT89s52将时钟芯片内的时间读取出来,并同时将DS18B20温度传感器芯片内温度读出,供LCD显示芯片1602显示出来。并提供闹钟功能,可以任意设定闹钟时间,闹钟时间到时可通过功放电路放出动听的音乐,提供有四个按键可对时钟芯片
12、内的时钟值进行年,月,日,星期,时间等修正。 本电路主要的功能有:(1)、能实现正常的时钟功能。分别由lcd的上下行显示实时的时、分、秒、温度、年、月、日、时、分、秒,后面加冒号区分,并且按秒进行更新。(2)、能实现温度显示的功能,温度小数位用小数点区分,温度后面显示温度符号。 (3)闹钟设定及报警功能,报警响起时按任何键可取消报警。(4)能够使用按键随时调节适中的各个参数,按键设计四个有效键,分别为闹钟查看键,增大键,减小键,模式选择键。(5)利用DS12C887断电不停地特性,可以断电后准确显示时间。(6)采用直流供电电源。2. 多功能数字显示定时时钟的设计方案及分析多功能数字显示定时时钟
13、可以有多种实现方式,根据电子时钟里的核心部件秒信号的产生原理,可分为以下三种方式:2.1 FPGA设计方案现场可编程门阵列(Field Programmable Gate Array,FPGA),是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。由于EDA技术拥有系统的模拟和仿真功能,可读性、可重复性、可测性非常好,所以利用EDA开发FPGA是目前比较流行的方式。当然,有时根据需要,也会应用
14、MAX+ plus开发集成环境进行设计。正因为FPGA在设计过程中方便、快捷,而且FPGA技术功能强大,能够应用其制作诸如基代码发生器、数字频率计、电子琴、电梯控制器、自动售货机控制系统、多功能波形发生器、步进电机定位控制系统、电子时钟等。应用FPGA能够将时钟设计为为四种类型:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时钟系统能够包括上述四种时钟类型的任意组合123。采用可编程控制器(PLC)或FPGA作为主要器件来控制时钟芯片、完成对时钟芯片读写,闹钟控制以及lcd显示等。用FPGA编程较简单,I/O口较多,但此方案的FPGA模块的费用比较高。2.2 555时基电路设计方案555定时
15、器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5K的电阻而得名。目前,流行的产品主要有4种:BJT两个:555,556(含有两个555);CMOS两个:7555,7556(含有两个7555)。555定时器是一种数字与模拟混合型的集成电路,应用广泛。成本较低,外加电阻、电容等元件就可以构成多谐振荡器、单稳电路、施密特触发器等,常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等领域4。采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。由555构成的秒脉冲发生器电
16、路见图1。输出的脉冲信号V0的频率F为: 式(2.1)可通过调节式2.1中的3个参数,使输出V0的频率为精确的1Hz。图1 基于的秒脉冲发生器采用555定时器设计电子时钟,成本低,容易实现。但是受芯片引脚数量和功能限制,不容易实现电子时钟的多功能性。2.3单片机设计方案单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机56。单片机具有如下特点7:1控制功能强集成度高、体积小、有很高的可靠性;2低功耗、低电压,便于生产便携式产品;3外部总线增加了I2C、SPI等串行
17、总线方式,进一步缩小了体积,简化了结构;4单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。利用单片机的智能性,可方便地实现具有智能的电子钟设计。单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能。然而系统时钟误差较大,电子钟
18、的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。本设计中在单片机系统中加入高精度时钟日历芯片DS12C887。3 基于单片机的电子时钟硬件设计本电路采用的总模块如下图2所示:图2 电路总模块3.1 系统主控制部分目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列单片机。该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。 AT89S52 是一种低功耗、高
19、性能CMOS 8位微控制器,具有8K Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash 允许程序存储器在线编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线可编程Flash,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有以下标准功能:8k 字节Flash,256 字节RAM,32 位I/O口线, 2 个数据指针,三个16 位定时器/计数器
20、,一个6 向量2 级中断结构,全双工串行口。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。因此,AT89S52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域7。图3 AT89S52芯片PDIP封装引脚图AT89S52为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDI
21、P封装形式,如图3。3.2时钟芯片电路在电子时钟设计中,常用的实时时钟芯片有DS12887、DS1216、DS1643、DS1302。每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同5。 DS12887与DS1216芯片都有内嵌式锂电池作为备用电池; X1203引脚少,没有嵌入式锂电池,跟DS12C887芯片功能相似,只是相比较之下,X1203与AT89S51搭配使用时占用I/O口较多。DS1643为带有全功能实时时钟的8K×8非易失性SRAM,集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源,BCD码表示的年、
22、月、日、星期、时、分、秒,带闰年补偿。同样,DS1643拥有28只管脚,硬件连接起来占用微处理器I/O口较多,不方便系统功能拓展和维护。故而,本设计采用实时时钟日历芯片DS12c887。DS12C887是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能,其正常工作电压为3.3 V,工作电压范围为2.97 V3.63 V,是应用在DSP硬件电路中的理想时钟芯片。3.2.1 DSl2CR887的具体的特性(1) 具有10字节RAM用来存储时间信息。能够自动产生年、月、日、时、分、秒、星期等
23、时间信息,并且有时、分、秒的闹铃功能,温度25时每个月的时间误差在±1分钟以内。(2) 内部自带电池,外部掉电时,温度25时其内部信息能够保持5年之久。(3) 对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午。(4) 时间有二进制数和BCD码两种表示方法。(5) 内置128字节RAM,其中10字节RAM用来存储时间信息,4字节RAM用来存储控制信息,称为控制寄存器,114字节的通用RAM可供用户使用。(6) 用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。3.2.2 引脚功能 DS12
24、CR887的各引脚的功能说明如下:GND、VCC:工作电源。其中VCC接+3.3 V输入,GND接地,当VCC的输入小于+2.97 V时DS12CR887会自动将电源切换到内部自带的锂电池上,以保证内部时钟电路能正常工作,但此时不能读写数据。MOT:模式选择引脚。DA12CR887有两种工作模式,即Motorola模式和Intel模式,MOT接VCC选用Motorola模式;MOT接GND时,选用Intel模式。本文主要讨论Intel模式。SQW:方波输出引脚。用户可以通过对控制寄存器编程获得13种方波信号输出。AD0AD7:复用地址数据总线。该总线采用时分复用技术,在总线周期的前半部分,出现
25、在AD0AD7上的是地址信息,用于选通DS12CR887的RAM,而在总线周期的后半部分,出现在AD0AD7上的是数据信息。AS:地址选通输入引脚。在进行读写操作时,AS的下降沿将AD0AD7的地址信息锁存至DS12CR887。DS:数据选择或读输入引脚。该引脚有两种工作模式,选用Intel工作模式时,该引脚是读使能输入引脚,即Read Enable。RW:读写输入引脚。该引脚也有两种工作模式,选用Intel模式时,该引脚可作为写使能输入,即Write Enable。CS:片选输入引脚。低电平有效。IRQ:中断请求输出引脚。低电平有效。RESET:复位输入引脚。低电平有效,该引脚有效对DS12
26、CR887的时钟、日历和RAM中的内容无影响,仅对内部控制寄存器有影响,在典型应用中,RESET可以直接接至VCC,这样可以保证在DS12CR887掉电时,其内部控制寄存器不受影响,如图4示。图4 Ds12c887芯片引脚图3.3温度传感器电路在日常生活中和工农业生产中常要用到温度检测及控制,传统的测温元件有热电偶和热电阻,一般用来测量中高温,输出的是电压,将其转换成对应的二进制温度码值,需要较多的硬件支持,硬件电路复杂,软件调试较为复杂,制作成本高。另外,采集环境的温度也可采用IC化的温度传感器。常用的此类温度传感器有AD590和DS18B20。AD590测量到不同温度之后,将把应温度转化为
27、线性电流输出,为1A/K,正比于热力学温度。该传感器宽量程,为-55+150;精度高,激光校准精度到±0.5;电源范围宽:+4+30V。AD590优点很多,但是由于它只能将采集来的温度转化为电流输出,在实际应用中,需要先将AD590输出的电流转化为电压,再利用A/D转换元件进行模/数转换,将模拟量转化为数字量,最后送入单片机中81012。与AD590不同的是,DS18B20数字温度传感器能直接将被测温度转化成串行数字信号,以供单片机处理,既节省了硬件,又有效避免了模拟方式的干扰问题。它还具有微型化、低功耗、高性能、等优点。通过编程,DS18B20可以实现912位温度读数,信息经过单线
28、接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需要连接一条线。读、写和完成温度变换所需的电源可由数据线本身提供,而无需外部电源。测量范围为-55+125,增量值为0.5。电源电压范围为+3.0+5.5V。通过编程,用户还以自行设定告警上下限温度,告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件1112。 DS18B20是美国Dallas公司生产的基于单线(1-wire)技术的数字温度传感器芯片。其管脚分布如图5。图5 DS18B20引脚分布图每片DS18B20在出厂时都设有唯一的产品序列号,此序列号存放在它的内部ROM中,微处理器通过简单协议,就能识别这些
29、序列号,因此多个DS18B20可以挂接于同一条单总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。所以DS18B20多应用与HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。管脚功能描述参见表1。表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚;当工作于寄生电源时,此引脚必须接地。特别需要注意的是,与DS18B20配套使用的是频率为11.0592MHz单片机晶振,这决定了指令的运行时间,在软件设计中将
30、根据此指令运行时间编写各种延时程序。3.4 显示电路在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置
31、对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可8。本设计采用1602液晶显示模块,它可以和单片机AT89S52直接接口,电路如图6所示图6硬件原理图 3.5按键电路设计根据功能需要,本时钟需要设置以下功能键:模式选择键,加1操作键,减1操作键,闹铃查看键。一般按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘。独立式键盘
32、是各个按键相互独立,每个按键占用一个I/O口线,每根I/O口线上的按键不会影响其他I/O口上按键工作状态。独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口,在按键数量较多时,I/O口线浪费较大,且电路结构复杂。矩阵式键盘适合按键较多时使用。由于本设计的电子钟最多需要4个按键,若采用矩阵式键盘时会有按键浪费,故采用的是独立式键盘。如图7图7 键盘电路3.6 闹铃电路设计闹铃音乐可以直接采用蜂鸣器闹铃,如当前时刻与闹铃时间相同,单片机向蜂鸣器送出高电平,蜂鸣器发声。采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。可以在编程的时候编写一段音乐程序,待闹铃时间到时,调用该
33、音乐程序给扬声器,便响起音乐。还有一种方法是采用录音放音芯片1420做闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。采用录放音电路,铃声可以是预先设定的一段自己喜欢的音乐,符合电器设备人性化的要求。另外,也可以购置一块音乐集成电路,加置在单片机和蜂鸣器之间,当单片机连接闹铃电路的管脚送出高电平时,音乐集成电路会给蜂鸣器特定脉冲,使蜂鸣器发声。此类集成电路体积较小,使用方便,不足的是音乐简单、单一。本设计中的闹钟采用最简单的方法,占用单片机一根I/O口P3.0, 中间用PNP型三极管S9012连接P2.0和蜂鸣器。当P2.0引脚为低电平时,S9012的发射极和集电极
34、导通,使蜂鸣器发声。当响铃标志位为“1”时,P2.0送一定频率脉冲,使蜂鸣器U11发出声音3。如下图8。图8 闹铃电路3.7 电源电路设计本电路采用典型的串联电源电路。电源电路包括变压器、桥式整流器、电容和稳压器。通过变压器变压,使得220V电压变为12 V,在通过桥式整流,电容滤波,稳压器稳压,可输出5V的稳定电压6。如图9所示。图9 电源电路4. 多功能数字显示定时时钟的软件设计4.1控制主程序模块C51单片机可以应用汇编语言和C语言进行编程。,汇编语言与机器指令一一对应所以用汇编语言编写的程序在单片机里运行起来效率较高。C语言程序可读性高,更便于理解。本设计使用C语言编程。第一次上电,系
35、统先进行初始化,并依次开始调用键盘扫描子程序、DS12C887子程序、DS18B20子程序、闹铃子程序,经过延时,返回程序开头循环运行。主程序流程图如图10。图10 多功能电子钟主程序流程图4.2实时时钟日历子程序设计本程序主要实现对DS12C887,对年、月、日、时、分、秒等寄存器的读写操作。在其流程图如图11。图11 实时时钟日历子程序流程图4.3环境温度采集子程序设计DS18B20是1wire单线器件,它在一根数据线上实现数据的双向传输,需要一定的协议来对读写数据提出严格的时序要求,而AT89S52单片机并不支持单线传输。因此,必须采用软件的方法来模拟单线的协议时序。主机操作单线器件DS
36、18B20必须遵循下面的时序:1. 初始化单线总线上的所有操作均从初始化开始。初始化过程如下:主机通过拉低单线480s以上,产生复位脉冲,然后释放该线,进入RX接收模式。主机释放总线时,会产生一个上升沿。单线器件DS18B20检测到该上升沿后,延时1560s,通过拉低总线60240s来产生应答脉冲。主机接收到从机的应答脉冲后,说明有单线器件在线。1. 数据处理DS18B20要求有严格的时序来保证数据的完整。在单线DQ上,存在复位脉冲、应答脉冲、写“0”、写“1”、读“0”和读“1”几种信号类型。其中,除了应答脉冲之外,均由主机产生。而数据位的读和写则是通过使用读、写时隙实现的。所有的读写时隙至
37、少需要60s,且每两个独立的时隙之间至少需要1s的恢复时间。在写时序中,主机将在拉低总线15s内释放总线,并向DS18B20写“1”。若主机拉低总线后能保持60s的低电平,则向单总线器件写“0”。DS18B20仅在主机发出读时隙时才向主机传输数据,所以,当主机向DS18B20发出读数据命令后,必须马上产生读时隙,以便DS18B20能传输数据。实现环境温度采集转换并读取数据的程序流程图参见图12。图12 环境温度采集子程序流程图4.4显示子程序设计液晶显示较为复杂,必须按照严格的时序进行:为了方便实现按键显示,程序中调用的都是各个标志位,通过判断标志位的“真”、“假”来决定显示的内容。关键之处是
38、要实现根据键值显示不同的数字。显示子程序流程图参见图13。图13 显示子程序流程图4.5键盘扫描子程序单片机对键盘扫描的方法有随机扫描方式、定时扫描方式和中断扫描方式。本设计中AT89C51单片机在系统中的主要任务是接受DS12C887和DS18B20的数据并送出显示,完成时钟/日历校对和温度显示控制。采用随机扫描键盘方式4,系统也能够正常运行。程序流程如图14。图14 键盘扫描子程序4.6 闹铃子程序设计闹铃子程序最主要的任务是响应时钟芯片的中断。该程序流程图参见图15。图15 闹铃子程序流程图5. 多功能数字显示定时时钟的调试多功能数字显示定时时钟的验证工作分硬件调试和软件调试两部分,调试
39、方法介绍如下:首先,硬件调试主要是先搭建硬件平台,然后利用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,可以应用一些编辑或仿真软件进行软件调试,比如单片机C51编辑软件Keil9。通过编译、运行,可以检查程序错误。总之,调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键6。在调试过程中,首先必须明确调试顺序。例如:本设计是在单片机系统基础上建立起来的,所以必须先确定单片机基础电路能否正常工作,接下来还要确定显示电路能否正常工作,时钟电路是否正常运行等等。5.1硬件调试5.1.1单片机基础
40、电路调试单片机基础电路包括电源、单片机、外部时钟震荡电路、复位电路和外部接口电路。调试过程需要注意以下几点:1. 检查电源是否完好。2. 单片机电源要连接正确,并且保证AT89S52的31号引脚接高电平。3. 如果使用P0口做I/O口,要接上拉电阻。4. 编辑一个使一组发光二极管循环点亮的程序并烧录到单片机内,上电运行,检查单片机是否正常工作,复位电路是否正确。5.1.2显示电路调试本设计的显示电路使用了lcd1602。在连接显示电路之前要明确lcd1602的各个管脚的功能,然后才能开始进行连接7。在连接过程中,需要注意以下几点:1. LCD1602各管脚与单片机AT89S52的对应关系要十分
41、清楚.2. 明确单片机管脚功能。本设计定义了P3.5连接LCD1602的lcdrs脚,P3.4连接LCD1602的lcden脚。3. 编写一段显示程序,烧录进单片机,检查好电源正负端和lcd1602连接是否正确。检查无误后上电,检查显示电路是否正确。5.1.3 DS12C887电路调试该电路包含DS12C887芯片、LCD1602、AT89S52等部分。在与单片机连接的过程中需要注意以下几点:1. 清楚DS12C887与单片机连接的管脚。注意电源正负极连接。2. 编写DS12C887的时钟/日历程序,只要求能够正确显示时间。烧录进单片机,检查电路电源正负极连接是否正确,检查引脚接线是否正确。3
42、. 设定闹钟,并让蜂鸣器报警,证明DS12C887电路正确。5.1.4 按键电路调试按键电路比较简单,故调试起来也很容易。如果确保按键焊接正确,只需在DS12C887的调试程序上加上一段键盘调节子程序。日历显示子程序原理与时钟显示子程序原理相同7。5.2软件调试在硬件调试完毕的基础上,进一步完善程序,也就是进入软件调试阶段。在本设计中,软件调试主要分三大部分:实时时钟日历子程序调试、环境温度采集子程序调试、按键子程序调试。将这三部分调试成功,那么整个设计的软件部分也就基本完成了。在硬件调试部分,已经将实时时钟日历子程序调试完毕了,只需在主程序中调用按键子程序即可。5.2.1环境温度采集子程序调
43、试DS18B20温度传感器使用起来非常方便,不但接线少,而且编程容易。该温度传感器在读写数据时需要严格的时序,为了方便编写对应的延时程序,此时单片机一般都选用11.0592MHz的晶振 11。为了能正常显示温度,需要将读取到的TL和TH组合成一个字节,再转换成十进制数。本设计使用DS18B20时采用了温度传感器出厂默认设置12位分辨率,所以定义温度值temp等于TH,左移8位,再与TL进行“或”运算,即可得到温度值。温度显示子程序与时间显示子程序原理相同。5.2.2键盘子程序调试依据设计要求,键盘子程序需要完成对年、月、日、星期、时、分、秒的校对,温度的显示和闹铃的开关。为了便于显示子程序和闹铃子程序的调用, K1键设为模式键,K2 、K3键设为增大减小键,K4键都定义闹钟设定键。在调用闹铃子程序时,闹铃标志位为“flag_ri”,则开启闹铃,否则关闭闹铃。结束语钟表的数字化给人们的生产生活带来了极大的方便,设计多功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钛合金三辊斜轧工艺的参数优化和工程师辅助系统的开发
- 一年级数学计算题专项练习1000题集锦
- 2025年安徽医学高等专科学校高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025至2030年中国时尚软陶相框数据监测研究报告
- 2025年天津国土资源和房屋职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 儿童玩具行业技术创新与突破路径分析考核试卷
- 二零二五年度大学科研设备共享合作协议4篇
- 2025年中国3D智能按摩椅市场调查研究报告
- 2025-2030全球瓷砖破碎机行业调研及趋势分析报告
- 二零二四年度智能穿戴设备私人合伙股权分配与合作合同3篇
- 青岛版二年级下册三位数加减三位数竖式计算题200道及答案
- GB/T 12723-2024单位产品能源消耗限额编制通则
- GB/T 16288-2024塑料制品的标志
- 麻风病防治知识课件
- 干部职级晋升积分制管理办法
- TSG ZF003-2011《爆破片装置安全技术监察规程》
- 2024年代理记账工作总结6篇
- 电气工程预算实例:清单与计价样本
- VOC废气治理工程中电化学氧化技术的研究与应用
- 煤矿机电设备培训课件
- 高考写作指导议论文标准语段写作课件32张
评论
0/150
提交评论