基于STM32的电子时钟语言播报系统设计.docx

上传人:夺命阿水 文档编号:1344751 上传时间:2024-06-06 格式:DOCX 页数:27 大小:282.69KB
返回 下载 相关 举报
基于STM32的电子时钟语言播报系统设计.docx_第1页
第1页 / 共27页
基于STM32的电子时钟语言播报系统设计.docx_第2页
第2页 / 共27页
基于STM32的电子时钟语言播报系统设计.docx_第3页
第3页 / 共27页
基于STM32的电子时钟语言播报系统设计.docx_第4页
第4页 / 共27页
基于STM32的电子时钟语言播报系统设计.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《基于STM32的电子时钟语言播报系统设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的电子时钟语言播报系统设计.docx(27页珍藏版)》请在课桌文档上搜索。

1、基于STM32的电子时钟语言播报系统设计学生姓名徐高峰专业通信工程摘要在今天的技术进步中,ARM系列微处理器在电子产品领域越来越占主导地位。具体来说,本研究主要以STM32F103系列产品为主要开发板。本研究采用模块化编程的概念,为微控制器中嵌入式系统的发展奠定了基础。STM32微控制器用于嵌入式开发已进入各个领域,包括工业控制系统、环境监测系统、电子仪器仪表和智能办公应用。这些进步对我们的日常生活产生了重大影响。无论是我们的购物习惯还是工作流程,现在一切都在向人工智能和物联网发展。这种转变的例子包括智能导航系统、无人机和平板电脑。本文以STM32F103单片机为主开发板。通过探索定时器、语音

2、广播和1.CD显示器等模块的设计和实现,我们将收集有关嵌入式开发的知识和见解。这些发现对为今后顺利从事嵌入式行业汲取宝贵的经验来说都是有价值的。关键词:STM32嵌入式系统语音播报1.CD显示第一章绪论11.1 选题的依据及意义11.2 国内外研究现状及发展趋势11.3 主要研究内容及目标2第二章方案选择52.1 硬件选择52.2 软件选择9第三章系统硬件电路设计103.1 系统硬件设计方案103.25 TM32最小系统103.26 S18B20温度采样模块133.27 CD显示屏133.28 鸣器模块143.29 S1053B音频编解码器15第四章系统软件设计174.1 STM32主函数设计

3、174.2 温度采样流程174.3 1.CD屏显示时钟174.4 日历18第五章系统调试与测试205.1 开机启动界面205.2 主要功能界面205.3 日历界面21第六章结论23参考文献24致谢25第一章绪论11选题的依据及意义在当今时代,计时技术最显著的进步之一是电子时钟语音广播,这标志着现代钟表行业的第三次革命。最初的突破来自于钟摆和摆线游丝的引入,这为时钟的机械振动提供了更稳定的频率。结果,时钟时间的误差从分级级别到第二级别被最小化。随后,利用石英晶体振荡器进行了第二次革命,进一步提高了时钟时间的精度,从而将误差降低到第秒级。第三次革命是利用单片机的数字计时技术,将产品的时间差降至1/

4、6兆秒。这一进步将原来的指针计时模式转变为人们在日常生活中遇到的更直观、更容易理解的发光数字显示模式。此外,该升级还包括其他功能,如自动日期、星期、温度和其他有助于日常显示功能的信息。由于社会的不断发展,电子钟已经成为我们生活中不可或缺的一部分。它们不再局限于计时的基本功能。相反,它们在我们生活的各个方面都受到了高度重视,包括教育、工作和休闲活动。随着技术的不断进步,人们开始从他们的时钟中期待更多。他们想要更多的功能,如日历、闹钟和其他数字功能。因此,深入研究和检验电子钟的实用性和潜在应用至关重要。电子时钟语音广播系统是一种基于STM32微控制器的组合式闹钟。它是一种多功能的电子时钟,可显示温

