富士通半导体设计(成都)有限公司 用户手册 MCU-UM-510107-Z-11 32 位微型控制器 MB9AA30N 系列 BLUEMOON 评估板固件 用户手册 ARM and Cortex-M3 are the trademarks of ARM Limited in the EU and other countries. Bluemoon 评估板固件 V1.1.0 修改记录 修改记录 版本 日期 作者 1.1.0 2012-11-26 Abel Ma 审核人 修改记录 初稿 本手册包含31 页。 • 本手册的记载内容如有变动,恕不另行通知。 订购前建议用户咨询销售代表。 • 本手册记载的信息仅作参考,诸如功能概要和应用电路示例,旨在说明 FUJITSU SEMICONDUCTOR 半导体器 件的使用方法和操作示例,对于建立在该信息基础上的器件使用,FUJITSU SEMICONDUCTOR 不保证器件的正 常工作。如果用户根据该信息使用器件实行相关开发,用户应承担因此引发的责任。基于上述信息的使用引起的 任何损失,FUJITSU SEMICONDUCTOR 不承担任何责任。 • 本手册内的任何信息,包括功能介绍和原理图,不应理解为使用和执行任何知识产权的许可,诸如专利权或著作 权,或 FUJITSU SEMICONDUCTOR 的其它权利或第三方权利,FUJITSU SEMICONDUCTOR 也不保证使用该信 息不侵犯任何第三方知识产权或其它权利。因使用该信息引起的第三方知识产权或其它权利的侵权行为,FUJITSU SEMICONDUCTOR 不承担任何责任。 • 本手册所介绍的产品旨在一般用途而设计、开发和制造,包括但并不限于一般的工业使用、通常办公使用、个人 使用和家庭使用,不旨在以下设计、开发和制造(1)使用中伴随着致命风险或危险,若不加以特别高度安全保障, 有可能导致对公众产生危害,甚至直接死亡、人身伤害、严重物质损失或其它损失(即核设施的核反应控制、航空 飞行控制、空中交通控制、公共交通控制、医用维系生命系统、核武器系统的导弹发射控制),(2)需要极高可靠性 的应用领域(比如海底中转器和人造卫星)。注意上述领域内使用该产品引起的用户和/或第三方的任何索赔或损失, FUJITSU SEMICONDUCTOR 不承担任何责任。 • 半导体器件存在一定的故障发生概率。请用户对器件和设备采取冗余设计、消防设计、过电流等级防护措施,其 它异常操作防护措施等安全设计,保证即使半导体器件发生故障的情况下,也不会造成人身伤害、社会损害或重 大损失。 • 本手册内记载的任何产品的出口/发布可能需要根据日本外汇及外贸管理法和/或美国出口管理法条例办理必要的 手续。 • 本手册内记载的公司名称和商标名称是各个公司的商标或注册商标。 trademarks their respective owners. 版权 © 2012of富士通半导体设计(成都)有限公司 MCU-UM-510107-Z-11 – Page 2 Bluemoon 评估板固件 V1.1.0 目录 目录 修改记录 ............................................................................................................................... 2 目录 ...................................................................................................................................... 3 1 概要 .................................................................................................................................. 6 1.1 目的………………………………………………………………………………………….6 1.2 章节概要 .................................................................................................................. 6 2 系统硬件环境 .................................................................................................................... 7 3 开发环境 ........................................................................................................................... 8 4 系统函数 ........................................................................................................................... 9 4.1 宏定义 ..................................................................................................................... 9 4.2 函数列表 .................................................................................................................. 9 4.3 函数原型 ................................................................................................................ 10 4.3.1 Sys_Init () ................................................................................................ 10 4.3.2 StatusSeverveRun () ............................................................................... 10 4.3.3 KeyScanf() ............................................................................................... 10 4.3.4 KeyTouchServe () .................................................................................... 10 4.3.5 DispModeServe () .................................................................................... 11 4.3.6 MinSysCurTest() ...................................................................................... 11 4.3.7 RtcModeSet() .......................................................................................... 11 4.3.8 EnterLowerPowerModeProcess () ........................................................... 11 4.3.9 TscKeyScanf () ........................................................................................ 12 4.3.10 uint8_t TSCKey_UpdateBaseline(uint8_t) ................................................ 12 5 事件函数 ......................................................................................................................... 13 5.1 函数列表 ................................................................................................................ 13 5.2 函数原型 ................................................................................................................ 13 5.2.1 LcdBlc_Init ()............................................................................................ 13 5.2.2 InitRTC(uint8_t) ....................................................................................... 14 5.2.3 LedWork_Init () ........................................................................................ 14 5.2.4 CommonDvc_Init () .................................................................................. 14 5.2.5 ModChgKey_Init() .................................................................................... 14 5.2.6 JoyKey_Init () ........................................................................................... 15 5.2.7 ShowPage1 () .......................................................................................... 15 5.2.8 TSCKey_Init() .......................................................................................... 15 MCU-UM-510107-Z-11 – Page 3 Bluemoon 评估板固件 V1.1.0 目录 5.2.9 ShowDatePage() ..................................................................................... 15 5.2.10 ShowTimePage() ..................................................................................... 16 5.2.11 uint8_t LeapYearCheck(uint8_t) .............................................................. 16 5.2.12 LcdBuffer_Clr() ........................................................................................ 16 5.2.13 LcdWriteData(uint8_t, uint8_t, uint8_t) ..................................................... 16 5.2.14 LcdWriteColon(uint8_t) ............................................................................ 17 5.2.15 LcdDisp_Clr()........................................................................................... 17 5.2.16 ShowWhichPlaceBlink(uint8_t, uint8_t, uint8_t) ....................................... 17 5.2.17 TimePageSet(uint8_t, uint8_t, uint8_t) ..................................................... 17 5.2.18 DatePageSet(uint8_t, uint8_t, uint8_t) ..................................................... 18 5.2.19 SetAllGpioOutH() ..................................................................................... 18 6 驱动函数 ......................................................................................................................... 19 6.1 函数列表 ................................................................................................................ 19 6.2 函数原型 ................................................................................................................ 19 6.2.1 Gpio_Init (McuPinName, uint8_t, uint8_t)................................................. 19 6.2.2 uint8_t GpioInputCheck(McuPinName, uint8_t) ....................................... 20 6.2.3 uint8_t MultiAdcFun(McuPinName).......................................................... 20 6.2.4 uint8_t MultiLcdFun (McuPinName) ......................................................... 20 6.2.5 uint8_t MultiMainClockFun(McuPinName) ............................................... 20 6.2.6 uint8_t MultiSubClockFun(McuPinName)................................................. 21 6.2.7 LcdComPin_Init (uint8_t) ......................................................................... 21 6.2.8 LcdSegPin_Init () ..................................................................................... 21 6.2.9 LCD_Init() ................................................................................................ 21 6.2.10 LCD_Disable () ........................................................................................ 22 6.2.11 LcdDisp() ................................................................................................. 22 6.2.12 BT0ReloadTimer_Init()............................................................................. 22 6.2.13 BT0Timer_Halt() ...................................................................................... 22 6.2.14 BT0Timer_Resume() ............................................................................... 23 6.2.15 Eint_Init(McuPinName, uint8_t) ............................................................... 23 6.2.16 Eint_Disable(McuPinName) ..................................................................... 23 6.2.17 Lvd_Init() ................................................................................................. 23 7 中断函数 ......................................................................................................................... 24 7.1 函数列表 ................................................................................................................ 24 7.2 函数原型 ................................................................................................................ 24 7.2.1 BT_IRQHandler() ..................................................................................... 24 7.2.2 INT07_7_Handler() .................................................................................. 24 7.2.3 LVD_Handler() ......................................................................................... 24 MCU-UM-510107-Z-11 – Page 4 Bluemoon 评估板固件 V1.1.0 目录 8 评估板系统 ..................................................................................................................... 25 8.1 系统介绍 ................................................................................................................ 25 8.2 系统特性 ................................................................................................................ 25 8.3 系统固件设计......................................................................................................... 26 8.3.1 用户接口 .................................................................................................. 26 8.3.2 系统主循环............................................................................................... 27 8.3.3 系统文件 .................................................................................................. 28 8.3.4 系统文件结构 ........................................................................................... 29 9 更多信息 ......................................................................................................................... 30 10 附录 31 10.1 图表索引 ................................................................................................................ 31 MCU-UM-510107-Z-11 – Page 5 Bluemoon 评估板固件 V1.1.0 第 1 章 概要 1 概要 1.1 目的 本文档介绍了富士通 Bluemoon 评估板的固件结构。 固件主要包括 TSC, RTC, LCD, ADC, LPCM, LVD, Key 等驱动功能。 1.2 章节概要 本文档主要包括以下章节: 第2章介绍了系统硬件环境。 第3章介绍了开发环境。 第4章介绍了系统函数。 第5章介绍了事件函数。 第6章介绍了驱动函数。 第7章介绍了中断函数。 第8章介绍了评估板系统。 MCU-UM-510107-Z-11 – Page 6 Bluemoon 评估板固件 V1.1.0 第 2 章系统硬件环境 2 系统硬件环境 硬件环境 单片机:富士通 MB9AA30N; 运行时钟:20MHz; 最小指令时间: 50ns; 所用 Ram:1Kbytes; 代码长度:14Kbytes; MCU-UM-510107-Z-11 – Page 7 Bluemoon 评估板固件 V1.1.0 第 3 章 开发环境 3 开发环境 开发环境 表 3-1: 单片机开发环境 工具 描述 编号 IAR bedded Workbench 用于固件开发调试 JLink 调试和下载工具 MCU-UM-510107-Z-11 – Page 8 厂家 备注 Bluemoon 评估板固件 V1.1.0 第 4 章系统函数 4 系统函数 注:更多关于 RTC 信息,请参照富士通 MCU-AN-510045-E-10.pdf。 4.1 宏定义 宏名 描述 值 备注 POWER_SUPPLY_TIME 监视电源电压是否改变的时间间隔 200 ms DisplayKeyModeTime 显示当前时间的长度 5000 ms TSCKEY_OffsetL3 调节 TSC 键的灵敏度 40 N/A LedIndicateTime 有按键时,LED 灯亮的时间 500 ms LCD_BLINK_TIME RTC 设置功能下,闪动的时间间隔 500 ms LcdBackOff() 关闭 LCD 背光 N/A N/A LcdBackOn() 打开 LCD 背光 N/A N/A LedWorkOn() 点亮 D2 N/A N/A LedWorkOff() 熄灭 D2 N/A N/A 4.2 函数列表 原型 描述 备注 void Sys_Init (void) 系统初始化 系统首次调用 void StatusServeRun (void) 根据系统状态进行 LED 指示 N/A void KeyScanf (void) 按键扫描 N/A void KeyTouchServe (void) 判断是否有按键 N/A void DispModeServe (void) 判断系统状态 N/A void MinSysCurTest (void) 进入测试模式 N/A void RtcModeSet (void) 进入 RTC 设置功能 N/A void EnterLowerPowerModeProcess (void) 进入低功耗模式 N/A void TscKeyScanf(void) TSC 键扫描 N/A uint8_t TSCKey_UpdateBaseline(uint8_t) 更新 TSC 基线 TSC 库 MCU-UM-510107-Z-11 – Page 9 Bluemoon 评估板固件 V1.1.0 第 4 章 系统函数 4.3 函数原型 4.3.1 Sys_Init () 原型 void Sys_Init(void) 参数 void 返回值 void 描述 系统初始化 备注 N/A 4.3.2 StatusSeverveRun () 原型 void StatusServeRun (void) 参数 void 返回值 void 描述 根据系统状态进行LED指示 备注 N/A 4.3.3 KeyScanf() 原型 void KeyScanf (void) 参数 void 返回值 void 描述 按键扫描 备注 N/A 4.3.4 KeyTouchServe () 原型 void KeyTouchServe (void) 参数 void 返回值 void 描述 判断是否有按键 备注 N/A MCU-UM-510107-Z-11 – Page 10 Bluemoon 评估板固件 V1.1.0 第 4 章系统函数 4.3.5 DispModeServe () 原型 void DispModeServe (void) 参数 void 返回值 void 描述 判断系统状态 备注 N/A 4.3.6 MinSysCurTest() 原型 void MinSysCurTest (void) 参数 void 返回值 void 描述 进入测试模式 备注 N/A 4.3.7 RtcModeSet() 原型 void RtcModeSet (void) 参数 void 返回值 void 描述 进入 RTC 设置功能 备注 N/A 4.3.8 EnterLowerPowerModeProcess () 原型 void EnterLowerPowerModeProcess (void) 参数 void 返回值 void 描述 进入低功耗模式 备注 N/A MCU-UM-510107-Z-11 – Page 11 Bluemoon 评估板固件 V1.1.0 第 4 章 系统函数 4.3.9 TscKeyScanf () 原型 void TscKeyScanf(void) 参数 void 返回值 void 描述 TSC 键扫描 备注 N/A 4.3.10 uint8_t TSCKey_UpdateBaseline(uint8_t) 原型 uint8_t TSCKey_UpdateBaseline(uint8_t Key_Num) 参数 Key_Num:指明需要滤波的触摸键数目 返回值 1:成功 描述 更新 TSC 基线 备注 N/A 其它值:出错 MCU-UM-510107-Z-11 – Page 12 Bluemoon 评估板固件 V1.1.0 第 5 章事件函数 5 事件函数 注:更多关于 RTC 信息,请参照富士通 MCU-AN-510045-E-10.pdf。 5.1 函数列表 原型 描述 备注 void LcdBlc_Init(void) 初始化背光控制 N/A void InitRTC(uint8_t) 初始化 RTC 功能 N/A void LedWork_Init(void) 初始化 MCU 状态指示灯,作为 GPIO 输出 N/A void CommonDvc_Int(void) 初始化通用设备,如 LCD 背光控制,LED 灯 N/A void ModChgKey_Init(void) 初始化模式改变键,作为 GPIO 输入 N/A void JoyKey_Init(void) 初始化操纵杆,作为 GPIO 输入 N/A void ShowPage1(void) 显示“FUJITSU” N/A void TSCKey_Init(unsigned char) TSC 按键初始化 N/A void ShowDatePage(void) 显示页面 2,如:Year-Month-Day N/A void ShowTimePage(void) 显示页面 1,如: Hour:Min:Sec N/A uint8_t LeapYearCheck(uint8_t ) 判断输入是否为闰年 N/A void LcdBuffer_Clr(void) 清空 LCD 显示缓冲区 N/A void LcdWriteData(uint8_t, uint8_t, uint8_t) 向 LCD 显示缓冲区写数据 N/A void LcdWriteColon(uint8_t ) 向 LCD 显示缓冲区写冒号 N/A void LcdDisp_Clr(void) 清除 LCD 显示 N/A void ShowWhichPlaceBlink(uint8_t, uint8_t, uint8_t) 指定相应位置的 LCD 闪烁 N/A void TimePageSet(uint8_t, uint8_t , uint8_t ) 在设置时间模式下,显示页面 1。如: Hour:Min:Sec N/A void DatePageSet(uint8_t, uint8_t , uint8_t ) 在设置时间模式下, 显示页面 2。 如:Year-Month-Day N/A void SetAllGpioOutH(void) 低功耗模式下,设置 GPIO 的状态 N/A 5.2 函数原型 5.2.1 LcdBlc_Init () 原型 void LcdBlc_Init(void) 参数 void 返回值 void 描述 初始化背光控制 备注 N/A MCU-UM-510107-Z-11 – Page 13 Bluemoon 评估板固件 V1.1.0 第 5 章 事件函数 5.2.2 InitRTC(uint8_t) 原型 void InitRTC(uint8_t EnableWriteRtc) 参数 EnableWriteRtc:是否允许写入日期和时间 0x1 - 允许 其它值- 禁止 返回值 void 描述 初始化 RTC 功能 备注 N/A 5.2.3 LedWork_Init () 原型 void LedWork_Init(void) 参数 void 返回值 void 描述 初始化 MCU 状态指示灯,作为 GPIO 输出 备注 N/A 5.2.4 CommonDvc_Init () 原型 void CommonDvc_Init(void) 参数 void 返回值 void 描述 初始化通用设备,如 LCD 背光控制,LED 灯 备注 N/A 5.2.5 ModChgKey_Init() 原型 void ModChgKey_Init(void) 参数 void 返回值 void 描述 初始化模式改变键,作为 GPIO 输入 备注 N/A MCU-UM-510107-Z-11 – Page 14 Bluemoon 评估板固件 V1.1.0 第 5 章事件函数 5.2.6 JoyKey_Init () 原型 void JoyKey_Init(void) 参数 void 返回值 void 描述 初始化操纵杆,作为 GPIO 输入 备注 N/A 5.2.7 ShowPage1 () 原型 void ShowPage1(void) 参数 void 返回值 void 描述 显示“FUJITSU” 备注 N/A 5.2.8 TSCKey_Init() 原型 void TSCKey_Init(unsigned char) 参数 void 返回值 void 描述 TSC 按键初始化 备注 N/A 5.2.9 ShowDatePage() 原型 void ShowDatePage(void) 参数 void 返回值 void 描述 显示页面 2,如:Year-Month-Day 备注 N/A MCU-UM-510107-Z-11 – Page 15 Bluemoon 评估板固件 V1.1.0 第 5 章 事件函数 5.2.10 ShowTimePage() 原型 void ShowTimePage(void) 参数 void 返回值 void 描述 显示页面 1,如: Hour:Min:Sec 备注 N/A 5.2.11 uint8_t LeapYearCheck(uint8_t) 原型 uint8_t LeapYearCheck(uint8_t Year) 参数 Year:输入年份 返回值 1 - 闰年 描述 判断输入是否为闰年 备注 N/A 其它值 - 非闰年 5.2.12 LcdBuffer_Clr() 原型 void LcdBuffer_Clr(void) 参数 void 返回值 void 描述 清空 LCD 显示缓冲区 备注 N/A 5.2.13 LcdWriteData(uint8_t, uint8_t, uint8_t) 原型 void LcdWriteData(uint8_t dat, uint8_t place, uint8_t point) 参数 dat:需要显示的数据 place:显示的位置 point:是否带小数点 1 - 带 其它值 - 不带 返回值 void 描述 向 LCD 显示缓冲区写数据 备注 N/A MCU-UM-510107-Z-11 – Page 16 Bluemoon 评估板固件 V1.1.0 第 5 章事件函数 5.2.14 LcdWriteColon(uint8_t) 原型 void LcdWriteColon(uint8_t place) 参数 Place:显示的位置 返回值 void 描述 向 LCD 显示缓冲区写冒号 备注 N/A 5.2.15 LcdDisp_Clr() 原型 void LcdDisp_Clr(void) 参数 void 返回值 void 描述 清除 LCD 显示 备注 N/A 5.2.16 ShowWhichPlaceBlink(uint8_t, uint8_t, uint8_t) 原型 参数 void ShowWhichPlaceBlink(uint8_t WhichPlace, uint8_t ReplaceDate1, uint8_t ReplaceDate2) Place:显示闪烁的位置 ReplceDate1:代替闪烁的数据 ReplceDate2:下一位置代替闪烁的数据 返回值 void 描述 指定相应位置的 LCD 闪烁 备注 N/A 5.2.17 TimePageSet(uint8_t, uint8_t, uint8_t) 原型 void TimePageSet(uint8_t hour, uint8_t min, uint8_t sec) 参数 hour:当前的时 min:当前的钟 sec:当前的秒 返回值 void 描述 在设置时间模式下,显示页面 1。如: Hour:Min:Sec 备注 N/A MCU-UM-510107-Z-11 – Page 17 Bluemoon 评估板固件 V1.1.0 第 5 章 事件函数 5.2.18 DatePageSet(uint8_t, uint8_t, uint8_t) 原型 void DatePageSet(uint8_t year, uint8_t month, uint8_t date) 参数 year:当前的年 month:当前的月 date:当前的日 返回值 void 描述 在设置时间模式下,显示页面 2。如:Year-Month-Day 备注 N/A 5.2.19 SetAllGpioOutH() 原型 void SetAllGpioOutH(void) 参数 void 返回值 void 描述 低功耗模式下,设置 GPIO 的状态 备注 N/A MCU-UM-510107-Z-11 – Page 18 Bluemoon 评估板固件 V1.1.0 第 6 章驱动函数 6 驱动函数 注:更多关于 RTC 信息,请参照富士通 MCU-AN-510045-E-10.pdf。 6.1 函数列表 原型 描述 备注 void Gpio_Init(McuPinName, uint8_t, uint8_t) 指定 GPIO 引脚为输入或者输出 N/A uint8_t GpioInputCheck (McuPinName, uint8_t) 当指定引脚作为 GPIO 输入时,检查是否有按键 N/A uint8_t MultiAdcFun(McuPinName) 判断指定引脚是否有 ADC 功能 N/A uint8_t MultiLcdFun(McuPinName) 判断指定引脚是否有 LCD 功能 N/A uint8_t MultiMainClockFun(McuPinName) 判断指定引脚是否有主时钟功能 N/A uint8_t MultiSubClockFun(McuPinName) 判断指定引脚是否有副时钟功能 N/A void LcdComPin_Int(uint8_t) 根据硬件连接,初始化 COM 脚 N/A void LcdSegPin_Int(void) 根据硬件连接,初始化 SEG 脚 N/A void LCD_Init(void) 初始化 LCD 控制器 N/A void LCD_Disable(void) 禁止 LCD 功能 N/A void LcdDisp(void) LCD 显示缓冲区的数据 N/A void BT0ReloadTimer_Init(void) 初始化 BT0 作为 reload timer,1ms N/A void BT0Timer_Halt(void) 停止 BT0 作为 timer N/A void BT0Timer_Resume(void) 恢复 BT0 作为 timer N/A void Eint_Init(McuPinName, uint8_t ) 初始化外部中断 N/A void Eint_Disable(McuPinName) 禁止指定的外部中断 N/A void Lvd_Init(void) LVD 初始化,如果低于 4V 则产生中断 N/A 6.2 函数原型 6.2.1 Gpio_Init (McuPinName, uint8_t, uint8_t) 原型 void Gpio_Init (McuPinName WhichPin, uint8_t Dir, uint8_t Level) 参数 返回值 WhichPin:指定GPIO引脚 Dir: 1 - 输出 0 - 输入 Level: 作为输出: 0 - 低电平 作为输入: 0 - 不带上拉电阻 void 描述 指定 GPIO 引脚为输入或者输出 备注 N/A 1 - 高电平 1 - 带上拉电阻 MCU-UM-510107-Z-11 – Page 19 2 - 高电平Hi-Z Bluemoon 评估板固件 V1.1.0 第 6 章 驱动函数 6.2.2 uint8_t GpioInputCheck(McuPinName, uint8_t) 原型 uint8_t GpioInputCheck (McuPinName WhichPin, uint8_t TouchValueVolt) 参数 返回值 WhichPin:指定GPIO引脚 TouchValueVolt:当有按键时,其电压值 uint8_t: 1 - 有按 其它值 - 无按 描述 当指定引脚作为 GPIO 输入时,检查是否有按键 备注 N/A 6.2.3 uint8_t MultiAdcFun(McuPinName) 原型 uint8_t MultiAdcFun(McuPinName WhichPin) 参数 WhichPin:指定的GPIO引脚 返回值 uint8_t: 1 - 是 其它值 - 否 描述 判断指定引脚是否有 ADC 功能 备注 N/A 6.2.4 uint8_t MultiLcdFun (McuPinName) 原型 uint8_t MultiLcdFun(McuPinName WhichPin) 参数 WhichPin:指定的GPIO引脚 返回值 uint8_t: 1 - 是 其它值 - 否 描述 判断指定引脚是否有 LCD 功能 备注 N/A 6.2.5 uint8_t MultiMainClockFun(McuPinName) 原型 uint8_t MultiMainClockFun(McuPinName WhichPin) 参数 WhichPin:指定的GPIO引脚 返回值 uint8_t: 1 - 是 其它值 - 否 描述 判断指定引脚是否有主时钟功能 备注 N/A MCU-UM-510107-Z-11 – Page 20 Bluemoon 评估板固件 V1.1.0 第 6 章驱动函数 6.2.6 uint8_t MultiSubClockFun(McuPinName) 原型 uint8_t MultiSubClockFun(McuPinName WhichPin) 参数 WhichPin:指定的GPIO引脚 返回值 uint8_t: 1 - 是 其它值 - 否 描述 判断指定引脚是否有副时钟功能 备注 N/A 6.2.7 LcdComPin_Init (uint8_t) 原型 void LcdComPin_Init(uint8_t mode) 参数 Mode: LCD 模式选择 返回值 void 描述 根据硬件连接,初始化 COM 脚 备注 N/A 8 - 8 com 4 - 4 com 6.2.8 LcdSegPin_Init () 原型 void LcdSegPin_Init(void) 参数 void 返回值 void 描述 根据硬件连接,初始化 SEG 脚 备注 N/A 6.2.9 LCD_Init() 原型 void LCD_Init(void) 参数 void 返回值 void 描述 初始化 LCD 控制器 备注 N/A MCU-UM-510107-Z-11 – Page 21 其它值 - 非法 Bluemoon 评估板固件 V1.1.0 第 6 章 驱动函数 6.2.10 LCD_Disable () 原型 void LCD_Disable(void) 参数 void 返回值 void 描述 禁止 LCD 功能 备注 N/A 6.2.11 LcdDisp() 原型 void LcdDisp(void) 参数 void 返回值 void 描述 LCD 显示缓冲区的数据 备注 N/A 6.2.12 BT0ReloadTimer_Init() 原型 void BT0ReloadTimer_Init(void) 参数 void 返回值 void 描述 初始化 BT0 作为 reload timer,1ms 备注 N/A 6.2.13 BT0Timer_Halt() 原型 void BT0Timer_Halt(void) 参数 void 返回值 void 描述 停止 BT0 作为 timer 备注 N/A MCU-UM-510107-Z-11 – Page 22 Bluemoon 评估板固件 V1.1.0 第 6 章驱动函数 6.2.14 BT0Timer_Resume() 原型 void BT0Timer_Resume(void) 参数 void 返回值 void 描述 恢复 BT0 作为 timer 备注 N/A 6.2.15 Eint_Init(McuPinName, uint8_t) 原型 void Eint_Init(McuPinName WhichPin, uint8_t trigger) 参数 McuPinName:指定 MCU 引脚 Trigger: 0 - 低电平触发 1- 高电平触发 2 - 上升沿触发 3 - 下降沿触发 返回值 void 描述 初始化外部中断 备注 N/A 6.2.16 Eint_Disable(McuPinName) 原型 void Eint_Disable(McuPinName WhichPin) 参数 McuPinName:指定 MCU 引脚 返回值 void 描述 禁止指定的外部中断 备注 N/A 6.2.17 Lvd_Init() 原型 void Lvd_Init(void) 参数 void 返回值 void 描述 LVD 初始化,如果低于 4V 则产生中断 备注 N/A MCU-UM-510107-Z-11 – Page 23 Bluemoon 评估板固件 V1.1.0 第 7 章 中断函数 7 中断函数 注:更多关于 RTC 信息,请参照富士通 MCU-AN-510045-E-10.pdf。 7.1 函数列表 原型 描述 备注 void BT_IRQHandler(void) BT0 中断,1ms N/A void INT0_7_Handler(void) 外部中断 N/A void LVD_Handler(void) 低电平检测中断 N/A 7.2 函数原型 7.2.1 BT_IRQHandler() 原型 void BT_IRQHandler(void) 描述 BT0 中断,1ms 内容 BaseTimeCnt:基准值计数器,单位1ms KeyDownCnt:按键计数器,单位1ms TouchModeCnt:触摸显示计数器,单位1ms LcdBlinkCnt:LCD闪烁计数器,单位1ms LcdBlinkTimeCnt:LCD闪烁时间计数器,用于定时器 TscScanfCnt:TSC按键扫描时间计数器,单位1ms PowerSupplyCnt:判断电源电压改变的定时器 N/A 备注 7.2.2 INT07_7_Handler() 原型 void INT0_7_Handler(void) 描述 外部中断 内容 N/A 备注 用于在低功耗模式下唤醒MCU 7.2.3 LVD_Handler() 原型 void LVD_Handler(void) 描述 低电平检测中断 内容 PowerSupply: 0 - 3.3V电源 备注 N/A 1 - 5V电源 MCU-UM-510107-Z-11 – Page 24 Bluemoon 评估板固件 V1.1.0 第 8 章评估板系统 8 评估板系统 8.1 系统介绍 本示例工程用作快速的开始 MB9AA30N 系列单片机的评估板,其包括 8COM 的 LCD、进入和 退出低功耗模式及设置 RTC。它有三种不同的系统模式,正常模式、测试模式和标准 RTC 模 式(低功耗)。另外,LED 用于显示 MCU 的工作状态。 8.2 系统特性 MCU LCD 控制器驱动 RTC 设置和校准 进入和退出低功耗 机械按键和操纵杆的驱动 基于 TSC_Lib 库的 TSC 按键 用 LVD 来控制 LCD 显示参数 MCU-UM-510107-Z-11 – Page 25 Bluemoon 评估板固件 V1.1.0 第 8 章 评估板系统 8.3 系统固件设计 上电后,LCD 显示“FUJITSU”,持续 3 秒后进入正常模式并显示当前时间。按键后会进入其 它模式。 正常模式 包括显示当前时间和日期,RTC 的设置等 测试模式 包括按键后 LED 显示,进入和退出测试模式下的标准 RTC 模式 标准 RTC 模式(低功耗模式) 包括唤醒和进入功能 详细参照 MCU-UM-510106-Z-11- Bluemoon-EVB_HW 的第 6 章. 8.3.1 用户接口 J3 DC Power DB9 P1 U6 USB Power J2 LCD FSDC-FM3-A30-1-0024-01 (PCB)Bluemoon-EVB-V1.0.0 D4 Power Led J6 J7 J8 JTAG J4 J1 D2 Work Led SW1 Reset Key SW3 SW2 K1 Key TSC Key J5 图 8-1: 评估板系统的用户接口结构框图 MCU-UM-510107-Z-11 – Page 26 Joystick Bluemoon 评估板固件 V1.1.0 第 8 章评估板系统 8.3.2 系统主循环 Start SystemInit LED indicates KeyScanf TSCKeyScanf LcdDisplay Low power mode Test mode KeyScanf Normal mode Enter low power Wake up? Mode? N Exit test mode? Y Y N Low power? N Y Enter low power Wake up? N Baseline update RTC calibration time? N Y RTC calibration Power change? N Y LCD init 图 8-2: 评估板系统主循环流程图 MCU-UM-510107-Z-11 – Page 27 Y Bluemoon 评估板固件 V1.1.0 第 8 章 评估板系统 8.3.3 系统文件 本 应 用 中 主 要 包 含 15 个 文 件 : common.c , common_device.c , lcd.c , lcd_device.c , TSC_ConfigInfo.c , adc12.c , isp.c , lpcm.c , lvd.c , rtc.c , calibration.c , lcd&rtc_serve.c , main.c,system_mb9afa3x.c,startup_mb9afa3x.s main.c,包括主循环和 MCU 控制功能。 common.c & common_device.c,包括按键,操纵杆,LED 等的初始化。 lcd.c & lcd_device.c,包括 LCD 的初始化。 TSC_ConfigInfo.c,包括 TSC 的配置信号。 adc12.c,包括 ADC 的初始化。 Isp.c,包括 LVD、Timer 和外部中断。 lpcm.c,包括低功耗相关的函数。 lvd.c,包括低电压检测相关的函数。 rtc.c,包括 RTC 相关的函数。 calibration.c,包括 RTC 的校准 。 lcd&rtc_serve.c,包括系统不同的模式等。 system_mb9afa3x.c,包括 MCU 时钟初始化及更新。 startup_mb9afa3x.s,MCU 的启动代码。 MCU-UM-510107-Z-11 – Page 28 Bluemoon 评估板固件 V1.1.0 第 8 章评估板系统 8.3.4 系统文件结构 图 8-3: 示例工程文件结构 MCU-UM-510107-Z-11 – Page 29 Bluemoon 评估板固件 V1.1.0 第 9 章 更多信息 9 更多信息 关于富士通半导体更多的产品信息,请访问以下网站: 中文版:http://www.fujitsu.com/cn/fss/services/mcu/32bit/fm3/an.html 英文版:http://www.fujitsu.com/cn/fsp/services/mcu/32bit/fm3/an.html MCU-UM-510107-Z-11 – Page 30 Bluemoon 评估板固件 V1.1.0 第 10 章附录 10 附录 10.1 图表索引 表 3-1: 单片机开发环境 .......................................................................................................... 8 图 8-1: 评估板系统的用户接口结构框图................................................................................ 26 图 8-2: 评估板系统主循环流程图 .......................................................................................... 27 图 8-3: 示例工程文件结构 ..................................................................................................... 29 MCU-UM-510107-Z-11 – Page 31