已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1嵌入式系统课程设计报告基于ARM的时钟系统院系学生姓名专业应用电子技术班级指导教师完成时间2目录1引言12STM32单片机RTC介绍13总体设计框图24硬件电路241STM32芯片管脚介绍242STM32复位和时钟电路设计343闹钟提醒电路45程序流程图451主程序流程图452中断程序流程图66总结与体会6参考文献7附录83基于ARM的时钟系统摘要本设计选择STM32为核心控制元件,设计了用RTC定时器实现时钟的控制与设计,本设计能作为普通时钟用,而且能设置闹钟。程序使用C语言进行编程,能动态显示当前时间,包括时、分、秒,并且用串口助手显示。关键词STM32ARM时钟闹钟1引言随着科技的发展,嵌入式系统广泛应用于工业控制和商业管理领域,在多媒体手机、袖珍电脑,掌上电脑,车载导航器等方面的应用,更是极大地促进了嵌入式技术深入到生活和工作各个方面。嵌入式系统主要由嵌入式处理器、相关支撑硬件及嵌入式软件系统组成。本文介绍基于STM32F103R6T6的嵌入式微处理器的电子时钟设计,并且在液晶上显示。2STM32单片机RTC介绍STM32的实时时钟(RTC)是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可以提供时钟日历的功能,修改计数器的值可以重新设置系统当前的时间和日期。STM32F10X系列微控制器片上内置的RTC模块,主要特性如下(1)可编程的预分频系数,分频系数最高位220。(2)32位的可编程计数器,可用于长程时间段的测量。(3)两个单独的时钟用于APB1接口的PLCK1和RTC时钟(此时RTC时钟的频率必须小于PCLK1时钟的四分之一以上)。(4)可以选择一下三种RTC的时钟源HSE(HIGHSPEEDEXTERNAL)时钟除以128,即高速外部时钟,接石英/陶瓷谐振器,或者接外部时钟源,频率范围为416MHZ。LSI(LOWSPEEDINTERNAL)振荡器时钟,即低速内部时钟,频率为40KHZ。LSE(LOWSPEEDEXTERNAL)振荡器时钟,即低速外部时钟,接石英晶体,频率为32768KHZ。(5)2钟独立的复位类型APB1接口由系统复位。RTC核(预分频器、闹钟、计数器和分频器)只能由备份域复位。4(6)3个专门的可屏蔽中断闹钟中断,用来产生一个软件可编程的闹钟中断。秒中断,用来产生一个可编程的周期性中断信号(最长可达1S)。溢出中断,检测内部可编程计数器溢出并回转为0的状态。3总体设计框图本电路主要由3大部分电路组成ARM最小系统电路、时钟显示电路和闹钟警报电路(本设计用LED灯指示)。其中ATM最小系统主要由复位电路和时钟电路组成。在该设计中,闹钟提醒由LED灯代替,当闹钟时间到的话,LED灯亮,延时设定的时间后自动关闭。总体设计方框图,如图1所示。图1总体设计方框图4硬件电路该设计分为软件设计和硬件设计两大模块,硬件电路由ARM最小系统电路、时钟显示电路和闹钟提醒电路组成。41STM32芯片管脚介绍STM32F103R6T6管脚示意图,如图2所示。STM32液晶显示电路时钟电路复位电路闹铃提醒电路5PA014263789/JTMSWDIOCKL_NUBRVFE图2STM32F103R6T6管脚示意图42STM32复位和时钟电路设计此电路主要是复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图2(右)所示其中7脚为STM32的复位端。时钟电路如图2(左)所示晶振采用的是8MHZ和32786KHZ,8MKZ分别接STM32的5脚和6脚,32786KHZ分别接STM32的3脚和4脚。PYGH位图3STM32复位和时钟电路643闹钟提醒电路本设计的闹钟提醒电路没有采用蜂鸣器,为了调试方便用实验板上的发光二极管LED1LED4指示,其与实验板对应接口为PC0PC3。电路如图4所示。30R79LED12VCP图4闹钟提醒电路5程序流程图51主程序流程图主程序流程图,如图5所示。7图5主程序流程图852中断程序流程图中断程序流程图,如图6所示。图6中断程序流程图6总结与体会通过这次时钟的设计,使我对ARM有了更深的理解。刚开始拿到题提目,我先是查找相关资料,从图书馆和网上找到相关的课题,参考借鉴别人的设计,从而理清我们设计的思路。此次作业设计大致可以分为两部分,电路图部分和程序编程部分,其中最有难度的是程序的编写与调试。在编写程序的过程中,我遇到了各种各样的问题,工程之间的结合,对于其中的错误怎样解决,需要配置什么,更改哪里等等。对于ARM我学的很浅,编程遇到问题不知道如何解决,我知道这个是我的弱点,但在这两周的课程设计中,用KEILUVISION4在ARM开发板上进行程序调试,遇到问题解决问题,在这个过程中我收获了不少。9参考文献1彭刚、秦志强等基于ARMCORTEXM3的STM32系列嵌入式微控制器应用实践M北京电子工业出版社2李宁基于MDK的STM32处理器开发应用M北京航空航天大学出版社,20083王永红、徐炜、赫立平STM32系列ARMCORTEXM3微控制器原理与实践M北京航空航天大学出版社,20084ARMLIMITEDCORTEXM3TECHNICALREFERENCEMANUALR2P0ARMDDI0037GWWWARMCOM20085WENKUBAIDUCOM/VIEW/AA526C81D4D8D15ABE234E54HTML10附录1总体电路图PA045263789/JTMSWDIOCKL_NUBRVFEPYGHOWER112串口助手演示效果3源程序/函数名NVIC_CONFIGURATION描述配置RTC秒中断的主中断优先级为1,次优先级为0输入无输出无调用外部调用/VOIDNVIC_CONFIGURATIONVOIDNVIC_INITTYPEDEFNVIC_INITSTRUCTURE/CONFIGUREONEBITFORPREEMPTIONPRIORITY/NVIC_PRIORITYGROUPCONFIGNVIC_PRIORITYGROUP_1/ENABLETHERTCINTERRUPT/NVIC_INITSTRUCTURENVIC_IRQCHANNELRTC_IRQNNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY112NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY1NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INITNVIC_INITSTRUCTURENVIC_IRQCHANNELRTCALARM_IRQNNVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY0NVIC_INIT/函数名GPIO_CONFIGURATION描述配置GPIO输入无输出无调用外部调用/VOIDGPIO_CONFIGURATIONVOID/定义一个GPIO_INITTYPEDEF类型的结构体/GPIO_INITTYPEDEFGPIO_INITSTRUCTURE/开启GPIOC的外设时钟/RCC_APB2PERIPHCLOCKCMDRCC_APB2PERIPH_GPIOC,ENABLE/选择要控制的GPIOC引脚/GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3/设置引脚模式为通用推挽输出/GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_OUT_PP/设置引脚速率为50MHZ/GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZ/调用库函数,初始化GPIOC/GPIO_INITGPIOC,GPIO_SETBITSGPIOC,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3/函数名RTC_CONFIGURATION描述配置RTC输入无输出无调用外部调用/VOIDRTC_CONFIGURATIONVOID/ENABLEPWRANDBKPCLOCKS/13RCC_APB1PERIPHCLOCKCMDRCC_APB1PERIPH_PWR|RCC_APB1PERIPH_BKP,ENABLE/ALLOWACCESSTOBKPDOMAIN/PWR_BACKUPACCESSCMDENABLE/RESETBACKUPDOMAIN/BKP_DEINIT/ENABLELSE/RCC_LSECONFIGRCC_LSE_ON/WAITTILLLSEISREADY/WHILERCC_GETFLAGSTATUSRCC_FLAG_LSERDYRESET/SELECTLSEASRTCCLOCKSOURCE/RCC_RTCCLKCONFIGRCC_RTCCLKSOURCE_LSE/ENABLERTCCLOCK/RCC_RTCCLKCMDENABLE/WAITFORRTCREGISTERSSYNCHRONIZATION/RTC_WAITFORSYNCHRO/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/RTC_WAITFORLASTTASK/ENABLETHERTCSECOND/RTC_ITCONFIGRTC_IT_SEC,ENABLERTC_ITCONFIGRTC_IT_ALR,ENABLE/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/RTC_WAITFORLASTTASK/SETRTCPRESCALERSETRTCPERIODTO1SEC/RTC_SETPRESCALER32767/RTCPERIODRTCCLK/RTC_PR32768KHZ/327671/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/RTC_WAITFORLASTTASK/函数名TIME_REGULATE描述返回用户在超级终端中输入的时间值,并将值储存在RTC计数寄存器中。14输入无输出用户在超级终端中输入的时间值,单位为S调用内部调用/UINT32_TTIME_REGULATEVOIDUINT32_TTMP_HH0XFF,TMP_MM0XFF,TMP_SS0XFFPRINTF“RNTIMESETTINGS“PRINTF“RNPLEASESETHOURS“WHILETMP_HH0XFFTMP_HHUSART_SCANF23PRINTF“D“,TMP_HHPRINTF“RNPLEASESETMINUTES“WHILETMP_MM0XFFTMP_MMUSART_SCANF59PRINTF“D“,TMP_MMPRINTF“RNPLEASESETSECONDS“WHILETMP_SS0XFFTMP_SSUSART_SCANF59PRINTF“D“,TMP_SS/RETURNTHEVALUETOSTOREINRTCCOUNTERREGISTER/RETURNTMP_HH3600TMP_MM60TMP_SS/函数名TIME_ADJUST描述时间调节输入无输出无调用外部调用/VOIDTIME_ADJUSTVOID/UINT32_TAAAA/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/15RTC_WAITFORLASTTASK/AAAATIME_REGULATE/CHANGETHECURRENTTIME/RTC_SETCOUNTERTIME_REGULATERTC_SETALARMTIME_REGULATE/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/RTC_WAITFORLASTTASK/函数名TIME_DISPLAY描述显示当前时间值输入TIMEVARRTC计数值,单位为S输出无调用内部调用/VOIDTIME_DISPLAYUINT32_TTIMEVARUINT32_TTHH0,TMM0,TSS0/COMPUTEHOURS/THHTIMEVAR/3600/COMPUTEMINUTES/TMMTIMEVAR3600/60/COMPUTESECONDS/TSSTIMEVAR360060PRINTF“TIME02D02D02DR“,THH,TMM,TSS/函数名TIME_SHOW描述在超级终端中显示当前时间值输入无输出无调用外部调用/VOIDTIME_SHOWVOIDPRINTF“NR“/INFINITELOOP/16WHILE1/IF1SHASPAASED/IFTIMEDISPLAY1/DISPLAYCURRENTTIME/TIME_DISPLAYRTC_GETCOUNTERTIMEDISPLAY0/函数名USART_SCANF描述串口从超级终端中获取数值输入VALUE用户在超级终端中输入的数值输出无调用内部调用/UINT8_TUSART_SCANFUINT32_TVALUEUINT32_TINDEX0UINT32_TTMP20,0WHILEINDEX0X39PRINTF“NRPLEASEENTERVALIDNUMBERBETWEEN0AND9“INDEX/CALCULATETHECORRESPONDINGVALUE/INDEXTMP10X30TMP00X3010/CHECKS/IFINDEXVALUEPRINTF“NRPLEASEENTERVALIDNUMBERBETWEEN0ANDD“,VALUERETURN0XFF17RETURNINDEX/STM32F10XPERIPHERALSINTERRUPTHANDLERS/ADDHERETHEINTERRUPTHANDLERFORTHEUSEDPERIPHERALSPPP,FORTHE/AVAILABLEPERIPHERALINTERRUPTHANDLERSNAMEPLEASEREFERTOTHESTARTUP/FILESTARTUP_STM32F10X_XXS/BRIEFTHISFUNCTIONHANDLESRTCGLOBALINTERRUPTREQUESTPARAMNONERETVALNONE/VOIDRTC_IRQHANDLERVOIDIFRTC_GETITSTATUSRTC_IT_SECRESET/CLEARTHERTCSECONDINTERRUPT/RTC_CLEARITPENDINGBITRTC_IT_SEC/TOGGLEGPIO_LEDPIN6EACH1S/GPIO_WRITEBITGPIO_LED,GPIO_PIN_6,BITACTION1GPIO_READOUTPUTDATABITGPIO_LED,GPIO_PIN_6/ENABLETIMEUPDATE/TIMEDISPLAY1/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/RTC_WAITFORLASTTASK/RESETRTCCOUNTERWHENTIMEIS235959/IFRTC_GETCOUNTER0X00015180RTC_SETCOUNTER0X0/WAITUNTILLASTWRITEOPERATIONONRTCREGISTERSHASFINISHED/RTC_WAITFORLASTTASKIFRTC_GETITSTATUSRTC_IT_ALRRESETRTC_CLEARITPENDINGBITRTC_IT_ALRPRINTF“RNRTCALARMBEGIN“18GPIO_RESETBITSGPIOC,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3DELAY_NMS3000GPIO_SETBITSGPIOC,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3/函数名DELAY_NUSINT16描述微秒级延时N32767输入无输出无/VOIDDELAY_NUSU16NU16JWHILENJ8WHILEJ/函数名DELAY_NMSINT16描述毫秒级延时N32767输入无输出无/VOIDDELAY_NMSU16NWHILENDELAY_NUS1100/嵌入式系统课程设计报告文件名MAINC描述利用STM32的RTC实现一个简易的电子时钟。在串口助手中显示时间值。显示格式为TIMEXXXXXX时分秒,当时间计数为235959时将刷新为000000。19另外还能设置闹钟基于ARM的时钟系统/INTMAINVOID/CONFIGTHESYSCLOCKTO72M/SYSTEMINIT/USART1CONFIG/USART1_CONFIG/配置RTC秒中断优先级/NVIC_CONFIGURATIONPRINTF“RNTHISISARTCDEMORN“GPIO_CONFIGURATIONIFBKP_READBACKUPREGISTERBKP_DR10X5A5A/BACKUPDATAREGISTERVALUEISNOTCORRECTORNOTYETPROGRAMMEDWHENTHEFIRSTTIMETHEPROGRAMISEXECUTED/PRINTF“RNTHISISARTCDEMORN“PRINTF“RNNRTCNOTYETCONFIGURED“/RTCCONFIGURATION/RTC_CONFIGURATIONPRINTF“RNRTCCONFIGURED“/ADJUSTTIMEBYVALUESENTREDBYTHEUSERONTHEHYPERTERMINAL/TIME_ADJUSTBKP_WRITEBACKUPREGISTERBKP_DR1,0X5A5AELSE/CHECKIFTHEPOWERONRESETFLAGISSET/IFRCC_GETFLAGS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学生基础医学 干细胞研究进展护理课件
- 2026年高考数学一轮复习:空间向量的应用(讲义)原卷版
- 医学生基础医学 耳鼻咽喉科急危重症护理基础护理课件
- 2026年高考数学一轮复习:复数(讲义)解析版
- 医学肾病综合征血脂管理案例教学课件
- 2026年外研版三年级英语下册Unit 4 What's your hobby(教学设计)
- 2026年高考政治总复习选必三《逻辑与思维》必背术语金句
- 2026年人教版九年级数学上册复习:二次函数中的角度存在性问题的四类综合题型(压轴题专项训练)原卷版+解析
- 2026年高考语文写作预测8篇
- 《JBT 6258-2018 扭矩标准机 通 用技术条件》(2026年)实施指南
- 2023年光器件工艺工程师年终总结及下一年展望
- 中式烹调菜肴培训教材
- 发展汉语初级口语(Ⅰ)第21课PPT
- 3.3《不简单的杠杆》课件
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 茶艺师(技师)理论考试(重点)题库300题(含答案解析)
- 俄语实用语法智慧树知到答案章节测试2023年哈尔滨师范大学
- GB/T 711-1988优质碳素结构钢热轧厚钢板和宽钢带
- 无菌物品的管理培训课件
- 中小学家长会-九年级第一次家长会课件-1课件
- 《制度经济学》全套课件
评论
0/150
提交评论