基于STM32的智能万年历课程设计说明书
STM32 RTC万年历设计

static uint8_t num; //接收计数 uint8_t temp=0; //查询是否发生了空闲中断 if(__HAL_UART_GET_FLAG(usart->huart,UART_FLAG_IDLE) != RESET && \
注意,这部分代码要写在 用户代码区之间,闹钟初始化的部分可以保留在外面,不需要加 入到条件判断语句里面。 到这里,如果断电,在恢复以后时间就可以正常走下去了吗?当然…… 是不可以的!!! 现象是:重新上电后,时分秒的时间是可以继续延续下去,但是日期变成了 2000-01-01 , 为什么??这就需要去追一下初始化的代码了。
如果在日期更新的时候,我们没有重新备份日期到备份寄存器中,那么我们上电读回来的时 间就是我们第一次备份的时间,例如,今天我们备份了日期,然后把板子停电 3 天,三天后 再开启的话,读回来的时间就是今天备份的日期,并不是三天后的日期。
对于这个问题,我们就需要在日期更新和设置日期的时候,都需要把新的日期备份到寄存器 中,做法是在日期更新函数中增加备份代码:
我们需要去查看一下 HAL_RTC_Init(&hrtc)这个函数的代码是实现了什么功能。
在函数结尾,我们看到了上面这一段代码,当调用这个函数的时候就会把日期设置成 2000-01-01 了,找到了原因,我们要怎么改呢?这一段初始化代码什么是规避不了的,那 么我们可以在他执行之后重新把日期设置一下,思路还是利用备份寄存器。 我们可以在初始化时,把日期写到备份寄存中,完善一下之前写的条件初始化程序的内容, 增加日期备份。在这里我们备份的日期仅仅是初始化当时配置的时间,上电后读回来的也是 这个时间,不一定就是正确的!!
万年历单片机课程设计

万年历单片机课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其功能和应用。
2. 学生能掌握万年历的运行机制,理解日期、时间计算的方法。
3. 学生能了解并运用编程语言(如C语言)进行单片机程序设计。
技能目标:1. 学生能运用所学知识,设计并实现一个具有日期和时间显示功能的万年历单片机系统。
2. 学生能够通过实践操作,掌握使用开发工具和调试技巧,提高问题解决能力。
情感态度价值观目标:1. 学生培养对单片机技术及编程的兴趣,激发创新意识和探索精神。
2. 学生通过团队协作,培养沟通、合作能力,提高集体荣誉感。
3. 学生在学习过程中,认识到科技发展对社会的重要性,增强社会责任感。
课程性质:本课程为实践性较强的课程,结合理论知识与实践操作,让学生在动手实践中掌握单片机技术。
学生特点:学生具备一定的电子技术基础,对编程有一定了解,好奇心强,喜欢动手实践。
教学要求:教师需结合学生特点,采用任务驱动、案例教学等方法,引导学生主动探究,确保课程目标的实现。
在教学过程中,注重培养学生的实践能力和创新能力。
通过对课程目标的分解和教学评估,确保学生达到预期学习成果。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理及功能特点,结合教材第二章内容,使学生建立单片机的基本概念。
2. 编程语言基础:回顾C语言编程基础,强调其在单片机编程中的应用,参考教材第四章进行教学。
3. 万年历原理:讲解日期和时间的计算方法,分析万年历的运行机制,结合教材第三章内容进行教学。
4. 单片机程序设计:教授如何使用C语言编写单片机程序,实现万年历功能,参考教材第五章内容。
5. 硬件电路设计:介绍万年历单片机系统的硬件组成,分析电路原理,结合教材第六章进行教学。
6. 实践操作:指导学生使用开发工具进行程序编写、调试和烧录,完成万年历单片机系统的搭建和测试。
7. 教学进度安排:- 第1周:单片机基础知识学习;- 第2周:编程语言基础复习;- 第3-4周:万年历原理讲解和单片机程序设计;- 第5周:硬件电路设计;- 第6周:实践操作,完成万年历单片机系统设计;- 第7周:总结与展示,进行教学评估。
基于单片机的万年历设计

