基于STM32单片机的万年历设计毕业设计论文.doc
《基于STM32单片机的万年历设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于STM32单片机的万年历设计毕业设计论文.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本 科 生 毕 业 论 文(或设计)(申请学士学位)论文题目 基于STM32单片机的万年历设计 作者姓名 李 杨 专业名称 自动化 指导教师 王 斌 2014年5月学 生: (签字)学 号:2010210328答 辩 日 期:2014年5 月24日指 导 教 师 : (签字)目 录摘要1Abstract11绪论21.1 研究背景及意义21.2 国内外研究现状21.3 论文主要内容22系统硬件电路设计32.1单片机开发板的介绍32.2硬件电路总体结构设计42.3 硬件电路各单元电路设计42.3.1 按键电路的设计42.3.2 显示电路的设计53系统软件设计63.1 RealView MDK3.8
2、0简介63.2 软件总体设计63.3 TFT-LCD显示程序设计73.4 时钟程序设计83.5 汉字显示程序103.6 图片显示程序113.7 按键功能程序114系统调试12结论14参考文献14附录一15程序列表15主程序15TFT-LCD显示程序21时钟程序24汉字显示程序29图片显示程序31按键程序36致谢39滁州学院本科毕业设计基于STM32单片机的万年历设计摘要:随着现代社会生活和工作节奏的加快,及时准确的掌握时间变得越来越重要。STM32包含Cortex-M3内核,具有低功耗、低成本、丰富的片内外设以及处理速度快等特点。本文采用STM32F103RBT6作为主控制器,利用其内部的实时
3、时钟(RTC)在相应软件的配置下,设计了具有时间显示功能的电子万年历,可提供24小时制的实时时钟和区分平、闰年的日历。测试表明该设计计时准确、界面美观、操作简便。关键词:万年历;STM32F103RBT6;TFTLCD;Cortex-M3;RTCCalendar Design Based On STM32 MicrocontrollerAbstract:With the development of modern society, the accelerated pace of life and work,to grasp time timely and accurately becomes
4、more and more important. STM32 contains the Cortex-M3 kernel, with low power consumption, low cost, rich on-chip and high processing speed. This paper uses STM32F103RBT6 as the main controller, using real time clock the internal (RTC) with the corresponding software configuration, designs electronic
5、 calendar with the function of time display, and it can provide 24 hour real-time clock and the calendar which can distinguish the flat year or the leap year. The test shows that the design of accurate timing, beautiful interface, and easy operation.Key words: Calendar; STM32F103RBT6; TFTLCD; Cortex
6、-M3; RTC1 绪论1.1 研究背景及意义对于时间这个概念一开始在长达几千年的时间里,根本就没有任何测定时间的精确方法。人类得知时间是通过太阳在天空的位置,或者是通过日晷或沙漏这样的仪器来大致的判断一下时间。在中国历史上就出现日晷、沙漏、机械钟、石英钟,这几种计时装置。二十一世纪的今天科技与经济迅速发展,人们的生活节奏变得越来越快,生活水平越来越高,对于生活的品味和质量的要求也更高。人们不再满足于只能提供简单计时功能的时钟,希望在能保证计时精确的基础上能多添加一些其它功能,诸如日历、星期的显示,使其界面能够更加的美丽。目前电子万年历成了现代社会中的主要计时工具之一,广泛应用于社会生活需要的
7、各个方面。它集时钟、日期、星期等功能于一体,具有显示直观、读取方便、界面简洁、功能多样等优点,符合目前电子计时仪器的发展趋势。电子万年历不仅在市场上占据重要的位置,在学习中尝试制作一款功能新颖的万年历也是一个热门的课题。此课题具有很好的开放性和发挥性,在制作过程中既巩固了单片机方面的知识,也开放了思维,将自身的想法实现于多彩功能的万年历中,这是对制作者本身能力的一种培养和锻炼。1.2 国内外研究现状由于大规模的电子集成电路的应用,电子万年历在当今社会钟表界中独占鳌头。我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,所以在生产的电子万年历上除了具有基本的显示时间、日期功能外,
8、增添其它的一些附属功能如闹铃、报警等功能后,生产商在其质量、价格、外观、实用上做功课。不断的改进万年历产品,使其更具有市场需求。就目前市场上出现的各种万年历,第一种是纯硬件电路系统,采用分离式硬件电路分别实现各种功能,时钟的功能通过时序逻辑电路来实现,这将导致电路复杂化、整体可靠性变差、不灵活。很难实现对系统的扩展。第二种是通过可编程逻辑器件来实现的,与前者相比在可靠性和实现时钟的功能方面要有所提升,但这显示功能只能通过数码管来实现,使其显示的效果不明显。同时在灵活性方面还是不行,很难对其进行扩展功能的实现。第三种相比前两种而言在各个方面都有所提高,这也是现在商家们致力发展的方法,使用单片机作
9、为核心控制系统,这样整个系统就可编程了,大大增加了灵活性,智能化的液晶显示使其显示界更加清楚、简洁。同时,可以实现其它的一些额外功能如遥控调试、语音报时等功能。1.3 论文主要内容本文主要介绍以STM32F103RBT6单片机为核心部件来设计一款电子万年历,以其内部的RTC模块作为时钟,用TFTLCD液晶显示器作为显示模块,时钟电路能够准确提供24小时制时间、平年闰年的判断、星期的判断。采用RealView MDK3.80进行编写调试程序,以STM32单片机开发板为硬件平台进行设计,最终实现在TFTLCD上显示开机画面、时间、日期、星期、机械时钟以及汉字。2 系统硬件电路设计2.1 单片机开发
10、板的介绍本设计采用的是ALIENTEK MiniSTM32的开发板,如图2-1所示。图2-1 STM32开发板它包含一个USB转串口(用于程序的下载)、一个USB串口1(用于与PC端进行通信) 、两个LED灯、一个标准的JTAG调试口、一个复位(RESET)按键、一个WK_UP按键、两个普通按键、一个开关按钮、一个W25X16 16M FLASH存储芯片、一个2.4寸/2.8寸通用LCD接口、一个开发板的核心部件STM32F103RBT6。其中核心部件STM32微控制器是由ST(意法半导体)公司推出的第一个基于ARM Cortex-M3内核的控制器,STM32凭借其产品线的多样化、极高的性价比
11、、低功耗,迅速成为当前微控制器产品中的一颗最闪亮的新星。Cortex-M3内部的数据路径是32 位的,寄存器是32 位的,存储器接口也是32 位的。CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问互不干扰。这样一来数据访问不再占用指令总线,从而提升了性能。另外基于ARM Cortex-M3 STM32可以采用固件库的开发方式,不需要再熟悉底层寄存器,大大宿短了开发周期而且Thumb2 指令集为编程带来了更多的灵活性。STM32已经广泛应用于工业控制、低功耗、家用电器、建筑与安防及计算机通信网络等领域。MCU的部分原理图如图2-2所示。图2-2 MCU部分原理图上图中中
12、上部的BOOT1用于设置STM32的启动方式,其对应启动模式如下表2-1所示。表2-1 BOOT0与BOOT1的启动模式BOOT0BOOT1启动模式说明0X用户闪存存储器用户闪存存储器,也是FLSAH启动10系统存储器系统存储器启动,用于串口下载11SRAM启动器SRAM启动,用于在SRAM中调试代码2.2 硬件电路总体结构设计本设计采用STM32F103RBT6作为MCU,由内部实时时钟(RTC)实现日历功能,利用独立按键进行调整时间,通过TFT-LCD液晶显示器来显示开机画面、日历、汉字。硬件电路的总体设计方案如图2-3。图2-3 总体结构设计框图2.3 硬件电路各单元电路设计2.3.1
13、按键电路的设计本设计使用到开发板上两个按键,其原理图如图2-4所示。图2-4 按键输入原理图KEY0和KEY1用作普通按键输入,分别接在PA13和PA15上,由于他们都与JTAG共用同一个引脚,所以在使用KEY0和KEY1两个按键时要特别注意不能使用JTAG来调试,另外KEY0和KEY1还和PS/2的DAT和CLK共用,他们都是通过JTAG的上拉电阻来提供上拉的。2.3.2 显示电路的设计该设计的显示部分采用的是TFTLCD液晶显示模块,它可以显示16位的真彩图片,TFT-LCD即薄膜晶体管液晶显示器,是英文名Thin Film Transistor-Liquid Crystal Displa
14、y的字头缩写。TFT-LCD技术是将微电子技术与液晶显示器技术进行巧妙的融合。人们通过在Si上进行微电子精细加工这一项技术,实现了在大面积的玻璃上进行TFT阵列的加工,再通过已经成熟的LCD技术将该阵列基板与另一片带彩色滤色膜的基板进行相结合从而形成一个液晶盒,其次经过多到工序如偏光片贴覆等过程,最后形成液晶显示器(屏)。TFT-LCD中的TFT相当于一个开关管,它可以有效地克服在非选通时出现的串扰,使得液晶显示屏的静态特性与扫描线数无关,从而大大提高的显示的质量。本次采用的是2.8寸的ALIENTEK TFT-LCD模块,分辨率为320*240,该液晶显示器的控制器为ILI9320。其模块接
15、口如图2-5。图2-5 TFTLCD模块接口图该模块采用的是80并口方式与外部链接的,80并口有如下一些连接线:CS:TFTLCD片选信号。WR:向TFTLCD写入数据。RD:从TFTLCD中读取数据。D15:0:16位双向数据线。RST:硬复位TFTLCD。RS:命令/数据标志(0:读写命令 1:读写数据)。硬件部分对应的IO口连接为:LCD_LED对应PC10;LCD_CS对应PC9;LCD_RS对应PC8;LCD_WR对应PC7;LCD_RD对应PC6;LCD_D17:1对应PB15:0;3 系统软件设计系统软件设计主要包括主程序、TFTLCD显示子程序、按键子程序、时钟配置子程序等。整
16、个系统的功能的实现是由硬件电路与软件相互配合来完成的,由于各功能的硬件部分电路连接已经完成了,在进行软件编程时只需要根据硬件电路的连接方式进行操作即可。整套程序采用的是固件库的开发方式,所以不需要再去了解各个寄存器的配置,其中占据主导地位的主函数主要负责合理的调用各个子程序,使其完成所需的功能。各个子程序主要负责完成相应部分的实际所要的功能,如汉字显示的程序、图片显示的程序、时钟显示的程序等等。3.1 RealView MDK3.80简介RealView MDK开发套件来自德国的Keil公司,是ARM公司目前为了针对各种嵌入式处理器而新推出的一款软件开发工具。RealView MDK拥有业内最
17、领先的技术,包含Vision3集成开发环境和 RealView编译器。能够支持ARM7、ARM9并拥有最新的Cortex-M3内核处理器,具有自动配置启动代码、集成Flash烧写模块、强大的Simulation设备模拟、性能分析等功能,相比ARM之前的工具包ADS等,RealView编译器的新版本可将性能提升20。RealView MDK具有的几大突出特性:(1)启动代码生成向导,自动引导。(2)软件模拟器,完全脱离硬件的软件开发过程。(3)性能分析器,看的更远、看的更细、看的更清。(4)Cortex-M3支持。3.2 软件总体设计主程序是通过调用LCD子程序、RTC时钟子程序、汉字显示子程序
18、、按键功能子程序以及图片显示子程序等来实现显示开机动画、汉字、机械钟表、时间、日期、星期于一体的功能。主程序流程图如图3-1。图3-1主程序流程图3.3 TFT-LCD显示程序设计显示部分程序的设计步骤为,先确定TFT-LCD于STM32的IO口连接方式;然后初始化TFT-LCD即向内写入一系列的设置程序,来启动TFT-LCD的显示;之后对显示部位进行相关的配置;最后进行显示并可以配置相关的背景。程序流程图如图3-2。图3-2 TFT-LCD显示程序流程图3.4 时钟程序设计基于ARM Cortex-M3内核的STM32其本身包含一个独立的定时器实时时钟(RTC),由于其拥有一组连续的计数器这
19、一特性,我们就可以通过在相应软件的配置下,来实现时钟日历的功能。若想重新设置系统当前的时间和日期,则可通过修改计数器值的方法来实现。该款单片机的RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域(BKP),这将导致系统复位或从待机模式中唤醒后,对后备寄存器和RTC的访问被禁止,之前对RTC模块的设置和时间会不会出现变化。其优点在于防止对于后备区域意外的写操作。RTC的组成包含两个部分,第一部分是APB1接口,除了用于和APB1总线相连,还包含一组16位的寄存器,是通过APB1总线来对其进行读写操作。这一部分是由APB1总线时钟驱动来与APB1总线接口的。第二部分是RTC核心,由一组
20、可编程计数器组成,主要分为两个模块:RTC预分频模块和一个32位的可编程计数器。其中RTC预分频模块包含一个20位的可编程分频器被称作为RTC预分频器,如果在RTC_CR寄存器中将相应的位设置为允许位,就会在每个TR_CLK周期RTC产生一个秒中断。模块二可以被初始化为当前的系统时间,将系统的时间按TR_CLK周期累加并与存储在RTC_ALR寄存器中的可编程时间进行比较,如果RTC_CR控制寄存器相应位设置成允许位,在比较匹配时就会产生一个闹钟中断。总体来说RTC包含以下几个特性:(1)可编程的预分频系数最高可达220。(2)2个分离的时钟: PCLK1和RTC时钟(RTC时钟的频率必须要小于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 单片机 万年历 设计 毕业设计 论文
限制150内