5、度并提供语音通知。该系统已在日常生活中广泛使用,并已成为家庭和办公室设置的重要工具。随着技术的不断进步,随着对人工智能和物联网的关注,电子钟也在不断发展。它们现在提供了广泛的功能,极大地影响了人们生活的各个方面,包括学习、工作和娱乐。随着嵌入式开发相关技术的不断成熟,电子时钟的性能有了显著的提高。互联网时代的到来进一步增强了它的能力和功能。有鉴于此,本研究的目的是通过整合日历、闹钟、温度和其他功能来扩展传统电子钟的功能。因此,在物联网时代,电子钟的研究仍有很大的发展空间,具有广阔的市场前景。1.2 国内外研究现状及发展趋势1.2.1 国内外研究现状电子钟的发明在时间测量方面带来了一场重大的革命

6、。在早期,这种计时设备在人们的生活中无处不在,几乎是每个家庭的先决条件。然而,随着科学技术的进步,新的电子产品开始出现,逐渐取代了传统的电子钟。因此,曾经重要的电子钟开始失去其重要性。一方面,替代品出现了,使它们不再不可或缺。另一方面,电子产品之间的激烈竞争限制了电子钟的范围和相关性。这种市场动态的逐渐转变压缩了传统电子钟的空间。然而,在某些情况下,电子时钟仍然有用,特别是在网络接入有限的地区。这引发了嵌入式电子钟的发展,毫无疑问,嵌入式电子钟将在未来继续发展。最初,国外的电子时钟是由中小型集成电路组成的,制造商甚至使用专门的电子时钟芯片。随着我们进入21世纪,重点转向了制造多功能电子钟,这些

7、电子钟主要基于微控制器,以满足市场需求。其中一个重要的组成部分是微控制器,它因其清晰的功能而脱颖而出。它包含了单个开发板所需的所有功能。它还提供了多种功能扩展,并允许灵活编程。在电子时钟方面,STM32微控制器扮演着核心控制板的角色。它利用实时时钟实现精确的计时功能,然后在显示器上显示。在此基础上,可以在传统电子钟中加入其他功能,如温度显示和小时报警功能。12.2发展趋势在日常生活中,电钟通常被用作计时工具。随着当今市场上可供选择的电子产品种类繁多,对多功能电子钟的需求已经广泛。嵌入式技术的进步使电子钟能够集成其他功能,包括定时报警、温度显示等。这些时钟还提供各种其他功能,如日历和语音时间通知

8、。微控制器是一个能够集成所有模块的通用开发板,使用寿命延长,出现问题的可能性最小。这使得它适用于广泛的场景。在现代数字电子语音广播系统中,使用用户友好的数字显示器,同时提供时间和温度等信息显示。此外,它还包括时间语音广播和闹钟等功能,使其成为未来电子时钟的重要功能。1.3 主要研究内容及目标1.3.1 研究内容本设计的重点是以STM32F103微控制器为主要部件,建立一个电子时钟语音广播系统。STM32F103主控芯片在控制温度测量模块、屏幕、蜂鸣器和语音广播等各种外围模块方面发挥着至关重要的作用。通过对STM32F103芯片进行编程,我们能够控制微控制器IO端口的输入和输出电平。这使我们能够

9、修改存储在微控制器寄存器和功能模块中的值。我们的系统直接控制VS1053B音频编解码模块、DS18B20温度传感器和显示模块,以确保其正常工作。DS18B20温度传感器模块持续监测周围环境的温度,并将其显示在1.CD显示模块上。它利用STM32F103芯片上的RTC实时时钟来检索当前时间的,并通过VS1053B音频编解码器模块实时共享,并将其显示在显示模块上。此外,它能够设置闹钟并利用蜂鸣器提供提醒E1.应用知识包括C语言编程、单片机原理,电路原理等。13.2研究目标本次研究主要实现的目标有以下几点:1、通过按键可切换1.CD显示屏多个页面:时钟页面、日历页面、闹钟页面。2、时钟页面以指针方式

