竞赛打分系统之设计与实现说明书_第1页
竞赛打分系统之设计与实现说明书_第2页
竞赛打分系统之设计与实现说明书_第3页
竞赛打分系统之设计与实现说明书_第4页
竞赛打分系统之设计与实现说明书_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计说明话题比赛计分系统的设计与实现摘要:比赛计分系统是一个简单的信息致、接收和处理系统。系统由PC机、评分终端等组成,采用串行总线通讯,语言包括VB和汇编语言。评委在各自的计分终端上输入比赛结果,终端通过总线将数据传输到PC。介绍了系统的工作原理、软硬件设计,给出了部分电路的关键源代码和原理图。关键词: VB汇编语言串行通信竞争_摘要:评委评分系统是一个简单的信息致、接收和处理系统,该系统由PC机、评分终端组成,该系统的语言为VB、汇编程序。总线结构。硬件结构简单。在传统的比赛计分中,得分、格式和有效性需要人工检查,容易出错,也会影响计分的公平性。本系统是:队员分数的采集、分析、处理,然

2、后通过显示的方式伸出一英里。使用本系统后,可以节省比赛组织者的人力、物力。可使分级效率、精度得以提高。评分系统简单、实用,可以使组织的活动变得轻松而专业。关键词s : vb,汇编,串口,游戏目录TOC o 1-2 h z u HYPERLINK l _Toc357413448 1前言 PAGEREF _Toc357413448 h 4 HYPERLINK l _Toc357413449 2硬件选项 PAGEREF _Toc357413449 h 4 HYPERLINK l _Toc357413450 3软件选项 PAGEREF _Toc357413450 h 5 HYPERLINK l _To

3、c357413451 4通讯方案 PAGEREF _Toc357413451 h 6 HYPERLINK l _Toc357413452 5下位机软件设计 PAGEREF _Toc357413452 h 7 HYPERLINK l _Toc357413453 5.1主程序 PAGEREF _Toc357413453 h 7 HYPERLINK l _Toc357413454 5.2读键盘子程序 PAGEREF _Toc357413454 h 8 HYPERLINK l _Toc357413455 5.3致子程序 PAGEREF _Toc357413455 h 9 HYPERLINK l _To

4、c357413456 5.4显示子程序 PAGEREF _Toc357413456 h 10 HYPERLINK l _Toc357413457 6 PC 软件设计 PAGEREF _Toc357413457 h 11 HYPERLINK l _Toc357413458 6.1系统实现 PAGEREF _Toc357413458 h 11 HYPERLINK l _Toc357413459 6.2输入播放器界面 PAGEREF _Toc357413459 h 12 HYPERLINK l _Toc357413460 6.3更改比赛项目界面 PAGEREF _Toc357413460 h 12

5、HYPERLINK l _Toc357413461 6.4得分统计 PAGEREF _Toc357413461 h 13 HYPERLINK l _Toc357413462 6.5系统设置 PAGEREF _Toc357413462 h 14 HYPERLINK l _Toc357413463 7系统调试 PAGEREF _Toc357413463 h 14 HYPERLINK l _Toc357413464 7.1硬件系统调试 PAGEREF _Toc357413464 h 14 HYPERLINK l _Toc357413465 7.2软件系统调试 PAGEREF _Toc35741346

6、5 h 15 HYPERLINK l _Toc357413466 结论 PAGEREF _Toc357413466 h 17 HYPERLINK l _Toc357413467 参考文献 PAGEREF _Toc357413467 h 18 HYPERLINK l _Toc357413468 至 PAGEREF _Toc357413468 h 191前言随着近年来各类赛事的火爆,主办方迫切需要一种操作方便、价格低廉的评分系统。本计分系统是根据评委在比赛中的计分方式设计的,具有比较完善的比赛计分功能。该系统的优点是:1、可以节省大赛主办方的人力物力。2、评分的效率和准确性整体提高。3、本评分系统

