1、河海大学计算机及信息工程学院(常州)课程设计报告 题 目 嵌入式系统项目设计 专业、学号 电信 授课班号 学生姓名 指引教师 完毕时间 /1/15 课程设计(报告)任务书(理 工 科 类)、课程设计(报告)题目: 基于LCD电子时钟实验 、课程设计(论文)工作内容一、课程设计目的 1、培养综合运用知识和独立开展实践创新能力;2、培养学生编程能力、用计算机解决实际问题能力。二、研究办法及手段应用1、将任务提成若干模块,查阅有关论文资料,分模块调试和完毕任务;2、使用ads1.2编译汇编语言和C语言,连接生成Hex文献。3、联合protues 7.4 仿真,选用arm7 lpc2104 芯片,导入
2、Hex文献,实现模仿电 子时钟。三、课程设计预期效果1、完毕实验环境搭建;2、分模块调试和编译;3、组合并完善程序。4、联合仿真软件运营程序。学生姓名: 专业年级: 目 录前 言 3第一章 系统设计 4第一节 课题目的及总体方案.4 第二节 元器件选取和连线.4 第三节 程序和芯片初始化.5 第四节 构建功能模块.6 第五节 实现信息传递.7 第二章 实验(测试)成果及讨论.8 第一节 ads1.2 软件编译,连接和运营.8 第二节 protues 7.4仿真软件联合调试.9第三章 结论10心得体会11参照文献 12附 录 13 源程序13 前 言近年来,随着计算机技术及集成电路技术发展,嵌入
3、式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要作用。嵌入式系统无疑成为当前最热门最有发展前程IT应用领域之一。 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能专用集成电路,惯用作各种计算机系统时钟信号源和参数设立存储电路。RTC具备计时精确、耗电低和体积小等特点,特别合用于在各种嵌入式系统忠记录事件发生时间和有关信息,特别是在通信工程、电力自动化、工业控制等自动化限度较高领域无人职守环境。随着集成电路技术不断发展,RTC器件新品也不断推出。这些新品不但具备精确RTC,尚有大容量存储器、温度传感器和A/D数据采集通道等,已成为集RTC、数据采集和存储于一体综合
4、功能器件,特别合用于以微控制器为核心嵌入式系统。第一章 系统设计第一节 课题目的及总体方案 运用lpc 2104芯片和LCD显示屏,通过汇编和C语言编译,完毕实时时钟显示。第二节 元器件选取和连线 选用嵌入式arm 7系列lpc 2104芯片和Lcd pg160128a显示屏: 依照使用需要配备端口连线: 第三节 程序和芯片初始化 程序中涉及:Lcd初始化:中断向量初始化:RTC初始化:芯片Lpc2104 基本配备:中间使用了上接正电源配合电容交流特性,为芯片提供电源和复位功能。其她引脚依照芯片规定配备连接。 第四节 构建功能模块Lcd显示时钟界面涉及:静止不动圆形钟面和始终在走动时钟指针。因
5、此需要构建两个重要函数实现画圆和画直线。如下为画圆函数:该算法是通过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显示。第二章 实验(测试)成果及讨论第一节 ads1.2 软件编译,连接和运营 构建完整程序:添加头文献,中断解决汇编程序段,初始化函数和主函数: 编译所有文献:编译器提示:成功生成所需Hex文献,将得到Hex文献导入仿真芯片Lpc 2104中,观测实时时钟。第二节 protues 7.4仿真软件联合调试 为Lpc 2104 芯片选取H
7、ex文献途径:连接芯片与LCD端口,运营程序,观测效果。显示如下时钟界面: 动态显示当前时间,涉及:年、月、日、时、分、秒,时针、分针和秒针为动态实时批示当前时间。第三章 结 论综合效果图:以上为protues某些设计,ads程序见附录。心得体会 回顾起本次课程设计,至今我仍感触颇多,从理论到实践,在整整半个月日子里,我学到诸多诸多东西,不但巩固了此前所学过知识,并且学到了诸多在课本上所没有学到过内容。通过这次课程设计使我懂得了理论与实际相结合是很重要,只有理论知识是远远不够,只有把所学理论知识与实践相结合起来,从理论中得出结论,才是真正知识,才干提高自己实际动手能力和独立思考能力。在设计过程
8、遇到了各种各样问题,同步在设计过程中发现了自己局限性之处,对此前所学过知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把此前所学过知识重新温故,巩固了所学知识。参照文献1 谢自美,电子线路设计、实验、测试,华中理工大学出版社,。2 宋春荣,通用集成电路速查手册,山东科学技术出版社,1995。3 Arnold Berger,嵌入式系统设计,吕骏 译, 北京:电子工业出版社,4 桑楠. 嵌入式系统原理及应用开发技术,北京:北京航空航天大学出版社, 附 录一、源程序:void c_init()wr_circle(123,79,1,1);wr_circle(123,79,2,1);wr_circ
9、le(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_circle(11,49,1,1);wr_circle(33,27,1,1);wr_circle(93,27,1,1);wr_circle(115,49,1,1);wr_poin
10、t(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()PREINT=fpclk/32768-1;PREFRAC=fpclk-(fpclk/32768)*32768;YEAR=;MONTH=1;DOM=15;HOUR=11;MIN=1;SEC=36;CI
11、IR=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(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%10
12、00/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,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);elseline(c_o
13、x,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);elseline(c_ox,c_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;elsehou_n=(HOUR*60+MIN)/12;if(hou_n=0)
14、line(c_ox,c_oy,hou59*2,hou59*2+1,0);line(c_ox,c_oy,hou0,hou1,1);elseline(c_ox,c_oy,houhou_n*2-2,houhou_n*2-1,0);line(c_ox,c_oy,houhou_n*2,houhou_n*2+1,1);wr_circle(c_ox,c_oy,2,1);void int_init()/中断向量初始化VICIntSelect=0;/设立所有中断为irq中断VICIntEnable=0x0000;/中断使能位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);
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100