10、与数字两种方式显示,并在页面上显示当前的环境温度。3、闹钟支持设置2组以上,闹钟通过蜂鸣器进行提醒(PWM控制)。4、通过物理按键进行对时间、日期的调整和设定闹钟,还可以进行语音播报。本设计主要有以下几个模块组成:一,STM32F103单片机作为主控制部分的核心,内置RTC实时时间更新。二,显示屏幕模块1.CD显示屏,用来显示RTC时间,日历,温度等信息。三,温度传感器模块,用来测量周围环境温度。四,语音播报模块,播报整点时间。首先,本设计首先提供了一个介绍,包括主题选择、基础和意义。它还介绍了国内外的发展现状,以及发展趋势、研究内容和本项目的具体目标。接下来,对整个系统方案的选择进行了深入的

11、解释,包括每个模块的功能设计和工作流程。此外,还详细介绍了该模块的硬件电路和软件设计。设计要求包括选择主控芯片、显示模块和语音播报模块。系统总电路概述包括总电路的工作原理图和分析、整体框图以及STM32F103ZET6的系统介绍。语音播报模块的设计涉及VS1053B模块的选择。1.CD显示模块的设计需要考虑显示要求。蜂鸣器模块的设计要满足提示音需求。总电路图的设计将包含所有硬件模块的连接。程序总流程图的设计将展示软件部分的控制流程。编译和调试阶段涉及软件和各个硬件模块的调试。最后需要进行实物调试。第二章方案选择2.1硬件选择2.1.1主控芯片开发的主要重点在于主控制芯片,它应该包含广泛的功能,

12、同时保持经济可行性。在启动过程中,选择时钟和启动系统时钟,利用多个预分频器来调整AHB、高速APB(PB2)和低速APB(APMl)区域的频率。AHB和高速APB可达到的最大频率为72MHz,而低速APB的最大频率上限为36MHz。复位后,默认CPU时钟设置为内部8MHzRC振荡器。然而,也可以选择范围从4至U16MHz的外部时钟,该时钟具有故障监测功能。如果外部时钟被认为无效,它将与系统隔离,内部RC振荡器将自动激活。此设置允许软件在已启用的情况下接收相关中断。此外,P1.1.时钟提供了全面的中断管理功能,可根据需要加以利用。此外,还提供了一个外部中断/事件控制器(EXTI),配备了19个边

13、缘检测器,用于生成中断/事件请求。每个中断线都能够独立配置其触发事件,无论是上升沿、下降沿还是双边沿。此外,还支持对这些中断线进行单独屏蔽。为了跟踪所有中断请求,有一个挂起寄存器来维护它们的状态。外设STM32F103RxSTM32F103VxSTM32F103ZxW(K?V)256384I512256384|512256384|512SRAM(K字力)486448644864FSMC(静态存储器控制播)无砂)MIDI合成、模拟输出放大和滤波。编解码器还包括串行接口、具有多采样率的立体声DAC、数据存储功能和必要的相关代码。此外,它还提供了多达8个通用可调用I/O引脚,这些引脚可以用作调试目的

14、的串行端口。2. 2软件选择2. 2.Ikei15软件Keil5是一款应用于单片机C语言系统开发软件,支持单片机开发板种类多样,如常见的C51开发板,还有COrteX-M系列,以及ARM系列,对不同系列的单片机都有很好的适用性,同时支持多种编程语言,现在一般使用的是C语言编程,与汇编相比,C语言有以下几方面优势,代码可读性强、后期维护起来更加方便,功能上模块化,可调用封装函数、代码结构紧凑,使用起来方便简单。Keil5功能十分强大,对于大型单片机项目有完整的开发方案,提供了包括代码编译器、汇编、链接、库管理和一个仿真调试器等。其方便易用的集成环境对于用户十分友好,是因为HViSiOn5IDE通

