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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机系统集成设计报告-电子时钟设计报告

计算机系统集成设计报告 电子时钟设计报告 院(系、部): 姓 名: 指导教师签名: 2012年 1月 11日·北京 目 录 一、课程设计目的和意义 3 二、课程设计功能和要求 3 三、设计思想与原理 3 1、设计思想 3 2、设计原理 3 3、设计环境 4 4、设计所用设备 4 四、具体模块设计 4 1、概述 4 2、主控模块 5 3、小键盘模块 8 4、显示模块 9 5、定时模块 9 五、程序流程图 10 主程序流程图: 10 中断处理程序流程图: 12 六、心得体会 12 一、课程设计目的和意义 通过本次课程设计要掌握此三种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、课程设计功能和要求 1、功能:利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个电子钟。 2、要求: 1)由8253中断定时,小键盘控制电子钟的启停及初始值的预置。 电子钟显示格式如下: XX.XX.XX. 由左向右分别为时、分、秒 要求具有如下功能: ①、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:: 图一 系统框图 2、主控模块 主控模块是系统的核心模块,对8253、8279进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。主要由软件实现。它的主要功能是调用其它模块对系统工作进行协调,读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:00:00置入显示缓冲,并调用显示模块显示。如果键值为G则开中断,(中断程序为秒最低位加一)。如果键值为D则关中断,停止动态显示。如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。并调用显示模块显示。如果健值为E,则终止程序,返回DOS。 实现代码如下: do{ key(); //调键盘显示子程序 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为预置秒标志

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档