微机原理课设-电子秒表

  • 格式:doc
  • 大小:150.00 KB
  • 文档页数:39

下载文档原格式

  / 39
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南文理学院芙蓉学院

微机原理课程设计报告

课程名称:电子秒表

专业班级:

学生学号:

学生姓名:

指导教师:

完成时间:

目录

第1章总体设计方案 0

1.1课程设计的内容和要求 0

1.2课程设计原理 0

1.3课程设计思路 (1)

1.4设计环境 (2)

第2章详细设计方案 (3)

2.1实现方法 (3)

2.2模块的设计与实现 (5)

2.2.1主程序模块 (5)

2.2.2初始化模块 (6)

2.2.3时钟模块 (6)

2.2.4秒表模块 (7)

2.3程序连线图 (9)

第3章调试及结果分析 (10)

3.1调试步骤及方法 (10)

3.1.1程序的语法错误 (10)

3.1.2时钟模块调试过程 (10)

3.1.3秒表模块调试过程 (12)

3.2实验结果 (13)

参考文献 (15)

附录(源程序) (17)

第1章总体设计方案

1.1 课程设计的内容和要求

一、课程设计内容:

设计一个带时间显示的电子秒表,具体内容如下:

1.电子秒表的初始状态为零,分别显示分、秒、毫秒;

2.设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的

时间,按第三次计时停止,回到初始态;

3.有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为

时、分、秒形式。

二、课程设计要求:

1.独立完成课程设计任务;

2.通过老师当场验收;

3.交出完整的课程设计报告。

1.2 课程设计原理

题目要求实现电子秒表功能和显示当前时间的功能。这两部分的共同点是都需要实现时间显示和时间运行功能。除此之外,电子秒表还需要有开始计时和停止计时功能。因此电子秒表是本次课程设计的主要部分。

在本次设计中主要使用了8255A并行接口芯片,8253定时/计数器,8259A 中断控制器,8279键盘/显示芯片。具体原理和功能如下:

1.利用8255A芯片实现时钟和秒表之间的切换。将其连接到一个开关上,

读取开关的电位,以此来判断是时钟模式还是秒表模式。

2.利用8253芯片计时。用8253的分频功能使其产生周期为1s和1ms

的方波,分别为时钟和秒表计时。

3.利用8259A芯片接收中断。中断分为三种类型,分别是一秒一次的时钟

计时中断,一毫秒一次的秒表计时中断和控制秒表开始和停止的中断。

4.利用8279芯片在数码管上显示当前时间或秒表时间。

1.3 课程设计思路

由于要求实现时钟和秒表两种功能。因此需要设计时钟和秒表两个模式。

时钟模式下,以秒为计时单位,计时功能和显示当前时间功能。秒表模式下,以毫秒为计时单位,有开始、停止和显示计时结果的功能。

首先,将8255A芯片的PC0接口连接到开关。读C端口的值。判断是0还是1。0代表时钟模式,1代表秒表模式。然后,根据判断结果调用相应模式下的显示功能。这样不停地读8255A芯片,然后判断,最后显示。构成一个死循环。若在这个过程中有中断,则会执行中断服务程序。

时间中断由8253芯片产生,周期分别为1s和1ms。时钟的最大时间为23时59分59秒,超过后从零开始重新计时。秒表最大时间为59分59秒999毫秒。当计数大于这个值时,秒表不再更新。

对秒表的控制中断由一个手动脉冲产生。将按键次数保存在名为pad的内存空间中。pad只能有0、1、2三个值,分别代表清零、开始计时和停止计时。

8259芯片接收中断,并调用相应模式下的中断服务程序。在时钟模式下,直接将时间加一秒。在秒表模式下,或清零(重新开始,pad=0),或将时间加一毫秒(开始计时,pad=1),或不做任何处理(停止计时,pad=2)。

要实现以上分析的功能,可以设计4个模块。模块名和作用见表1.1。

表1.1 模块划分及功能描述

1.4 设计环境

硬件环境:AEDK实验箱

软件环境:LCT88EA应用软件、WindowXP操作系统、PC机

第2章 详细设计方案

2.1 实现方法

1. 内存分配

程序中所需定义的内存单元含义如下:

timer0:存放当前时钟的值,共6个字节。时、分、秒各占两个字节; timer1:存放秒表的计数值,共7个字节。分和秒各占两个字节,毫秒占三个字节;

pad :存放秒表的按键次数,共1个字节。可以有三种取值,0代表清零,1代表开始计时,2代表停止计时。当计数值大于2时,变为0重新开始计数; tab :存放0~9在数码管上显示的编码,共10个字节。

2. 按键设置

秒表有一个按钮,接手动脉冲和8259A 芯片的中断引脚。每次按键,pad 都做相应改变。按第一次开始计时(pad=1),按第二次计时暂停(pad=2),显示当前记录的时间,按第三次计时停止(pad=0),回到初始态。

3. 时钟频率选择

CPU 的频率为HZ 5103.072 。用8253芯片产生方波。计数器1的1CLK 接CPU 时钟脉冲,计数初值为307,使0OUT 产生周期为1ms 的方波。计数器0的0CLK 接1OUT ,计数初值为1000,使0OUT 产生周期为1s 的方波。

4. 中断设置

8259A 芯片的中断引脚0IR 、1IR 、2IR 分别接8253芯片的0OUT 、1OUT 和

手动脉冲。

5.显示设置

显示功能由8279芯片和数码管实现。显示分为两种情况。时钟模式下的显示规则是(时-分-秒),即(00-00-00)。秒表模式下的显示规则是(分-秒.毫秒),即(00-00.000)。

6.端口地址分配

本次课程设计共使用了4种芯片,他们的端口号设置如表2.1所示。

表2.1 端口地址分配表

7.子程序

子程序名称和功能如表2.2所示。

表2.2 子函数表