基于STM32的TFT指针式时钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于STM32的TFT指针式时钟
摘要
自时钟发明的那天起,它就注定了与人们有着密不可分的关系,但科学技术在不断发展,人们随着时间的推移对时间计量的精度要求越来越高,机械式时钟也越来越满足不了人们日益增高的要求了。取而代之的事具有高度准确性和直观性且无机械装置,使用寿命更长更长等优点的电子时钟。电子时钟更具人性化,更能提高人们的生活质量,更受人们欢迎,机械时代已经远去,电子时代已经到来。因此本设计是基于意法半导体公司(ST)的STM32开发平台实现一种高精度,智能化的指针式时钟系统,采用STM32内部RTC设计电子时钟时,通常是数字显示,这是由于选用数码管和1602等器件的显示能力有限。而12864是基于点阵式的液晶屏,其像素点为128×64,但12864自身像素较低,使其显示指针式时钟效果远低于2.2寸TFT-LCD液晶,但两者所基于的原理相同。因此本设计采用STM32为控制核心,2.2寸TFT-LCD液晶作为显示芯片,构成了一个指针式电子时钟。
关键词:STM32;RTC;TFT-LCD
第1章绪论
1.1 引言
随着科学技术的发展和电子技术产业结构调整,单片机开始迅速发展,由于家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。单片机以其芯片集成度高、处理功能强、可靠性高等优点,成功应用于工业自动化、智能仪器仪表、家电产品等领域。
近些年,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。而目前,对于指针式时钟来说,所用的指针大多是靠机械装置驱动达到显示时间的目的,例如手表,挂钟,钟楼等等,单片机在指针式时钟中的应用也已经非常普遍的,人们对指针时钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为指针时钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。输出设备显示器可以用液晶显示技术。
1.2 本设计的目的和意义
1.2.1 设计目的
(1)巩固,加深和扩大STM32应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;
(2)培养针对课题需要,选择和查阅有关手册,图表及文献资料的自学能力,提高组成系统,编程,调试的动手能力;
(3)对课题设计方案的分析、选择、比较,熟悉用STM32做系统开发,研制的过程,软硬件设计的方法,内容及步骤;
(4)进一步掌握C语言在硬件编程中的应用,熟悉怎样用C语言实现TFT-LCD上的绘图功能;
(5)掌握STM32内部RTC的原理和应用。
1.2.2设计意义
数字指针式时钟是采用数字电路实现对时,分,秒,星期,年,月,日等数字以及指针表盘显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,
都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.3本设计的主要研究内容
(1)在硬件设计方面,本系统采用STM32为整个电子钟系统的核心处理器,通过高STM32内部RTC 来控制时间和日期的读取,最后再通过单片机对TFT-LCD 液晶进行驱动并实现在液晶上显示整个指针式电子时钟。
(2)在软件设计方面,重点研究了下列内容:
A.TFT-LCD 的驱动函数如何编写,包括LCD 的读函数(读数据,读LCD 状态),写函数(写数据,写命令),初始化函数,清屏函数等一系列驱动函数。
B.用C 语言在LCD 上绘图必须先写出打点函数,这是绘图的基本要求,由于本设计需要在液晶屏上模拟指针式时钟,因而还要写出绘圆和画线函数,于是便实现了表盘的绘制,时分秒指针的绘制等,从而在LCD 上可以模拟指针式电子钟。
C.STM32内部RTC 负责时间和日期信息的读取,自动计时,调整等一列功能,通过掌握DS1302的时序图,指令和功能表完成其驱动函数的编写,如读一字节函数,写一字节函数,指定位置读数据函数,指定位置写数据函数等等。再通过读时间函数实现与LCD 信息传输。
第2章 硬件系统设计
2.1 系统框图与说明
初步确定设计系统由STM32主控模块、TFT-LCD 显示模块组成。
系统框图如下图所示
系统框图
2.2 硬件设计部分
2.2.1 单片机芯片选择
作为电子爱好者或者电子行业硬件工程的开发者,单片机技术的掌握是必须的,但是目前很多的初学者选择入门的单片机都是基于MCS-51 内核的单片机,虽然此类单片机学习简单,使用方便,但是其性能在很多场合却是大打折扣,要么速度欠缺,要么存储空间欠缺,因此,由于MCS-51 自身的结构所限制,与目前的新技术有明显的脱节。STM32在运行速度,存储器空间,内部功能模块的集成化,以串行接口为主的外围扩展,适合使用高级语言编程,以及在开发技术和仿真调试方面都比MCS-51内核的单片机要先进。STM32 现在推出的型号,从最低的10 块钱的,到最高端的STM32F103ZET6,价格也不过40 元不到。其中包括的型号,有50 种之多。用户可以随便选择满足自己需求的产品。高端方面,STM32还推了F105/F107 系列。强化了USB 和网络的功能。这方面A VR32,从淘宝上看到的最低价格是30 元左右,具体配置没去看了。A VR32同STM32最大的缺点就是下载程序不方便,人家得专门为你做个下载器,或者从你那里买,OURA VR论坛上也有人搞了下载器出来,还真佩服这些哥们,挺厉害的。
STM32 具有如下特点:
1 )复用IO口重映射功能。
由于有些复用功能可以重映射,使得在STM32的PCB 设计的时候,方便很多。
2 )全部引脚都可以作为中断输入。
全部IO口都可以作为中断输入,这点比很多ARM好,当要使用中断的时候,随便那
个IO口都可以,而不需要接到特定的几个脚上,这样极大的方便了设计,不论原理图
设计还是PCB 设计。
3 )SWD调试支持。
STM32支持SWD调试,只需要2 跟IO线,就可以用来调试和下载代码,对引脚不多
的型号尤其适用。
4 )串口下载程序。
串口下载代码很多ARM都具有这个功能,STM32也保留了这一优秀设计,极大的降
低了开发成本(不需要什么JLINK 、ULINK之类的了,也不需要专门的下载器)。
下面是STM32F103RBT6的简单引脚图: