计算机系统集成设计报告-电子时钟设计报告.doc_第1页
计算机系统集成设计报告-电子时钟设计报告.doc_第2页
计算机系统集成设计报告-电子时钟设计报告.doc_第3页
计算机系统集成设计报告-电子时钟设计报告.doc_第4页
计算机系统集成设计报告-电子时钟设计报告.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

计算机系统集成设计报告电子时钟设计报告 院(系、部): 姓 名: 指导教师签名: 2012年 1月 11日北京目 录一、课程设计目的和意义3二、课程设计功能和要求3三、设计思想与原理31、设计思想32、设计原理33、设计环境44、设计所用设备4四、具体模块设计41、概述42、主控模块53、小键盘模块84、显示模块95、定时模块9五、程序流程图10主程序流程图:10中断处理程序流程图:12六、心得体会12一、课程设计目的和意义通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。二、课程设计功能和要求1、功能:利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个电子钟。2、要求:1)由8253中断定时,小键盘控制电子钟的启停及初始值的预置。电子钟显示格式如下:xxxxxx. 由左向右分别为时、分、秒要求具有如下功能:、c键:清除,显示全零。、g键:启动,电子钟计时。、d键:停止,电子钟停止计时。、p键:设置时、分、秒值。输入时依次为时、分、秒,同时应有判断输入错误的能力,若输入有错,则显示:e。此时敲p键可重新输入预置值。、e键:程序退出。2)除了在扩展板上显示电子钟外,在显示器上同步模拟显示出电子钟。三、设计思想与原理1、设计思想本系统设计的电子时钟以微处理器作为cpu, 8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的clk信号为周期性时钟信号。8253采用计数器1,工作于方式2,使8253的out1端输出周期性的负脉冲信号。即每隔一段时间,8253的out1端就会输出一个负脉冲的信号,此信号接8259的irq,当产生中断时,cpu即处理,使液晶显示器上的时间发生变化。2、设计原理利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个电子时钟,由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中断控制器:用于产生中断。led:六个led用于显示时:分:秒值。小键盘:用于控制设置。四、具体模块设计1、概述本系统设计的电子时钟以微处理器作为cpu, 8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的clk信号为周期性时钟信号。8253采用计数器1,工作于方式2,使8253的out1端输出周期性的负脉冲信号。即每隔一段时间,8253的out1端就会输出一个负脉冲的信号,此信号接8259的irq,当产生中断时,cpu即处理,使液晶显示器上的时间发生变化。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。系统框图如下:键盘读入的数显示缓冲的值秒脉冲显示模块主控模块中断模块定时模块小键盘模块六个led小键盘827982538259图一 系统框图2、主控模块主控模块是系统的核心模块,对8253、8279进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,读小键盘输入键值并执行要做的工作,如果键值为c则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为g则开中断,(中断程序为秒最低位加一)。如果键值为d则关中断,停止动态显示。如健值为p则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为e,则终止程序,返回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!=0x01)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 | 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、小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和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;/第一行,加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,ledmin1);portwritebyte(ioport,ledmin2);portwritebyte(ioport,ledhour1);portwritebyte(ioport,ledhour2);5、定时模块定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器1,工作在方式2,其输出信号可作为8259的中断请求信号。6、中断处理模块中断模块的硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。registerlocalisr(int_proc);/*注册中断程序*/enableintr();/*开中断*/disableintr();/*关中断*/7、按如下接线图连接好实验箱上的芯片引脚。主要用到器件8253,8279,led,8259,小键盘。8253的片选接地址280-287h,out1接irq,gate1接+5v,clk1接8259的clk。8259cs8253irqgate0out0clk0gate1clk1out1clk+5v280-287h6个led8279小键盘图二 实验接线图五、程序流程图主程序流程图:nyynyyynn8253作为中断源产生脉冲显示提示信息保存系统中8259原中断向量 设置中断新的中断向量,指向时、分、秒加1的中断处理程序允许irq中断调用键扫描子程序(key)用int21h35h号功能恢复原中断向量开中断 图一 主程序流程图返回dos是c键码?调用c键处理子程序是g键码?调用g键处理子程序是d键码?调用d键处理子程序是p键码?调用p键处理子程序是e键码?n开始中断处理程序流程图:开始开中断秒个位小于秒个位清零,秒十位加一秒十位小于秒十位清零,分个位加一分个位小于分个位清零,分十位加一分十位小于分十位清零,时个位加一时十位小于时个位小于时个位小于时个位清零,时十位加一时个位清零,时十位清零秒个位加一发中断结束命令,中断返回六、心得体会两周的课程设计,锻炼了我们的电路设计能力和动手的能力,也使之通过亲身实践掌握了一些中规模集成器件的使用技巧与方法,而不仅限于书本上的理论知识,让我们受益非浅。课程设计就是将理论付之于实践的过程,如何能更好地用自己的知识来实现实验的要求的功能,这不仅要看我们所学的知识是否扎实,更重要的是要有能把书本知识运用在实际电路中的能力。同时,做实验时一定要细心、耐心,要有坚持的毅力。对于现在缺乏实践经验的我们来说,这是一个艰苦的过程。对于本次实验,接线时,事先布局好就会达到事半功倍的效果。实验中最好能做一个模块然后检查一个模块,这样以后出错的机会就很小了,而且也很容易排查错误。这次课程设计让我们又一次巩固并复习我们所学的

温馨提示

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

评论

0/150

提交评论