- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于 单片机的TFT彩屏显示的万年历.doc
基于51单片机的TFT彩屏显示的万年历
―单片机课程设计
学 院:信息工程
专 业:通信工程
班 级: 10级(3)班
姓名学号:刘伟斌 3110003144
指导老师:刘震宇
制作日期:2013年6月1日星期
基于单片机的的万年历的设计
摘要:电子万年历是一种非常广泛日常计时工具。它可以对年、月、日、周、时、秒进行精确计时,同时可显示闰年农历温度信息,在日常生活中极为实用,DS1302是常用的时钟芯片,几个低廉,精度高且对于数字电子万年历采用直观的数字显示,还具有时间校准等功能。
本设计是基于51 系列的单片机进行的电子万年历设计,可以显示年、月、日、时、分、秒及周信息,具有可用串口调整日期和时间功能。而且还具有温度显示功能。
关键词:单片机 时钟 DS1302 温度 DS18B20 串口
一,设计要求与方案设计
1.1 设计要求:
(1) 万年历能计算阳历年、月、日、时、分、秒。(注意闰年)
(2) 有时间设置按钮,能重新设定时间,并按新时间计算。
(3) 时间的显示有两个方案: a、板上LCD 显示;
b、通过串行口在PC 机上显示。
1.2 电路设计:
综上设计要求所述,对此次作品的方案选定: 采用STC89C52 作为主控制系统; DS1302 提供时钟; DS18B20作为数字式温度传感器;TFT彩屏作为显示;MAX232模块的串口通过与计算机通信来修改时间参数并可以下载程序。
二,系统的硬件设计与实现
2.0 电路整体设计框图与整体原理图
2.1 89C52主控制器模块
STC89C52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.
2.2 DS1302时钟模块
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
DS1302 与单片机连接电路如下:
2.3 DS18B20温度模块
在本万年历当中温度的采集采用数字温度传感器DS18B20。它属于单总线器件,具有线
路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可
以挂很多这样的数字温度计,十分方便。
DS18B20 与单片机连接电路如下:
2.4 TFT彩屏显示模块
TFT屏(Thin Film Transistor)是薄膜晶体管型液晶显示屏,它的每一个象素点都是由集成在其后的薄膜晶体管来驱动的,这样不仅提高了显示屏的响应速度,同时可以精确控制显示色阶,所以TFT液晶的色彩更逼真。
TFT彩屏显示模块与单片机连接电路如下:
2.5 MAX232串口通信模块
MAX232串口通信模块可以用来单片机下载程序和串口通信修改时间参数
与单片机连接如下图:
2.6 电源模块
电源模块电路中加一个LED二极管电路可以防止电源正负极接反,从而保护芯片不被烧毁;还可以当电源指示灯用。
电源与系统版连接如下图:
三,PCB图(用protel软件设计)
四,实物制作过程
4.1 硫酸纸打印 4.2 显影
4.3 腐蚀 4.4 钻孔
4.5 焊接 4.6实物效果图
五,程序设计思路与实现
软件设计是本设计的关键,软件程序编写的好坏直接影响着系统运行情况的良好。因本程序涉及的模块较多,所以程序编写也采用模块化设计,C语言具有编写灵活、移植方便、便于模块化设计的特点,所以本系统的软件采用C51编写。
程序框图如下:
主程序如下:
#includereg52.h
#includeds1302.h
#includeILI9163.h
#include 18b20.h
#define TOP 9
#define BOTTOM 10
#define LEFT 14
#define RIGHT 10
#define DISTANCE 20
#define CCOLOR 0x001f
#define BCOLOR 0xff00
unsigned int temp; //温度临时变量
unsigned char TempH,TempL;
bit SetFlag; //
文档评论(0)