微机原理课程设计电子秒表

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

航空航天大学

课程设计报告

课程设计名称:微机系统综合课程设计课程设计题目:电子秒表

院(系):计算机学院

专业:计算机科学与技术

班级:04010101

学号:24

姓名:

指导教师:訾学博

完成日期:2013年7月5日

目录

第1章总体设计方案 (1)

1.1课程设计的容和要求 (1)

1.2设计原理 (1)

1.3设计思路 (2)

1.4实验环境 (3)

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

2.1主程序设计 (4)

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

2.3程序连线图 (7)

第3章结果测试及分析 (9)

3.1结果测试 (9)

3.2结果分析 (9)

参考文献 (10)

附录 (11)

第1章总体设计方案

1.1 课程设计的容和要求

一、课程设计容:

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

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

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

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

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

为时、分、秒形式。

二、课程设计要求:

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

2.通过老师当场验收;

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

1.2 设计原理

根据课程设计任务书的容与要求,要设计一个带时间显示的电子秒表,设计一个按钮带有计时开始、计时暂停、计时清零功能,还要可以进行时钟显示。在本次设计中主要使用了8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成电子秒表的计时过程和时钟显示过程的模拟。程序开始时扫描键盘判断是否按键,如有则读出相应的控制键,来决定做什么操

作,例如开始计时、暂停计时、停止计时、时钟显示等等。

利用8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的方波,使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将秒表的计时过程、时钟的当前时间显示在数码管上。

1.3 设计思路

采用汇编语言程序结合硬件电路设计方法,利用AEDK实验箱上已有芯片来实现一个带时间显示的电子秒表(包括开始计时、暂停计时、停止计时、时钟显示等等)。

(1)提出方案

首先,实现电子秒表的计时功能;其次,通过一个按钮实现电子秒表的开始计时、暂停计时、停止计时的功能;再次,通过一个按钮实现秒表显示和时钟显示切换的功能;最后,要实现秒表的运行和停止与时钟运行的互不影响。(2)方案论证

为了完成电子秒表的计时功能,可以应用8253定时/计数器芯片,设定计数器0工作在模式3,由于本实验要求计时周期为10毫秒,故可以利用8253实现分频功能,使其产生100HZ的方波。并且利用8259产生中断响应每10毫秒产生一次中断,使计数器加1,实现秒表计数。并当秒表达到最大值时,即59分59秒990毫秒,将秒表重新初始化;当时钟达到最大值时,即23时59分59秒,将时钟重新初始化

为通过一个按钮实现电子秒表的开始计时、暂停计时、停止计时的功能,可以利用8279键盘/显示芯片来读入键值,再设置num来计数,以便来区分开始计时、暂停计时、停止计时。

为通过一个按钮实现秒表显示和时钟显示切换的功能,可以利用8279键盘/显示芯片来读入键值,再设置n来区分是秒表显示、还是时钟显示。

为实现秒表的运行和停止与时钟运行的互不影响,设置flag来区分是秒表运行、还是秒表停止,在中断中判断秒表是否运行。

1.4 实验环境

·硬件环境:AEDK实验箱,PC机。

·软件环境:LCA88ET应用软件。

第2章详细设计方案2.1 主程序设计

主程序流程图如图2.1所示。

图2.1 主程序流程图

2.2功能模块的设计与实现

对8253、8259、8279各个芯片进行初始化,并将中断服务程序装入中断向量表。利用8253定时/计数器芯片产生100HZ的方波,使8259每10毫秒产生一次中断,使秒表加1,实现计时功能利用8279的键盘输入功能输入控制键,利用显示功能,秒表或时钟显示在七段数码管上。

(1)芯片初始化模块的设计与实现

对8253、8259、8279等芯片进行初始化,并将中断服务程序装入中断向量表。流程图如下所示:

图2.2 芯片初始化流程图

(2)功能实现模块的设计与实现

利用8253定时/计数器芯片产生100HZ的方波,使8259每10毫秒产生一

次中断,使秒表加1,实现计时功能利用8279的键盘输入功能输入控制键,利用显示功能,秒表或时钟显示在七段数码管上。

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

disbufm:秒表的时间值;

disbufh:时钟的时间值;

tab:存放能在数码管上显示0-9的十六进制码;

flag:标志是计时运行(0)还是计时停止(1);

flag1:标志是秒表未达最大值(0)还是秒表达最大值(1);

flag2:标志是时钟未达最大值(0)还是时钟达最大值(1);

n:标志是秒表显示(0)还是时钟显示(1);

num:标志是第几次按下A键。

程序中所需的秒表的各个功能键定义如下:

A:,按第一次时秒表开始计时,按第二次时秒表计时暂停按第三次时秒表计时停止,回到初始态;

B:切换键,进行秒表显示和时钟显示的切换。

(1)清屏子程序的实现

在清屏时所显示的状态与秒表在初始状态一样,即00-00-00,数码管显示如图2.3所示。

图2.3 清屏图

相关文档
最新文档