基于ARM的万历系统.doc
《基于ARM的万历系统.doc》由会员分享,可在线阅读,更多相关《基于ARM的万历系统.doc(22页珍藏版)》请在三一办公上搜索。
1、目录1 引言11.1STM32F103系列性能特点:21.2 电子万年历的发展状况22 总体设计框图32.1设计任务和要求32.1.1 课程设计目的32.1.2 课程设计要求32.2设计思路42.3设计中所用到的库文件42.4 RTC(实时时钟)简介43 万年历硬件系统53.1 内部时钟电路53.2 内部串口电路54 程序运行结果65 程序代码分析66 调试过程97 总结与体会9参考文献10附录一11附录二20附录三21万年历系统摘要:在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都被时间影响着,我们必须对时间有一个度量。因此本设计主要就是设计一款电子万年历系统,本次嵌入
2、式系统课程设计以STM32F103RB芯片为核心,主要能够实现时钟的运行,调整,显示阳历的年、月、日、星期、时、分、秒以及十二生肖等信息。显示部分通过电脑上的超级终端进行显示,当程序编译无误后,将其下载至开发板中,然后通过超级终端进行显示,开始时用户需要自行设置时间和日期,然后万年历系统才会按照用户设计的功能开始工作。由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以单片机为核心,外加一些外围设备来实现,可以显示年月日时分秒和温度信息,具有可调整日期和时间功能。输出设备显示器可以用液晶显示技术和数码管显示技术。关键字:电子万年历 STM32F103RB 时间日期显
3、示 超级终端 十二生肖显示 1 引言STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能有不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。此次我们所使用的STM32F103RB芯片就是增强型系列,增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是3
4、2位市场上功耗最低的产品,相当于0.5mA/MHz。 ARM Cortex-M系列主要用于微控制器单片机(MCU)领域,是为了那些对功耗和成本非常敏感,同时对性能要求不断增加的嵌入式应用(如微控制器系统、汽车电子与车身控制系统、各种家电、工业控制、医疗器械、玩具和无线网络等)所设计与实现的。随着在各种不同领域应用需求的增加,微处理器市场也在趋于多样化。Cortex-M3是一个32位的单片机核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求,结合了多种创新性突破技术,使得芯片供应商可以提供超低费用的芯片。M3处理器还集成了许多紧耦合系统外设,合理利用了芯片空间,使系统能满足下一代产
5、品的控制需求。Cortex的优势在于低功耗、低成本、高性能的结合,凭借缩小的内核尺寸、出色的中断延迟、集成的系统部件、灵活的硬件配置、快速的系统调试和简易的软件编程,Cortex-M3处理器将成为广大嵌入式系统(从复杂的片上系统到低端微控制器)的理想解决方案。1.1STM32F103系列性能特点:1、DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和USART。2、内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。3、低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VB
6、AT。4、调试模式:串行调试(SWD)和JTAG接口。 5、存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。6、时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。7、2个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6 V。双采样和保持能力。片上集成一个温度传感器。8、2通道12位D/A转换器:STM32F103xC,ST
7、M32F103xD,STM32F103xE独有。9、ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。 10、最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。 11、最多多达13个通信接口:2个IIC接口(SMBus/PMBus)。5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18 Mbit/s),
8、两个和IIS复用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。1.2 电子万年历的发展状况随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差
9、从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步!2 总体设计框图 本电路主要由3大部分电路组成:ARM最小系统电路、时钟显示电路和闹钟警报电路(本设计用LED灯指示)。其中ATM最小系统主要由复位电路和时钟电路组成。在该设计中,闹钟提醒由LED灯代替,当闹钟时间到的话,LED灯亮,延时设定的时间后自动关闭。总体设计方框图,如图3所示。STM32 复位电路串口显示 输入时间 时钟电路图一 总体设计方框
10、图2.1设计任务和要求 2.1.1 课程设计目的(1) 了解嵌入式芯片的工作原理,从而学会制作相关的东西。 (2) 进一步了解嵌入式系统以及嵌入式在实际生活中的应用 2.1.2 课程设计要求 (1) 本次设计要包含ARM板上的几个模块 (2) 本次设计要有一定有实际意义(有应用价值)2.2设计思路STM32 的RTC 实现一个简易的电子万年历。RTC实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期,当用户设置好时间日期后,在超级终端中显示我们所要求的电子万年历的功能。当时间 计数为:23:59
11、:59 时将刷新为:00:00:00。2.3设计中所用到的库文件 start_stm32f10x_hd.c core_cm3.c system_stm32f10x.c stm32f10x_gpio.c stm32f10x_rcc.c stm32f10x_usart.c stm32f10x_pwr.c stm32f10x_bkp.c stm32f10x_rtc.c stm32f10x_misc.c 用户编写的文件 main.c stm32f10x_it.c usart.c rtc.c 2.4 RTC(实时时钟)简介 实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下
12、,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域,即在系统复位或从待机模式唤醒后RTC的设置和时间维持不变。 系统复位后,禁止访问后备寄存器和RTC,防止对后备区域(BKP)的意外写操作。执行以下操作使能对后备寄存器和RTC的访问: 设置寄存器PWR_CR的DBP位使能对后备寄存器和RTC的访问。当我们需要在掉电之后,又需要RTC时钟正常运行的话,单片机的VBAT脚需外接3.3V的锂电池。当我们重新上电的时候,主电源给VBAT供电,当系统掉电之后VBAT给RTC时钟工作,RTC中的数据都会保持在后备寄存器当
13、中。 3 万年历硬件系统3.1 内部时钟电路 图二 内部时钟电路3.2 内部串口电路图三 内部串口电路4 程序运行结果程序通过宏定义来设置当前时间,对开发板进行初始化后,进行设置和串口初始化,并打开中断,当设置时间到时,程序读取可编程计数器的值以或许信息,通过串口发送数据显示时钟。5 程序代码分析 首先在 stm32f10x_conf.g 中将相应库文件的头文件的注释去掉,这样才能够真正使用这些库,否则将会编译错误。 1. /* Uncomment the line below to enable peripheral header file inclusion */ 2. /* #inclu
14、de stm32f10x_adc.h */ 3. #include stm32f10x_bkp.h 4. /* #include stm32f10x_can.h */ 5. /* #include stm32f10x_crc.h */ 6. /* #include stm32f10x_dac.h */ 7. /* #include stm32f10x_dbgmcu.h */ 8. /* #include stm32f10x_dma.h */ 9. /* #include stm32f10x_exti.h */ 10. /*#include stm32f10x_flash.h*/ 11. /*
15、#include stm32f10x_fsmc.h */ 12. #include stm32f10x_gpio.h 13. /* #include stm32f10x_i2c.h */ 14. #include stm32f10x_iwdg.h 15. #include stm32f10x_pwr.h 16. #include stm32f10x_rcc.h 17. #include stm32f10x_rtc.h 18. /* #include stm32f10x_sdio.h */ 19. /* #include stm32f10x_spi.h */ 20. /* #include st
16、m32f10x_tim.h */ 21. #include stm32f10x_usart.h 22. /* #include stm32f10x_wwdg.h */ 23. #include misc.h /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ 配置好库的环境之后,我们就从main函数开始分析。 int main(void) /* config the sysclock to 72M */ SystemInit(); /* USART1 config */ USART1_Confi
17、g(); /* 配置RTC秒中断优先级 */ NVIC_Configuration(); printf( rn This is a RTC demo. rn ); if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) /* Backup data register value is not correct or not yet programmed (when the first time the program is executed) */ . printf(rnThis is a RTC demo!rn); printf(rnn RTC not y
18、et configured.); /* RTC Configuration */ RTC_Configuration(); printf(rn RTC configured.); /* Adjust time by values entred by the user on the hyperterminal */ Time_Adjust(); BKP_WriteBackupRegister(BKP_DR1, 0xA5A5); else /* Check if the Power On Reset flag is set */ if (RCC_GetFlagStatus(RCC_FLAG_POR
19、RST) != RESET) printf(rnn Power On Reset occurred.); /* Check if the Pin Reset flag is set */ else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET) . printf(rnn External Reset occurred.); printf(rn No need to configure RTC.); . /* Wait for RTC registers synchronization */ RTC_WaitForSynchro(); /* En
20、able the RTC Second */ RTC_ITConfig(RTC_IT_SEC, ENABLE); /* Wait until last write operation on RTC registers has finished */ RTC_WaitForLastTask(); #ifdef RTCClockOutput_Enable /* Enable PWR and BKP clocks */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); /* Allow access to
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 万历 系统

链接地址:https://www.31ppt.com/p-4148001.html