7、操作简单,实用性强,使活动组织更轻松、更专业。该系统适用于各类比赛的评委评分,如:国际象棋比赛、歌唱比赛、计算机知识竞赛、乒乓球比赛、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/2586097.htm t _blank 足球比赛等。该系统由PC机、评分终端等组成,采用总线结构,硬件结构简单,生产组装方便,可有效节省成本和时间。2 硬件选项选择AT89C51单片机(如图1),此单片机包含4KB ROM,有4个8位并口(P1、P2等)和1个串口,以及2个16位计数器/定时器(T0、T1) .除了 CPU,我们的硬件还有两个不可或缺的外

8、设可供选择:1.显示:终端上应该有一个显示器,以告知评委分数是多少。可使用LCD或LED数码管。该系统使用四个 7 段 LED 数码管。这种显示器由四个数码管组成。四个数码管的同一个接口已经连接在一起,不同的引脚从同一个引脚引出。例如:7个数字端子和1个小数点连接到单片机的P2端口。当某个引脚为低电平时,对应的灯亮,输出为1时对应的灯灭;四个序号端子分别是P30、P31、P32、P33,当我们选择一个时,我们可以选择点亮数码管的哪个序号。软件编码时采用扫描方式。每次只点亮一个数码管,依次点亮4个数码管。每个数码管亮0.005秒,4个数码管共亮0.02秒。为了使设计简单和自动化,我们使用时钟中断

9、的方法。在中断处理函数中,我们实现了不同数码管的顺序显示。2.键盘电路:由于按键数量较多,如果键盘以一键一接口的方式与键盘连接,51的引脚数会增加数倍,所以键盘以mn的矩阵形式连接(m=4, n=3),占用MCU 7个端口。图 2-1 AT89C51 单片机结构框图这个系统的远端不需要太强的计算能力,单片机就可以满足我的需求。不仅降低了硬件成本,还简化了软件设计3 软件选项1.主机:VB 是 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/2353.htm t _blank 微软公司开发的一种 HYPERLINK %20%20%20%2

10、0:/baike.baidu%20%20%20%20/view/536048.htm t _blank 事件驱动 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/552871.htm t _blank 编程语言。 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/39175.htm t _blank 程序员可以使用VB提供的组件快速编写出稳定的应用程序。这个项目中最重要的是上位机和下位机之间的串口通讯,而在VB中有一个通过串口致和接收数据的控件。从系统稳定性和系统复杂性的角度来看,

11、 Visual Basic是合适的。而且我对他也很熟悉。所以PC端的程序是用Visual Basic开发的。2、下位机:下位机为评分终端,选用Keil开发环境和汇编语言编程。4 通讯方案评分系统分工:上位机负责数据的处理、显示和保存。下位机负责输入数据。上下系统之间有一个通信过程。有很多沟通方法。我们可以选择以下通信方式之一。(1)并联方式:图 4-1 并联每个 MCU 连接不同的引脚,主机通过轮询方式读取第 N 个评分终端上的评委分数。说明:单片机连接到主机的并口优点:这种连接方式软硬件设计简单。缺点:连接多,通讯只能在几米内进行。(2)多串口线连接方式:图 4-2 多串口电缆连接注意:每个

12、 MCU 都通过串行电缆连接到主机。优点:这种方式软件设计简单,通讯距离可达几十米。缺点:连接多,主机需要有多个串口。(3) 单串口线连接:图 4-3 单串口线连接说明:每个MCU设置不同的地址,主机通过查询读取第N个MCU上的数据。优点:通讯距离远(几十米),连接少。缺点:软件设计略复杂。基于以上三种方式的优缺点,我们选择了第三种方式,RS-485总线方式。5 下位机软件设计5.1 主程序主程序流程图如图 5-1 所示。首先是中断、串口等的初始化,然后清空显示的“缓冲区”使终端显示“0”,然后调用read and press键盘程序直到有按键被按下,然后分析按下的按键价值。如果是小数点,检查

