计算机系统集成设计报告电子时钟设计报告.doc

上传人:文库蛋蛋多 文档编号:2882232 上传时间:2023-03-01 格式:DOC 页数:14 大小:159.50KB
返回 下载 相关 举报
计算机系统集成设计报告电子时钟设计报告.doc_第1页
第1页 / 共14页
计算机系统集成设计报告电子时钟设计报告.doc_第2页
第2页 / 共14页
计算机系统集成设计报告电子时钟设计报告.doc_第3页
第3页 / 共14页
计算机系统集成设计报告电子时钟设计报告.doc_第4页
第4页 / 共14页
计算机系统集成设计报告电子时钟设计报告.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《计算机系统集成设计报告电子时钟设计报告.doc》由会员分享,可在线阅读,更多相关《计算机系统集成设计报告电子时钟设计报告.doc(14页珍藏版)》请在三一办公上搜索。

1、 计算机系统集成设计报告电子时钟设计报告 院(系、部): 姓 名: 指导教师签名: 2012年 1月 11日北京目 录一、课程设计目的和意义3二、课程设计功能和要求3三、设计思想与原理31、设计思想32、设计原理33、设计环境44、设计所用设备4四、具体模块设计41、概述42、主控模块53、小键盘模块84、显示模块95、定时模块9五、程序流程图10主程序流程图:10中断处理程序流程图:12六、心得体会12一、课程设计目的和意义通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及

2、编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。二、课程设计功能和要求1、功能:利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个电子钟。2、要求:1)由8253中断定时,小键盘控制电子钟的启停及初始值的预置。电子钟显示格式如下:XXXXXX. 由左向右分别为时、分、秒要求具有如下功能:、C键:清除,显示全零。、G键:启动,电子钟计时。、D键:停止,电子钟停止计时。、P键:设置时、分、秒值。输入时依次为时、分、秒,同时应有判断输入错误的能力,若输入有错,则显示:E。此时敲P键可重

3、新输入预置值。、E键:程序退出。2)除了在扩展板上显示电子钟外,在显示器上同步模拟显示出电子钟。三、设计思想与原理1、设计思想本系统设计的电子时钟以微处理器作为CPU, 8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器1,工作于方式2,使8253的OUT1端输出周期性的负脉冲信号。即每隔一段时间,8253的OUT1端就会输出一个负脉冲的信号,此信号接8259的IRQ,当产生中断时,CPU即处理,使液晶显示器上的时间发生变化。2、设计原理利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计

4、一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。C键:置初值,显示00:00:00G键:显示动态变化(启动表);D键:显示静态不变(表停止);E键:终止程序,返回DOS;P键:设置时:分:秒的值3、设计环境硬件环境:PC微机一台,TPC-2003接口实验箱一套,元器件若干。软件环境:Visual C+/Turbo C开发工具。4、设计所用设备8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ。8259中断控制器:用

5、于产生中断。LED:六个LED用于显示时:分:秒值。小键盘:用于控制设置。四、具体模块设计1、概述本系统设计的电子时钟以微处理器作为CPU, 8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器1,工作于方式2,使8253的OUT1端输出周期性的负脉冲信号。即每隔一段时间,8253的OUT1端就会输出一个负脉冲的信号,此信号接8259的IRQ,当产生中断时,CPU即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。系统框图如下:键盘读入

6、的数显示缓冲的值秒脉冲显示模块主控模块中断模块定时模块小键盘模块六个LED小键盘827982538259图一 系统框图2、主控模块主控模块是系统的核心模块,对8253、8279进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序,返

