基于单片机的电子万年历计时工具设计与实现可行性研究报告Word格式.docx
《基于单片机的电子万年历计时工具设计与实现可行性研究报告Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子万年历计时工具设计与实现可行性研究报告Word格式.docx(39页珍藏版)》请在冰豆网上搜索。
关键词:
单片机;
DS1302;
DS18B20;
LCD1602
第1章绪论
1.1课题背景
在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响,随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和温度功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势。
伴随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
由其是单片机技术的应用产品已经走进了千家万户。
电子万年历的出现给人们的生活带来的诸多方便,作为一种附加功能,现在越来越广泛的被应用于各种电子产品中,具有广阔的市场前景。
1.2课题意义
电子万年历作为电子类小产品不仅是市场上的宠儿,也是是单片机设计培训中一个很实用的题目。
因为这个课题有很好的开放性和可发挥性,对制作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。
而且要求设计的电子万年历在操作上力求简洁,功能上尽量齐全,显示界面也要出色。
所以,电子万年历制作无论从实用目的,还是从培养能力的角度来看都是很有价值的毕业设计课题。
本电子万年历的设计在硬件方面主要采用STC89C52单片机作为主控核心,由DS1302时钟芯片提供时钟、1602LCD液晶显示屏显示。
DS1302时钟芯片是美国DALLAS公司推出的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,而且DS1302的使用寿命长,误差小;
数字显示是采用的LED液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒等信息。
最后在老师同学的帮助以及自己的努力下完成了此次电子万年历的设计。
1.3国内外现状及水平
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。
因此,研究万年历及扩大其应用,有着非常现实的意义。
它可以对年、月、日、周日、时、分、秒进行计时,对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
近些年我国也开始重视对电子万年历的开发与设计,让更多的电子时钟能够走进人民生活,跟多人能够应用到功能强大,精度高的电子时钟。
但是仍然存在很多问题。
中国电子万年历产业发展出现的问题中,许多情况不容乐观,如产业结构不合理、产业集中于劳动力密集型产品;
技术密集型产品明显落后于发达工业国家;
生产要素决定性作用正在削弱;
产业能源消耗大、产出率低、环境污染严重、对自然资源破坏力大;
企业总体规模偏小、技术创新能力薄弱、管理水平落后等。
从什么角度分析中国电子万年历产业的发展状况?
以什么方式评价中国电子万年历产业的发展程度?
中国电子万年历产业的发展定位和前景是什么?
中国电子万年历产业发展与当前经济热点问题关联度如何……诸如此类,都是电子万年历产业发展必须面对和解决的问题——中国电子万年历产业发展已到了岔口;
中国电子万年历产业生产企业急需选择发展方向。
中国电子万年历产业发展研究报告阐述了世界电子万年历产业的发展历程,分析了中国电子万年历产业发展现状与差距,开创性地提出了“新型电子万年历产业”及替代品产业概念,在此基础上,从四个维度即“以人为本”、“科技创新”、“环境友好”和“面向未来”准确地界定了“新型电子万年历产业”及替代产品的内涵。
根据“新型电子万年历产业”及替代品的评价体系和量化指标体系,从全新的角度对中国电子万年历产业发展进行了推演和精准预测,在此基础上,对中国的行政区划和四大都市圈的电子万年历产业发展进行了全面的研究。
第2章基于单片机万年历的方案研究
2.1系统基本方案选择和论证
2.1.1单片机芯片的选择
本设计采用STC89C52芯片作为硬件核心,该芯片采用FlashROM,内部具有8KBROM存储空间,相对于本设计而言程序空间完全够用。
能于5V电压工作,而且与MCS-51系列单片机完全兼容,而且运用于电路设计中时具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,避免芯片的多次拔插对芯片造成的损坏。
2.1.2显示模块选择方案和论证
方案一:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。
方案二:
采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
但是由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往会有很多障碍,所以不采用LED数码管作为显示。
方案三:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,对于电子万年历而言,一个1602的液晶屏即可,价格也还能接受,需要的接口线较多,但会给调试带来诸多方便,所以此设计中采用LCD1602液晶显示屏作为显示模块。
2.1.3时钟芯片的选择方案和论证
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然可以减少时钟芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
采用DS1302时钟芯片实现时钟,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
采用普通32.768kHz晶振。
因此,本设计中采用DS1302提供时钟。
2.1.4温度传感器的选择方案与论证
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以避免A/D模数转换模块,降低硬件成本,简化系统电路。
另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
因此,本设计DS18B20温度传感器作为温度采集模块。
2.2电路设计最终方案决定
综上各模块的选择方案与论证,确定最后的主要硬件资源如下:
采用STC89C52作为主控制系统;
DS1302提供时钟;
DS18B20作为数字式温度传感器;
LCD1602液晶屏作为显示。
2.3DS1302,DS18B20和LCD1602的原理及说明
2.3.1LCD1602工作原理及说明
(1)寄存器选择控制
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符,图形寄存器选择控制表如表2.1所示:
表2.1LCD1602寄存器选择控制表
RS
R/W
操作说明
0
写入指令寄存器(清屏指令等)
0
1
读busyflag,以及读取位址计数器(DB0~DB6)的值
1
写入数据寄存器(显示各字型等)
1
从数据寄存器读取数据
(2)指令集
1602通过D0~D7的8位数据端传输数据和指令。
显示模式设置(初始化)00111000[0x38]设置16×
2显示,5×
7点阵,8位数据接口;
显示开关及光标设置:
(初始化)00001DCBD显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)。
000001NSN=1(读或写一个字符后地址指针加1并且光标加1),N=0(读或写一个字符后地址指针减1并且光标减1),S=1且N=1(当写一个字符后,整屏显示左移),S=0当写一个字符后,整屏显示不移动。
数据指针设置:
数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)。
其他设置:
01H(显示清屏,数据指针=0,所有显示=0);
02H(显示回车,数据指针=0)。
2.3.2DS1302原理及说明
(1)时钟芯片DS1302的工作原理
DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;
读/写时序如下图2.2所示。
图2.1为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。
对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;
该位为0则表示进行的是写操作。
控制字节总是从最低位开始输入/输出的。
表2.2为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;
当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。