13、小数点是否被按下。如果未按下,则将前一个数字的高四位设置为 1。如果已按下,则输入错误。 ,此时我们可以忽略这个按键的值。如果键不是“.”,而是“OK”,我们调用致子程序。致完成后,我们再次清空“致缓冲区”,然后返回读键状态。如果既不是“ . ”也不是“ OK ” ,是数字键,那么先判断是否是第一次按下数字键。然后对key的值和“致缓冲区”进行OR运算,将运算结果存入“致缓冲区”。然后等待再次按下按钮。图 5-1 主程序5.2 读键盘子程序键盘读取子程序的流程图如图 5-2 所示。这里使用行反转法的键盘阅读程序设计。如果行值设置为“1”,则如果按下按钮,则只能确定是哪一行。按键被按下,此时无法

14、确定按下的是哪个键,列值设置为“1”。这时就可以确定按下了那一列的值,确定了行列,那么按下了哪个键也就罢了。然后根据这个值判断它代表什么数字,这就需要一个key-value表。图 5-2 读键盘子程序5.3 致子程序数据致子程序的流程图如图 5-3 所示。先致“主机号”,致主机号后,开始致实际分数。需要注意的是,任何时候监控数据的高四位是否为“1”,如果是1,我们需要致小数点。这样做比较麻烦。您还可以在接受键值时定义一个变量。致数字时,我们可以用它来确定小数点在哪里。这减少了每次比较的工作量。图 5-3 致子程序5.4 显示子程序显示子程序的流程图如图 5-4 所示。因为我们使用中断来显示显示

15、,所以按照中断函数的约定应该是现场保护。对被计数的变量进行取模运算,得到要显示的数据的偏移地址。然后我们判断数据的高四位是否为“1”,如果是,我们将“.”点亮,根据要显示的数据,我们在表格中查找段码。 “LED灯”根据段码点亮,count变量加1;定时器计数器的计数器值设置为初始值。还原场景。中断返回。图 5-4 显示子程序流程图6 上位机软件设计软件说明:软件有FORM1、2、3、4、5、6、Module1,其中程序的入口是Module1,这里我们先显示form2,也就是软件的主窗口。下面我将一一描述这些窗口。6.1 系统实现评分界面如图6-1所示。队员和比赛项目可以通过界面分别进行更改。评

16、委的评分情况通过 MScomm 控制改变。分数是根据评委的分数,比如平均分和总分。下一名球员和上一名球员的变化也可以改变球员、比分和裁判的得分情况。它是由from1中的msflexgrid改的,也可以存储一些基本的信息,比如球员的得分,裁判的得分。值得注意的是,比赛项目不能更改。图 6-1 评分界面6.2 进入播放器界面播放器输入界面如图 6-2 所示。图 6-2 输入播放器界面6.3 更改竞赛项目界面更改比赛项目界面如图 6-3 所示。图 6-3 更改比赛项目界面6.4 分数统计结果统计界面如图6-4所示,里面存储了游戏的所有信息。在Form2中按下下一个队员和上一个队员的按钮意味着显示的值

17、发生了变化。改成什么取决于form1中的内容。图 6-4 结果统计界面6.5 系统设置系统设置界面如图 6-5 所示。改变比赛的得分(取平均分还是总分)和裁判人数。这直接影响form2的显示和form1分数的存储。图 6-5 系统设置界面7 系统调试7.1 硬件系统调试该系统的硬件有两个主要组件,请务必在实验前确保它们正常工作。分别输入和输出。输入为键盘,输出为LED数码管。一、LED数码管测试:本项目中,P2口接LED数码管的数据输入端,P3的13口用于选择哪个数码管显示数字。所以我们可以一个一个输出8个字符,因为数码管的全亮度是8。这样不仅可以检测硬件连接是否正确,还可以让我们知道LED数

