博旭范文网 - 每天发现一点点
每天发现一点点!
  • 心得体会
  • 实习心得
  • 工作心得
  • 培训心得
  • 读书心得
  • 学习心得
  • 党员心得
  • 读书笔记
  • 社会实践心得
  • 观后感
  • 班主任培训心得
  • 学习党章心得体会
  • 党课学习心得
  • 反腐倡廉心得
  • 解放思想心得
  • 学习郭明义
  • 于丹论语心得
  • 银行培训心得
  • 岗前培训心得
  • 师德师风学习心得体会
  • 新课程培训心得
  • 教师培训心得体会
  • 党校学习心得
  • 群众路线心得
  • 拓展心得心得
  • 三下乡心得
  • 课程设计心得
  • 听课心得
  • 廉政准则心得
  • 执行力心得体会
  • 新员工培训
  • 暑期社会实践心得
  • 你在为谁工作心得
  • 廉洁自律心得
  • stm32课程设计心得

    分类:课程设计心得 时间:2016-11-13 本文已影响

    篇一:stm32电子钟设计 课程设计报告

    课程论文

    题 目: 基于STM32的多功能电子时钟

    学生姓名:梁健学生学号:1008050120系 别: 电气信息工程系 专 业:电子信息科学与技术 年 级: 2010级 任课教师:郑晓东

    电气信息工程学院制

    2013年3月

    基于stm32的多功能电子时钟

    学生:梁健

    指导教师:郑晓东

    电气信息工程学院电子信息科学与技术专业

    一、设计任务与要求....................................

    stm32课程设计心得

    ................................................................ 3

    1、设计任务.......................................................................................................... 3 2、设计要求.......................................................................................................... 3 二、方案设计与论证.................................................................................................... 3

    1、单片机芯片选择方案...................................................................................... 5 2、显示选择方案.................................................................................................. 6 三、硬件单元电路设计与参数计算............................................................................ 6

    1、电源电路.......................................................................................................... 6 2、按键电路.......................................................................................................... 6 3、rtc时钟 ............................................................................................................ 7 4、12864显示电路............................................................................................... 7 5、温度传感器模块.............................................................................................. 8 四、 软件设计与流程图.............................................................................................. 8

    1、主程序流程图.................................................................................................. 8 2、显示子程序流程图........................................................................................ 10 3、按键子程序流程图........................................................................................ 12 五、总原电路及元器件清单...................................................................................... 14

    1.总原理图........................................................................................................ 14 六、元器件清单.......................................................................................................... 24 七、主程序.................................................................................................................. 24 八、 参考文献............................................................................................................ 28

    摘要:本论文基于单片机原理技术介绍了一款于stm32芯片作为核心控制器的单片机数字电子钟的设计与制作,包括硬件电路原理的实现方案设计、软件程序编辑的实现、数字电子钟正常工作的流程、原理图仿真实现、硬件实物的安装制作与硬件实物的调试过程。该单片机数字电子钟采用stm32自带的RTC,用lLCD12864能够准确显示时间(显示格式为:年月日时分秒),可随时进行时间调整,时间可采用12 小时制显示或24 小时制显示,用12864做成菜单形式,闹铃提醒,可按自己的要求设置扩展的小键盘个数,并增加温度显示。

    关键词:单片机 、数字电子钟 、LCD12864、STM32、RTC,温度传感器

    一、设计任务与要求

    1、设计任务

    用STM32设计一个数字电子钟,采用LCD12864来显示并修改,时间或闹铃。 2、设计要求

    (1)显示格式为:XX\XX\XX XX\XX\XX 即:年\月\日 时\分\秒。 (2)具有闹铃功能。

    (3)按键改变时间。 (4)按键改变闹铃。 (5)温度的显示。

    二、方案设计与论证

    整个系统用stm32单片机作为中央控制器,由单片机执行采集内部rtc值,

    时钟信号通过单片机I/O口传给LCD12864,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LCD12864的显示及相关的控制功能。系统设有按键模块用于对时间进行调整及扩展多个小键盘,系统整体框图如图1所示。

    篇二:stm32课程设计

    /*

    三个坐标系统的转换:

    触摸屏:

    column 240

    x

    _ _ _ _ _ _

    ^ |

    | |

    | |

    | |

    | |

    | | 320

    | |

    | |

    | |

    | |

    | |

    | |

    (0,0) - - - - - -> y

    液晶显示字体及清屏等函数:

    column 240

    (0,0) ----------->

    | |

    | |

    | |

    | |

    | |

    | | 320

    | |

    | |

    | |

    | |

    | |

    | |

    V- - - - - -

    y

    液晶显示图像:

    x

    column 240

    X

    -----------A

    | |

    | |

    | |

    | |

    | |

    | | 320

    | |

    | |

    | |

    | |

    | |

    | |

    Y <- - - - - -(0,0)

    转换关系:

    Y字 = 320 - X触摸

    X字 = Y触摸

    X图像 = X触摸

    Y图像 = 240-Y触摸

    Y图像 = 240 - X字

    X图像 = 320 - Y字

    */

    图像和字在屏幕的放置有一个方向相反。

    “LCD触摸屏控制七彩呼吸灯”部分程序:

    #include "stm32f10x.h"

    #include "bsp_usart1.h"

    #include "bsp_ili9341_lcd.h"

    #include "bsp_sdfs_app.h"

    #include "bsp_bmp.h"

    #include "bsp_SysTick.h"

    #include "bsp_touch.h"

    #include "bsp_spi_flash.h"

    #include "bsp_led.h"

    #include "even_process.h"

    #include "bsp_breathing.h //被调用的H文件的包含.呼吸灯头文件 int main(void)

    {

    uint8_t k;

    /* 初始化LCD */

    LCD_Init();

    LCD_Clear(0, 0, 240, 320, BACKGROUND); //清屏

    /* 初始化sd卡文件系统,因为汉字的字库放在了sd卡里面 */Sd_fs_init();

    /* 系统定时器 1us 定时初始化 */

    SysTick_Init();

    /* 初始化LED */

    LED_GPIO_Config();

    /* 初始化外部FLASH */

    SPI_FLASH_Init(); //PA4/5/6/7

    /* 触摸屏IO和中断初始化 */

    Touch_Init();//LCD触摸屏的配置用到模拟FLASHPE0/2/3/4, PD13

    #if 1

    SPI_FLASH_BufferRead(&cal_flag, 0, 1);

    if(cal_flag == 0x55 )

    {

    SPI_FLASH_BufferRead((void*)cal_p, 1, sizeof(cal_p)); SPI_FLASH_CS_HIGH();

    for( k=0; k<6; k++ )

    printf("\r\n rx = %LF \r\n",cal_p[k]);}

    else

    {

    /* 等待触摸屏校正完毕 */

    while(Touch_Calibrate() !=0);

    }

    #elif 0

    /* 等待触摸屏校正完毕 */

    while(Touch_Calibrate() !=0);

    #endif

    /* 显示LED控制界面图片 */

    Lcd_show_bmp(100, 30,"/led/ui_window.bmp");//图像和字形坐标配置有一个方向相反

    Lcd_show_bmp(38, 184,"/led/ui_rb_button.bmp");

    Lcd_show_bmp(38, 95,"/led/ui_gb_button.bmp");//显示关状态按钮

    Lcd_show_bmp(38, 11,"/led/ui_yb_button.bmp");

    TIM3_Breathing_Init();

    while(1)

    {

    even_process();//灯的配置及变色

    }

    }

    voideven_process(void)

    { 态//char lcd_char[20]; switch(even) { case E_BUTTON1://LED3 if(red_button == S_OFF) //原来为关状态 { Lcd_show_bmp(38, 184,"/led/ui_r_button.bmp");//显示开状态按钮 red_button = S_ON;//更新状态标志 } else //原来为开状 { Lcd_show_bmp(38, 184,"/led/ui_rb_button.bmp"); //显示关状态按钮 red_button = S_OFF; //更新状态标志 }LED1_TOGGLE; even = E_NULL; 态

    //LED状态反转 break; case E_BUTTON2: //LED1 if(green_button == S_OFF) //原来为关状态 { Lcd_show_bmp(38, 95,"/led/ui_g_button.bmp");//显示开状态按钮 green_button = S_ON; //更新状态标志 } else //原来为开状 { Lcd_show_bmp(38, 95,"/led/ui_gb_button.bmp"); //显示关状态按钮 green_button = S_OFF; //更新状态标志 }

    篇三:stm32实训总结

    2

    3

    4

    5

    相关热词搜索:课程设计 心得 stm32 基于stm32的课程设计 stm32蜂鸣器设计 嵌入式课程设计报告