首页 基于ARM嵌入式的日历制作论文

基于ARM嵌入式的日历制作论文

举报
开通vip

基于ARM嵌入式的日历制作论文基于ARM嵌入式的日历制作论文 编号: 嵌入式系统设计 实训 (论文)说明书 题 目: 基于嵌入式ARM的日历的制作 院 (系): 应用科技学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2011 年 01月 19 日 桂林电子科技大学实训说明书专用纸 摘 要 日历在生活中经常用到,电子制作的带时钟的日历更是在生活中广泛用到。 本课题是基于ARM芯片的日历制作,采用LPC2138中央控制单元,五个按键分别用于调节和查询时间日期,设定生日等。用LCD1602显示。整个设计元器件...

基于ARM嵌入式的日历制作论文
基于ARM嵌入式的日历制作 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 编号: 嵌入式系统设计 实训 (论文)说明书 题 目: 基于嵌入式ARM的日历的制作 院 (系): 应用科技学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2011 年 01月 19 日 桂林电子科技大学实训说明书专用纸 摘 要 日历在生活中经常用到,电子制作的带时钟的日历更是在生活中广泛用到。 本课题是基于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 第2页 桂林电子科技大学实训说明书专用纸 目 录 引言 ......................................................................................................................................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 改进 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 .................................................................................................................... 12 结论 .................................................................................................................................... 13 谢 辞 ............................................................................................................................... 14 参考文献 ........................................................................................................................... 15 附 录 ............................................................................................................... 1 第1页 桂林电子科技大学实训说明书专用纸 引言 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走得快,有些又走得慢。 它的主要作用就是提供稳定的时钟信号给后续电路用。主要功能有:时钟&日历,闹钟,周期性中断输出,32KHz时钟输出。 第1页 桂林电子科技大学实训说明书专用纸 1 设计任务 (1)实现公历、星期、周次。 (2)生日提示音。 (3)日期查询。 2 硬件设计 2.1 总体设计方案与系统构成 本次实训课题——基于嵌入式ARM的日历的制作。软件程序从下载口接入LPC2138嵌入式芯片,通过调用LPC2138中的RTC实时时钟模块来实现日历功能,外部接个D/A转换电路,实现生日提示音的功能。外加5个按键,分别控制日期时间的调整,和生日的设定。电路系统构成框图如图2.1所示。 图2.1电路系统构成 2.2 LPC2138芯片 本系统主要由嵌入式ARM芯片LPC2138的RTC主控模块、LCD1602显示模块以及按键控制模块构成。 原理图见附录1 2.2.1LPC2138管脚 管脚图如图2.2.1所示 第2页 桂林电子科技大学实训说明书专用纸 图2.2.1LPC2138管脚图 2.2.2LPC2138主要性能 (1)小型LQFP64封装的16/32位ARM7TDMI-S微控制器。 (2)8/16/32kB片内静态RAM。 (3)片内Boot装载软件实现在系统/在应用中编程(ISP/IAP) 。扇区擦除或整片擦除的时间为400ms,1ms可编程256字节。 (4)EmbeddedICE?RT 和嵌入式跟踪接口可实时调试(利用片内 RealMonitor 软件)和高速跟踪执行代码。 第3页 桂林电子科技大学实训说明书专用纸 (5)1个(LPC2132/2132)或 2 个(LPC2138)8 路 10 位 A/D 转换器共包含 16 个模拟输入,每个通道的转换时间低至2.44us。 (6)1个10位D/A转换器,可提供不同的模拟输出(LPC2132/2138) 。 2个32位定时器/计数器(带4路捕获和4路比较通道) 、PWM单元(6路输出)(7) 和看门狗。 (8)实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。 (9)多个串行接口,包括2个16C550工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 UART、2个高速I2C接口(400 kbit/s) 、SPITM 和SSP(具有缓冲功能,数据长度可变) 。 (10)向量中断控制器。可配置优先级和向量地址。 (11)多达47个5V的通用I/O口(LQFP64封装) 。 9个边沿或电平触发的外部中断引脚。 (12) (13)通过片内PLL可实现最大为60MHz 的 CPU操作频率,PLL的稳定时间为100us。 (14)片内晶振频率范围:1~30 MHz。 (15)2个低功耗模式:空闲和掉电。 (16)可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。 (17)通过外部中断将处理器从掉电模式中唤醒。 (18)单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路:,CPU操作电压范围:3.0~3.6 V (3.3 V+/, 10%),I/O口可承受5V的最大电压。 2.2.3LPC2138的应用 (1)工业控制 (2)医疗系统 (3)访问控制 (4)POS机 (5)通信网关 (6)嵌入式软moderm 第4页 桂林电子科技大学实训说明书专用纸 (7)一般性应用 2.3 RTC实时时钟模块 实时时钟(RTC)提供一套计数器在系统上电和关闭操作时对时间进行测量。RTC 消耗的功率非常低。LPC2138的RTC时钟可由独立的32.768kHz振荡器或基于VPB 时钟的可编程预分频器来提供。 另外,RTC还具有专用的电源管脚Vbat,可连接到电池或其它器件使用的相同的3.3V电压上 2.3.1RTC特性 (1)测量保持日历或时钟的时间通路 (2)超低功耗设计,支持电池供电系统 提供秒、分、小时、日、月、年和星期 (3) (4)指定的32kHz振荡器或可编程VPB时钟预分频器 (5)专用电源管脚可与电池或3.3V的电压相连 2.3.2RTC寄存器 1.时钟节拍计数器CTC 时钟节拍计数器CTC是用于尝试秒的时钟节拍计数,这是一个只读寄存器,但它可以通过时钟控制寄存器(CCR)复位为0,如图2.3.2(1)所示。 图2.3.2(1)RTC计数部分原理示意图 2.时钟控制寄存器CCR 时钟控制寄存器CCR是一个4位寄存器,它用于控制时钟分频电路的操作,包括启 第5页 桂林电子科技大学实训说明书专用纸 动RTC和复位时钟节计数器琴CTC等。操作示例如下: CCR=0x01; //启动RTC 3.报警寄存器 报警寄存器如表2.3.2(3)所示,这些寄存器的值与时间计数器相比较,如果所有 未屏蔽的报警寄存器都与它们相对应的时间计数器相匹配,那么将产生一次中断。像中断位置寄存器的bit1写入1清除中断。 表2.3.2(3)报警寄存器 定时报警设置示例程序如下所示: ILR=0x03; //清除RTC中断标志 ALHOUR=12; //报警时间设置为12::0:00 ALMIN=0; // ALSEC=0; // AMR=0xF8; //屏蔽年月日值,星期值 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 } 2.3.3RTC使用注意事项 如果使用 RTC,Vbat必须连接到 V3 脚或一个独立的电源(外部电池) 。否则, Vbat应该接地(Vss)。Vbat断电时LPC2131/2132/2138不能保存RTC的状态,如果时钟 源丢失、中断或改变,RTC也无法维持时间计数。 由于RTC有两个可用的时钟(VPB时钟(pclk)或来自RTCX1-2管脚的32KHz 的信 第7页 桂林电子科技大学实训说明书专用纸 号) ,所选择时钟的任何中断都会导致时间值的偏移。如果 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所示: 图2.4 硬件电路图 第8页 桂林电子科技大学实训说明书专用纸 2.5 硬件电路PCB 为了检测调试方便,在印制PCB的时候,将特性中的镜像给选上,这样制板时就不用打孔,调试电路板时方便易检查。 基于嵌入式ARM日历制作电路的PCB如图2.5所示: 图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)变量控制,提取时钟后,要通过按键来调节时钟的大小。 第9页 桂林电子科技大学实训说明书专用纸 (4)生日提醒,设置生日时间,生日那天,则蜂鸣器响,LCD显示birthday提醒。 总体软件设计流程图如图3.1所示。 开始 LCD初始化 RTC初始化 设置P0口为GPIO 口 读取RTC时间,并 发送到LCD显示 生日提示设置 扫描键盘 延时 N S1, Y 按1次 按2次 按3次 按4次 按3次 按4次 按2次 次 年设置 月设置 日设置 周设置 时设置 分设置 秒设置 扫描键盘 S2,数值+1 S3,数值-1 图3.1 总程序流程图 第10页 桂林电子科技大学实训说明书专用纸 3.2 初始化程序流程图 RTC初始化程序流程图如图3.2所示: 设置基准时钟分频 设置年月日变量 YEAR = int_year MONTH int_month DOM = int_day 设置周变量 DOW = int_week 设置时分秒变量 HOUR=int_hourM MIN = int_min SEC= int_sec 开启RTC CCR = 0x01 图3.2 RTC初始化程序流程图 3.3 生日提示程序流程图 设置生日日期 当前日期与生日 日期相比较 N 送当前日期给相等 LCD显示 Y 蜂鸣器响,LCD 显示生日提醒 图3.3 生日提示流程图 第11页 桂林电子科技大学实训说明书专用纸 4 基于ARM日历的调试 4.1 硬件电路检测 制作好的PCB板,按照装配图或原理图进行器件装配,装配好之后进行电路的调试。 调试规则为:打开电源之前,先按照系统原理图检查制作好的电路板的通断情况,并取下PCB上的集成块,然后接通电源,用万用表检查板上的各点的电源电压值,完好之后再关掉电源,插上集成块。 4.2 功能调试 将写好的程序烧到板子上。然后板子接上电源,电源显示灯亮,开始调试。 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.实现对日历的查询,通过年月日,可以知道星期的查询。 第12页 桂林电子科技大学实训说明书专用纸 结论 这次实训匆忙的结束了。由于考研的原因使得这次实训时间不够,且在制作过程中遇到了好多困难,但总的来说,我基本按要求完成了PWM信号发生器这个设计的要求。尽管这次基本能完成了设计的要求,但我觉得我还有很多需要改进的地方,也许是时间有限的原因,所以,以后很长一段时间,还需加强这方面的学习。 在这实训中,把理论和实践相结合,我学到了许多新的知识。 首先,设计电路的整个过程中,我深刻 体会 针灸治疗溃疡性结肠炎昆山之路icu常用仪器的管理名人广告失败案例两会精神体会 到电子电路的设计以及生产流程、安装、布局、布线、焊接等。提高了理论知识与实际动手结合的能力,这让我对数字电路和模拟电路都有了更深刻的理解。其次,这次设计,我从中了解到了各种集成电路方面的知识,熟悉了很多以前从未接触过的芯片,对各种芯片的功能以及其可能组成的电路都有了一部分的了解。最后,掌握了protel的应用技巧,用prolel制作电路板的过程中,从绘制原理图到封装器件,到最后作出PCB图都遇到很多问题,在同学和老师的指导之下我都依次解决了这些问题。 设计过程,在调试电路的时候,遇到的问题最多,由于我是第一次嵌入式芯片,刚开始调试都是从电路的最前面一点一点测试工作点的电压值,以及当输入电压变化的时候每块芯片的输入输出端应有的变化,每一部分电路都应实现自己的功能,才能得出最终的结果,达到目标。我认为调试电路不但要熟悉基础电路知识,还要有相当的调试经验,但电路出现问题的时候应该大胆的做尝试,在这方面我比较欠缺,我会在以后的工作学习中尽量弥补自己的弱点。 经过这次设计,我觉得自己真的学到了不少东西。同时学会了怎样查阅资料和利用工具书。在这次设计过程中经常遇到一些不曾学过的东西,但能有针对性地查找资料,然后加以吸收利用,提高了自己的应用能力,而且还增长了自己的见识,补充了专业知识, 增强了自己的动手能力,而且还磨练了自己的耐性。收获颇多。 第13页 桂林电子科技大学实训说明书专用纸 谢 辞 通过本次设计不仅是对我们的专业知识的检查与总结,而且是对今后学习研究的一种的激励。在陈小毛、符强、严素青、孙安青老师的指导下和同学们的协助下,我的设计到此已经完全结束。紧张的日子也总算告一段落。回味起来,感触颇多。在此过程中,我遇到了许多问题,通过老师和同学的帮助以及自己查阅资料等多种途径,解决了许多问题,也提高了自己独立思考问题、分析问题、解决问题的能力,同时也提高了实践能力。最后我要感谢这段时间来所有帮助过我的老师、同学和朋友,是你们让我的不断发现自己的不足并帮助我解决一个个设计上的问题,给我留下了美好的回忆。谢谢你们~ 第14页 桂林电子科技大学实训说明书专用纸 参考文献 [1] 崔更申 孙安青.ARM嵌入式系统开发与实践[M].北京:中国电力出版社,2008 [2] 何加铭. 嵌入式32位微处理器系统设计与应用[M]. 北京:电子工业出版社,2006 [3] 杨宗德. 嵌入式ARM系统原理与实例开发[M]. 北京:北京大学出版社,2007 [4] 刘天时[等] .ARM7嵌入式开发基础实验[M]. 北京:北京航空航天大学出版社,2007 [5] 张绮文.ARM 嵌入式常用模块与综合系统设计实例精讲.北京:电子工业出版社,2007. [6] 欧阳禹.ARM7嵌入式系统实训教程.北京:清华大学出版社,2008. 第15页 桂林电子科技大学实训说明书专用纸 附 录 原理图 主程序代码 #include #define uint8 unsigned char #define uint32 unsigned long #define SW_1 (17) #define SW_2 (19) #define SW_3 (21) #define SW_4 (23) #define SW_5 (25) 第1页 桂林电子科技大学实训说明书专用纸 #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; for(i=0; i>16)&0xFFF; //get year 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) & 0x0F; //get month month_s = bak_month/10; month_g = bak_month%10; bak_day = datas &0x1F; //get day day_s = bak_day/10; day_g = bak_day%10; bak_week = (times>>24)& 0x07; //get week bak_hour = (times>>16)& 0x1F; //get hour hour_s = bak_hour/10; hour_g = bak_hour%10; 第6页 桂林电子科技大学实训说明书专用纸 bak_min = (times>>8)&0x3F; //get minutes min_s = bak_min/10; min_g = bak_min%10; bak_sec = times& 0x3F; //get second sec_s = bak_sec/10; sec_g = bak_sec%10; } /****************************************************************** ********** * 名称:lcd_display() * 功能:显示文本 ******************************************************************* *********/ void lcd_display() { LCD_write_command(0x80,1); LCD_write_data(year_q+0x30); LCD_write_data(year_b+0x30); LCD_write_data(year_s+0x30); LCD_write_data(year_g+0x30); LCD_write_data('-'); LCD_write_data(month_s+0x30); LCD_write_data(month_g+0x30); LCD_write_data('-'); LCD_write_data(day_s+0x30); LCD_write_data(day_g+0x30); LCD_write_data('-'); LCD_write_data(bak_week+0x30); LCD_write_data('-'); 第7页 桂林电子科技大学实训说明书专用纸 LCD_write_data(hour_s+0x30); LCD_write_data(hour_g+0x30); LCD_write_data('-'); LCD_write_command(0xc0,1); LCD_write_data(min_s+0x30); LCD_write_data(min_g+0x30); LCD_write_data('-'); LCD_write_data(sec_s+0x30); LCD_write_data(sec_g+0x30); } int main (void) { PINSEL0=0x00000000; PINSEL2=0x00000000; IO0DIR=0x000007ff; IO1DIR &= (0 << SW_1); IO1DIR &= (0 << SW_2); IO1DIR &= (0 << SW_3); IO1DIR &= (0 << SW_4); IO1DIR &= (0 << SW_5); 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(); 第8页 桂林电子科技大学实训说明书专用纸 while(1) { if((bak_month==2)&&(bak_day==27)){ for(i=0;i<10;i++){ IO1SET |= (1<< BELL); for(j=0;j<60000;j++); IO1CLR |= (1<< BELL); LCD_disp_string(6,1,txt0); } LCD_write_command(0x01,1); } if((IO1PIN & (1 << SW_1)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_1)) == 0) + { ting_flag++; if(ting_flag==7)ting_flag=0; while((IO1PIN & (1 << SW_1)) == 0); } } if((IO1PIN & (1 << SW_4)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_4)) == 0) { if(ccrflag==0){ ccrflag++; CCR=0X00; } else{ ccrflag=0; 第9页 桂林电子科技大学实训说明书专用纸 CCR=0X01; } while((IO1PIN & (1 << SW_4)) == 0); } } if(ting_flag==0){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_2)) == 0) { int_year++; YEAR = int_year; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_3)) == 0) { int_year--; YEAR = int_year; while((IO1PIN & (1 << SW_3)) == 0); } } } if(ting_flag==1){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_2)) == 0) { 第10页 桂林电子科技大学实训说明书专用纸 int_month++; MONTH = int_month; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_3)) == 0) { int_month--; MONTH = int_month; while((IO1PIN & (1 << SW_3)) == 0); } } } if(ting_flag==2){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_2)) == 0) { int_day++; DOM = int_day; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_3)) == 0) { 第11页 桂林电子科技大学实训说明书专用纸 int_day--; DOM = int_day; while((IO1PIN & (1 << SW_3)) == 0); } } } if(ting_flag==3){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_2)) == 0) { int_week++; DOW = int_week; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_3)) == 0) { int_week--; DOW = int_week; while((IO1PIN & (1 << SW_3)) == 0); } } } if(ting_flag==4){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); 第12页 桂林电子科技大学实训说明书专用纸 if((IO1PIN & (1 << SW_2)) == 0) { int_hour++; HOUR = int_hour; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_3)) == 0) { int_hour--; HOUR = int_hour; while((IO1PIN & (1 << SW_3)) == 0); } } } if(ting_flag==5){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_2)) == 0) { int_min++; MIN = int_min; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); 第13页 桂林电子科技大学实训说明书专用纸 if((IO1PIN & (1 << SW_3)) == 0) { int_min--; MIN = int_min; while((IO1PIN & (1 << SW_3)) == 0); } } } if(ting_flag==6){ if((IO1PIN & (1 << SW_2)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_2)) == 0) { int_sec++; SEC = int_sec; while((IO1PIN & (1 << SW_2)) == 0); } } if((IO1PIN & (1 << SW_3)) == 0) { for(j=0;j<10000;j++); if((IO1PIN & (1 << SW_3)) == 0) { int_sec--; SEC = int_sec; while((IO1PIN & (1 << SW_3)) == 0); } } } SendTimeRtc(); 第14页 桂林电子科技大学实训说明书专用纸 lcd_display(); } } 第15页
本文档为【基于ARM嵌入式的日历制作论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_337177
暂无简介~
格式:doc
大小:217KB
软件:Word
页数:37
分类:生活休闲
上传时间:2017-09-25
浏览量:39