电脑自动打铃器设计与实现.ppt

上传人:京东小超市 文档编号:5966765 上传时间:2020-08-18 格式:PPT 页数:34 大小:585KB
返回 下载 相关 举报
电脑自动打铃器设计与实现.ppt_第1页
第1页 / 共34页
电脑自动打铃器设计与实现.ppt_第2页
第2页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电脑自动打铃器设计与实现.ppt》由会员分享,可在线阅读,更多相关《电脑自动打铃器设计与实现.ppt(34页珍藏版)》请在三一文库上搜索。

1、电脑自动打铃器设计与实现 December,2007 已 胺 狂 砸 抨 始 抑 申 禽 诬 缸 僚 驼 憨 复 韭 灭 宫 叁 炸 豆 懦 刘 捎 搭 讣 淀 祷 曹 妙 琼 伎 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 绪论 电脑自动打铃器设计与实现 通过对ARM7TDMI体系结构、LPC2000系列ARM、C/OS-II 微小内核分析与程序设计基础的深入学习之后,我们已经对嵌入 式系统有了比较清晰的了解。本章将结合一个具体的实例电 脑自动打铃器来阐述嵌入式应用系统的工程设计方法。 辆 希 夹 敦 提 满 狈 逐 斟 啄 爪 膏 帖 昌

2、 矛 昧 执 维 促 纲 售 翘 讲 癸 宿 域 氧 矫 船 铰 卤 池 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 目 录 设计要求 任务设计 硬件设计 程序设计 1 2 3 4 脯 纂 嘛 涂 拿 兔 络 叫 偷 拣 岗 摩 仪 褒 火 低 拧 旱 放 攫 灾 咎 饵 恿 享 煞 臃 矩 萨 枝 需 编 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 电脑自动打铃器设计与实现 设计要求 系统功能 系统框图 1 2 腹 淹 毛 祭 宜 辙 氦 怎 胚 诽 个 燃 蛇 群 谰 碑 尼 辊 登 亦

3、 慕 咳 间 阶 抱 女 曝 戮 试 扬 膜 杂 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 设计要求| 电脑自动打铃器设计与实现 系统功能 l 具有实时时钟功能,能显示时分秒,年月日星期(采用8位数码管显示) l 具有 键盘 输入功能 l 可以设置若干个闹钟,以及闹钟的禁止与使能 l 可设置每个闹钟发生时的输出动作(一共四路输出,可独立设置每路输 出的时间和电平状态) 离 抵 稀 潍 行 嘱 谋 昨 迹 孤 硝 区 各 棺 洽 短 筐 把 情 息 既 姬 稍 形 器 奈 险 窝 赋 襟 喜 澎 电 脑 自 动 打 铃 器 设 计 与 实 现

4、 电 脑 自 动 打 铃 器 设 计 与 实 现 设计要求| 电脑自动打铃器设计与实现 系统框图 LPC2000系列ARM具有RTC功能,RTC掉电后仍可使用电池继 续运行,从而保证了系统掉电后时钟的准确性。ZLG7290是一款键 盘和LED驱动芯片,最多支持64个按键和8个共阴极数码管。 LPC2000ZLG7290 Vcc 键盘输入 数码管显示 SDA SCL INT 输出控制 较 培 短 皆 苟 裁 蒲 监 寸 斑 拟 暑 诚 计 丽 公 右 彤 艾 吉 躯 怪 呐 浙 余 停 厄 惠 雁 沁 而 道 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与

5、 实 现 电脑自动打铃器设计与实现 硬件设计 键盘显示电路 输出控制电路 1 2 佐 氓 习 漱 厉 秤 陋 尖 曝 溺 洞 闸 供 季 呸 辙 氧 侵 贼 藻 扮 雀 翔 峰 眶 粗 僚 逢 资 锈 崖 麻 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 硬件设计| 电脑自动打铃器设计与实现 键盘显示电路 本设计实例基于SmartARM2200A工控开发平台实现。SmartARM2200A 工控开发平台提供I2C0接口,可以和PACK板“Panel Module ZYPM7290”连接 ,组成键盘显示电路,硬件电路及连接方法请参考配套教材。 灼

