单片机课程设计---智能电子钟
- 格式:doc
- 大小:165.00 KB
- 文档页数:25
单片机原理及接口技术课程设计智能电子钟姓名:***学号:指导教师:***院系(部所):机电工程学院专业:机械设计制造及其自动化完成日期:2012年12月20日摘要本设计采用单片机AT89S52芯片以及相关的芯片来实现多功能的数字钟。
该设计选用一线制温度计DS18B20 作为温度传感器,实时时钟芯片DS1302提供当前日期和时间数据,并将实时的日期和温度数据在字符型液晶显示器LCD1602上显示出来。
本文设计了一种基AT89S52单片机,使用Dallas的一线制数字温度计DS18B20作为温度传感器,实时时钟芯片DS1302提供当前日期和时间数据,并将实时的日期和温度数据字符型液晶显示器LCD1602上显示,本次设计的多功能数字钟采用数字电路对日期和温度进行控制设置,我们采用LCD液晶显示,以24小时的计时方式,根据LCD显示原理进行显示,定时器计数。
在本次设计中,电路具有显示日期、时间、温度的基本功能,还可以实现对它们的调整。
本次设计要达到的目的是:具有时间显示和手动校对功能,24小时制;具有年、月、日显示和手动校对功能;具有显示当前星期的功能;具有闹铃功能;具有环境温度采集功能;掉电后无需重新设置时间和日期。
关键词: DS1302时钟芯片;LCD1602;DS18B20温度传感器.目录1 总体方案设计 (2)1.1 设计内容 (2)2 单元模块设计 (3)2.1 各单元模块功能介绍及电路设计 (3)2.1.1 温度采集电路 (3)2.1.2 DS1302时钟电路 (3)2.1.3 串行通信接口电路 (4)2.1.4 电源电路 (4)2.1.5 按键电路 (5)2.1.6液晶显示显示电路 (5)2.2 特殊器件介绍 (5)2.2.1 AT89S52单片机芯片 (5)2.2.2 DS1302介绍 (6)2.2.3 温度传感器DS18B20 (7)2.2.4 液晶显示LCD1602 (7)3软件设计 (8)3.1软件设计流程 (8)3.1.1 温度采集流程 (9)3.2.2 日期数据处理流程 (9)4 调试与结果 (10)附录 (11)参考文献 (23)1 总体方案设计1.1 设计内容该电路具有显示日期、时间、温度的基本功能,还可以实现对它们的调整。
本次设计要达到的目的是:具有时间显示和手动校对功能,24小时制;具有年、月、日显示和手动校对功能;具有显示当前星期的功能;具有闹铃功能;具有环境温度采集功能;掉电后无需重新设置时间和日期;系统不但接口设计简单、便于控制,而且具有很好的人机界面,可以通过几个按键对当前的时间进行调整,对闹钟进行随意设置,以及温度超过上下限会自动进行报警(LED 亮)等功能。
其原理框图如下图2.1所示:图1.1 数字钟原理框图在现代SOC 技术的引领下,人们对低故障、高实时、高可靠、高稳定的性能更加青睐,其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有专用复位电路,价格也较便宜,结合本设计的要求及综合以上比较的情况,我们选择用AT89S52单片机芯片来实现本次设计。
串行通信接口电路LCD1602 液晶显示键盘控制电路时钟电路 供电电路蜂鸣报时AT89S52单片机温度采集电压转换电路2 单元模块设计2.1 各单元模块功能介绍及电路设计2.1.1 温度采集电路DS18B20是美国Dallas半导体公司生产的一线制数字温度传感器。
测量范围为- 50 ℃~ + 125 ℃,精度可达0. 1 ℃,不需 A /D 转换电路,直接将温度值转换成数字量。
温度数据的传输,只需要一根数据线,直接将数据线与单片机的P3.6口相连接。
其图如下3.1所示:图2.1温度采集2.1.2 DS1302时钟电路DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。
DS1302提供2个电源引脚:一个(VCC2)接主电源;另一个(VCC1)接备用电源。
其图如下3.2所示:图2.2 DS1302时钟电路2.1.3 串行通信接口电路MAX232是电压转换芯片,将TTL电平转换成可以和电脑串口匹配的电压。
DB9通过下载线缆与电脑连接,可以将程序下载到单片机上。
其图如下3.3所示:图2.3 RS232串行通信2.1.4 电源电路为了便于使用,本次采用了把交流的220V经变压器再经LM7805B 变为单片机所使用的5V电源,如图3.4。
图2.4 电源电路2.1.5 按键电路本次设计中用到了4*4的矩阵键盘列阵,通过赋低电平选中其中一列,以便来控制时,分,秒,年,月,日,以及闹钟的调整。
其电路如图3.5:图2.5 按键控制电路2.1.6液晶显示显示电路本设计中会将时分秒,年月日周以及闹钟的设置,温度全部都会显示到液晶LCD1602上面,其具有16×2能够显示所有英文大小写字母,0到9十个数字以及一些常用的符号。
该液晶在4.5V到5.5V电压范围内都能正确工作,平均工作电流为2mA。
液晶HS162共16个管脚。
但是由于原理图中电路很简单并且只用到接插件所以此处没有给出原理图。
2.2 特殊器件介绍2.2.1 AT89S52单片机芯片AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其图如下3.6所示:图2.6 AT89S52引脚图2.2.2 DS1302介绍DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月、年,一个月小于31天时可自动进行调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行。
DS1302是以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1为课编程涓流充电电源,附加七个字节存储器。
其外部引脚分配如图所示:图2.7 DS1302的外部时钟引脚分配2.2.3 温度传感器DS18B20采用独特的一线接口,可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源。
测量温度范围为-55℃至+125℃。
华氏相当于是-67°F到257华氏度 -10 °C至+85 °C范围内精度为±0.5℃。
温度传感器可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统。
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。
图2.8 DS18B20的管脚2.2.4 液晶显示LCD1602HS1602是目前最常用的字符液晶之一。
在操作液晶时,先要对液晶进行初始化,即进行最初是的命令设置。
要设置液晶的工作方式设置,显示状态设置,输入方式设置等。
最后再向液晶写入数据,即写入想要显示字符的ASCII码。
3软件设计3.1软件设计流程本次设计的系统软件设计主要包括主程序设计和温度采集子模块程序设计、日历日期数据子模块程序、按键控制子模块程序和LCD 液晶显示子模块程序设计等。
主程序主要完成器件的初始化,并判断有无按键按下,并根据判断的结果调用相应的子模块程序;而温度采集子模块程序和日历日期数据子模块程序完成相应的数据采集、处理和保存,按键处理子模块程序完成日期和闹钟的设置,而液晶显示子模块只要把上述子模块储存的数据送去显示即可。
系统总的流程图如下图所示:图3.1 主程序流程开始日历日期数据处理温度数据处理液晶显示按键扫描按键按下按键控制初始化 NY时间日期的修改3.1.1 温度采集流程DS18B20在进行温度采集时,必须首先进行初始化,然后发ROM 操作指令,再发存储器操作指令,最后才能传输数据。
每次对器件进行读写操作时, 必须严格按照DS18B20 的时序要求。
因为温度数据在DS18B20中是以2的补码形式存放的,且低4位为小数部分, 4位到10位为整数部分,其余为符号位,因此在读出2个字节的温度数据后,首先求一次补码得到原码,再将数据分离为整数温度值和小数温度值,整数部分的值可通过数据交换指令得到,而小数温度值部分可通过查表得到。
因为在液晶显示器上显示的是字符的ASCII 码,因而还要转换为BCD,在加30H 转换为ASCII 码。
其流程图如图3.2:3.1.2 日期数据处理流程对时钟芯片的操作主要包括一是将芯片中的日期等数据读出来,二是在进行日期等设置时将设置的数据写入芯片,这也是按键处理时的主要内容。
无论是读数据还是写数据满足DS1302 对时序的要求。
而对芯片各个数据部分的访问是通过地址进行的,且读和写的地址不一样。
读出的数据同样要转为ASC II 码,然后储存起来,等待送去显示,流程图如图3.3:图3.2 流程图图3.3 流程图读温度数据 初始化求原码 温度数据的整数和小数处理转为ASCII 码 送去显示 初始化 读日期数据 数据处理 将设置的数据写入芯片转为ASCII 送去显示4 调试与结果系统的调试可以分为软件调试与硬件调试。
软件调试可以在其集成开放环境中进行,编译完之后,分别对各子程序进行仿真。
仿真之后在下载到单片机,根据实际要求,进行逐一测试。
如果不满足则进行修改。
直到可以准确的报站以及显示各站名为止。