0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

复旦微电子 FM33LG0xx系列开发板—OLED以及电子时钟应用

复旦微MCU 2023-01-13 14:17 次阅读

复旦微电子推出的FM33LG0xx开发板免费试用活动,小伙伴们积极参与,并基于FM33LG0xx开发板进行开发,如下是参与者的开发过程和心得。

FM33LG0xx系列开发板示意图

bc3bd8e4-9197-11ed-ad0d-dac502259ad0.jpgFM33LG0xx开发板在引脚资源的使用上是很有特点的,它既不是按走线的方便来提供引脚资源,也不是以Arduino接口的方式来提供引脚资源,而是按接口的类型,这就为使用者提供了极大的方便。由于该开发板在外设的配置上比较简单,因此有必要为它配上一个显示屏来观察输出信息。这里为它配置的是一款0.96寸的双色显示屏,它使用的是板上的I2C接口
bc483d64-9197-11ed-ad0d-dac502259ad0.png

图 1.显示效果

bc567212-9197-11ed-ad0d-dac502259ad0.png

图 2.I2C接口电路原理

该接口所使用的引脚为:

SCL---PA11

SDA---PA12

为便于以GPIO口来模拟I2C驱动,相关引脚输出高低电平的定义为:


#defineSCL_high FL_GPIO_SetOutputPin(GPIOA,FL_GPIO_PIN_11)
#defineSCL_low FL_GPIO_ResetOutputPin(GPIOA,FL_GPIO_PIN_11)
#defineSDA_high FL_GPIO_SetOutputPin(GPIOA, FL_GPIO_PIN_12)
#defineSDA_low FL_GPIO_ResetOutputPin(GPIOA,FL_GPIO_PIN_12)

以模拟方式发送字节数据的函数为:

void Write_IIC_Byte(unsigned char IIC_Byte){ unsigned char i; unsigned char m,da; da=IIC_Byte; SCL_low; for(i=0;i<8;i++) { m=da; m=m&0x80; if(m==0x80) { SDA_high; } else SDA_low; da=da<<1; SCL_high; SCL_low; }}

为实现图1的显示效果,其主程序为:

int main(void){ MF_Clock_Init(); MF_SystemClock_Config(); FL_Init(); MF_Config_Init(); UserInit(); key_int(); led_int(); oled_app(); OLED_Init(); OLED_Clear(); OLED_ShowString(20,0,"FM33LG0XX",16); OLED_ShowCHinese(20,2,0); OLED_ShowCHinese(36,2,1); OLED_ShowCHinese(52,2,2); OLED_ShowCHinese(68,2,3); OLED_ShowCHinese(84,2,4); OLED_ShowCHinese(100,2,5); OLED_ShowString(20,6,"jinglixixi",16); while(1);}

有了OLED屏的显示功能,后面再遇到显示问题时就方便许多。在FM33LG0xx开发板的内部,配有一个低功耗实时时钟日历(RTCC),并带有数字调校功能,其调校精度为+/-0.476ppm,将它与OLED屏的显示功能相结合,即可轻松地实现RTC电子时钟的功能。

bc6362c4-9197-11ed-ad0d-dac502259ad0.png

图 3.计时效果

bc74af98-9197-11ed-ad0d-dac502259ad0.png

图 4.RTC后备电源

由于在例程中提供了标准的RTC读取函数,故稍加修改即可完成RTC的读取及显示功能,修改后的读取函数为:

uint8_t RTC_GetRTCA(FL_RTCA_InitTypeDef *InitStructer){ uint8_t n, i; uint8_t Result = 1; uint32_t u,ut; FL_RTCA_InitTypeDef TempTime1; FL_RTCA_GetTime(RTCA, &TempTime1); u=((uint32_t *)(&TempTime1))[4]; OLED_ShowNumH(20,5,u,2,16); u=((uint32_t *)(&TempTime1))[5]; OLED_ShowNumH(44,5,u,2,16); u=((uint32_t *)(&TempTime1))[6]; OLED_ShowNumH(68,5,u,2,16); return Result;}

