刘岩:基于单片机的多功能时钟设计
ALE的输出,可在SFR8EH地址上置0。此时,ALE只有在执行MOVX时ALE才起作用。另外该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间对程序存储器的读操作只限定外部程序存储器(0000H-FFFFH)。当/EA端保持高电平时,单片机读内部程序存储器。在FLASH编程期间,此引脚也用于施加12V或5V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
3.1.2 时钟芯片DS1302
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
图3-2外部引脚分配
Figure 3-2 distribution of external pins
各引脚的功能为:
10
辽宁工程技术大学毕业设计(论文)
DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端。
3.1.3 温度传感器DS18B20
1)DS18B20功能特点
DS18B20具有超小体积和超低硬件开销,精度高,抗干扰能力强等优点。具有全数字温度转换及输出,单总线数据通信,最高12 位分辨率,检测温度范围大的特征,是开发温度相关产品的很好的选择。其主要功能如下:
a 独特的单线接口仅需一个端口引脚进行通讯 b 简单的多点分布应用 c 无需外部器件 d 可通过数据线供电 e 零待机功耗
f 测温范围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F 递增 g 温度以9 位数字量读出
h 温度数字量转换时间200ms(典型值) i 用户可定义的非易失性温度报警设置
j 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 k 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 2)DS18B20内部工作原理
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度
11
刘岩:基于单片机的多功能时钟设计
报警触发器TH和TL配置寄存器。如图3-3所示。
图3-3 DS18B20原理图
Figure 3-3 schematic diagram of DS18B20
DS18B20引脚定义: 1)DQ为数字信号输入/输出端 2)GND为电源地
3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)
图3-4 DS18B20引脚图
Figure 3-4 the the pin figure of DS18B20
12
辽宁工程技术大学毕业设计(论文)
图3-5给出了DS18B20测温原理:DS18B20用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。
同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。
斜坡式累加器用来补偿感温振荡器的非线性,使其在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。
DS1820 内部对此计算的结果可提供0.5℃的分辨力。温度以16bit带符号位扩展的二进制补码形式读出。数据通过单线接口以串行方式传输。
DS1820 测温范围-55℃~+125℃,以0.5℃递增。如用于华氏温度,必须要用一个转换因子查找表。
图3-5 DS18B20测温原理图
Figure 3-5 temperature measurement schematic diagram of DS18B20
DS18B20与单片机的硬件连接有两种方法:一是VDD接外部电源,GND接地I/O与
单片机的I/O线相接;二是用寄生电源供电,此时VDD和GND接地,I/O接单片机I/O。无论是那种供电方式,I/O线都要接4.7kΩ左右的上拉电阻。图3-6中,DS18B20采用寄生电源方式,其VDD和GND均接地,而图3-7中,DS18B20采用外接电源方式,其VDD
13
刘岩:基于单片机的多功能时钟设计
端用3-5.5v电源供电。本设计采用3-7所示接线,即外接电源工作方式[11]。
图3-6 DS18B20接寄生电源图
Figure 3-6 Parasitic power diagram of DS18B20
图3-7 DS18B20外接电源图
Figure 3-7 Circumscribed power diagram of DS18B20
3.1.4 液晶显示屏LCD1602
1)LCD1602特点说明[12] [13]
液晶显示模块由于具有低功耗、寿命长、体积小、显示内容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块。本系统设计采用字符型液屏显示模块LCD1602作为显示器件,这样不仅简化了系统的硬件设计,而且极大地提高了系统的可靠性。字符型液晶显示模块LCD1602是单片机应用设计中最常用的信息显示器件。LCD1602 可以显示两行,每行16个字符,采用+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比[14]。
14