一、引言万年历是一种显示当前日期和时间的器件或软件。
随着科技的发展,电子产品普及率愈来愈高,基于单片机的万年历设计成为了一种非常受欢迎的设计方案。
本文将介绍一种基于单片机的万年历设计。
二、设计原理1.显示模块:采用液晶显示屏作为显示模块,可以显示日期、时间等信息。
2.时钟模块:基于RTC(实时时钟)模块,用于获取当前日期和时间。
3.按键模块:采用按键模块作为输入模块,用于设置日期和时间、切换显示模式等。
4.控制模块:基于单片机,用于控制各个模块的工作,并进行相关的计算和显示。
三、硬件设计1.单片机选择在本设计中,选择了一款常用的单片机,STM32F103C8T6、它具有低功耗、高性能的特点,并且具备丰富的外设接口,非常适合用来设计万年历。
2.RTC模块选择在本设计中,选择了一款常用的RTC模块,DS1302、它具有低功耗、稳定性好的特点,并且具备SPI接口,非常适合用来获取当前日期和时间。
3.液晶显示屏选择在本设计中,选择了一款常用的液晶显示屏,1602液晶显示屏。
它具有较大的屏幕尺寸、低功耗的特点,并且可以显示多行字符,非常适合用来显示日期、时间等信息。
4.按键模块选择在本设计中,选择了一款常用的按键模块,4x4按键模块。
它具备4行4列的按键布局,可以满足设置日期和时间、切换显示模式等功能的需求。
五、软件设计1.初始化设置在软件设计中,首先需要对各个硬件模块进行初始化设置。
2.获取当前日期和时间使用RTC模块获取当前日期和时间,并将其存储在相应的变量中。
3.显示日期和时间使用液晶显示屏将当前日期和时间显示出来。
4.设置日期和时间通过按键模块获取用户的输入,并将对应的日期和时间设置到RTC模块中。
5.切换显示模式通过按键模块获取用户的输入,并根据用户的选择切换不同的显示模式,例如切换到年模式、月模式、日模式等等。
六、总结通过以上的设计,基于单片机的万年历完成了日期和时间的获取、显示和设置等功能。
(完整word版)基于STM32的万年历设计

基于STM32的万年历设计班级:姓名:学号:成绩:电子通信工程系题目:基于STM32的万年历设计前言:随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS12C887。
它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS12C887的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,采用数字式温度传感器DS18B20提取外界温度,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
进入新世纪LCD显示屏的技术和产业都取得了长足的发展,作为重要的现代信息发布媒体之一,LCD显示屏在证券交易、金融、交通、体育、广告等领域被广泛的应用。
伴随社会信息化进程的推进,LCD显示屏技术也在不断的推陈出新,应用领域愈加广阔。
基于STM32的LCD显示可以更好的满足各种需求,也更便于操作和实现。
现基于STM32在液晶显示屏幕上显示文本及图形。
目前,显示技术和显示工业的发展迅速。
显示技术是传递视觉的信息技术。
液晶显示器件LCD 是当今最有发展前途的一种平板显示器件,它具有很多独到的优异特性。
它具有显示信息多、易于多彩化、体积小、重量轻、功耗低、寿命长、价格低、无辐射、无污染、接口控制方便等优点。
截至目前,我国在液晶显示取得较大进步,我国LCD产业已经走过了近30年的历程.经历几次大的投资浪潮之后,我国内地已经成为世界最大的TN-LCD(扭曲液晶显示器)生产基地和主要的STN-LCD(超扭曲液晶显示器)生产基地,并且从2003年开始,涉足TFT-LCD(薄膜晶体管液晶显示器)领域.本课题设计采用STM32F103VE开发板,实现在LCD显示屏上显示由按键可操控的万年历功能。
STM32实现万年历..

STM32学习笔记一竹天笑实现的功能:1、日历功能。
2、数字和模拟时钟功能。
图1(为LCD截屏保存在SD卡中的图像)最终界面如下,但还存在不少漏洞。
1、没有更改时间的设置;2、只有节气显示没有节假日显示3、背景不是用uCGUI画的,是在PS中画好然后存在SD卡中,然后显示的BMP 格式图像。
要点分析:1、STM32自带了RTC时钟计数器,从0开始计数到232。
每一个计数代表秒计数,每六十个计数代表分计数,以此类推。
24(小时)*60(分钟)*60(秒钟)=86400代表一天的计数时间。
假设当前计数为count,count/86400得到计数的天数,根据这个得到年月日。
Count%86400得到时分秒。
2、一些根据1中得到的年月日时分秒,进行计算的程序有:阳历转阴历,闰年判断,节气判断,星期几计算,当前月有多少天等等。
3、模拟时钟的绘制:时钟指针运动算法、屏幕重绘方法、RTC消息、画笔/画刷等。
指针运动算法和屏幕重绘方法是本程序主要难点所在。
(以下参照百度文库之模拟时钟)不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。
计算指针端点(x, y)的公式如下:x =圆心x坐标+ 指针长度* cos (指针方向角)y =圆心y坐标+ 指针长度* sin (指针方向角)注意,指针长度是指自圆心至指针一个端点的长度(是整个指针的一部分),由于指针可能跨越圆心,因此一个指针需要计算两个端点。
由于屏幕的重绘1秒钟一次,如果采用全屏删除式重绘则闪烁十分明显,显示效果不佳。
本程序采用非删除式重绘,假定指针将要移动一格,则先采用背景色(这里是白色)重绘原来指针以删除原来位置的指针,再采用指针的颜色在当前位置绘制指针(如果指针没有动,则直接绘制指针,此句在程序中被我删除,具体原因,为数据截断导致一些误差)。
另外,秒表为RTC一秒钟定时计数。
程序分析:uCGUI+uCOS,一共三个任务:主处理任务、触摸屏任务、秒更新任务。
基于STM32单片机的万年历设计毕业设计论文

万年历是一种可以显示年、月、日、星期的电子设备,广泛应用于日常生活和办公场所。
本文将介绍一个基于STM32单片机的万年历的设计思路和实现过程。
首先,我们需要明确设计目标。
在这个项目中,我们的目标是使用STM32单片机开发一个功能齐全、易于操作的万年历。
具体地说,这个万年历应该能够显示当前的年、月、日和星期,并且能够进行日期的加减操作,同时应该具备一些辅助功能如闹钟设置、倒计时等。
接下来,我们需要进行硬件设计。
首先需要选择适当的显示屏,比如常见的LCD或OLED屏幕。
然后,我们需要选择合适的按键和外部触发器,用于用户的交互输入。
同时,还需要添加一些必要的接口,如USB接口用于数据传输和维护。
在软件设计方面,我们需要定义合适的数据结构来存储日期、时间、闹钟等信息。
同时,需要编写相应的程序来实现日期的显示和更新、日期的加减、闹钟的设置等功能。
在实现倒计时功能时,我们可以使用定时器中断来实现精确的计时。
此外,为了提高用户体验,我们可以添加一些额外的功能。
比如,我们可以为万年历设计一个简洁美观的用户界面,考虑使用图形库绘制用户界面元素。
同时,可以添加一些实用的功能如温湿度监测、天气预报等。
最后,在整个开发流程结束后,我们需要进行集成测试和调试,确保万年历的各项功能正常运行。
并且,我们还可以考虑为万年历添加一些优化和改进措施,如增加存储容量、优化节能技术等。
综上所述,基于STM32单片机的万年历设计主要涉及硬件设计和软件设计两个方面。
通过精心的设计和合理的实现,我们可以开发出一款功能丰富、易于使用的万年历产品,满足用户的各种需求。
单片机万年历课程设计

