ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:62.14KB ,
资源ID:10758927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10758927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ARM的可调电子钟的设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ARM的可调电子钟的设计.docx

1、基于ARM的可调电子钟的设计物理与电子信息学院嵌入式系统课程设计成绩评定表课题名称基于ARM时钟显示设计任务与要求1、可以用按键调整时间2、可用数码管显示时、分、秒3、以用蜂鸣器实现闹钟的功能4、用Protues实现仿真5、完成课程设计报告设计报告成绩评分标准:设计报告成绩:电子作品成绩评分标准:电子作品成绩:课程设计成绩 总成绩: 指导教师:许翀、卢震辉2014年6月27日嵌入式系统课程设计报告设计课题: 基于ARM时钟显示 专业班级: 电信1102 学生姓名: 朱家全 学 号: 110802111 指导教师: 许翀、卢震辉 设计时间:2014年6月27日 基于ARM时钟显示 1、设计任务与

2、要求1、用数码管显示时、分、秒2、可以用按键来调整时间3、可以用蜂鸣器实现闹钟的功能4、用Protues实现仿真5、完成课程设计报告二、方案设计与论证基于ARM的时钟显示:本课程设计是通过LPC2132ARM处理器而设计的显示时钟,由硬件和软件相配合使用。硬件由数码管显示模块、按键模块、蜂鸣器三个模块。实现电子时钟的功能,并在LED上显示类似的时钟界面,动态显示时间,时间包括时、分、秒。1.方案一、利用LPC2132内部定时器定时,把数据送到数码管,通过数码管显示时、分、秒。设定八个按键,时、分、秒分别通过两个按键来控制加减,从而实现时间的调整。通过蜂鸣器模块,当数码管显示达到设置的报警时间后

3、,蜂鸣器蜂鸣,从而实现闹钟的功能。至此,一个相对简单的基于ARM的时分秒时钟显示。 LPC2132按键模块数管显码示模块 蜂鸣器模块 图2-1 基于LPC2132ARM时钟显示方案框图2.方案二 本方案是基于LPC2106处理器而设计的时钟,综合性较强,涉及到RTC外部中断,引脚的GPIO功能,C语言编程等知识。显示模块采用液晶模块模块LCD1602同时显示实时时间和报警时间。从而实现电子时钟显示和报警。NO图2-2 基于LPC2106ARM时钟显示方框流程图通过课题的设计的要求,基于ARM的时钟显示,显示时、分、秒。通过框图可以看出第二种方案过于复杂,第一种方案就可以实现简单的显示时、分、秒

4、。所以通过分析,结合设计电路性能指标、器件的性价比,本设计电路选择方案一。三、软件设计与调试通过Protues和keil实现程序的设计和仿真程序设计#include config.huint32 second=0; /秒初始化uint32 minute=0; /分初始化uint32 hour=9; /时初始化uint32 keyr=123; /定义P1.23为复位按键uint32 key=116; /定义P1.16为停止按键uint32 keyadd1=117; /定义P1.17为秒加按键uint32 keysec1=118; /定义P1.18为秒减按键uint32 keyadd2=119;

5、/定义P1.19为分加按键uint32 keysec2=120; /定义P1.20为分减按键uint32 keyadd3=121; /定义P1.21为时加按键uint32 keysec3=10; dly-) for(i=0; i3400; i+); /初定为3400个自减变量,用于数码管延时显示/* 函数名称 :IRQ_Timer0()* 函数功能 :定时器中断*/void _irq IRQ_Timer0 (void) if(hour=9)&(minute=30)&(second=0) /若时间为9点30分时,则执行下面程序 IO0SET=116; /给P0.16口一个高电平,即使发声器响,从

6、而实现闹钟功能 else IO0CLR=160) /当秒加到大于60时,秒变为59 second=59; if(minute60) /当分加到大于60时,分变为59 minute=59; if(second=60) /当秒等于60时,分加1,秒清零 minute+; second=0; if(minute=60) /当分等于60时,时加1,分清零 hour+; minute=0; second=0; if(hour=24) /当小时为24时,时清零 hour=0; T0IR = 0x01; / 打开定时器 VICVectAddr = 0x00; /向量IRQ通道0的中断服务程序地址为0/* 函

7、数名称 :Time0Init()* 函数功能 :定时器0初始化*/void Time0Init(void) T0TC = 0; /定时器设置为0 T0PR = 0; /时钟不分频 T0MCR = 0x03; / 设置T0MR0匹配后复位T0TC,并产生中断标志 T0MR0 = Fpclk /3; /设置匹配寄存器的值 T0TCR = 0x01; / 启动定时器0 VICIntSelect = 0x00; /所有中断通道设置为IRQ中断 VICVectCntl0 = 0x20 | 0x04; / 设置定时器0中断通道分配最高优先级 VICVectAddr0 = (uint32)IRQ_Timer

