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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

ARM电子时钟嵌入式课程设计河海大学.docx

1、ARM电子时钟嵌入式课程设计河海大学河海大学计算机及信息工程学院(常州)课程设计报告 题 目 嵌入式系统项目设计 专业、学号 电信 授课班号 学生姓名 指导教师 完成时间 2010/1/15 课程设计(报告)任务书(理 工 科 类)、课程设计(报告)题目: 基于LCD的电子时钟实验 、课程设计(论文)工作内容一、课程设计目标 1、培养综合运用知识和独立开展实践创新的能力;2、培养学生的编程能力、用计算机解决实际问题的能力。二、研究方法及手段应用1、将任务分成若干模块,查阅相关论文资料,分模块调试和完成任务;2、使用编译汇编语言和C语言,连接生成Hex文件。3、联合protues 仿真,选用ar

2、m7 lpc2104 芯片,导入Hex文件,实现模拟电 子时钟。三、课程设计预期效果1、完成实验环境搭建;2、分模块调试和编译;3、组合并完善程序。4、联合仿真软件运行程序。学生姓名: 专业年级: 前 言 3第一章 系统设计 4第一节 课题目标及总体方案.4 第二节 元器件的选择和连线.4 第三节 程序和芯片的初始化.5 第四节 构建功能模块.6 第五节 实现信息的传递.7 第二章 实验(测试)结果及讨论.8 第一节 软件的编译,连接和运行.8 第二节 protues 仿真软件的联合调试.9第三章 结论10心得体会11参考文献 12附 录 13 源程序13 前 言近年来,随着计算机技术及集成电

3、路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的IT应用领域之一。 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC具有计时准确、耗电低和体积小等特点,特别适用于在各种嵌入式系统忠记录事件发生的时间和相关信息,尤其是在通信工程、电力自动化、工业控制等自动化程度较高领域的无人职守环境。随着集成电路技术的不断发展,RTC器件的新品也不断推出。这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D数据采集通道等,已

4、成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。第一章 系统设计第一节 课题目标及总体方案 利用lpc 2104芯片和LCD显示器,通过汇编和C语言编译,完成实时时钟的显示。第二节 元器件的选择和连线 选用嵌入式arm 7系列的lpc 2104芯片和Lcd pg160128a显示器: 根据使用的需要配置端口连线: 第三节 程序和芯片的初始化 程序中包括:Lcd的初始化:中断向量的初始化:RTC的初始化:芯片Lpc2104 基础配置:中间使用了上接正电源配合电容的交流特性,为芯片提供电源和复位功能。其他引脚根据芯片要求配置连接。 第四节 构建功能模块Lc

5、d显示的时钟界面包括:静止不动的圆形钟面和一直在走动的时钟指针。所以需要构建两个重要的函数实现画圆和画直线。以下为画圆函数:该算法是通过X变量的自增,补偿1 修正正方形控制Y变量自减,找到距中心恒定距离的点,其中rs=45,X自0加1增至45。和原点坐标运算,可以在第一象限找到一点,再通过折叠对称找到其他象限的三个点,通过画点函数描绘出。再画他的45度镜像就好了。画线函数:void line(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2,unsigned char draw)以中心的坐标为起点,使用while函数

6、与指针最外圈的点比较,不断延长直至相等,所以事先计算出时针,分针和秒针三个同心圆最外圈点的坐标,以便带入函数。也同圆类似,要考虑不同象限点的情况,根据不同的位置带参数到画点函数中描绘。 第五节 实现信息的传递画点函数:数据传递函数:与通用可编程输入输出口(General Programable Input Output)相连,把计算的数据传递给Lcd显示。第二章 实验(测试)结果及讨论第一节 软件的编译,连接和运行 构建完整的程序:添加头文件,中断处理汇编程序段,初始化函数和主函数: 编译所有的文件:编译器提示:成功生成所需Hex文件,将得到的Hex文件导入仿真芯片Lpc 2104中,观察实时

7、时钟。第二节 protues 仿真软件的联合调试 为Lpc 2104 芯片选择Hex文件路径:连接芯片与LCD端口,运行程序,观察效果。显示如下时钟界面: 动态显示当前的时间,包括:年、月、日、时、分、秒,时针、分针和秒针为动态实时指示当前的时间。第三章 结 论综合效果图:以上为protues部分设计的,ads程序见附录。心得体会 回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整半个月的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识