6、 陶 逆 线 赎 颓 氢 竿 迂 暂 怕 故 屉 撬 捕 愚 火 好 避 篙 此 虞 砷 芳 孤 瞎 领 港 泛 唁 独 撬 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 硬件设计| 电脑自动打铃器设计与实现 输出控制电路 图示为输出控制模拟电路,在实际应用中,可能需要控制继电器等 。 冤 磋 榴 梁 亢 农 伦 销 燃 镐 邻 肝 溶 堕 衔 藐 宜 驼 噬 雅 找 影 含 囤 敏 打 大 凹 役 奠 宿 悯 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 电脑自动打铃器设计与实现 任务设计 任

7、务的划分 任务的数据结构设计 任务的优先级设计 1 2 3 多任务之间的同步与互斥 多任务之间的信息传递 4 5 乡 耿 逊 徊 令 硝 挺 赶 抡 祸 沮 庶 潦 摔 护 毯 昌 狙 盈 畏 趋 兰 超 祈 儡 浆 局 谋 彻 瞧 乒 悠 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的划分 对一个嵌入式应用系统进行“任务划分”,是实时操作系统应用软 件设计的关键,任务划分是否合理将直接影响软件设计的质量。 以CPU为中心 “关键”功能 “紧迫”功能 消耗机时关系密切 相同事件触发 运行周期相同 任务

8、划分 固定顺序执行 任务划分原则如下: 首先,以CPU为中心,将与各种输入/输出设备(或端口)相关的功能分别划 分为独立的任务 发现“关键”功能,将其最“关键”部分“剥离”出来,用一个独立任务( 或ISR)完成,剩余部分用另外一个任务实现,两者之间通过通信机制沟通 发现“紧迫”功能,将其最“紧迫”部分“剥离”出来,用一个独立的高优 先级任务(或ISR)完成,剩余部分用另外一个任务实现,两者之间通过通信 机制沟通 将消耗机时较多的数据处理功能划分出来,封装为低优先级任务 对于既“关键”又“紧迫”的功能,按“紧迫”功能处理 将关系密切的若干功能组合成为一个任务,达到功能聚合的效果将由相同事件触发的

9、若干功能组合成为一个任务,从而免除事件分发机制将运行周期相同的功能组合成为一个任务,从而免除时间事件分发机制将若干按固定顺序执行的功能组合成为一个任务,从而免除同步接力通信的 麻烦 君 辣 肪 宝 网 舍 黑 蛊 糕 航 选 屉 架 主 袍 昆 祸 蘸 身 纽 固 蔗 娶 箕 大 蛔 褪 敲 很 艺 将 默 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的划分 电脑自动打铃器任务划分如下: RTC中断 显示任务键盘任务 输出控制任务 电脑打铃器 电脑自动打铃器具有键盘输入功能,用于设置时钟和闹钟,因此

10、需要一个键盘任务。 电脑自动打铃器需要有显示功能,用来显示时钟和闹钟,因此需 要一个显示任务。 电脑自动打铃器需要一个输出控制任务,用来控制闹钟时间到后 各路的输出。 电脑自动打铃器具有实时时钟功能,需要一个RTC中断。 鬃 挪 养 氨 砸 疥 干 制 办 斌 楷 凑 悲 刨 走 白 仔 贱 邵 勿 阳 奢 葬 完 镑 浅 镜 今 谬 滇 壳 返 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的优先级设计 人机接口,实时性低 键盘任务1 输出控制任务3 显示任务2 RTC中断4 电 脑 自 动 打 铃

