- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理课设_电子秒表
湖南文理学院芙蓉学院
微机原理课程设计报告
课程名称: 电子秒表
专业班级:
学生学号:
学生姓名:
指导教师:
完成时间:
目 录
第1章 总体设计方案 1
1.1 课程设计的内容和要求 1
1.2 课程设计原理 1
1.3 课程设计思路 2
1.4 设计环境 2
第2章 详细设计方案 3
2.1 实现方法 3
2.2 模块的设计与实现 4
2.2.1主程序模块 4
2.2.2初始化模块 5
2.2.3时钟模块 6
2.2.4秒表模块 6
2.3 程序连线图 8
第3章 调试及结果分析 9
3.1 调试步骤及方法 9
3.1.1程序的语法错误 9
3.1.2时钟模块调试过程 9
3.1.3秒表模块调试过程 11
3.2 实验结果 11
参考文献 13
附 录(源程序) 14
第1章 总体设计方案
1.1 课程设计的内容和要求
一、课程设计内容:
设计一个带时间显示的电子秒表,具体内容如下:
电子秒表的初始状态为零,分别显示分、秒、毫秒;
设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时间,按第三次计时停止,回到初始态;
有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、分、秒形式。
二、课程设计要求:
独立完成课程设计任务;
通过老师当场验收;
交出完整的课程设计报告。
1.2 课程设计原理
题目要求实现电子秒表功能和显示当前时间的功能。这两部分的共同点是都需要实现时间显示和时间运行功能。除此之外,电子秒表还需要有开始计时和停止计时功能。因此电子秒表是本次课程设计的主要部分。
在本次设计中主要使用了8255A并行接口芯片,8253定时/计数器,8259A中断控制器,8279键盘/显示芯片。具体原理和功能如下:
利用8255A芯片实现时钟和秒表之间的切换。将其连接到一个开关上,读取开关的电位,以此来判断是时钟模式还是秒表模式。
利用8253芯片计时。用8253的分频功能使其产生周期为1s和1ms的方波,分别为时钟和秒表计时。
利用8259A芯片接收中断。中断分为三种类型,分别是一秒一次的时钟计时中断,一毫秒一次的秒表计时中断和控制秒表开始和停止的中断。
利用8279芯片在数码管上显示当前时间或秒表时间。
1.3 课程设计思路
由于要求实现时钟和秒表两种功能。因此需要设计时钟和秒表两个模式。
时钟模式下,以秒为计时单位,计时功能和显示当前时间功能。秒表模式下,以毫秒为计时单位,有开始、停止和显示计时结果的功能。
首先,将8255A芯片的PC0接口连接到开关。读C端口的值。判断是0还是1。0代表时钟模式,1代表秒表模式。然后,根据判断结果调用相应模式下的显示功能。这样不停地读8255A芯片,然后判断,最后显示。构成一个死循环。若在这个过程中有中断,则会执行中断服务程序。
时间中断由8253芯片产生,周期分别为1s和1ms。时钟的最大时间为23时59分59秒,超过后从零开始重新计时。秒表最大时间为59分59秒999毫秒。当计数大于这个值时,秒表不再更新。
对秒表的控制中断由一个手动脉冲产生。将按键次数保存在名为pad的内存空间中。pad只能有0、1、2pad=0),或将时间加一毫秒(开始计时,pad=1),或不做任何处理(停止计时,pad=2)。
要实现以上分析的功能,可以设计4个模块。模块名和作用见表1.1。
表1.1 模块划分及功能描述
模块名称 功能 主程序模块 调用初始化模块,判断时间模式,调用相应的显示函数 初始化模块 初始化各芯片,装入中断向量 时钟模块 实现时钟计时和显示功能 秒表模块 实现秒表的计时、显示和控制功能
1.4 设计环境
硬件环境:AEDK实验箱
软件环境:LCT88EA应用软件、WindowXP操作系统、PC机
第2章 详细设计方案
2.1 实现方法
内存分配
程序中所需定义的内存单元含义如下:
timer0:存放当前时钟的值,共6个字节。时、分、秒各占两个字节;
timer1:存放秒表的计数值,共7个字节。分和秒各占两个字节,毫秒占三个字节;
pad:存放秒表的按键次数,共1个字节。可以有三种取值,0代表清零,1代表开始计时,2代表停止计时。当计数值大于2时,变为0重新开始计数;
tab:存放0~9在数码管上显示的编码,共10个字节。
按键设置
秒表有一个按钮,接手动
原创力文档


文档评论(0)