实现RTC计时功能的测试函数如下,它含有RTC的初始值设置及循环读取功能:

uint8_t RTC_GetRTCA(FL_RTCA_InitTypeDef *InitStructer){ uint8_t n, i; uint8_t Result = 1; uint32_t u,ut; FL_RTCA_InitTypeDef TempTime1; FL_RTCA_GetTime(RTCA, &TempTime1); u=((uint32_t *)(&TempTime1))[4]; OLED_ShowNumH(20,5,u,2,16); u=((uint32_t *)(&TempTime1))[5]; OLED_ShowNumH(44,5,u,2,16); u=((uint32_t *)(&TempTime1))[6]; OLED_ShowNumH(68,5,u,2,16); return Result;}

实现图3计时显示效果的主程序为:

int main(void){ MF_Clock_Init(); MF_SystemClock_Config(); FL_Init(); MF_Config_Init(); UserInit(); CDIF->CR= 0x02; oled_app(); OLED_Init(); OLED_Clear(); OLED_ShowString(20,0,"FM33LG0XX",16); OLED_ShowCHinese(20,2,0); OLED_ShowCHinese(36,2,1); OLED_ShowCHinese(52,2,2); OLED_ShowCHinese(68,2,3); OLED_ShowCHinese(84,2,4); OLED_ShowCHinese(100,2,5); OLED_ShowString(20,6,"jinglixixi",16); FL_DelayMs(1000); OLED_ShowString(20,6," ",16); OLED_ShowString(20,5," : : ",16); Test_RTCA(); while(1) { LED0_TOG(); FL_DelayMs(1000); }}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    119

    文章

    6198

    浏览量

    224097
  • 微电子
    +关注

    关注

    18

    文章

    380

    浏览量

    41196
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
收藏 人收藏

    评论

    相关推荐

    复旦微MCU 行业应用 | FM33LF0xx系列MCU在焊机行业应用案例

    :控制电路为模拟电路的传统焊机、同时具有模拟电路和数字电路的半数字化焊机,以及控制电路全为数字电路的全数字化焊机。方案架构半数字焊机产品应用基于FM33LF0
    的头像 发表于 12-09 16:57 159次阅读
    <b class='flag-5'>复旦</b>微MCU 行业应用 | <b class='flag-5'>FM33LF0xx</b><b class='flag-5'>系列</b>MCU在焊机行业应用案例

    复旦微荣获ISO26262:2018功能安全ASIL B产品认证证书

    2024年10月29日,上海复旦微电子集团股份有限公司(简称:“复旦微”)荣获ISO26262:2018功能安全产品认证证书(ASILB等级)。这标志着复旦
    的头像 发表于 11-08 01:06 287次阅读
    <b class='flag-5'>复旦</b>微荣获ISO26262:2018功能安全ASIL B产品认证证书

    昂科烧录器支持FuDanWei复旦微电子的低功耗微控制器FM33FR024

    芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表,其中FuDanWei复旦微电子的低功耗微控制器FM33FR024已经被昂科的通用烧录平台AP8000所支持
    的头像 发表于 10-12 11:29 280次阅读
    昂科烧录器支持FuDanWei<b class='flag-5'>复旦</b><b class='flag-5'>微电子</b>的低功耗微控制器<b class='flag-5'>FM33</b>FR024

    复旦微电子推出新款漏电保护MCU与剩余电流保护芯片

    上海复旦微电子集团股份有限公司今日宣布,公司成功推出两款新品,分别是符合GB/T 18487-2023新标准的B型/EV型漏电保护MCU芯片FM2213和带电能计量功能的B/EV型剩余电流保护芯片
    的头像 发表于 05-21 11:41 1379次阅读

    复旦微电子集团推出两款B型/EV型剩余电流保护芯片新品

    上海复旦微电子集团股份有限公司今日推出新品:符合GB/T 18487-2023新标准的B型/EV 型漏电保护 MCU 芯片FM2213和带电能计量功能的B/EV型的剩余电流保护芯片FM
    的头像 发表于 05-15 16:24 960次阅读
    <b class='flag-5'>复旦</b><b class='flag-5'>微电子</b>集团推出两款B型/EV型剩余电流保护芯片新品

    RX100系列子时钟电路设计指南

    电子发烧友网站提供《RX100系列子时钟电路设计指南.pdf》资料免费下载
    发表于 02-21 14:12 4次下载
    RX100<b class='flag-5'>系列子时钟</b>电路设计指南

    RX和RA系列时钟电路和子时钟电路设计指南

    电子发烧友网站提供《RX和RA系列时钟电路和子时钟电路设计指南.pdf》资料免费下载
    发表于 02-19 10:20 1次下载
    RX和RA<b class='flag-5'>系列</b>主<b class='flag-5'>时钟</b>电路和<b class='flag-5'>子时钟</b>电路设计指南

    FM33FT0A系列车用MCU芯片产品说明书

    电子发烧友网站提供《FM33FT0A系列车用MCU芯片产品说明书.pdf》资料免费下载
    发表于 02-18 10:17 3次下载

    51单片机开发板的主要功能 51单片机开发板能做什么

    51单片机开发板是一种基于8051系列单片机芯片的开发板,具有丰富的功能和广泛的应用。下面将详细介绍51单片机开发板的主要功能以及能够实现的
    的头像 发表于 01-23 15:52 3695次阅读

    复旦微MCU 电机应用 | 基于FM33LF0xx系列的线性驱动应用

    复旦微MCU电机应用|基于FM33LF0xx系列线性驱动应用-电动床前言线性驱动作为电动执行器在智能家居、智慧办公、汽车部件、医疗器械、工业自动化等领域都具有广泛应用。它将电机的旋转运动转换
    的头像 发表于 01-20 08:28 957次阅读
    <b class='flag-5'>复旦</b>微MCU 电机应用 | 基于<b class='flag-5'>FM33LF0xx</b><b class='flag-5'>系列</b>的线性驱动应用

    基于51单片机的多功能电子时钟设计

    电子发烧友网站提供《基于51单片机的多功能电子时钟设计.rar》资料免费下载
    发表于 01-12 10:03 13次下载

    单片机电子时钟功能介绍

    单片机电子时钟是一种基于微处理器和数字时钟显示技术的计时装置。它通过内部的晶振电路精确地计算时间,并将结果显示在数字时钟面板上。在现代生活中,电子时钟已经成为了人们日常生活中不可或缺的
    的头像 发表于 01-08 14:40 2914次阅读

    基于51单片机的多功能电子时钟设计

    基于51单片机的多功能电子时钟设计(仿真)
    发表于 01-02 09:39 41次下载

    复旦微汽车MCU团队推出触摸阅读灯参考设计

    广泛应用在中控面板、方向盘开关、电容触摸门把手、侧壁灯、阅读顶灯等触摸场景。为帮助客户快速缩短开发周期,复旦微基于FM33FT0xxA系列汽车MCU,
    的头像 发表于 12-28 08:28 741次阅读
    <b class='flag-5'>复旦</b>微汽车MCU团队推出触摸阅读灯参考设计

    基于RA6M5开发板的低功耗电子时钟设计

    本项目是基于启明RA6M5开发板搭载2.4寸液晶屏的电子时钟,该电子时钟有两个模式——正常模式和低功耗模式,可以通过开发板的按键改变时钟模式
    的头像 发表于 12-25 12:26 892次阅读
    基于RA6M5<b class='flag-5'>开发板</b>的低功耗<b class='flag-5'>电子时钟</b>设计