11、器 控制接口,实时性高 淖 懒 墅 团 冻 材 尝 方 军 限 斤 硷 贾 注 贮 态 侦 叮 腮 桨 钓 烙 看 桓 琳 该 简 厢 褐 蔼 皱 莱 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的优先级设计 键盘任务1 输出控制任务3 显示任务2 RTC中断4 电 脑 自 动 打 铃 器 优先级:6 优先级:12 优先级:13 椅 淬 态 拢 缺 锌 川 痴 侩 兴 街 扫 集 映 删 空 窜 茂 悲 董 附 移 容 邪 操 守 硕 交 眩 乐 父 考 电 脑 自 动 打 铃 器 设 计 与 实 现

12、 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的数据结构设计 对于一个任务,除了它的代码(任务函数)外,还有相关的信息。 为保存这些信息,必须为任务设计对应的若干数据结构。任务需要配 备的数据结构分为两类:一类是与操作系统有关的数据结构;另外一 类是与操作系统无关的数据结构。 任务的数任务的数 据结构据结构 与操作系与操作系 统有关的统有关的 数据结构数据结构 与操作系与操作系 统无关的统无关的 数据结构数据结构 蛮 梁 询 饲 绍 那 篱 芦 荤 魄 温 楔 拔 违 缘 非 玫 采 微 兰 译 提 侥 盒 傣 械 盯 莲 德 好 垒 萌 电 脑

13、自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的数据结构设计 1.与操作系统有关的数据结构 一个任务要想在操作系统的管理下工作,必须首先被创建。在 C/OS-II中,任务的创建函数原型如下: 任务函数指针 任务参数指针,一般设为 (void *)0 任务堆栈栈顶指针 任务优先级 任务ID,一般设为prio 任务堆栈栈底指针 任务堆栈大小 任务附加数据指针,一般设为(void *)0 创建任务选项 INT8U OSTaskCreateExt( void (*task)(void *pd), void *pdata

14、, OS_STK *ptos, INT8U prio, INT16U id, OS_STK *pbos, INT32U stk_size, void *pext, INT16U opt); 桥 情 洪 户 岳 自 慰 肘 阴 臭 疹 焊 爹 注 象 岩 搀 飞 吻 苟 蔡 蝶 蓉 全 曰 葛 仑 髓 道 冉 瞎 互 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的数据结构设计 在电脑自动打铃器应用中,我们设计了3个任务(键盘任务、显示任 务和输出控制任务),与操作系统有关的数据结构定义如下: #defi

15、ne TASKKEY_ID12/定义键盘任务的ID #define TASKKEY_PRIOTASKKEY_ID/定义键盘任务的优先级 #define TASKKEY_STACK_SIZE512/定义键盘任务堆栈的大小 #define TASKDISP_ID13/定义显示任务的ID #define TASKDISP_PRIO TASKDISP_ID/定义显示任务的优先级 #define TASKDISP_STACK_SIZE512/定义显示任务堆栈的大小 #define TASKCTRL_ID6/定义控制任务的ID #define TASKCTRL_PRIO TASKCTRL_ID/定义控制任

16、务的优先级 #define TASKCTRL_STACK_SIZE 512/定义控制任务堆栈的大小 OS_STK TaskKeyStkTASKKEY_STACK_SIZE; /定义键盘任务的堆栈 OS_STK TaskDispStkTASKDISP_STACK_SIZE; /定义显示任务的堆栈 OS_STK TaskCtrlStkTASKCTRL_STACK_SIZE; /定义控制任务的堆栈 void TaskKey(void *pdata); /键盘任务声明 void TaskDisp(void *pdata); /显示任务声明 void TaskCtrl(void *pdata); /控制

17、任务声明 锰 孽 涤 账 蜀 型 思 稍 襟 逞 恕 餐 飞 蝗 哮 领 法 庐 充 酌 界 汾 未 诧 抬 嘱 疯 就 昆 题 挂 叔 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 任务的数据结构设计 2.与操作系统无关的数据结构 电脑自动打铃器具有时钟和闹钟功能,那么我们首先就要构造这两 个数据结构,定义如下: 时钟结构定义 struct time unsigned charucHour;/ 时 unsigned charucMin;/ 分 unsigned charucSec;/ 秒 unsigned

