嵌入式系统设计课程设计报告-伪windows电子时钟的设计与实现.doc_第1页
嵌入式系统设计课程设计报告-伪windows电子时钟的设计与实现.doc_第2页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程学院嵌入式系统设计课程设计报告题目:伪windows电子时钟的设计与实现学号:学生姓名:专业名称:物联网工程班级:物联13本1目录1. 课题研究意义和现状- 1 -1.1 课题研究意义- 1 -1.2 课题研究现状- 1 -2. 系统总体方案设计及功能模块介绍- 1 -2.1 总体方案设计- 1 -2.2 数字时钟功能模块介绍- 3 -3. 系统硬件平台及接口设计- 3 -3.1 系统硬件平台设计- 3 -3.2 系统硬件接口设计- 4 -4. 系统软件设计与实现- 5 -4.1 主程序设计与实现- 5 -4.2 数字时钟程序设计与实现- 7 -5. 系统测试- 10 -5.1 系统软件测试- 10 -5.2 系统硬件测试- 12 -6. 总结和展望- 14 -7. 参考文献- 15 -信息工程学院嵌入式系统设计课程设计1. 课题研究意义和现状1.1 课题研究意义电子钟是目前应用非常广泛的一种电子装置,众所周知,arm微处理器功能特别的强大,与mc51单片机相比,它更适合做中高端数字系统的微处理器,arm已经成了现代主流微处理器内核,目前,绝大多数码产品,如,手机,mp3,mp4,数码相机,他们的系统都嵌入了arm系列内核,arm微处理器更新换代很快,现在的诺基亚n系列智能手机如n78,n79已经采用了arm11了,使得运行于塞班操作系统s60第三版的应用程序流畅自如。本文使用tq2440处理器而设计的实时时钟,由硬件和软件相配合使用。硬件由主控器、时钟电路、显示电路、键盘接口5个模块组成。实现电子时钟的功能,并在lcd上显示类似的时钟界面;动态显示当前的时间,包括:年月、日、时、分、秒,时针。1.2 课题研究现状目前市场上各式各样的数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大,而且目前市场上的电子钟一般都用led显示,显示界面不友好。市场上还有一些老式的机械式电子钟,机械式的电子钟使用寿命较短,一般只能使用一年时间,机械式电子钟出现故障后很难修复,这样很浪费资源。因此有必要对机械式电子钟进行淘汰,对电子钟进行改进。本文设计的可调电子钟,设计的电路成本较低,可靠性高,运用简单方便,正常环境下能使用五年。出现元器件老化故障,可以只更换元器件,便可正常使用,节省资源,保护环境。2. 系统总体方案设计及功能模块介绍2.1 总体方案设计本设计是基于arm处理器而设计的实时时钟,综合性较强,涉及到rtc外部中断,引脚的gpio功能,c语言编程等知识。首先要定义p0口为基本io功能,然后通过引脚功能选择寄存器pinsel0及pinsel1定义输入输出外部中断口所在的位,另外还要对外部中断进行初始化,其中有规定他们的优先级,中断触发方式,中断地址分配,本设计采用液晶模块lcd1602同时显示实时时间和报警时间,同样要对他们进行初始化,包括检查总线忙与闲,传送地址,传送数据及显示函数的编程、开发板自带有一个实时时钟rtc带日历和时钟功能,要使用它也要进行一下的基本操作:设置rtc基准时钟分频器初始化rtc的时钟值如,year,month,hour等启动rtc即ccr的clken位职位读取完整时间寄存器值或等待中断。先调用以上各个模块的初始化函数lcd_int(),rtcint()然后开启rtc时钟,并调用lcd显示函数sendtimetrtc(),如果没用中断发生就判断实时时间是否与以设定的报警时间相同,如果相同就马上接通蜂鸣器报警并且点亮led灯。假如有中断发生,在无效状态下,马上给中断标志寄存器extint对应位,然后写1清零,然后转到中断服务程序。本设计设定7种系统状态:正常运行:0态设定rtc的:hour1态;sec2态;min3态;alhour4态;alsec5态;almin6态电路中通过三个按钮开关与三个中断eint的输入端相连,对应也有eint0,eint1,eint3三个中断服务程序,当eint2端按下时,就转到eint2中断服务程序,它的功能就是设定系统当前所取的状态,也就是所选择实时时钟和报警时间的时,分,秒,按一下,状态就自增一,eint0,eint1的中断服务程序都是调节时间不同的是一个以加1调节,一个以减2调节。按下一次就加一次时间值,但具体是对hour,sel,min,alhour,almin,alsel中的哪一个调节那还得看eint2触发下系统所处的状态所以只有在eint2发生的基础上eint0,eint1发生才有意义。lcd初始化模块时钟显示模块闹钟模块时钟计时模块tq2440lcd图1 系统设计图2.2 数字时钟功能模块介绍数字实时时钟单元是处理器集成的片内外设,由开发板上的后备电池供电,可以在系统电源关闭的情况下运行,rtc发送8位bcd码数据到cpu。传送的数据包括秒、分、时、星期、日期、月份和年份。rtc单元时钟源频率由外部32.768 khz晶振提供,可以实现闹钟(报警)功能及时间片中断、置0计数功能。rtc最重要的功能就是显示时间,是通过读/写寄存器实现的。要显示秒、分、时、日期、月、年,cpu必须读取存于bcdsec、bcdmin、bcdhour、bcdday、bcddate、bcdmon与bcdyear寄存器中得值。时间的设置也是通过以上的寄存器实现的。 3. 系统硬件平台及接口设计3.1 系统硬件平台设计图2 硬件平台图3.2 系统硬件接口设计图3 lcd接口图图4 蜂鸣器接口图4. 系统软件设计与实现开始4.1 主程序设计与实现图5 主程序流程图rtc显示时间rtc报警中断服务rtc报警在lcd上显示背景和汉字结束中断初始化lcd初始化mmu初始化串口初始化时钟初始化关键代码如下void main(void)char *mode;int i,ii,j; u32 jj=100;unsigned char temp1,temp2;unsigned int addr=0;u16 freq;/ lci 1000 u32 x,y; double offset=0;/x坐标偏移量 u32 z;/=init fclk=400m, so change mpll first=u8 key = 14;u32 mpll_val = (9212)|(112)&0xff, (mpll_val4)&0x3f, mpll_val&3);changeclockdivider(key, 12);cal_cpu_bus_clk();consolenum = 0;/ uart 1 select for debug.uart_init( 0,115200 );uart_select( consolenum );beep(2000, 100);uart_sendbyte(n);uart_printf(n);uart_printf( tq2440 test programn);uart_printf( n);uart_printf(n);rmisccr=rmisccr&(13); / usbd is selected instead of usbh1 rmisccr=rmisccr&(113); / usb port 1 is enabled.rdsc0 = 0x2aa;rdsc1 = 0x2aaaaaaa;/enable nand, usbd, pwm timer, uart0,1 and gpio clock,/the others must be enabled in os!rclkcon = 0xfffff0;mmu_init();/ /rtc_init(); pisr_swi=(_isr_startaddress+0xf0);/for psosled_display(0x66);mode=dma;clk0_disable();clk1_disable();mpll_val = rmpllcon;lcd_tft_init() ;/ lcd initial/lcd_clearscr(0x0011) | (0x3f5) | (0x00) );/刷屏刷为青色/开机logl paint_bmp(0,0,480,272,win8_480272); /win8 /paint_bmp(0,0,480,272,anzuo1_480272); /安卓 delay(100000); for(j=30;j480;j+) lcd_printf(-j+16*0,220, 0x0000,(0x1f11) | (0x3f=24)&(xdata=108)&(ydata=24)&(xdata=144)&(ydata=171) if(ryear=0x00) ryear=0x63; else if(ryear=0x5a) ryear=0x59; else if(ryear=0x50) ryear=0x4f; else if(ryear=0x46) ryear=0x45; else if(ryear=0x3c) ryear=0x3b; else if(ryear=0x32) ryear=0x31; else if(ryear=0x28) ryear=0x27; else if(ryear=0x1e) ryear=0x1d; else if(ryear=0x14) ryear=0x13; else if(ryear=0x0a) ryear=0x09; else ryear-; xdata=0; /清除x坐标值 ydata=0; /清除y坐标值 5. 系统测试5.1 系统软件测试图6 编译环境截图图7 编译结果图8 烧写过程5.2 系统硬件测试图9 开机画面图10 主界面图11 模拟时钟界面图12 数字时钟设置界面图13 闹钟设置界面6. 总结和展望本设计先后进行了很长的时间,万事开头难,最终在这次难得的电子钟设计实验中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用arm的能力,对arm的各种功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。在本次课程设计中使用的是arm处理器。此次设计是基于嵌入式的数字时钟的制作,将理论知识和工程实践应用相结合在一起,这使我们深刻了解了理论知识与应用实践的相关联系,加大了对理论知识的重要性的认识和应用实践的重要性。也使我们明白了仅仅知道课本上的理论知识是远远不够的,还需要通过大量的查阅相关资料并通过实际的亲自动手实践才能得到真正的有用的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论