8、0; / 设置中断服务程序地址 VICIntEnable = 1 0x04; / 使能定时器0中断/* 函数名称 :displays()* 函数功能 :秒显示程序*/void displays(unsigned int second) uint32 i; uint32 dis_num2; uint32 temp; temp=second; for(i=0;i2;i+) /限定2位显示 dis_numi=temp%10; /把最低位的模取出来取余,显示个位数 temp=temp/10; /除法,显示十位数 IO0CLR=0xffff; /清显示 IO0SET=num_codedis_numi;

9、/送往P0.0-P0.8显示 IO0SET=weisi; /位的切换 delay(2); /* 函数名称 :displaym()* 函数功能 :分显示程序*/void displaym(unsigned int minute) uint32 i; uint32 dis_num2; uint32 temp; temp=minute; for(i=0;i2;i+) /限定2位显示 dis_numi=temp%10; /把最低位的模取出来取余,显示个位数 temp=temp/10; /除法,显示十位数 IO0CLR=0xffff; /清显示 IO0SET=num_codedis_numi; /送往P

10、0.0-P0.8显示 IO0SET=weimi; /位的切换 delay(2); /* 函数名称 :displayh()* 函数功能 :时显示程序*/void displayh(unsigned int hour) uint32 i; uint32 dis_num2; uint32 temp; temp=hour; for(i=0;i2;i+) /限定2位显示 dis_numi=temp%10; /把最低位的模取出来取余,显示个位数 temp=temp/10; /除法,显示十位数 IO0CLR=0xffff; /清显示 IO0SET=num_codedis_numi; /送往P0.0-P0.8

11、显示 IO0SET=weihi; /位的切换 delay(2); /* 函数名称 :main()* 函数功能 :使用定时器实现1秒钟定时,控并且在led数码管上显示。中断方式。*/int main(void) PINSEL0 = 0x00000000; /设置P0引脚连接为GPIO PINSEL1 = 0x00000000; /设置P1引脚连接为GPIO IO0DIR = 0x000fffff; /设置P0.0-P0.20为输出,其他为输入 IO0CLR = 0x0; Time0Init(); /定时器0初始化 IO0CLR = 0x0; second=0; minute=0; hour=9;

12、 while(1) displays(second); /显示秒 displaym(minute); /显示分 displayh(hour); /显示时 程序设计完成后进行编译,程序编译成功。经过多次对程序进行修改、完善,程序编译成功。为了对程序的进一步调试,进行单步运行。程序执行正常。程序经过多次编译和单步调试,证明程序可靠性。四、系统的仿真图4-1基于ARM的时钟总的仿真原理图图4-2数码管显示图图4-3 LPC2132芯片图 图4-4 按键功能图 图4-5 发声器原理图 五、总结本设计先后进行了一周的时间,万事开头难,最初决定方案的时候,大家意见不统一,经过激烈讨论最终才决定使用现在的设

13、计方案。在这次难得的电子钟设计实验中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用ARM的能力,对ARM的各种功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且熟练掌握Protues和keil的使用。六、参考文献1 代启化.基于Proteus的电路设计与仿真J.现代电子技术.2006,第19期.2 曹洪奎.马莹莹 基于Proteus单片机系统设计与仿真J. 辽宁工学院学报07年04期3 侯玉宝.基于Proteus的51系列单片机设

14、计与仿真M电子工业出版社,2008.2702884 蔡希彪.曹洪奎; 单片机电子时钟系统的设计与仿真 J;中国科技信息; 2007年04期5 刘焕平.单片机原理与应用M. 2007年8月第1版. 北京:北京理工大学出版社2007年.PP-2326 朝青.单片机原理及串行外设接口技术M. 2008年1月第1版,北京:北京航空航天大学出版社,2008年。PP-20PP-657 李军.51系列单片机高级实例开发指南 北京航空航天大学出版社8 张天凡.完全手册 5 1单片机 c语言开发详解.北京:电子工业出版社,2008 9 周立功.ARM嵌入式系统实验教程 一 北京北京航空航天大学出版。10 秦勃.无线嵌入式智能家居环境网关.计算机应用研究.2006年.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1