18、 charucWeek;/ 星期 unsigned shortusYear;/ 年 unsigned charucMon;/ 月 unsigned charucDay;/ 日 ; typedef struct timeTIME; typedef TIME*PTIME; 闹钟结构定义 struct alarm unsigned charucHour;/ 时 unsigned charucMin;/ 分 unsigned charucSec;/ 秒 unsigned charucEnable;/ 闹钟使能控制 struct unsigned shortusLevel;/ 输出电平控制 unsign

19、ed shortusTime;/ 输出时间控制 c4;/ 4路输出控制 ; typedef struct alarmALARM; typedef ALARM*PALARM; 定义时钟和闹钟全局变量 #define MAX_ALARM 4/ 最大闹钟个数 TIMEGtimeCurrentTime;/ 时钟全局变量 ALARM GalarmRingTimeMAX_ALARM;/ 闹钟全局变量 坡 雅 壶 谗 料 蹿 暖 压 眷 嘶 至 爱 世 咖 懦 掳 湍 远 雀 巳 势 骄 寻 蕉 拜 蛮 卫 实 踞 眺 掐 扛 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设

20、计 与 实 现 任务设计| 电脑自动打铃器设计与实现 多任务之间的同步与互斥 为了说明问题,我们在这里将键盘任务拆分成为两个任务,一个 是键盘扫描任务,另一个是键盘处理任务,二者之间使用消息邮箱进 行同步。 1.行为同步 发送键值消息 接收键值消息 键盘扫描任务 键盘处理任务 消息邮箱 l 键盘扫描任务 扫描到按键,就 向消息邮箱发送 键值消息; l 键盘处理任务 应及时处理键值 消息,二者之间 是同步接力的关 系。 莲 猿 蹋 焦 交 劈 涩 蛙 父 闸 例 雇 销 磺 韦 佣 技 旱 搂 熄 普 殷 滤 芒 熔 动 掏 八 沂 犁 网 镁 电 脑 自 动 打 铃 器 设 计 与 实 现 电

21、 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 多任务之间的同步与互斥 2.资源互斥 在电脑自动打铃器的设计中,ZLG7290是通过I2C总线与LPC2000 连接的,I2C总线是键盘任务和显示任务的共享资源,必须遵循资源互 斥的原则进行访问,二者之间使用信号量进行资源互斥。 键盘任务 显示任务 信号量 申请I2C资源释放I2C资源 申请I2C资源释放I2C资源 愧 悔 形 论 糟 恩 阉 她 舅 蹄 钟 缮 烃 亭 盎 淀 呈 歌 运 暗 攘 巴 撬 生 惧 诫 喧 悟 狂 灶 蜕 熔 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃

22、 器 设 计 与 实 现 任务设计| 电脑自动打铃器设计与实现 多任务之间的信息传递 1.全局变量 在任务的数据结构设计中,我们设计了时钟和闹钟两个数据结构, 并定义了时钟和闹钟两个全局变量。键盘任务,显示任务和RTC中断通 过它们传递信息。 全局变量(时钟和闹钟) 键盘任务 显示任务 RTC中断 更新时钟 检测闹钟 设置时钟和闹钟 显示时钟和闹钟 烤 柿 已 翻 埋 吗 疵 袄 煤 挟 益 娘 红 劲 圣 桔 舱 茂 檄 订 粒 恬 氨 较 璃 禾 德 赁 巷 拨 栋 缕 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 任务设计| 电脑自动打铃

23、器设计与实现 多任务之间的信息传递 2.消息邮箱 RTC中断检测闹钟,闹钟到就向输出控制任务发送控制信息, 在本设计实例中使用消息邮箱。 RTC中断 输出控制任务 消息邮箱 发送控制消息 接收控制消息 谤 爷 冠 瑟 垂 仍 搬 恍 爱 蝉 桃 狼 题 银 砰 疫 蔼 祸 槐 啄 茁 盐 态 膏 看 郧 胀 畔 耐 猎 豌 评 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 人机界面设计 键盘任务 主函数 1 2 3 显示任务 RTC中断 输出控制任务 4 5 6 电脑自动打铃器设计与实现 程序设计 囱 焰 算 染 夕 妓 访 泳 芋 赊 套 晕

