篮球比赛电子记分牌设计报告

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

湖南工程学院

课程设计

课程名称专业设计

课题名称篮球比赛电子记分牌设计

专业电子科学与技术

班级1102 班

学号************

姓名

指导教师李延平

2014 年 5 月15 日

湖南工程学院

课程设计任务书

课程名称专业设计

课题篮球比赛电子记分牌设计

专业班级电子科学与技术1102班

学生姓名

学号11

指导老师李延平

审批

任务书下达日期2014 年 5 月 5 日

任务完成日期2014 年5 月16 日

目录

一系统总体方案设计 (1)

1 总体设计思路 (1)

2 总体设计框图 (2)

二软件仿真设计 (3)

2.1 主程序设计 (3)

2.1.1 设计思路 (3)

2.1.2 流程图 (4)

2.1.3 仿真总图 (5)

2.2 键盘输入模块设计 (6)

2.2.1 设计思路 (6)

2.2.2 流程图 (7)

2.2.3 仿真电路 (8)

2.3 数码管显示模块设计 (8)

2.3.1 设计思路 (8)

2.3.2 流程图 (10)

2.3.3 仿真电路 (10)

三系统调试 (11)

四总结与心得体会 (18)

五参考文献 (19)

六附录(源程序) (20)

一系统总体方案设计

1 总体设计思路

本设计以STC89C52RC单片机为核心设计的篮球比赛电子记分牌。本设计采用定时器T0中断计时,定时器T1中断分时显示比赛比分与比赛时间,并由6位八段共阴数码管显示(比赛时间显示只用四位)。控制模块由4*4矩阵键盘输入控制,具有:开始暂停功能,对比赛分数加1、加2、加3、减1,中场切换显示比赛得分功能;对时间(加时赛)加1、减1功能。提示模块由8个LED灯和蜂鸣器完成。L0~L3亮表示上半场,L4~L7亮表示下半场,L0、L1、L6、L7亮表示加时赛,全亮表示半场(上半场、下半场或加时赛)结束;上半场时间到8个LED灯全亮3秒,蜂鸣器蜂鸣3秒;终场时间到8个LED灯全亮5秒,蜂鸣器蜂鸣5秒。

二软件仿真设计

在本设计中,系统的软件设计采用了模块化的设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。

2.1 主程序设计

2.1.1 设计思路

本设计中单片机的主要功能就是利用内部的定时器计时,并随时接受矩阵键盘控制模块的信息,将比赛的得分(分别以3个数码管)和剩余时间显示在6位八段共阴数码管上。利用定时器T0实现比赛时间的倒计时,并以分、秒显示在4个数码管上。定时器T1实现比赛的比分与比赛剩余时间分时(相隔3秒)显示在数码管上。上半场结束时,A、B对比赛得分自动切换显示在数码管上。上半场比赛时,以D1~D4点亮作为标志;下半场比赛时,以D5~D8点亮作为标志;加时赛时,以D1、D2、D7、D8点亮作为标志。上半场结束时,D1~D8全亮3秒,蜂鸣器蜂鸣3秒;下半场或终场结束时,D1~D8全亮5秒,蜂鸣器蜂鸣5秒。

2.1.2 流程图

图2.1.2 主程序流程图

2.1.3 仿真总图

图 2.1.3 仿真总图

2.2 键盘输入模块设计

2.2.1 设计思路

本设计中采用4*4矩阵键盘,矩阵键盘又称为行列式键盘,它是用4条I/O 线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4*4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。

编程算法采用线反转法。

线反转法原理是先将行线作为输出线, 行线作为输入线, 列线输出全“0”信号,读入行线的值, 那么在闭合键所在的列行线上的值必为0;然后从列行线输出全“0”信号,再读取列线的输入值,闭合键所在的列线值必为 0。这样,当一个键被按下时, 必定可读到一对唯一的行列值。再由这一对行列值可以求出闭合键所在的位置,之后对系统进行相应的控制。

矩阵键盘的行线分别与P3.0~P3.3相连,P3.4~P3.7相连。

其中,按键“A+1”、“A+2”、“A+3”、“A-1”、“B+1”、“B+2”、“B+3”、“B-1”分

“T+1”、别对A、B队加减相应的分数,

“开始/暂停”键控制计分计时的开始与暂停,

“T-1”对加时赛的比赛得分加减,“中场切换”用于在半场结束后交换双方记分牌上的分数,按键12~15未被使用。

2.2.3 仿真电路

图 2.2.3 键盘输入模块仿真图

2.3 数码管显示模块设计

2.3.1 设计思路

本设计用到的是六位一体的八段共阴数码管。由于数码管内部发光二极管点亮时也需要5mA以上的电流,而单片机的I/O口送不出如此的的电流,所以使用74HC573锁存器驱动数码管。数码管的A、B、C、D、E、F、G、DP的引脚全部连在一起与U1元件74HC573锁存器的数据输出端相连,锁存器的数据输入端连接单片机的P0口,P0口同时加了上拉电阻。数码管中1、2、3、4、5、6是它们的位选端,每一个数码管对应一个位选端,与U2元件74HC573的数据输出

端的低六位相连,U2的数据输入端也接到单片机的P0口。两个锁存器的锁存端分别与单片机的P2.6和P2.7相连,因为用单片机可以锁存器的锁存端,进而控制锁存器的数据输出,这种分时控制的方法便可以方便的控制任意数码管显示任意数字。

为了实时显示数据需要数码管动态扫描显示,所谓动态扫描显示,即轮流向各位数码管送出字形码和相应的位选,利用发光二极管的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示,实际上多位数码管是一位一位轮流显示的,只是轮流的速度非常快,人眼已经无法分辨出来。

需要注意的是:每次送段选数据前,需要加上“消影”,即“P0=0xff”。解释如下:送段选数据前,P0口仍然保持上次的位选数据,若不“消影”,接下来的打开段选锁存器命令后,原来保持在P0口的位选数据将立即通过段选锁存器直接加在数码管上,接下来才是再次通过P0口给段选锁存器送入段选数据,使得数码管出现混乱现象。

相关文档
最新文档