




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32 实时钟设计 实现功能 1 定时器用于实时钟的月日 时分和秒计时 2 2 个按键用于实时钟的显示切换和设置 3 LCD 用于实时钟的月日 时分和秒显示 4 通过 UART 接口在微机上显示和设置实时钟 按键要求 程序如下 include stm32f10 x h include misc h include uart my h include stdio h include stm32f10 x exti h define NVIC SETENA1 volatile unsigned long 0 xe000e104 int Rx 0 int receive 0 u8 temp int time 6 int led 0 x200 int lcddata 5 2 0 int runnian 1 flag 2 dian 0 flag2 1 timer 0 char rtc 30 char no 0 char lcd code 16 编码 0 xeb 0 0 x0a 1 0 xad 2 0 x8f 3 0 x4e 4 0 xc7 5 0 xe7 6 0 x8a 7 0 xef 8 0 xcf 9 0 x7e A 0 x37 B 0 x71 C 0 x1f D 0 x75 E 0 x74 F private function void LCD Write int data int bit void Systick Proc void void Lcd Proc void void lcd display0 void void lcd display1 void void lcd display2 void void lcd display3 void void lcd display4 void void lcd display5 void void lcd display6 void void Uart IO Config void void LCD IO Config void void Led IO Config void void Uart IO Config void void Button IO Config void void EXTILineConfig void void NVIC Configuration void void Uart Init void void LCD Init void void Systick Init void void LED Proc void void Lcd Proc void void Uart void void uartPuts u8 s void Uart r void void USART GetS Time void int main void SystemInit Systick Init SystemInit SysTick Config 9000000 LCD IO Config Led IO Config Uart IO Config Button IO Config EXTILineConfig NVIC Configuration Uart Init LCD Init while 1 Systick Proc Lcd Proc Uart r void Systick Proc void if NVIC STCSR if time 0 60 time 0 0 if time 1 60 time 1 0 if time 2 24 time 2 0 switch time 4 case 1 case 3 case 5 case 7 case 8 case 10 case 12 if time 3 32 if time 4 13 time 4 1 break case 2 if runnian if time 3 30 if time 4 13 time 4 0 else if time 3 29 if time 4 13 time 4 0 break case 4 case 6 case 9 case 11 if time 3 31 if time 4 13 time 4 0 break default break time 4 0 time 3 0 sprintf rtc d d d d d time 4 time 3 time 2 time 1 time 0 格式化输入出 处 sprintf rtc2 lcddata 0 0 time 0 10 lcddata 0 1 time 0 10 lcddata 1 0 time 1 10 lcddata 1 1 time 1 10 lcddata 2 0 time 2 10 lcddata 2 1 time 2 10 lcddata 3 0 time 3 10 lcddata 3 1 time 3 10 lcddata 4 0 time 4 10 lcddata 4 1 time 4 10 之前 开始以分钟之后才能显示 放在前边 sprintf rtc 日期与时间是 d d d d d time 4 time 3 time 2 time 1 time 0 格式化输入出处 Uart while USART GetFlagStatus USART1 USART FLAG TXE RESET USART SendData USART1 0 xd while USART GetFlagStatus USART1 USART FLAG TXE RESET USART SendData USART1 0 xa LED Proc void Lcd Proc void int temp 8 temp 0 lcd code min display h 分钟十位高四位 temp 1 lcd code min display h 分钟十位低四位 temp 2 lcd code min display l 分钟个位高四位 temp 3 lcd code min display l 分钟个位低四位 temp 4 lcd code sec display h 秒钟十位高四位 temp 5 lcd code sec display h 秒钟十位低四位 temp 6 lcd code sec display l 秒钟个位高四位 temp 7 lcd code sec display l 秒钟个位低四位 switch flag case 0 lcd display0 break case 1 lcd display1 break case 2 lcd display2 break case 3 lcd display3 break case 4 lcd display4 break case 5 lcd display5 break case 6 lcd display6 break default break void lcd display0 void 时分显示 LCD Write 5 14 0 8 lcd code lcddata 2 1 dian 4 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 2 0 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 1 1 17 LCD Write 5 14 6 8 lcd code lcddata 1 0 17 void lcd display1 void 月日显示 LCD Write 5 14 0 8 lcd code lcddata 4 1 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 4 0 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 3 1 17 LCD Write 5 14 6 8 lcd code lcddata 3 0 17 void lcd display2 void 分秒显示 LCD Write 5 14 0 8 lcd code lcddata 1 1 dian 4 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 1 0 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 0 1 17 LCD Write 5 14 6 8 lcd code lcddata 0 0 17 void lcd display3 void 月设置显示 if dian LCD Write 5 14 0 8 no 17 移位出现问题 LCD Write 5 14 2 8 no 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 3 1 17 LCD Write 5 14 6 8 lcd code lcddata 3 0 17 else LCD Write 5 14 0 8 lcd code lcddata 4 1 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 4 0 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 3 1 17 LCD Write 5 14 6 8 lcd code lcddata 3 0 17 void lcd display4 void 天设置显示 if dian LCD Write 5 14 0 8 lcd code lcddata 4 1 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 4 0 17 移位这一块 LCD Write 5 14 4 8 no 17 LCD Write 5 14 6 8 no 17 else LCD Write 5 14 0 8 lcd code lcddata 4 1 17 LCD Write 5 14 2 8 lcd code lcddata 4 0 17 LCD Write 5 14 4 8 lcd code lcddata 3 1 17 LCD Write 5 14 6 8 lcd code lcddata 3 0 17 void lcd display5 void 时设置显示 if dian LCD Write 5 14 0 8 no 17 移位出现问题 LCD Write 5 14 2 8 no 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 1 1 17 LCD Write 5 14 6 8 lcd code lcddata 1 0 17 else LCD Write 5 14 0 8 lcd code lcddata 2 1 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 2 0 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 1 1 17 LCD Write 5 14 6 8 lcd code lcddata 1 0 17 void lcd display6 void 分设置显示 if dian LCD Write 5 14 4 8 no 17 移位出现问题 LCD Write 5 14 6 8 no 17 移位这一块 LCD Write 5 14 0 8 lcd code lcddata 2 1 17 LCD Write 5 14 2 8 lcd code lcddata 2 0 17 else LCD Write 5 14 0 8 lcd code lcddata 2 1 17 移位出现问题 LCD Write 5 14 2 8 lcd code lcddata 2 0 17 移位这一块 LCD Write 5 14 4 8 lcd code lcddata 1 1 17 LCD Write 5 14 6 8 lcd code lcddata 1 0 17 void LCD IO Config void GPIO InitTypeDef GPIO InitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOC RCC APB2Periph GPIOD ENABLE GPIO InitStructure GPIO Pin GPIO Pin 10 GPIO Pin 11 GPIO Pin 12 GPIO InitStructure GPIO Mode GPIO Mode Out PP GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO Init GPIOC void Button IO Config void GPIO InitTypeDef GPIO InitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOB RCC APB2Periph AFIO ENABLE GPIO InitStructure GPIO Pin GPIO Pin 14 GPIO Pin 15 GPIO InitStructure GPIO Mode GPIO Mode IN FLOATING 配置错误 GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO Init GPIOB void Led IO Config void GPIO InitTypeDef GPIO InitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOC ENABLE Configure PC 06 PC 07 PC 08 and PC 09 as output push pull GPIO InitStructure GPIO Pin GPIO Pin 6 GPIO Pin 7 GPIO Pin 8 GPIO Pin 9 GPIO InitStructure GPIO Mode GPIO Mode Out PP GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO Init GPIOC void Uart IO Config void GPIO InitTypeDef GPIO InitStructure USART ClearITPendingBit USART1 USART IT TC USART IT RXNE RX RCC APB2PeriphClockCmd RCC APB2Periph GPIOA RCC APB2Periph AFIO ENABLE GPIO InitStructure GPIO Pin GPIO Pin 10 接收 GPIO InitStructure GPIO Mode GPIO Mode IN FLOATING GPIO Init GPIOA TX GPIO InitStructure GPIO Pin GPIO Pin 9 发送 GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO InitStructure GPIO Mode GPIO Mode AF PP GPIO Init GPIOA void EXTILineConfig void EXTI InitTypeDef EXTI InitStructure GPIO EXTILineConfig GPIO PortSourceGPIOB GPIO PinSource14 GPIO EXTILineConfig GPIO PortSourceGPIOB GPIO PinSource15 EXTI InitStructure EXTI Line EXTI Line14 EXTI Line15 EXTI InitStructure EXTI Mode EXTI Mode Interrupt EXTI InitStructure EXTI Trigger EXTI Trigger Falling EXTI InitStructure EXTI LineCmd ENABLE EXTI Init void NVIC Configuration void NVIC InitTypeDef NVIC InitStructure NVIC PriorityGroupConfig NVIC PriorityGroup 2 抢占优先级组 4 2 位抢占优先级 2 位子优先级 Enable the EXTI14 Interrupt on PB 14 sw3 输入时间 NVIC InitStructure NVIC IRQChannel EXTI15 10 IRQn 对于相同中断号的中断无 法设置抢断优先级 NVIC InitStructure NVIC IRQChannelPreemptionPriority 0 NVIC InitStructure NVIC IRQChannelSubPriority 1 NVIC InitStructure NVIC IRQChannelCmd ENABLE NVIC Init Enable the EXTI15 Interrupt on PB 15 sw2 led 方向 NVIC InitStructure NVIC IRQChannel EXTI15 10 IRQn NVIC InitStructure NVIC IRQChannelPreemptionPriority 1 NVIC InitStructure NVIC IRQChannelSubPriority 2 NVIC InitStructure NVIC IRQChannelCmd ENABLE NVIC Init void LED Proc void if NVIC STCSR 右环移 if led 0 x20 led 0 x200 GPIOC BSRR 0 x03C0 灭所有灯 写 1 寄存器 BRR 写 0 寄存器 GPIOC ODR 亮指定 void Uart void uartPuts u8 rtc void Uart r void if receive USART GetS Time receive 0 USART ITConfig USART1 USART IT RXNE ENABLE void USART1 IRQHandler void if USART ReceiveData USART1 s receive 1 USART ITConfig USART1 USART IT RXNE DISABLE void EXTI15 10 IRQHandler void int i 1000 if EXTI GetITStatus EXTI Line14 SET EXTI ClearITPendingBit EXTI Line14 switch flag case 0 case 1 flag break case 2 flag 0 break case 3 case 4 case 5 flag break case 6 flag 0 break default flag 0 if EXTI GetITStatus EXTI Line15 SET while i EXTI ClearITPendingBit EXTI Line15 switch flag case 0 case 1 case 2 flag 3 break case 3 if time 4 13 time 4 0 break case 4 if time 3 32 time 3 0 break case 5 if time 2 25 time 2 0 break case 6 if time 1 60 time 1 0 break default break LED Water MCU STM32F103RBT6 Crystal External Input 8MHz Author FHL Date 2011 11 30 Function 实现数字时钟功能 并通过 LM046 显示 Copyright c 2000 2011 FHL Co Ltd All rights reserved Includes include uart my h include stdio h include stm32f10 x h define NVIC SETENA1 volatile unsigned long 0 xe000e104 Local includes extern int time 5 extern u8 temp extern int Rx Private typedef Private define Private macro Private variables extern int sec display l sec display h extern int min display l min display h extern int hour display l hour display h Private functions void Uart Init void USART InitTypeDef USART InitStructure USART ClockInitTypeDef USART ClockInitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOA RCC APB2Periph AFIO RCC APB2Periph USART1 ENABLE 未加 usart1 开时钟 USART InitStructure USART BaudRate 115200 USART InitStructure USART WordLength USART WordLength 8b USART InitStructure USART StopBits USART StopBits 1 USART InitStructure USART Parity USART Parity No USART InitStructure USART Mode USART Mode Rx USART Mode Tx USART InitStructure USART HardwareFlowControl USART HardwareFlowControl None USART Init USART1 NVIC SETENA1 0 x20 使能 USART1 接收中断 USART ITConfig USART1 USART IT RXNE ENABLE 使能 USART1 发送中断 USART ITConfig USART1 USART IT TXE ENABLE 使能串口 USART Cmd USART1 ENABLE void uartPuts u8 s while s 0 while USART GetFlagStatus USART1 USART FLAG TXE RESE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届山东省滨州沾化区六校联考九上化学期中教学质量检测模拟试题含解析
- 涂布机安全生产培训
- 创业贷款政策解读
- 2026届四川省广元市旺苍县九年级化学第一学期期末监测试题含解析
- 甘肃省临夏市第一中学2026届英语九上期末学业水平测试模拟试题含解析
- 文案策划个人年终总结
- 河北省丰润区2026届九年级英语第一学期期末质量跟踪监视模拟试题含解析
- 2026届山东省淄博市临淄区召口乡中学化学九年级第一学期期中质量检测模拟试题含解析
- 甘肃省张掖市临泽二中学、三中学、四中学2026届九上化学期中复习检测试题含解析
- 2026届四川省内江市球溪中学九年级化学第一学期期末统考试题含解析
- 综合性医院疼痛科建设课件
- WES溢流堰堰面设计
- 水产品安全控制
- 艺术涂料施工合同涂料施工合同共
- 养老服务公司经营范围(41个范本)
- 青少年脊柱侧弯筛查课件
- 北京十一学校2+4模式
- 第四章 解离平衡
- 小学生仪容仪表课件
- 初中语文中考复习 专题01 名著阅读之《朝花夕拾》(课内文言文+课外文言文)-2022年中考语文一轮复习黄金考点讲练测
- GB/T 38207-2019中国地理实体通名汉语拼音字母拼写规则
评论
0/150
提交评论