15、过一个集成开发环境将这些,调试器和仿真环境等部分全都组合在一起,所以是一款极其强大的嵌入式系统软件开发调试助手。第三章系统硬件电路设计2.1 系统硬件设计方案该设计的主要组成部分包括STM32F103ZET6芯片微控制器、蜂鸣器、液晶显示模块、DS18B20数字温度传感器、VS1053B音频编解码模块等。为了确保系统的正常运行,考虑到整体电路原理图,设计每个模块的相应功能是很重要的。系统示意图以模块化的方式描绘了每个组件的各个功能,STM32F103ZET6芯片充当了将这些模块连接在一起的桥梁。这种连接证明是有利的,因为它简化了整个系统功能的实现过程,从而大大减少了工作负载。传感器系统的核心芯

16、片是STM32F103ZET6微控制器,它包含各种基本模块0其中包括用于温度测量的DS18B20数字温度传感器。VS1053B模块负责音频编码和解码,实现语音广播。此外,还有一个用于报警提醒的蜂鸣器模块和一个用于时间显示的1.CD显示模块。DS18B20模块收集环境温度数据,然后由主芯片处理,然后传输到1.CD显示器。微控制器的内置RTC存储时间,时间以特定格式显示在1.CD屏幕上。当到达特定时间时,VSlo53B模块执行语音广播。同样,当达到设定值时,蜂鸣器模块会发出警报。3. 2STM32最小系统最小系统是处理芯片发挥作用的关键要求。它通常包括五个关键部件:主控制芯片、电源、时钟、调试接口

17、和复位电路。在STM32的情况下,最小系统应额外包括BOoT选择电路。请注意,信息的顺序和结构已经调整,以提供与原始风格不同的视角。在描述以下信息之前,了解其内容非常重要。驱动程序可分为四个部分,即内核DeodC总线、通用DMA1、系统总线和通用DMA2。另一方面,无源单元由内部SRAM、内部闪存、FSMC和连接所有设备接口的HB2PBx组成。STM32F103ZET6主系统由上述驱动器和无源单元组成。有关视觉表示,请参见图3-lolCeDCodo分Cortex-M3CsramFSMCDMAlSDtO卜“按2通道2侨KI447DMA谪求DMA24414i2DMA请求GPiOCGPtODGPIO

18、EGPIOFGP*OGEXTIAAOGPKJAGPO8ADCIADC2ADC3USART1复位和时纷川M(RCC)taPB2AashItUSystemDCSPtlVSPWRSptZVSBKPIWDGbaCANWWDGUS8GC2QCIUART5UART4USART3USART2RTCTIM7TIM5TIM4T1M3TIM2图3T系统结构STM32F103ZET6微控制器的配置非常复杂。这个特定的微控制器总共配备了114个引脚,每个引脚都得到了充分利用。除了提供电源重置和晶体振荡器等特定功能的少数特殊引脚外,其余IO端口可以通过软件设置编程为常规IO端口。有关特定引脚的详细信息,请参阅图3-2。

19、rWuji,6:1.nUU:rIMJ1.hl石“1.XTlMS1.N1*71卜:rrrFlMftIMllAnJ.1I1,n04HlmlIEtYFM11M*MlUAT:?XQOCUJWnyqBIIMiUUh113;“JiJ11M*IMKlMrtMin、riIvr.haim.imrM4Mvcmrrr:MrvWMMi7wa:11?IvFWfIA,5MIrMlmAIJ1.UbJtU!lieIuIiiMMi*wIA,5MJIM2IIAHMN11rM*-himM,IIrrViAhTX11Vt卜TItf.U)I,V“心W:lr.uivj*lkWrm?tmatinsRrU,C1.I5M1凡WJMSJM3Sl毋