18、码管的灯是否正确。方法如下:a、将P2口的所有输出设置为1,将P3口的1号口设置为1,在第一个数码管上显示一个8和一个小数点。b、P2的管脚不变,P3端口上的端口2输出为1。以此类推。遇到的问题:当显示特定的数字如 1, 2, 3, 4 .时,我在 P2 端口上输出的是数字的原始二进制代码。但永远不会得到预期的结果。原来我犯了一个低级错误。我使用了更常用的方法:我写了一个数组。数组中数字的序号就是要显示的值,数组中对应序号的值就是我们要输出到P2口的值。2、键盘测试:在这个系统中,P1端口用于接受键盘的输入,它的输入不是一个具体的值,因为它需要很多端口。我们目前的设计只需要 7 个端口。我们现

19、在判断要输入的值是否正确,是硬件级别的调试,所以现在我们只需要得到一个由两个1和六个0组成的数字,两个1的组合就可以判断按下了什么键.遇到的问题:在连接键盘的时候,我首先选择了最简单的一针一键设计,但是在设计过程中发现针脚不够用,因为一开始没有考虑LED数码管,然后增加了LED数码管。管后,针脚不够用。经过多次尝试,我选择了当前的 4x3 键。只是设计被软件复杂化了。7.2 软件系统调试1、评分终端的显示子程序:第一步:先写一个无限循环,在显示缓冲区中依次写入4个数字01、02、02、01,使LED数码管依次显示1、2、2、1,当显示时,它会死。在循环中,依次选择P3的13端口,并在选择过程中

20、添加延时;功能:确认缓冲区的设置是否正确。第二步:在第一步的基础上,将无限循环改为时钟中断。这样我们的程序就可以中断显示。然后在中断处理程序上启动时钟中断,以便可以显示稳定的数字流。功能:数据的展示无需人工参与,完全由中断处理。遇到的问题:显示的时候,我的数据类型是char,但是有时候输出不正确。后来,我仔细研究了类型的表示。 Char类型只能保证我们数据的低七位有效。第八个是不确定的。将类型更改为 Unsigned Char 后,它起作用了。2.评分终端关键子程序按住一个键,从P2口读取扫描码,然后从扫描码表中得到对应的二进制数,然后导入到上一步调试的显示缓冲区中。如果显示的数字是正确的,说

21、明它已经被调试过了。否则打印二进制数并逐位调试。如果前面步骤的硬件和软件调试都没有问题,那么这一步问题不大。3、下位机软件和上位机软件的调试:在本系统中,编写上位机软件的难点和上位机与下位机之间关系的难点是串口数据的致和接收。其中,下位机没有大问题,比较麻烦的是上位机的接收。因为一个函数调用只有在开始接收数据时才会触发,而我们现在才刚刚从串口接收到数据,那么如何在不添加太多代码的情况下接收完整的数据呢?有两种解决方法:(a) 可以使用延迟功能,让cpu空闲一段时间,给串口一个时间来接收数据。当时间到了,我们的数据将被致。这时候,你可以放心大胆地一口气读完。(b) 可以启动定时器,使其激活,也可

22、以在读取数据之前等待一段时间。而方案a的读数据功能是在串口控制功能中进行的,方案b的数据读取代码是在时钟控制中进行的。我觉得两者差别不大,因为我们传输的数据量并不是很大。我选择了选项b的设计风格,因为这个设计思路比较清晰。综上所述随着毕业设计的结束,我的大学生活也将告一段落。回首四年的大学生活,感慨万千。在我大一的时候,我第一次听到编程这个词。我对电脑一无所知。后来逐渐系统地学习了C语言、C+、数字电学、作文原理、汇编语言、编译原理、操作系统等专业课程。大三最后一个学期学了半年java,想着以后要学java。里面有一顿饭。大三的第二学期突然意识到,如果我以后做Java,那么以前学过的一些理论课就完全没有意义了,所以我决定换个方向。毕业项目的选择也因为方向的改变而改变。根据自己的兴趣,选择低级单片机进行开发。通过这个毕业设计,我学会了如何查阅资料和使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论