7、回DOS。实现代码如下:dokey();/调键盘显示子程序if( (keyin=0x0c) & (flag=1 | flag=2 | flag=3 | flag=4)/是否C命令flag = 2;sign = 0;hour2 = 1;hour1 = 1;min2 = 1;min1 = 1;sec2 = 1;sec1 = 1;if(keyin=0x12 & (flag=1 | flag=2 | flag=3 | flag=4)/是否P 命令flag =3;sign = 0x00;/00为预置时标志hms = 0x00;high();if(err1!=0x01)low();if(err1!=0x0

8、1)hms = 0x11;/11为预置分标志high();if(err1!=0x01)low();if(err1!=0x01)hms = 0x22;/22为预置秒标志high();if(err1!=0x01)low();if(keyin=0x10 & (flag=1 | flag=2 | flag=3 | flag=4)/是否G 命令flag = 4;sign = 0x01;if(keyin=0x0d & (flag=1 | flag=2 | flag=3 | flag=4) )/是否D 命令flag = 1;sign = 0x00;if(flag=1 | flag=2 | flag=3 |

9、flag=4)printf(The current time is:);printf(%.0f, (double) hour2);printf(%.0f:, (double) hour1);printf(%.0f, (double) min2);printf(%.0f:, (double) min1);printf(%.0f, (double) sec2);printf(%.0fn, (double) sec1);/ system(cls); / while(1);while(!(keyin=0x0e);/E命令,退出程序3、小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件

10、上由小键盘和8279互连,将小键值由8279送入主控模块。软件上使用行扫描法获得键值并送回主控模块。实现代码如下:void key()BYTEdata;PortWriteByte(ioport1,0xd1);/清显示Sleep(100);dodisp();/调显示子程序PortReadByte(ioport1,&data);while(!(data&0x07);PortReadByte(ioport,&data);/读状态keyin = data & 0x07;data = data & 0x38;data=3;if(data=0)/是否第二行键按下keyin = keyin+0x08;/第一

11、行,加8else if(data!=1)/是否第三行键按下keyin = keyin+0x10;/第一行,加10H4、显示模块显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。实现代码如下:void disp()PortWriteByte(ioport1,0x90);Sleep(100);PortWriteByte(ioport,ledsec1);PortWriteByte(ioport,ledsec2);PortWriteByte(ioport,l

12、edmin1);PortWriteByte(ioport,ledmin2);PortWriteByte(ioport,ledhour1);PortWriteByte(ioport,ledhour2);5、定时模块定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器1,工作在方式2,其输出信号可作为8259的中断请求信号。6、中断处理模块中断模块的硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。RegisterLocalISR(int_proc);/*注册中断程序*/Enable

13、Intr();/*开中断*/DisableIntr();/*关中断*/7、按如下接线图连接好实验箱上的芯片引脚。主要用到器件8253,8279,LED,8259,小键盘。8253的片选接地址280-287H,OUT1接IRQ,GATE1接+5V,CLK1接8259的CLK。8259CS8253IRQGATE0OUT0CLK0GATE1CLK1OUT1CLK+5V280-287H6个LED8279小键盘图二 实验接线图五、程序流程图主程序流程图:NYYNYYYNN8253作为中断源产生脉冲显示提示信息保存系统中8259原中断向量 设置中断新的中断向量,指向时、分、秒加1的中断处理程序允许IRQ中

14、断调用键扫描子程序(KEY)用INT21H35H号功能恢复原中断向量开中断 图一 主程序流程图返回DOS是C键码?调用C键处理子程序是G键码?调用G键处理子程序是D键码?调用D键处理子程序是P键码?调用P键处理子程序是E键码?N开始中断处理程序流程图:开始开中断秒个位小于秒个位清零,秒十位加一秒十位小于秒十位清零,分个位加一分个位小于分个位清零,分十位加一分十位小于分十位清零,时个位加一时十位小于时个位小于时个位小于时个位清零,时十位加一时个位清零,时十位清零秒个位加一发中断结束命令,中断返回六、心得体会两周的课程设计,锻炼了我们的电路设计能力和动手的能力,也使之通过亲身实践掌握了一些中规模集

15、成器件的使用技巧与方法,而不仅限于书本上的理论知识,让我们受益非浅。课程设计就是将理论付之于实践的过程,如何能更好地用自己的知识来实现实验的要求的功能,这不仅要看我们所学的知识是否扎实,更重要的是要有能把书本知识运用在实际电路中的能力。同时,做实验时一定要细心、耐心,要有坚持的毅力。对于现在缺乏实践经验的我们来说,这是一个艰苦的过程。对于本次实验,接线时,事先布局好就会达到事半功倍的效果。实验中最好能做一个模块然后检查一个模块,这样以后出错的机会就很小了,而且也很容易排查错误。这次课程设计让我们又一次巩固并复习我们所学的数字电路逻辑设计这一门课程的知识,也为以后更深入的学习做了一个好的开端,是一次提升自我的实验。因为它不仅是一次锻炼动手能力的实践,也是锻炼我们思维能力和意志力的实践,我们从书上学到的是死知识,但通过实习,活跃了我们的思维,也给了我们一个发挥自己创新能力的机会,书本和实践相结合,就是最终的作品。既是动手实践就会遇到各种问题,也会面对重重困难,不畏艰难,知难而进就是我们解决问题的方法。因此,今后,我们会在学习理论知识的同时,更加注重动手实践能力的培养与思维能力的锻炼。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号