20、rWtMgh.M11IJA4k1.M4V7M4I14UlUS“、”:1TB11VliWETTFBI12TRTXnrxi11:N3ix;二5itMm4”In,HS11AAlK1IluhftMsm:g*a;fr.MCIiAHJ71irt1.rXMyrrvrwrnr*r.一,.,II!IIIIIPtxrttACltkixk,3+SM1.*tfSMlr-11111-%Mniprl,su11llMltfKUr11TSMlAMHI*MTMIaK2XMIJHIISWt七141MHHSMlISMift1H;AlXr7SKII;DOi.UWRMIrtl1八良1Ihll11milIiIP、,,-H7US3KKQ优

21、0?K-T、,,,丁PYIMQ14U3IHHHfUAKi4rMt”:八IUvH4JcxUKDl八UAi:XMICCK-UttClKUOer-mm:,丁meuKM*.IWrturuSKA,IVT?r4MMKrin三rx,cU4sw.Mtm.l.MtK*I4I5M1MIHHIUINlQ:Z.2MHfSMrAU4fMlASIrw.r、nr.r.-K,(/.HAllMwMhnFSMCM?nCUrUUFW卬”MIIF-W;nsm2.rfo11rmrWlSV5A11ITI,,IFiiMm万“!WI,7IlZ1*7J/小IIUJ1-r-QH图3-2STM32F103ZET6最小系统电路原理图51132尸10

22、32丁6芯片需要3.3伏直流电源。为了确保芯片的电压稳定,在电源接口之间并联了多个电容器,用作滤波器。系统利用外部晶体振荡器为主控制芯片产生时钟振荡。RTC时钟源低速晶体振荡器外部连接到PC15和PC14引脚,而23和24引脚连接到以8MHz频率工作的外部高速晶体振荡器。然而,提供给主板芯片的时钟信号可以通过内部锁相环(P1.1.)达到最大72MHzo系统调试接口设计的主要目的是方便程序烧录和在线调试。最常用的调试和下载方法是JTAG和SWDo在实际开发调试过程中,系统采用ST-1.INK调试。然而,为了确保与JTAG调试方法的兼容性,JTAG接口被纳入电路设计中,如图3-2所示。JTAG调试

23、菜单需要更多的信号线,但在正常情况下九引脚JTDO被拉低的情况除外。其余的信号线由IOk电阻器上拉。JTAG接口也可以与SWD调试菜单兼容。除了两条基本电源线外,还必须将芯片的引脚PA13和PA14分别与下载器SWDIO和SWC1.K连接,以实现程序下载和在线调试。3. 3DS18B20温度采样模块DS18B20是一种广泛使用的温度传感器,采用“单线总线”传输方式。它通常用于各种环境,如工厂、车间和有特定温度要求的地方。该传感器在3.3V至5.5V的电压范围内工作,并提供9-12位的分辨率。用户可以选择所需的分辨率,从而提供更多的灵活性和便利性。DS18B20的温度测量范围从-55度到+125

24、度,在TO度到+85度之间的精度偏差为土0.5度。这种宽的温度范围、最小的测量误差和高精度有助于提高整个系统的抗干扰性能。DS18B20采用“单线总线”系统的数字传输方式。DS18B20温度传感器的原理图见图3-3。图3-3DS18B20硬件原理图3. 41.CD显示屏为了发挥作用,TFTTCD显示屏依赖于背光。该显示屏具有RGB色彩功能,真实色彩分辨率为16位(每个像素占用两个字节)。此屏幕的RGB颜色值为红色的5位、绿色的6位和蓝色的5位。此外,屏幕本身的尺寸为3.5英寸,分辨率为320X480像素。为了控制屏幕,使用的屏幕驱动IC是NT35310。常见的1.CD显示模块有两种不同的模式,

25、用于通过并行接口读取和写入数据tl41O这些模式被称为8080模式和6800模式。当涉及到外部接口时,1.CD显示模块通常使用并行通信模式,该模式涉及同时发送和接收16条数据。在这种模式中使用的通信协议被称为8080并行端口协议。为了显示时间、温度和其他数据,数字显示设备是必要的。STM32微控制器具有充足的IO接口资源,适用于具有良好显示效果的TFTTCD显示屏口咒如附图所示,接口电路图由34条线路组成,包括信号线和电源线。MCU的D组IO连接到1.CD的双向数据线(DB),用于数据传输。1.CD_CS、RS、WRRD和1.CD_B1.等各种引脚分别用于胶片选择、数据命令选择、写入启用、读取

26、启用和背光控制。这些引脚用于与主机交互控制命令。此外,图3-4描述了其他电源、1.CD背光控制和其他电缆的连接引脚。FSMCNU11.(*DCSRSHTbV1.KRDIDB2DH3DtMDHSWDB7DBhDBIODllDimDHBDBUDIMSl)l116DBl7GNDHIVDPlJVDmJGNDGhIOU1.3,DDMISOXIOSITPENMOsC1.K2FSMCAlOISVC卜W1.iFSMCNO1.KZlSFM(DlFsMDilFSMD:FSMCm910FSMC1)4F5M*D4HFFSM(D615AKDT4FSMCDXFSMCENISFSMCDJOFSMC_D1I17i)SMJD1

27、2WFSMC1);1州FSSK1)141.CDIU24VC15C3HID4.V1.1.3325二KVCC5C4ll)4.GDlIMBOXIp.兄1MOSiIii-=fCSZlM1WKGIincD图3-4TFT-1.CD电路原理图3. 5蜂鸣器模块在市场上,常见的蜂鸣器有两种。第一种类型被称为压电蜂鸣器。这些蜂鸣器呈圆形,由两块金属板和一个电压组成。另一方面,电磁蜂鸣器是一种不同类型的蜂鸣器。它们通过将电磁线圈缠绕在金属棒上来产生声音。蜂鸣器是一种体积小、易于使用的电子声音设备。它们使用直流电压工作,可以产生固定频率的声音。蜂鸣器模块有一个带有2个引脚的共享连接。其中一个引脚VCC是一个数字电路

