单片机课程设计计分器设计

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

湖南工程学院

课程设计任务书

课程名称单片机原理与应用

课题比赛计分器设计

专业班级电子科学与技术

学生姓名

学号

指导老师

审批

任务书下达日期20年月 2 日任务完成日期201年7月日

目录

第1章系统概述 (1)

1.1系统功能 (1)

1.2设计内容及要求 (1)

1.2.1 设计内容: (1)

1.2.2 设计要求: (1)

1.3按钮设置 (2)

第2章总体方案设计 (3)

2.1总体系统框图 (3)

2.2系统组成 (3)

第3章系统硬件设计 (5)

3.1控制电路设计 (5)

3.1.1 复位电路 (5)

3.1.2 矩阵按钮电路 (5)

3.2数码管显示电路设计 (6)

第4章软件设计 (8)

4.1主程序设计 (8)

4.2各子程序设计 (8)

4.2.1 延时子程序 (8)

4.2.2 初始化子程序 (9)

4.2.3 交换按钮程序 (9)

4.2.4 状态部分程序 (10)

4.2.5 加减部分程序 (11)

第5章实物连接图 (12)

5.1交换分值 (12)

5.2发光二极管指示 (13)

5.3清零 (13)

5.3软件调试结果 (13)

设计总结 (14)

参考文献 (15)

附录A:源程序清单 (16)

附录B:总体硬件实物图 (21)

电气信息学院课程设计评分表 (22)

第1章系统概述

1.1系统功能

设计一个甲、乙两队比赛计分器,主要用于各种体育比赛记录分数。采用矩阵式键盘作为输入。基于以上思路,本次设计使用80C51实现一基于单片机的电子计分器的设计,其主要具有如下功能:

(1)用户可分别对两队比分进行加1、加2、加3和减1,减2,减3操作。

(2)比分通过6个8段共阴极数码管显示器进行显示,每队比分显示三位,可以交换两队的比分。

(4)具有复位功能,通过复位键实现。

(5)预置分可通过加或减分按钮实现。

1.2设计内容及要求

1.2.1 设计内容:

(1)给甲乙两队分别设置一个分数控制按钮,此按钮有7种状态,分别为+1、+2、+3、-1、-2、-3,+10(置数)。

(2)设置一个切换状态按钮,可以分别切换每一种状态,然后每一种状态会有相应的发光二极管点亮以区别是哪种状态。

(3)设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示

(4)设置一个交换分按钮,用于交换甲乙比分。

1.2.2 设计要求:

方案合理、正确,系统稳定、可靠。

软件设计要求尽可能精练、简短和运行可靠。

硬件电路要求简单明了,以节约成本。

1.3 按钮设置

本设计的宗旨是用最少的按键实现最多的功能。设计中一共用到了5个按钮,分别为:清零按钮、甲的加分减分按钮,乙的加分减分按钮,切换状态按钮和交换比分按钮。每个按钮的功能如下:

控制甲的按钮:实现+1、+2、+3、-1、-2、-3,+10(置数)功能;控制乙的按钮:实现+1、+2、+3、-1、-2、-3,+10(置数)功能;切换按钮:实现甲乙的各种状态的切换;

减缓比分按钮:交换甲乙的比分;

清零按钮:实现甲乙比分清零;

第2章总体方案设计

2.1 总体系统框图

此次设计80C51单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。利用6个8段共阴级数码管显示器.采用动态显示输出比分,用户信息输入则采用4×4矩阵式键盘,起状态切换用发光二极管的状态表示。用一片单片机可满足本设计的输入输出。系统设计方案的硬件电路设计框图如图2-1所示。

图2-1 硬件电路设计

2.2 系统组成

系统由硬件部分和软件部分组成。硬件电路由复位按钮、80C51单片机、矩阵键盘和7个发光二极管,6个数码管等组成。

软件部分主程序主要由系统初始化段、键盘识别、键值处理、8段共阴极LED显示器扫描显示子程序组成。软件设计主要分为四

个部分:信息输入、信息处理、显示输出。信息输入时采用矩阵式键盘来实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不同信息进行辨别并执行相应的处理;显示输出考虑到成本和电路体积,决定采用动态输出,从而达到设计的目的。

第3章系统硬件设计

3.1控制电路设计

3.1.1 复位电路

如图3-1所示,按钮与单片机的RST引脚相连,当每次按下该按钮后,系统将通过软件实现对计分回到初始值功能。

后,它所在的行列线就导通了,所以如果一条线上是低电平,那么按键的另一条线也是低电平。先给第一行送一个低电平,读取列值,就可以判定第一行上是否有按键按下,如果有按键,那么列线里面就有一条线为低电平。如果都为高电平,说明第一行上没有按键被按下,接着给第二行送低电平,重复上述步骤,就可以读取按键了。也可以用另外一种方法:先给行线全部写“0”,然后看列线是否有为低电平的,如果有说明那一列上有键被按下,

让后要确定按键所在的行的,给所有列线写“0”,读取行线的值就可以确定按键的具体位置了,让后将两次读取的值,组成一个值j就得到了键值。

图3-2 矩阵键盘的接口电路

3.2数码管显示电路设计

显示器采用8段共阴极数码管显示器,来实现显示器的动态扫描,八个二极管连接一个阴极的结构,只要另一段为高电平,二极管就会发光,从而形成一段。将八段顺序排列后就成为具有一定编码的共阴显示器了。动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。显示电路如图4所示。

相关文档
最新文档