单片机万年历课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和万年历的功能需求。
2. 使学生掌握单片机编程的基本语法和逻辑结构。
3. 帮助学生掌握如何在单片机上实现日期、时间的计算与显示。
技能目标:1. 培养学生运用单片机进行项目设计的能力,特别是万年历的实际应用。
2. 培养学生独立编程和调试程序的能力,解决实际项目中遇到的问题。
3. 提高学生团队协作能力和项目管理的意识。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学生的创新意识和探索精神。
2. 增强学生面对困难的勇气和毅力,培养他们积极解决问题的态度。
3. 通过团队合作,培养学生的集体荣誉感和责任感。
课程性质:本课程为实践性强的设计与制作课程,以单片机技术为核心,结合编程和电子技术,实现万年历的制作。
学生特点:学生为高年级学生,已具备一定的单片机基础知识,有编程基础,具备独立思考和解决问题的能力。
教学要求:注重理论与实践相结合,强调动手操作和实际应用。
教学过程中要关注学生的个体差异,提供适当的指导与帮助,确保每个学生都能在原有基础上得到提升。
通过课程学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
二、教学内容1. 单片机基础回顾:复习单片机的硬件结构、工作原理及I/O口编程。
- 教材章节:第三章单片机硬件结构与工作原理;第四章I/O口编程。
2. 定时器与中断:学习单片机定时器的工作原理,掌握中断编程方法。
- 教材章节:第五章定时器与中断;第六章中断编程。
3. 日期时间计算:讲解日期时间的计算方法,如何在单片机中进行实现。
- 教材章节:第七章日期时间计算;第八章单片机实现日期时间计算。
4. 显示技术:学习LED显示技术,掌握动态扫描显示方法。
- 教材章节:第九章LED显示技术;第十章动态扫描显示。
5. 万年历设计与实现:结合所学知识,设计并实现单片机万年历。
- 教材章节:第十一章项目设计与实现;第十二章万年历设计与制作。
万年历_ARM课程设计