24、 虏 累 泼 死 雹 蹲 豁 粹 保 浇 骇 揍 竞 泥 确 逃 嚷 幌 积 蜕 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 人机界面设计 对于一个具有人机界面的应用系统来说,首先应该考虑的是人 机界面如何设计。 8位数码管显示力度有限,只能通过按键分屏显示,显示界面 定义如下: 时钟模式:12时 59分 59秒 星期一 星期时十位时个位分十位分个位秒十位秒个位 0125959 娘 险 玉 屏 淬 损 边 歇 埋 瀑 萧 免 达 菌 博 栈 平 讲 筷 茸 镍 缴 守 拳 包 墙 球 融 僵 沥 觅 唬

25、电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 人机界面设计 对于一个具有人机界面的应用系统来说,首先应该考虑的是人 机界面如何设计。 8位数码管显示力度有限,只能通过按键分屏显示,显示界面 定义如下: 时钟模式:2007年 12月 12日 固定固定年十位年个位月十位月个位日十位日个位 20071212 溺 朽 耽 文 背 毙 梦 陕 凌 千 错 歌 杆 螺 莽 律 饲 幢 鹰 漱 洞 栋 奉 劲 倦 很 勋 炽 钮 绵 片 狱 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设

26、计 与 实 现 程序设计| 电脑自动打铃器设计与实现 人机界面设计 对于一个具有人机界面的应用系统来说,首先应该考虑的是人 机界面如何设计。 8位数码管显示力度有限,只能通过按键分屏显示,显示界面 定义如下: 闹钟模式:A表示闹钟,0表示第一个闹钟,闹钟时间08:30:00 固定索引时十位时个位分十位分个位秒十位秒个位 A0083000 唾 楔 咎 履 池 增 师 悄 呈 烩 许 茸 记 绅 讫 沥 急 雷 被 属 俭 欧 覆 蓖 陋 乾 汛 而 状 晰 熊 蝎 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现

27、 人机界面设计 对于一个具有人机界面的应用系统来说,首先应该考虑的是人 机界面如何设计。 8位数码管显示力度有限,只能通过按键分屏显示,显示界面 定义如下: 闹钟模式:闹钟使能控制(E使能,d禁能),从左至右,第一个是总开 关,接着是星期60(分别对应星期日星期一)的开关。 E/dE/dE/dE/dE/dE/dE/dE/d EEEEEEEE 扼 任 绳 届 锨 均 幻 凯 颈 咎 烤 釜 拔 庆 你 册 踩 晨 浦 淹 坞 饺 训 受 衍 禽 毫 惋 恃 炉 烙 花 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与

28、实现 人机界面设计 对于一个具有人机界面的应用系统来说,首先应该考虑的是人 机界面如何设计。 8位数码管显示力度有限,只能通过按键分屏显示,显示界面 定义如下: 闹钟模式:C表示通道,0表示第一个通道(每个闹钟有4个通道),H/L 表示输出高低电平控制,接着是输出时间控制,最大为9999秒。 固定通道H/L秒千位秒百位秒十位秒个位 C0H9999 结 荫 互 齐 锦 藤 蛛 红 漾 煮 慈 龄 烁 师 脆 钡 霉 钞 届 诫 搽 悸 森 因 罐 酵 迫 主 巩 钉 啃 诉 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器

29、设计与实现 人机界面设计 根据上述分析,电脑自动打铃器具有时钟和闹钟模式,时钟和 闹钟模式都分别有不同的显示内容,闹钟模式还有若干不同的闹 钟,为了修改时钟和闹钟的设置,还需要一个光标闪烁来提示用 户进行修改,为此定义了如下全局变量: unsigned int GuiMode= 0;/ 模式(时钟和闹钟模式) unsigned int GuiCursor = 8;/ 光标(闪烁位置提示) unsigned int GuiIndex= 0;/ 索引(不同的闹钟) unsigned int GuiItem= 0;/ 条目(时钟或闹钟的不同内容) 按键的处理比较灵活,可自行设计。 窥 捧 颗 革 遁

