




免费预览已结束,剩余38页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号 嵌入式系统设计 实训 论文 说明书 题 目 基于嵌入式基于嵌入式 ARMARM 的日历的制作的日历的制作 院 系 应用科技学院 专 业 电子信息工程 学生姓名 农惜童 学 号 0701130204 指导教师 符强 陈小毛 严素清 孙安青 桂林电子科技大学实训说明书专用纸 2011 年 01 月 19 日 桂林电子科技大学实训说明书专用纸 第 0 页 摘 要 日历在生活中经常用到 电子制作的带时钟的日历更是在生活中广泛用到 本课题是基于 ARM 芯片的日历制作 采用 LPC2138 中央控制单元 五个按键分别 用于调节和查询时间日期 设定生日等 用 LCD1602 显示 整个设计元器件少 简洁 美观 且模块化 模块化的设计和调试方法在整个课题研究过程中至关重要 事实上 在任何设计中也同样关键和有效 关键字 日历 LPC2138 按键 LCD1602 桂林电子科技大学实训说明书专用纸 第 1 页 Abstract Calendar in life are often used electronic made with clock calendar is widely used in life This topic is based on the ARM of the chip making use the calendar LPC2138 central control unit five buttons respectively used to regulate and inquires the time or date set a birthday etc With LCD1602 display The whole design components less concise and beautiful and modularization Modular design and debug method in the whole subject research process is of vital importance to in fact in any design also key and effectively Keywords Calendar LPC2138 Button LCD1602 桂林电子科技大学实训说明书专用纸 第 0 页 目 录 引言 1 1 设计任务 2 2 硬件设计 2 2 1 总体设计方案与系统构成 2 2 2 LPC2138 芯片 2 2 2 1LPC2138 管脚 2 2 2 2LPC2138 主要性能 3 2 2 3LPC2138 的应用 4 2 3 RTC 实时时钟模块 5 2 3 1RTC 特性 5 2 3 2RTC 寄存器 5 2 3 3RTC 使用注意事项 7 2 4 硬件电路图 8 2 5 硬件电路 PCB 9 3 软件设计 9 3 1 整体设计 9 3 2 初始化程序流程图 11 3 3 生日提示程序流程图 11 4 基于 ARM 日历的调试 12 4 1 硬件电路检测 12 4 2 功能调试 12 5 改进方案 12 桂林电子科技大学实训说明书专用纸 第 1 页 结论 13 谢 辞 14 参考文献 15 附 录 1 桂林电子科技大学实训说明书专用纸 第 0 页 引言 RTC 的英文全称是 Real Time Clock 翻译过来是实时时钟芯片 RTC 是 PC 主板上 的晶振及相关电路组成的时钟电路的生成脉冲 RTC 经过 8254 电路的变频产生一个频 率较低一点的 OS 系统 时钟 TSC 系统时钟每一个 cpu 周期加一 每次系统时钟在系 统初起时通过 RTC 初始化 RTC 通常情况下需要外接 32 768kHz 晶体 匹配电容 备份电源等元件 RTC 除了 I O 口的定位不同 还有功能上的区别 比如与MCU 的接口 现在常用的是 I2C 接口 距离短 可以与其他器件共用 还有RAM 的数量 静态功耗大小 中断 的数量 特别是精度的区别 RTC 的精度可以说与温度有很大的关系 而温度会影 响晶体的频率 所以就产生实时时钟的衍生产品 时钟模块 内置晶体 电容 电 池等等 其精度可保持在每天误差小于0 50 秒 但时钟模块相比时钟芯片而言 会高出许多 RTC 最重要的功能是提供到 2099 年内的日历功能 对于时间来说 无论快慢都是误差 而匹配电容在RTC 的外围器件上其他非常重要的作用 它可以 适当修正晶体与 RTC 之间匹配问题 特别是像 H1208 这样的 RTC 把匹配电容内 置 这样就可以保证 RTC 精度的一致性 不会出现有的 RTC 走得快 有些又走得 慢 它的主要作用就是提供稳定的时钟信号给后续电路用 主要功能有 时钟 清除 RTC 中断标志 ALHOUR 12 报警时间设置为 12 0 00 ALMIN 0 ALSEC 0 AMR 0 xF8 屏蔽年月日值 星期值 4 时间计数寄存器 时间值包含 8 个寄存器 见表 2 3 2 4 所示 表 2 3 2 4 时间计数寄存器 桂林电子科技大学实训说明书专用纸 第 6 页 按读时间计数寄存器方式读取 RTC 时钟程序如下所示 Struct DATE uint16 year Uint8 mon Uint8 day Uint8 dow Struct TIME uint8 hour Uint8 min Uint8 sec Void GetTime struct DATE d struct TIME t d year YEAR d mon MONTH d day DOM d hour HOUR d min MIN d sec SEC 桂林电子科技大学实训说明书专用纸 第 7 页 2 3 3RTC 使用注意事项 如果使用 RTC Vbat 必须连接到 V3 脚或一个独立的电源 外部电池 否则 Vbat 应该接地 Vss Vbat 断电时 LPC2131 2132 2138 不能保存 RTC 的状态 如果时 钟源丢失 中断或改变 RTC 也无法维持时间计数 由于 RTC 有两个可用的时钟 VPB 时钟 pclk 或来自 RTCX1 2 管脚的 32KHz 的信 号 所选择时钟的任何中断都会导致时间值的偏移 如果 RTC 初始化成这个时间 值或从 RTC 激活后运行的一段时间内出现了一个错误 它们带来的变化都将影响真实 的时钟时间 RTCX1 2 管脚的信号可随时为 RTC 提供时钟 选择 pclk 作为 RTC 时钟和进入掉电 模式会使时间的更新出现误差 而且 在系统操作过程中 重新配置 PLL VPB 定时 器或 RTC 预分频器 改变 RTC 的时间基准会使累加时间出现错误 当 RTC 时钟由 pclk 转变为 RTCX 管脚信号时也会出现累加时间误差 一旦 RTCX1 2 管脚的 32KHz 信号被选择用作 RTC 的时钟源 RTC 可完全独立工作 与 VPB 时钟 pclk 无关 因此 在要用到 RTC 且对功耗敏感的应用中 如电池供电 设备 可通过使用 RTCX1 2 管脚的信号和清除 PCONP 功率控制寄存器的 PCRTC 位来降 低功耗 见 系统控制模块 一章的 功率控制 2 4 硬件电路图 LPC2138 的外围电路及为简单 如下图所示 LCD1602 为显示电路 按键 S1 S5 为 控制电路 蜂鸣器为生日提醒电路 硬件电路图如图 2 4 所示 桂林电子科技大学实训说明书专用纸 第 8 页 图 2 4 硬件电路图 2 5 硬件电路 PCB 为了检测调试方便 在印制 PCB 的时候 将特性中的镜像给选上 这样制板时就 不用打孔 调试电路板时方便易检查 基于嵌入式 ARM 日历制作电路的 PCB 如图 2 5 所示 桂林电子科技大学实训说明书专用纸 第 9 页 图 2 5 硬件电路 PCB 3 软件设计 系统的主程序主要完成输出3路PWM信号 并由按键来控制调节 3 1 整体设计 由设计要求 可分析得出程序设计一共有以下几个模块 1 初始化程序设计 包括LCD1602屏幕显示初始化 LPC2138芯片的RTC模块初始 化 设置管脚P0口为GPIO口 设置P1 17 P1 19 P1 21 P1 23为按键输入口 2 RTC时钟提取设计 初始化后 开启RTC专用定时器 通过它的匹配功能来提取 年月日时分秒星期等时间 并送至LCD显示 3 变量控制 提取时钟后 要通过按键来调节时钟的大小 4 生日提醒 设置生日时间 生日那天 则蜂鸣器响 LCD显示birthday提醒 总体软件设计流程图如图3 1所示 扫描键盘 生日提示设置 开始 LCD 初始化 RTC 初始化 读取 RTC 时间 并发送到 LCD 显 示 设置 P0 口为 GPIO 口 S1 S2 数值 1S3 数值 1 扫描键盘 按 1 次按 2 次 按 3 次 按 4 次按 2 次 次 按 3 次按 4 次 年设置月设置日设置周设置时设置分设置秒设置 延时 桂林电子科技大学实训说明书专用纸 第 10 页 N Y 桂林电子科技大学实训说明书专用纸 第 11 页 图3 1 总程序流程图 3 2 初始化程序流程图 RTC初始化程序流程图如图3 2所示 设置基准时钟分频 设置年月日变量 YEAR int year MONTH int month DOM int day 设置时分秒变量 HOUR int hourM MIN int min SEC int sec 设置周变量 DOW int week 开启 RTC CCR 0 x01 桂林电子科技大学实训说明书专用纸 第 12 页 图3 2 RTC初始化程序流程图 3 3 生日提示程序流程图 N Y 图3 3 生日提示流程图 4 基于 ARM 日历的调试 4 1 硬件电路检测 制作好的PCB板 按照装配图或原理图进行器件装配 装配好之后进行电路的调试 调试规则为 打开电源之前 先按照系统原理图检查制作好的电路板的通断情况 并取下PCB上的集成块 然后接通电源 用万用表检查板上的各点的电源电压值 完好 之后再关掉电源 插上集成块 4 2 功能调试 设置生日日期 当前日期与生日 日期相比较 相等 蜂鸣器响 LCD 显示生日提醒 送当前日期给 LCD 显示 桂林电子科技大学实训说明书专用纸 第 13 页 将写好的程序烧到板子上 然后板子接上电源 电源显示灯亮 开始调试 PWM信号发生器按键功能如图4 2所示 图4 2PWM信号发生器按键 1 开启电源 各模块初始化 LCD屏幕显示初始化时钟2011 1 19 3 10 48 56 表示电路工作正常 上述时钟表示2011年1月19日星期三10点48分56秒 2 按下 S1 键 1 次 则等下按键修改功能作用于年变量 按 2 次为月变量 3 次 为日变量 以此类推 我们先按下 2 次 S1 键 则作用的是月变量 3 按下 S2 键 可以看到 LCD 屏显上的月变量 1 每按一次 1 4 按下 S3 键 可以看到 CD 屏显上的月变量 1 每按一次 1 按照这个方法 调试其他时钟变量 至此 基于 ARM 日历的调试完毕 5 改进方案 日历的制作简单 功能很多 若在以上我们制作的基础上 加上一些模块 还可 以实现诸多功能 1 多功能闹钟 设置方式和设置生日提醒得方式一致 2 实现对日历的查询 通过年月日 可以知道星期的查询 桂林电子科技大学实训说明书专用纸 第 14 页 结论 这次实训匆忙的结束了 由于考研的原因使得这次实训时间不够 且在制作过程 中遇到了好多困难 但总的来说 我基本按要求完成了PWM信号发生器这个设计的要求 尽管这次基本能完成了设计的要求 但我觉得我还有很多需要改进的地方 也许是时 间有限的原因 所以 以后很长一段时间 还需加强这方面的学习 在这实训中 把理论和实践相结合 我学到了许多新的知识 首先 设计电路的整个过程中 我深刻体会到电子电路的设计以及生产流程 安 装 布局 布线 焊接等 提高了理论知识与实际动手结合的能力 这让我对数字电 路和模拟电路都有了更深刻的理解 其次 这次设计 我从中了解到了各种集成电路 方面的知识 熟悉了很多以前从未接触过的芯片 对各种芯片的功能以及其可能组成 的电路都有了一部分的了解 最后 掌握了protel的应用技巧 用prolel制作电路板 的过程中 从绘制原理图到封装器件 到最后作出PCB图都遇到很多问题 在同学和老 师的指导之下我都依次解决了这些问题 设计过程 在调试电路的时候 遇到的问题最多 由于我是第一次嵌入式芯片 刚开始调试都是从电路的最前面一点一点测试工作点的电压值 以及当输入电压变化 的时候每块芯片的输入输出端应有的变化 每一部分电路都应实现自己的功能 才能 得出最终的结果 达到目标 我认为调试电路不但要熟悉基础电路知识 还要有相当 的调试经验 但电路出现问题的时候应该大胆的做尝试 在这方面我比较欠缺 我会 在以后的工作学习中尽量弥补自己的弱点 经过这次设计 我觉得自己真的学到了不少东西 同时学会了怎样查阅资料和利用工 具书 在这次设计过程中经常遇到一些不曾学过的东西 但能有针对性地查找资料 然后加以吸收利用 提高了自己的应用能力 而且还增长了自己的见识 补充了专业 知识 增强了自己的动手能力 而且还磨练了自己的耐性 收获颇多 桂林电子科技大学实训说明书专用纸 第 15 页 谢 辞 通过本次设计不仅是对我们的专业知识的检查与总结 而且是对今后学习研究的 一种的激励 在陈小毛 符强 严素青 孙安青老师的指导下和同学们的协助下 我 的设计到此已经完全结束 紧张的日子也总算告一段落 回味起来 感触颇多 在此过 程中 我遇到了许多问题 通过老师和同学的帮助以及自己查阅资料等多种途径 解 决了许多问题 也提高了自己独立思考问题 分析问题 解决问题的能力 同时也提 高了实践能力 最后我要感谢这段时间来所有帮助过我的老师 同学和朋友 是你们 让我的不断发现自己的不足并帮助我解决一个个设计上的问题 给我留下了美好的回 忆 谢谢你们 桂林电子科技大学实训说明书专用纸 第 16 页 参考文献 1 崔更申 孙安青 ARM 嵌入式系统开发与实践 M 北京 中国电力出版社 2008 2 何加铭 嵌入式 32 位微处理器系统设计与应用 M 北京 电子工业出版社 2006 3 杨宗德 嵌入式 ARM 系统原理与实例开发 M 北京 北京大学出版社 2007 4 刘天时 等 ARM7 嵌入式开发基础实验 M 北京 北京航空航天大学出版社 2007 5 张绮文 ARM 嵌入式常用模块与综合系统设计实例精讲 北京 电子工业出版社 2007 6 欧阳禹 ARM7 嵌入式系统实训教程 北京 清华大学出版社 2008 桂林电子科技大学实训说明书专用纸 第 0 页 附 录 原理图 主程序代码 include define uint8 unsigned char define uint32 unsigned long define SW 1 17 define SW 2 19 桂林电子科技大学实训说明书专用纸 第 1 页 define SW 3 21 define SW 4 23 define SW 5 25 define LCD RS 1 8 define LCD RW 1 9 define LCD E 1 10 define LCD BUSY 1 7 define Fpclk 20000000 define BELL 27 uint8 txt0 birthday uint32 datas times bak year bak month bak day year q year b year s year g month s month g day s day g uint32 bak week bak hour bak min bak sec hour s hour g min s min g sec s sec g i uint32 int year 2011 int month 1 int day 19 int week 3 int hour 10 int min 48 int sec 56 j uint8 ting flag 0 ccrflag 0 void delay uint32 n uint32 i 桂林电子科技大学实训说明书专用纸 第 2 页 for i 0 i 16 get year 桂林电子科技大学实训说明书专用纸 第 7 页 year q bak year 1000 year b bak year 1000 100 year s bak year 1000 100 10 year g bak year 1000 100 10 bak month datas 8 get month month s bak month 10 month g bak month 10 bak day datas get day day s bak day 10 day g bak day 10 bak week times 24 get week bak hour times 16 get hour hour s bak hour 10 hour g bak hour 10 bak min times 8 get minutes 桂林电子科技大学实训说明书专用纸 第 8 页 min s bak min 10 min g bak min 10 bak sec times get second sec s bak sec 10 sec g bak sec 10 名称 lcd display 功能 显示文本 void lcd display LCD write command 0 x80 1 LCD write data year q 0 x30 LCD write data year b 0 x30 LCD write data year s 0 x30 LCD write data year g 0 x30 LCD write data LCD write data month s 0 x30 LCD write data month g 0 x30 桂林电子科技大学实训说明书专用纸 第 9 页 LCD write data LCD write data day s 0 x30 LCD write data day g 0 x30 LCD write data LCD write data bak week 0 x30 LCD write data LCD write data hour s 0 x30 LCD write data hour g 0 x30 LCD write data LCD write command 0 xc0 1 LCD write data min s 0 x30 LCD write data min g 0 x30 LCD write data LCD write data sec s 0 x30 LCD write data sec g 0 x30 int main void PINSEL0 0 x00000000 PINSEL2 0 x00000000 IO0DIR 0 x000007ff IO1DIR 桂林电子科技大学实训说明书专用纸 第 10 页 IO1DIR IO1DIR IO1DIR IO1DIR IO1SET 1 SW 1 IO1SET 1 SW 2 IO1SET 1 SW 3 IO1SET 1 SW 4 IO1SET 1 SW 5 IO1DIR 1 BELL IO1CLR 1 BELL LCD init RTCInit while 1 if bak month 2 i 10 i IO1SET 1 BELL for j 0 j 60000 j IO1CLR 1 BELL LCD disp string 6 1 txt0 桂林电子科技大学实训说明书专用纸 第 11 页 LCD write command 0 x01 1 if IO1PIN j 10000 j if IO1PIN if ting flag 7 ting flag 0 while IO1PIN if IO1PIN j 10000 j if IO1PIN CCR 0X00 else ccrflag 0 桂林电子科技大学实训说明书专用纸 第 12 页 CCR 0X01 while IO1PIN if ting flag 0 if IO1PIN j 10000 j if IO1PIN YEAR int year while IO1PIN if IO1PIN j 10000 j if IO1PIN YEAR int year 桂林电子科技大学实训
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 17811-2025动物源性蛋白质饲料胃蛋白酶消化率的测定过滤法
- 2025年安全生产法规机关测试题集
- 2025年文化艺术行业财务岗位面试预测题及解析
- 2025年村级儿童之家保洁员招聘面试常见问题及参考答案
- 劳动合同协议范本示例
- 2025年安全员安全知识考核题解
- 2025年汽车销售顾问销售技巧测评试题及答案解析
- 2025年农业技术推广员专业知识能力测评试卷及答案解析
- 2025年景观生态规划师资格考试试题及答案解析
- 2025年职业安全卫生培训题与答案解析
- 衡水志臻小升初数学真题试卷
- 水利水电工程教学课件
- 宠物拍摄技巧培训课件
- 2025年人教版七年级英语下册期末复习:阅读理解30篇(带参考答案详解)
- 2025年专业技术人员继续教育公需科目考试题及答案
- 加油站全员安全生产责任制制度
- 磁粉检测培训课件
- 园区招聘活动方案
- 罐式专用运输管理制度
- 2025届上海市金山区高三下学期二模英语试题(解析版)
- 【生物 安徽版】2025年普通高等学校招生选择性考试(原卷版)
评论
0/150
提交评论