28、,需要连接到3.3V到5V的电源输入。另一个引脚PB8是蜂鸣器驱动器引脚,它连接到主控制芯片。蜂鸣器模块引脚说明如图3-5所示:24V?SIrnFSMCNt411.CnCSRSWlufIKRDID2DlUDB4DHS126DB7l)BkDBIODaIlDB12DHnDB14DIUr11.Hn7GNDBIVDm3VDrBJGNDGhID(H.VDDMISONIOSICSC1.K2FSMCAlO卜J71.JR7T5FSM(DlSMCNO1.八I,!-DllFBM(D2lSM(m910FSMC1)4FSMCD5HllIFSMCD6FSM(D7ItTl_FSMCDXESMC3ISi6FSMCDlOFb

29、MCRtJ191iSMCD12州FSM4FNMCDl?1ZDR1.24VreTjC3IID4.Vcljj15I27二XVCC5C4K104,T1MXJ30IMOSlHTPENJl-joTCS打M1MKGIF1.CD图3-5蜂鸣器原理图3. 6VS1053B音频编解码器VS1053B音频编解码器利用SPI总线传输协议来促进VS1053B的串行数据接口SDI和串行控制接口SCI之间的通信。该编解码器配备了7个引脚,用于各种功能。第一个是VDD,负责在3.3V的电压下为数字电路供电。另一方面,GND充当接地引脚。VS引脚用于IO端口的数字电路。XCS作为命令芯片的选择引脚,VS_XDDCS用于数据片

30、的选择。SPI时钟用SeK表示,MISO表示主机输入,MOSI表示主机输出。DREQ负责确定数据电缆的空闲状态。最后,VSRST表示复位引脚。具体引脚如图3-6所示。IOVDo卜12.2WMGXDCIolGaUVMJOIIWXdcvbsymKTA1.IXIAIOCVDOCVDOVIX)AVM)AVDDW711iqiTp4T3GND图3-6VS1053B电路原理图第四章系统软件设计4. 1STM32主函数设计本设计的核心部分是STM32F103ZET6单片机。它包括各种功能模块,如蜂鸣器、1.CD显示模块、数字温度模块(DS18B20)和用于每小时报告的音频编码/解码模块(VS1053B)o该程

31、序由主程序、DS18B20温度模块、蜂鸣器模块、VS1053B音频模块、液晶显示模块等不同模块组成。所有这些模块都是使用软件编程工具Keil5用C语言编写的。首先执行每个功能模块的初始化。主程序成功完成各模块的初始化后,将进入1.CD屏幕的主功能页。如果初始化失败,屏幕上将显示提示,指示哪个模块初始化失败。成功进入主程序后,它将在主程序循环中等待设置的闹钟的有效中断标志和每小时广播中断。当检测到中断标志的状态时,它将进入主功能,执行并调用VS1053B音频编解码模块、蜂鸣器模块和1.CD显示模块的程序。将实现每个模块的相应功能代码。如果在实现过程中出现错误,它将返回到主函数。一旦模块达到预期的

32、功能效果,它将继续在主功能中循环,等待闹钟或时间中断标志并执行相应的模块功能。4. 2温度采样流程DS18B20数字温度传感器具有很强的抗干扰性,受外部条件的影响最小。它的工作原理包括两个计数器。计数器1接收来自低温系数晶体振荡器的一致频率脉冲信号。主控制芯片对该信号进行处理,得到基本的低温系数值。为了获得准确的温度读数,计数器2是必要的。计数器2利用由高温系数晶体振荡器产生的信号,该信号经历基于温度的振荡频率的显著变化。然后通过AD转换将从计数器2获得的温度脉冲信号转换为电压值。4. 31.CD屏显示时钟首先进行各个功能引脚的初始化设置,背光脚1.CD_B1.,片选脚1.CD_CS、数据命令

33、选择脚RS,写使能,读使能等1.CD屏驱动的相关引脚,并写入初始值在对应的通用IO口寄存器;首先分别使能系统时钟还有中断向量控制,以便主程序能够实时的更新系统RTC实时时钟所产生的信号,同时将值发送给1.CD屏幕的寄存器,再打印显示在1.CD屏幕上;当主程序终止或切换下一个功能时,跳出系统中断服务函数运行完成后,并将RTC寄存器里的数值返回给主程序使用,转换成对应的时间显示出来,程序流程图见图4-1o图47时钟程序流程图4. 4日历日历的主要功能是利用系统时钟RTC提供的秒来计算当前标准时间。它考虑了几个因素,如确定闰年、确定二月的天数和评估当月的长度。此外,它还确定了一个月的第一天所在的星期

34、几,以及它在屏幕上的位置。(1)为了准确地确定一个月的第一天,可以使用数组来表示从周日开始的周数。通过在RTC中集成月份、日期和星期寄存器,可以识别月份的日期“今天”。这些信息使我们能够确定一个月的第一天是哪一周,从而确定它在1.CD显示屏上的位置。根据月份来确定天数。二月一日的选择至关重要。在正常年份,二月有29天,而在闰年,它有28天。如果数组中的相应值指示一个主要月份,则该特定月份由31天组成。另一方面,如果数组中的相应值指示一个小月份,则该月份有30天。第五章系统调试与测试5. 1开机启动界面I1.SE6si图5-1开机启动界面启动系统程序后,第一项任务是检测SD卡中的字库和语音包。一旦检测过程成功,程序就进入功能选择界面。5. 2主要功能界面图5-2主要功能界面该设备的功能界面展示了表盘时钟和电子时钟,以及显示日、月、年、周和两个闹钟。要修改时间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号