基于LCD的电子时钟实验课程设计报告.docx
- 文档编号:11110433
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:56
- 大小:157.63KB
基于LCD的电子时钟实验课程设计报告.docx
《基于LCD的电子时钟实验课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于LCD的电子时钟实验课程设计报告.docx(56页珍藏版)》请在冰豆网上搜索。
基于LCD的电子时钟实验课程设计报告
毕业论文声明
本人郑重声明:
1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):
年月
关于毕业论文使用授权的声明
本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:
按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。
在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:
日期:
指导教师签名:
日期:
河海大学物联网工程学院
课程设计报告
题目基于LCD的电子时钟实验
专业、学号电信、
授课班号
完成时间2013.07.05
课程设计(报告)任务书
(理工科类)
Ⅰ、课程设计(报告)题目:
基于LCD的电子时钟实验
Ⅱ、课程设计(论文)工作内容
一、课程设计目标
1、培养综合运用知识和独立开展实践创新的能力;
2、培养学生的编程能力、用计算机解决实际问题的能力。
3、学习LCD与ARM的LCD的控制器的接口原理;
4、掌握内置LCD控制器驱动编写方法;
5、RTC控制方法。
二、研究方法及手段应用
1、将任务分成若干模块,查阅相关论文资料,分模块调试和完成任务;
2、查阅网上的相关素材,查阅相关论文资料,进行比较、研究;
3、在独立思考的基础上,请教老师,和同组同学讨论、学习;
4、运用Proteus仿真环境、S3C44B0x实验箱实验平台进行实验调试;
5、学习并使用使用ADS1.2编译汇编语言和C语言,连接生成Hex文件和Axf文件。
三、课程设计预期效果
1、完成实验环境搭建;
2、分模块调试和编译;
3、组合并完善程序。
4、联合仿真软件运行程序
5、显示时钟界面;
6、动态显示当前的时间,包括:
年、月、日、时、分、秒,时针,分针、秒针必须为动态实时指示当前的时间;
学生姓名:
刘晓婷专业年级:
电信、10级
前言………………………………………………………………………………………………1
第一章系统设计…………………………………………………………………………………2
第一节课题目标及总体方案…………………………………………………………………..2
………………
第二节……………………………..
…………………
第二章实验(测试)结果及讨论……….……………………………………………………….5
………………
第三章结论………………………………………………………………………………………10
………………
心得体会…………………………………………………………………………………………42
参考文献…………………………………………………………………………………………43
附录…………………………………………………………………………………………44
一、源程序………………………………………………………………………………………60
二、其他………………………………………………………………………………………61
前言
计算机技术及集成电路技术的飞速发展,嵌入式技术的日渐普及,使其在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。
通常我们常用的LCD显示模块,有两种,一是带有驱动电路的LCD显示模块,一是不带驱动电路的LCD显示屏。
大部分ARM处理器中都集成了LCD的控制器,所以,针对ARM芯片,一般不使用带驱动电路的LCD显示模块。
S3C44B0X中具有内置的LCD控制器,它能将显示缓存(在SDRAM存储器中)中的LCD图像数据传输到外部的LCD驱动电路上的逻辑功能。
实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。
RTC具有计时准确、耗电低和体积小等特点,特别适用于在各种嵌入式系统忠记录事件发生的时间和相关信息,尤其是在通信工程、电力自动化、工业控制等自动化程度较高领域的无人职守环境。
随着集成电路技术的不断发展,RTC器件的新品也不断推出。
这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器和A/D数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。
通过S3C44B0X实验系统板实现LCD电子时钟的设计,可以增强我们的自学能力和思考能力,掌握科学研究的方法,提高信息检索的能力以及获取与时俱进知识的能力。
同时,使我们深刻学习了ARM的相关知识,增强对实际电路的感性认识,提高了分析问题,处理问题的能力。
关键字:
S3C44B0X、嵌入式、电子时钟
第一章系统设计
第一节课题目标及总体方案
本实验是基于ARM处理器而设计的实时时钟,综合性较强,涉及到RTC外部中断,C语言编程等知识。
需使用到中断,涉及对外部中断进行初始化,其中有规定优先级,中断触发方式,中断地址分配。
采用液晶模块LCD显示实时时间,同样要对它进行初始化,包括检查总线忙与闲,传送地址,传送数据及显示函数的编程。
运用ads1.2编译汇编语言和C语言,连接生成Hex文件和Axf文件。
使用PROTEUS仿真,选用ARM7LPC2106芯片和LCD12864,导入Hex文件,然后进行软件仿真调试。
将Axf文件下载到S3C44B0试验箱上,通过LCD实物调试程序,完成电子时钟计时功能。
第二节相关组件说明
一、LCD显示原理
S3C44B0X中具有内置的LCD控制器,它能将显示缓存(在SDRAM存储器中)中的LCD图像数据传输到外部的LCD驱动电路上的逻辑功能。
它支持单色、4级、16级灰度LCD显示,以及256彩色LCD显示。
在显示灰度时,它采用时间抖动算法(time-basedditheringalgorithm)和帧率控制(FrameRateControl)方法,在显示彩色时,它采用RGB的格式,即RED、GREEN、BLUE,三色混合调色。
通过软件编程,可以实现233或332的RGB调色的格式。
对于不同尺寸的LCD显示器,它们会有不同的垂直和水平象素点、不同的数据宽度、不同的接口时间及刷新率,通过对LCD控制器中的相应寄存器写入不同的值,来配置不同的LCD显示板。
本次课设的显示模式设置为8bit单扫描模式。
二、proteus简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
三、S3C44B0X实验系统简介
EL-ARM-830型教学实验系统属于一种综合的教学实验系统,该系统采用了目前在国内普遍认同的ARM7TDMI核,32位微处理器,实现了多模块的应用实验。
它是集学习、应用编程、开发研究于一体ARM实验教学系统。
用户可根据自己的需求选用不同类型的CPU适配板,在不需要改变任何配置情况下,完成从ARM7到ARM9的升级,同时,实验系统上的Tech_V总线能够拓展较为丰富的实验接口板。
用户在了解Tech_V标准后,更能研发出不同用途的实验接口板。
除此之外,在实验板上有丰富的外围扩展资源(数字、模拟信号发生器,数字量IO输入输出,语音编解码、人机接口等单元),可以完成ARM的基础实验、算法实验和数据通信实验、以太网验。
其功能框图如下所示。
四、USOSII操作系统简介
μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。
μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。
CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。
用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。
μC/OS-II具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。
μC/OS-II已经移植到了几乎所有知名的CPU上。
第三节流程框图
第4节主要程序分析
1、程序中初始化包括
1.Lcd的初始化:
U16LCD_Init(U8Lcd_Bpp)
{
switch(Lcd_Bpp)
{
Case8:
rLCDCON1=(0)|(2<<5)|(MVAL_USED<<7)|(0x1<<8)|(0x1<<10)|(CLKVAL_COLOR<<12);
rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21);
rLCDSADDR1=(0x3<<27)|(((U32)Video_StartBuffer>>22)<<21)|M5D((U32)Video_StartBuffer>>1);
rLCDSADDR2=M5D((((U32)Video_StartBuffer+(SCR_XSIZE*LCD_YSIZE))>>1))|(MVAL<<21)|1<<29;
rLCDSADDR3=(LCD_XSIZE/2)|(((SCR_XSIZE-LCD_XSIZE)/2)<<9);
rREDLUT=0xfdb96420;
rGREENLUT=0xfdb96420;
rBLUELUT=0xfb40;
rDITHMODE=0x0;
rDP1_2=0xa5a5;
rDP4_7=0xba5da65;
rDP3_5=0xa5a5f;
rDP2_3=0xd6b;
rDP5_7=0xeb7b5ed;
rDP3_4=0x7dbe;
rDP4_5=0x7ebdf;
rDP6_7=0x7fdfbfe;
rDITHMODE=0x12210;
rLCDCON1=
(1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);
break;
default:
return1;
}
return0;
}
2.中断向量的初始化:
voidKeyINT_Init(void){
if((rINTPND&BIT_EINT4567))
{
SPC=BIT_EINT4567;
}
rINTMSK=~(BIT_GLOBAL|BIT_EINT4567);
}
3.RTC的初始化:
voidRtc_Tick_Init(void)
{
if((rINTPND&BIT_TICK))
{
rI_ISPC=BIT_TICK;
}
rINTMSK&=~(BIT_GLOBAL|BIT_TICK);
rRTCCON=0x0;
rTICINT=1|(1<<7)
}
voidRtc_Tick_Init0(void)
{
if((rINTPND&BIT_TICK))
{
rI_ISPC=BIT_TICK;
}
rINTMSK&=~(BIT_GLOBAL|BIT_TICK);
rRTCCON=0x0;
rTICINT=1|(1<<6);
}
2、功能模块
1.画指针模块
intSpaceXS[61]={110,115,120,125,130,135,
139,143,147,151,155,
156,157,158,159,160,
159,158,157,156,155,
151,147,143,139,135,
130,125,120,115,110,
105,100,95,90,85,
81,77,73,69,65,
64,63,62,61,60,
61,62,63,64,65,
69,73,77,81,85,
90,95,100,105,110,
},
SpaceYS[61]={30,31,32,33,34,
35,39,43,47,51,
55,60,65,70,75,
80,85,90,95,100,
105,109,113,117,121,
125,126,127,128,129,
130,129,128,127,126,
125,121,117,113,109,
105,100,95,90,85,
80,75,70,65,60,
55,51,47,43,39,
35,34,33,32,31,30},
SpaceXM[61]={110,114,118,122,126,130,133,136,139,142,
145,146,147,148,149,150,149,148,147,146,
145,142,139,136,133,130,126,122,118,114,
110,106,102,98,94,90,87,84,81,78,
75,74,73,72,71,70,71,72,73,74,
75,78,81,84,87,90,94,98,102,106,
110
},
SpaceYM[61]={40,41,42,43,44,45,48,51,54,57,
60,64,68,72,76,80,84,88,92,96,
100,103,106,109,112,115,116,117,118,119,
120,119,118,117,116,115,112,109,106,103,
100,96,92,88,84,80,76,72,68,64,
60,57,54,51,48,45,44,43,42,41,
40
},
SpaceXH[13]={110,125,135,140,135,125,110,95,85,80,85,95,110},
SpaceYH[13]={50,55,65,80,95,105,110,105,95,80,65,55,50},
2、显示模块
voidshow1()
{
Set_Color(GUI_GREEN);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"姓名:
唐蔚"CN_end,47,170);
Set_Color(GUI_GREEN);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"学号:
"CN_end,163,170);
Set_Color(GUI_GREEN);
Set_Font(&GUI_Font8x16);
Disp_String("1062910122",211,170);
Set_Color(GUI_GREEN);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"姓名:
郭志中"CN_end,47,190);
Set_Color(GUI_GREEN);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"学号:
"CN_end,163,190);
Set_Color(GUI_GREEN);
Set_Font(&GUI_Font8x16);
Disp_String("1062910110",211,190);
Set_Color(GUI_BLUE);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"专业:
电子科学与技术"CN_end,82,150);
Set_Color(GUI_BLUE);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"嵌入式课程设计"CN_end,105,5);
Set_Color(GUI_BLUE);
Set_Font(&GUI_Font8x16);
}
voidshow2()
{
Set_Color(GUI_BLUE);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"姓名:
唐蔚"CN_end,47,170);
Set_Color(GUI_BLUE);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"学号:
"CN_end,163,170);
Set_Color(GUI_BLUE);
Set_Font(&GUI_Font8x16);
Disp_String("1062910122",211,170);
Set_Color(GUI_BLUE);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"姓名:
郭志中"CN_end,47,190);
Set_Color(GUI_BLUE);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"学号:
"CN_end,163,190);
Set_Color(GUI_BLUE);
Set_Font(&GUI_Font8x16);
Disp_String("1062910110",211,190);
Set_Color(GUI_GREEN);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"专业:
电子科学与技术"CN_end,82,150);
Set_Color(GUI_GREEN);
Set_Font(&CHINESE_FONT16);
Disp_String(CN_start"嵌入式课程设计"CN_end,105,5);
Set_Color(GUI_GREEN);
Set_Font(&GUI_Font8x16);
}
voidShows()
{
Set_Color(GUI_GRAY);//擦除上一秒的
Draw_Line(x_line,y_line,*Placex,*Placey);
Placex=Placex+1;
Placey=Placey+1;
Set_Color(GUI_YELLOW);//显示下一秒的
Draw_Line(x_line,y_line,*Placex,*Placey);
Set_Color(GUI_RED);//显示下一分的
Draw_Line(x_line,y_line,*Placexm,*Placeym);
Set_Color(GUI_GREEN);//显示下一时的
Draw_Line(x_line,y_line,*Placexh,*Placeyh);
if(Placex==&SpaceXS[60]&&Placey==&SpaceYS[60])//复位
{
Placex=&SpaceXS[0];
Placey=&SpaceYS[0];
}
}
voidShowm()
{
Set_Color(GUI_GRAY);//擦除上一分的
Draw_Line(x_line,y_line,*Placexm,*Placeym);
Placexm=Placexm+1;
Placeym=Placeym+1;
Set_Color(GUI_RED);//显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LCD 电子 时钟 实验 课程设计 报告