8、与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。参考文献1 谢自美,电子线路设计、实验、测试,华中理工大学出版社,2003。2 宋春荣,通用集成电路速查手册,山东科学技术出版社,1995。3 Arnold Berger,嵌入式系统设计,吕骏 译, 北京:电子工业出版社, 20024 桑楠. 嵌入式系统原理及应用开发技术,北京:北京航空航天大学出版社, 2002

9、附 录一、源程序:void c_init() wr_circle(123,79,1,1); wr_circle(123,79,2,1); wr_circle(63,139,1,1); wr_circle(63,139,2,1); wr_circle(3,79,1,1); wr_circle(3,79,2,1); wr_circle(63,19,1,1); wr_circle(63,19,2,1); wr_circle(115,109,1,1); wr_circle(93,131,1,1); wr_circle(33,131,1,1); wr_circle(11,109,1,1); wr_cir

10、cle(11,49,1,1); wr_circle(33,27,1,1); wr_circle(93,27,1,1); wr_circle(115,49,1,1); wr_point(c_ox,c_oy,1); wr_circle(c_ox,c_oy,2,1); wr_circle(c_ox,c_oy,62,1); void move(unsigned char n) line(c_ox,c_oy,sec2*n,sec2*n+1,1); #define fpclk 2764800unsigned char min_n;unsigned int hou_n;void rtc_init() PRE

11、INT=fpclk/32768-1; PREFRAC=fpclk-(fpclk/32768)*32768; YEAR=2010; MONTH=1; DOM=15; HOUR=11; MIN=1; SEC=36; CIIR=0x01; ILR=0x01; CCR=0x01; void _irq rtc_int() ILR=0x01; wr_char(9,6,0x10+HOUR/10); wr_char(9,7,0x10+HOUR%10); wr_char(9,8,0x1a); wr_char(9,9,0x10+MIN/10); wr_char(9,10,0x10+MIN%10); wr_char

12、(9,11,0x1a); wr_char(9,12,0x10+SEC/10); wr_char(9,13,0x10+SEC%10); wr_char(11,5,0x10+YEAR/1000); wr_char(11,6,0x10+YEAR%1000/100); wr_char(11,7,0x10+YEAR%100/10); wr_char(11,8,0x10+YEAR%10); wr_char(11,9,0xf); wr_char(11,10,0x10+MONTH/10); wr_char(11,11,0x10+MONTH%10); wr_char(11,12,0xf); wr_char(11

13、,13,0x10+DOM/10); wr_char(11,14,0x10+DOM%10); if(SEC=0) line(c_ox,c_oy,sec59*2,sec59*2+1,0); line(c_ox,c_oy,sec0,sec1,1); else line(c_ox,c_oy,secSEC*2-2,secSEC*2-1,0); line(c_ox,c_oy,secSEC*2,secSEC*2+1,1); if(MIN=0) line(c_ox,c_oy,min59*2,min59*2+1,0); line(c_ox,c_oy,min0,min1,1); else line(c_ox,c_

14、oy,minMIN*2-2,minMIN*2-1,0); line(c_ox,c_oy,minMIN*2,minMIN*2+1,1); if(HOUR11) hou_n=(HOUR-12)*60+MIN)/12; else hou_n=(HOUR*60+MIN)/12; if(hou_n=0) line(c_ox,c_oy,hou59*2,hou59*2+1,0); line(c_ox,c_oy,hou0,hou1,1); else line(c_ox,c_oy,houhou_n*2-2,houhou_n*2-1,0); line(c_ox,c_oy,houhou_n*2,houhou_n*2

15、+1,1); wr_circle(c_ox,c_oy,2,1); void int_init() /中断向量初始化 VICIntSelect=0; /设置所有中断为irq中断 VICIntEnable=0x00002000; /中断使能位 VICVectCntl0=0x2d; /中断优先级设置 VICVectAddr0=(int)rtc_int; /中断向量设置 int main(void) lcd_init(); c_init(); int_init(); rtc_init(); enable_irq();/ move(2);/ line(c_ox,c_oy,min2,min3,1);/ line(c_ox,c_oy,hou0,hou1,1); while(1);

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

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