目录4 (7)5.总结 (8)万年历系统摘要:万年历在日常生活中最常见,应用也最广泛。
本次课程设计主要就是设计一款电子万年历系统,本次嵌入式系统课程设计以STM32F103RB芯片为核心,主要能够实现显示时间、日期、节日、以及24节气和12生肖等功能。
其中时间显示包括时、分、秒,日期显示包括年、月、日,显示部分通过电脑上的超级终端进行显示,当程序编译无误后,将其下载至开发板中,然后通过超级终端进行显示,开始时用户需要自行设置时间和日期,然后万年历系统才会按照用户设计的功能开始工作。
关键字:STM32F103RB 超级终端时间日期显示 24节气显示十二生肖显示1引言STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM 内核。
按性能有不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。
此次我们所使用的STM32F103RB芯片就是增强型系列,增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。
时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于MHz。
ARM公司的高性能”Cortex-M3”内核具有一流的外设(1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度)、低功耗(在72MHz 时消耗36mA(所有外设处于工作状态),待机时下降到2μA)、最大的集成度(复位电路、低电压检测、调压器、精确的RC振荡器等)\简单的结构和易用的工具,STM32F10x重要参数主要有供电、容忍5V的I/O管脚、优异的安全时钟模式、带唤醒功能的低功耗模式、内部RC振荡器、内嵌复位电路、工作温度范围是-40°C至+85°C或105°C。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书设计题目:基于STM32的智能万年历专业:电气工程及其自动化班级:设计人:课程设计任务书学院电气信息系专业电气工程及其自动化一、课程设计题目:基于STM32的智能万年历专题名称:最小应用系统二、课程设计主要参考资料(1)刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社.2013.5(2)ADS7943中文参考资料[M/CD].(3)ILI9320控制器中文参考资料[M/CD].三、课程设计应解决主要问题(1)最小应用系统:包括MCU、复位、启动、晶振、电源等。
(2)日历的显示和设置;(3)万年历的算法和实现;(4)定时闹钟功能;(5)无线设置功能。
四、课程设计相关附件(如:图纸、软件等)(1)软件:Keil μVision4(2)开发平台:神州Ⅱ号STM32嵌入式技术开发板五、任务发出日期:课程设计完成日期:指导教师签字:系主任签字:指导教师对课程设计的评语指导教师(签章):日期:摘要单片机应用技术飞速发展,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及生活中广泛使用的各种智能IC卡、电子宠物等,从大到国家防卫,小到日常生活,方方面面都离不开单片机。
单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
二十一世纪的今天科技与经济迅速发展,人们的生活节奏变得越来越快,生活水平越来越高,对于生活的品味和质量的要求也更高。
人们不再满足于只能提供简单计时功能的时钟,希望在能保证计时精确的基础上能多添加一些其他功能,诸如日历、定时等。
本文主要介绍了以STM32F103VCT6开发板为核心部件来设计的一款万年历,以其内部的RTC时钟模块作为时钟,用TFTLCD液晶显示器作为显示模块,时钟电路能准确提供24小时制时间、平年闰年的判断以及定时。
采用Keil uVision4进行编写调试程序,以神州二号嵌入式技术开发板为硬件平台进行设计,最终实现在显示屏上显示时间、日期、以及进行定时等功能。
以基于STM32的智能万年历作为设计的课题,因为它有很好的开放性和可发挥性,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。
另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能。
所以,电子万年历作为设计课题很有价值。
经过两周的课程设计,我们完成了按键和触摸两种方式对万年历的控制,实现了基本的万年历功能和闹钟功能。
本次课程设计让我对万年历有了深刻理解,更让我对stm32有了更进一步的学习。
关键词:STM32F103VCT6;最小应用系统;万年历目录1.课程设计任务 (1)1.1课程设计目的 (1)1.2设计要求 (1)1.3技术要求 (1)1.4解决的主要问题 (2)1.5两周时间安排 (2)2 总体方案设计 (3)2.1整体方案设计 (3)2.2模块工作原理 (3)2.2.1 最小应用系统模块 (3)2.2.2 基础配置模块 (3)2.2.3 时间运行模块 (3)2.2.4 触摸屏显示模块 (4)2.2.5 触摸屏触摸模块 (4)2.2.6 闹钟设置模块 (4)2.3硬件模块简介 (4)2.3.1 最小应用系统 (5)2.3.2 TFTLCD显示屏 (5)3 硬件设计 (6)3.1STM32硬件系统原理图 (6)3.1.1 MCU (6)3.1.2 复位电路 (7)3.1.3 启动电路 (8)3.1.4 晶振电路 (8)3.1.5 电源电路 (9)3.1.6 蜂鸣器电路 (9)3.2触摸屏模块电路设计 (11)3.2.1 TFTLCD简介 (11)3.2.2 显示设置 (11)3.2.3 触摸设置 (12)3.2.4 驱动设置 (12)3.3硬件系统模块电路 (12)3.3.1专题硬件选型依据及简介 (12)3.3.2 专题主芯片的内部逻辑结构 (13)3.3.3 外部管脚特性 (14)3.3.4 与MCU的硬件接口连接 (15)4 软件设计 (18)4.1万年历定时设计思路 (18)4.2主程序模块 (18)4.3TFT-LCD触摸屏模块 (19)4.4专题设计 (19)4.4.1.针对专题的信息传输 (19)4.4.2.芯片的工作方式 (20)4.4.3.时序图 (21)4.4.4.流程图 (22)5 调试与结果 (23)5.1测试任务 (23)5.2测试目的目标 (24)5.3测试软硬件环境 (24)5.4测试的过程及其步骤 (24)5.5测试结果 (24)6 总结 (26)7 致谢 (27)参考文献 (28)1.课程设计任务1.1 课程设计目的(1)学习万年历的原理,学会定时器、触摸屏在万年历中的应用。
(2)通过万年历的制作使学生熟练掌握所学的相关知识内容,并培养学生工程设计的一般方法和技巧。
1.2 设计要求:独立思考、共同合作、保质保量、按时完成。
1.3 技术要求:(1)系统组成系统选用STM32F103单片机为微处理器,使用开发板上具有的按键、指示灯、触摸屏和串口等实现万年历的功能。
(2)实现功能:1)日历、时间的调整,通过按键切换实现对年月日时分秒的调整控制,可以设置每一部分的初始值。
2)具备闰年的自动调整功能3)具有定时闹钟功能:通过按键/触摸屏设置定时时间。
定时时间到,蜂鸣器发出鸣叫声,维持5S。
4)上位机功能:可以把单片机的时间数据通过串口或者USB传送至上位机。
5)无线设置功能:通过远程设置万年历。
(3)模块组成:STM32 单片机最小应用系统;设置显示模块;闹钟模块;时间运行模块等;1.4 解决的主要问题:(1)最小应用系统设计:设计STM32的最小应用系统,包括MCU、复位、启动、晶振、电源等。
(2)日历的显示和设置;(3)万年历的算法和实现;(4)定时闹钟功能;(5)无线设置功能。
1.5 两周时间安排(1)第一周:星期一:布置设计任务,收集相关资料。
星期二:确定设计方案星期三:软、硬件的总体设计星期四、五、六、日:上机调试(2)第二周星期一、二、三:上机调试星期四:完成设计报告。
星期五:17:00之前上交课程设计报告。
2 总体方案设计2.1 整体方案设计2.2 模块工作原理2.2.1 最小应用系统模块最小应用系统包括MCU和电源、复位、晶振、启动等,该系统可以接收数据传给上位机,通过上位机将数据传输到显示屏上显示数据,也可以通过改变数据让其调整显示屏上的数据。
另外它能使蜂鸣器发声。
2.2.2 基础配置模块基础配置模块实现对SysClock、RCC、GPIO、EXTI、NVIC、Timer、USART 等功能模块进行基础配置,设置其输入输出方式、速度及其它专属配置,并使能需要的管脚及外设,设置中断。
2.2.3 时间运行模块时间运行模块是用来对时间运行的算法进行编程,通过算法编程实现对年、月、日、时、分、秒的处理,实现秒满60清零并进1,分满60清零并进1,时满24清零并进1,日满28或29或30或31清零并进1,月满12清零并进1的功能。
2.2.4 触摸屏显示模块触摸屏显示模块使用TFT-LCD即薄膜晶体管液晶显示器,使用TFTLCD模块驱动芯片中的ILI9320芯片,实现触摸屏的显示。
TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可以有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。
TFT-LCD也被叫做真彩液晶显示器。
2.2.5 触摸屏触摸模块触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送到触摸屏控制器。
控制器侦测到这一接触并计算出X,Y的位置,再根据获得的位置模拟鼠标的方式运行。
2.2.6 闹钟设置模块定时闹钟模块是利用Timer函数进行操作,通过设置闹钟时间,倒计时使其到达指定时间触发蜂鸣器,从而实现闹钟提示的功能。
2.3 硬件模块简介在智能万年历项目中,我们采用的硬件主要是基于STM32F103VCT6的神州二号开发板,它的主要性能如下表所示:2.3.1 最小应用系统最小应用系统是完成此项目所有功能的基础,它主要包含MCU和电源、复位、晶振、启动等,我们通过程序使能这些硬件,让它完成相应的功能。
MCU:微控制单元,是把中央处理器的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
复位电路:就是利用它把电路恢复到起始状态。
就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。
和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。
晶振电路:驱动整个系统中的各个时钟进行工作。
启动电路:启动整个系统。
电源:给整个系统供电。
2.3.2 TFTLCD显示屏TFT(Thin Film Transistor)即薄膜场效应晶体管。
所谓薄膜晶体管,是指液晶显示器上的每一液晶像素点都是由集成在其后的薄膜晶体管来驱动。
从而可以做到高速度、高亮度、高对比度显示屏幕信息。
3 硬件设计3.1 stm32硬件系统原理图我们组选用神州二号开发板来完成我们的任务目标,它是基于STM32F103VCT6开发的,面向企业和广大爱好者,开发板功能强大,外围资源丰富,例程丰富,如下图所示:此章主要介绍最小应用系统(MCU、复位、启动、晶振、电源等)和此设计相关硬件。
3.1.1 MCU神州二号STM32开发板选择的是STM32F103VCT6作为MCU,该芯片是STM32F103系列里面配置非常强大的了,它拥有的资源包括:48KB RAM、256KB FLASH、2个基本定时器、4个通用定时器、2个高级定时器、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个ADC、1个DAC、1个SDIO接口、以及80个通用IO口。
神州二号开发板选用的是外设资源和管脚资源最丰富的100脚LQFP封装的STM32F103VCT6芯片,充分满足企业和广大爱好者的评估开发需求。
所以我们选择了它作为我们的主芯片。
MCU部分原理图如下图所示3.1.2 复位电路图中所示是开发板板载的复位按键(RESET),用于复位STM32,还具有复位液晶显示屏的功能,因为液晶模块的复位引脚和STM32的复位引脚是连接在一起的,当按下该键的时候,STM32和液晶一并被复位。