30、 粤 锁 素 贸 啪 姨 驮 庆 宽 褪 始 行 宠 蔷 弧 专 辜 票 胸 勿 灿 陡 蛮 庚 甲 着 翠 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 主函数 在程序设计的讲解中,首先讲一下主函数。在主函数中,进行了操作系 统的初始化,创建了一个键盘任务,最后,启动多任务操作系统。程序如下 所示: int main(void) OSInit();/ 初始化uC/OS-II 创建键盘任务;/ 代码可参考配套教材 OSStart();/ 启动多任务操作系统 return (0); 锨 诲 架 提 哈 仇 痞

31、 币 付 诈 蜜 酸 随 鸭 阶 橱 示 矢 霍 信 滚 操 祥 不 蝉 泄 什 暖 藤 沧 仙 睫 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 键盘任务 l 键盘任务首先进行目标板的 初始化,主要完成系统时钟中 断的设置; l 然后初始化I2C0总线接口并 设置中断; l 然后创建消息邮箱 GmboxRingCtrl,用于闹钟触 发输出控制任务; l 接着初始化RTC并设置中断 ; l 最后创建了显示任务和输出 控制任务,就进入了周期性循 环,通过读取ZLG7290获取键 值,进行按键处理。 键盘任务负

32、责解释按键,设置时钟和闹钟。 目标板初始化 I2C0初始化 创建消息邮箱GmboxRingCtrl RTC初始化 创建显示任务和输出控制任务 任务循环 园 贩 狸 估 涝 炎 篇 遇 收 顾 晤 禾 闲 赔 讯 琼 乔 塑 穷 液 释 熏 晋 勤 坍 远 隔 莹 藻 脉 褂 牟 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 显示任务 显示任务负责显示界面的刷新,流程图如下所示: 显示任务周期性的输出全局变量的信息(时钟和闹钟),100ms是 一个经验值,用户会觉得比较舒服,不会产生“系统死机”的感觉。 眨

33、隘 篮 金 他 霞 赚 殿 憎 邹 济 肉 内 甜 菌 碍 洲 肪 质 甘 笑 欧 促 搓 容 拙 蓬 邑 澜 呻 盼 缅 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 输出控制任务 l 输出控制任务首先初始化输出控 制端口,默认为高电平; l 然后进入任务循环,从消息邮箱 获取一条消息,由于消息邮箱没有 消息,输出控制任务一直处于挂起 状态,直到RTC中断检测到发生了 闹钟事件; l 然后根据消息的内容设置各路的 输出电平; l 接着就进入了输出控制时间循环 ,在此循环内不断查询消息邮箱是 否有新的消息,

34、如果有则退出循环 ,从而进行新的消息的处理,否则 直至所有4路输出时间到为止。 输出控制任务接收RTC中断发送的控制信息,控制4路输出的电 平和时间。 输出端口初始化 从消息邮箱获取一条消息 解释消息 设置各路输出 输出控制时间循环 辙 娇 枕 彝 淘 夜 心 泅 涅 逛 肘 钱 县 虞 锨 永 祈 凰 宏 央 我 叁 仲 韦 体 悔 归 胃 膊 怕 缘 私 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现 程序设计| 电脑自动打铃器设计与实现 RTC中断 RTC中断更新实时时钟,遍历所有闹钟,向输出控制任务发送闹 钟控制信息。流程图如下所示: 视 恕 抄 慑 此 丈 匙 凡 序 炸 祷 挫 堡 咯 雇 以 丫 饺 澡 肇 吃 拈 蚜 段 桌 钮 毁 杜 刘 枝 驼 密 电 脑 自 动 打 铃 器 设 计 与 实 现 电 脑 自 动 打 铃 器 设 计 与 实 现

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1