找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 39961|回复: 51
收起左侧

单片机《8位竞赛抢答器的设计》课程设计报告

  [复制链接]
ID:358229 发表于 2018-6-25 09:56 | 显示全部楼层 |阅读模式




接口技术及应用
课程设计


题目

8位竞赛抢答器的设计

学院(系)

信息工程系

专业

计算机科学与技术

班级

20153

姓名








指导教师




摘要

抢答比赛能极大地提高参赛者与观众的兴趣,而多人抢答器作为一种抢答比赛常用的工具现在已经广泛运用于各种抢答竞赛,多人的抢答器要求要能快速锁定抢答的信息,并且可以灵活地计时,还要能方便主持人设置抢答时间。

本设计使用 AT89C52单片机芯片以及MAX7219串行输入/输出显示驱动芯片可以实现多人抢答系统,利用AT89C52单片机的中断、记数的功能以及其优秀的性能,通过高速扫描选手按键I/O口,可以精准锁定抢答成功选手编号,并为系统提供计时功能,同时不断更新数码管输出信息使其能够正确地显示抢答时间与抢答成功选手编号。







Abstract

Answering the competition can greatly increase the interest of the participants and the audience, and the multi-user responder is now widely used in various rush-answering contests as a common tool for answering the match. The multi-user responder needs to be able to quickly lock the answer. Information, and can be flexibly timed, but also to facilitate the host set the answer time.

This design uses the AT89C52 microcontroller chip and the MAX7219 serial I/O display driver chip to implement a multi-user system, using the interrupt and count functions of the AT89C52 microcontroller and its excellent performance, by high-speed scanning of the player's button I/O ports. Accurately lock the successful player number and provide the system with the timekeeping function. At the same time, it constantly updates the digital tube output information so that it can correctly display the answering time and the successful player number.



目 录

第1章  需求分析

第2章  系统概要设计

2.1 8位竞赛抢答器的整体设计

2.2 8位竞赛抢答器功能流程

第3章  仿真电路设计

3.1 仿真电路总体设计

3.2 单元电路设计

3.2.1 晶振电路与复位电路

3.2.2 抢答电路

3.2.3 显示电路

3.2.4 控制电路

第4章 系统软件设计

4.1 软件主程序设计

4.2 软件子程序设计

第5章  仿真结果分析

5.1仿真结果分析

第6章 课程设计总结

参考文献

致  谢

附录



8位竞赛抢答器的设计
第1章  需求分析

抢答比赛是一个参赛者与观众都喜爱的富有激情的比赛,在主持人宣布开始答题后,选手要在规定的时间内,以抢答的方式来回答问题。过去,人们抢答比赛仅依靠主持人人为的判断来判定到底哪个选手是最快抢答成功的,这种抢答方式不仅精准性低而且效率也不高,所以抢答比赛就需要有抢答器来进行辅助比赛,精准选出抢答成功的选手。

本次我们要设计的是一个8位竞赛抢答器,可以同时供8名选手或8支队伍比赛。抢答器要求能快速地锁定抢答选手或队伍的编号,抢答的信息要能迅速显示在数码管上,并且要能为主持人提供方便的比赛操作,可以灵活地进行比赛时间调节与操作比赛的开始与结束,保证整场比赛的公平性与灵活性。考虑到比赛运营的费用与投入的成本,抢答器整套系统的成本也不能太高,所选用芯片的价格要求要适中,这样才能保证抢答器系统的价格在可以普遍应用的范围内。


2  系统概要设计
2.1 8位竞赛抢答器的整体设计

8位竞赛抢答器可以同时提供 8 名选手参加比赛,使用AT89C52单片机芯片的P1^1 – P1^7口作为抢答按钮的接口,与8个按钮相连接,模拟选手的抢答按键。并在P2^0口与P2^1口分别设置一个抢答开始按键与抢答时间设置按键,提供给主持人进行比赛的控制,再利用系统的复位功能,重置系统模拟进入下一题,重新设置计时时间与计时抢答工作的准备。数码管的显示驱动由MAX7219显示芯片带动,使用AT89C52单片机芯片的P3^0(RXD)与P3^1(TXD)口分别与MAX7219芯片的DIN口与LOAD口连接,进行串行通信与数据装载,传送当前的抢答时间与抢答成功选手编号,CLK时钟序列输入口与AT89C52芯片的INT0口(外部中断口)进行连接,提供控制信息。

2.2 8位竞赛抢答器功能流程

接通电源后,主持人可以按抢答时间设置按键进行抢答时间的设置,在设置好抢答时间后,按开始按键即可开始计时抢答,此时选手可以通过自己的按键进行抢答。在一个选手成功之后,系统会进行选手编号与抢答时间的锁定,数码管就会显示当前抢答选手的编号与抢答时间。系统流程图如下所示:

图2-1 8位竞赛器系统流程图


3  仿真电路设计
3.1 仿真电路总体设计

8位竞赛抢答器使用了AT89C52芯片和MAX7219芯片进行设计,AT89C52是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS,8位微处理器,俗称单片机,用于抢答逻辑电路的设计。MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED,拥有10MHz连续串行口与独立的LED段控制,用于显示抢答成功选手编号显示与抢答时间显示。

系统的总体电路如下图所示:

图3-1 总体电路图



3.2 单元电路设计

为了更好的设计8位竞赛抢答器,我们根据各个部分的功能将总电路划分成为晶振电路、抢答电路、显示电路以及主持人控制电路,以下是对各个单元电路的详细说明。

3.2.1 晶振电路与复位电路

该晶振电路使用的是内部时钟电路,晶振的频率为12MHZ ,提供AT89C52芯片的时钟脉冲使AT89C52芯片工作。复位电路使用的是按键与上电复位,复位电路可以使单片机重置,使单片机重新开始执行程序。当复位开关按下 RST 口由低电平变为高电平,触发复位功能,系统重置。晶振电路电路图如下图红圈区域,复位电路如下图蓝圈区域,如图:

图3-2 晶振电路电路图

3.2.2 抢答电路

抢答电路使用AT89C52的P1^0 - P1^7作为选手的抢答按键,选手编号分别1到8,当选手按下按键时,按键对应的接口由高电平变为低电平,程序不断扫描P1各个口电平的变化,在扫描到有接口变为低电平后,迅速锁定该口的编号,模拟抢答成功情形。抢答电路电路图如下图红圈区域所示:

图3-3 抢答电路电路图

3.2.3 显示电路

显示电路由MAX7219芯片进行显示驱动,两个10引脚的LED数码管进行选手编号的显示与抢答时间显示,由DIN接口(串行数据输入端口)进行串行数据的输入,LOAD口进行数据的装载,再通过DIG0~DIG7口进行片选信号的输出,对LED数码管进行控制。显示电路电路图如下图红圈区域所示:

图3-4 显示电路电路图

3.2.4 控制电路

控制电路由AT89C52芯片的P2^0与P2^1口进行实现,通过与两个按键进行连接,实现开始计时与抢答时间的设置。控制电路电路图如下图所示:

图3-5 控制电路电路图


4 系统软件设计4.1 软件主程序设计

图4-1 主程序流程图

程序Main函数

  1. <font style="font-size: 12pt">void main()
  2. {
  3.   while(1)
  4.   {
  5.   do
  6.   {
  7.     holderscan();
  8.   }
  9.   //while(begin);//开始前进行设置,若未按下开始键    主持人是否把开始按键按下
  10.   while (begin)
  11.   delay_ms(10);//防抖
  12.   while(!begin);
  13.   max7219_init(); //芯片初始化
  14.   timer_init();                //中断初始化
  15.   TR0=1;                              //开始中断
  16.   do
  17.   {
  18.     time_display(second);
  19.               people=keyscan();//扫描选手按键
  20.               scare_display(people);
  21.   }
  22.   while((!people)&&(second));//运行直到抢答结束或者时间结束
  23.   TR0=0;
  24.   }
  25. }</font>
复制代码


第5章  仿真结果分析
5.1仿真结果分析

系统仿真时首先要在使用KeilC编译器,把所写的程序进行编译,同时在仿真器里设置生成 hex 文件,编译无错误时使用 Proteus软件仿真。电路启动仿真结果如下所示:

图5-1 电路启动仿真图

按下START按键后,抢答开始,开始30s倒计时,仿真结果如下所示:
图5-2 倒计时仿真图

点击任意选手按钮,倒计时暂停,显示选手编号,仿真结果如下所示:

图5-3 选手抢答仿真图

若该选手打错,继续倒计时,选手编号清零,仿真结果如下所示:

图5-4 继续抢答仿真图

一轮答题结束后,点击复位按钮,倒计时复位,选手编号清零,仿真结果如下所示:

图5-5 复位仿真图

6章 课程设计总结

在这次课程设计中,通过完成8位竞赛抢答器的设计,我们对书本上的知识有了进一步的了解。将以前学习过的模电知识与proteus软件的操作结合起来。本次课程设计我们选择8位竞赛抢答器设计的原因是这看起来是个相对简单一点的课题,但当我们真正开始设计的时候,发现这个课题并没有我们想象中的那么简单,在设计电路的过程中遇到了不少的问题。虽然我们通过查阅书本和网上的资料在proteus上成功画出本次设计所需要的电路图,但我们在电路仿真的时候发现电路中的电阻及电容参数设置错误,导致仿真过程中电路无法正常运行,当我们改正后再次仿真的时候又发现了定时器的初值设置有误以及其他元器件的参数都有点小问题,经过几次修改,电路成功仿真并达到了我们预期设想的结果。

本次的课程设计使我们受益匪浅。加深了我们对单片机和数字电路的认识,相信这在以后的学习和工作中碰到这些基础元器件我们会更加得心易手。我们还学习到了一些课堂上学不到的东西,这些知识可能对于我们将来的毕设、学习或者工作来说,都是很有帮助的。希望以后我们还能更多这样的机会来学习更多的知识。



致  谢

经过一周的努力,我们成功完成本次课程设计的课题,以单片机为核心设计出一个8位竞赛抢答器。虽然还存在一些小问题,但基本达到本次课程设计的设计要求。

在这一周的课程设计中,我们在设计过程中遇到一些曲折。在编写程序和完成电路仿真时,几次因无法实现设计所要求的结果或错漏百出,我们只好重新设计一个新的方案。好在得到老师和周围同学及好友的帮助,我们才能坚持下去并成功完成本次课程设计。在此我们要感谢罗泽鹏老师对我们的指导,老师知识渊博,做事严谨,平近易人。向老师请教问题时,老师细心地解答我们的问题,还经常帮忙指出我们没有发现的错误并提出改善的建议。我们还要感谢周围的同学,在完成本次课程设计的过程中得到他们不少的帮助和支持。不过我们最想感谢的还是我们自己,正是因为我们组员互帮互助、团结友爱、坚持不懈的精神,我们才能在本次课程设计画下一个完美的句号。


附录

总电路图

电路元器件图表

名称

图标

检索名

电容

CAP

CAP-ELEC

晶振

CRYSTAL

按钮

BUTTON

电阻

RES

喇叭

SOUNDER

数码管

7SEG-MPX2-CC

7SEG-MPX2-CC-BLUE

接地

GROUND

VCC

POWER

AT89C52

AT89C52

MAX7219


完整的Word格式文档51黑下载地址(含源码):
《8位竞赛抢答器的设计》课程设计报告.docx (650.02 KB, 下载次数: 562)



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:444609 发表于 2018-12-19 23:02 | 显示全部楼层
根据文档我画了一幅简单proteus图,新手多见谅

抢答器.rar

17.25 KB, 下载次数: 192, 下载积分: 黑币 -5

评分

参与人数 1黑币 +70 收起 理由
admin + 70 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:556643 发表于 2019-6-17 21:55 来自手机 | 显示全部楼层
能问一下大神我仿真有用,硬件为什么什么显示都没有吗
IMG_20190617_144401.jpg
1560778330651.jpg
回复

使用道具 举报

ID:371345 发表于 2018-7-14 16:27 | 显示全部楼层
很有帮助,厉害了
回复

使用道具 举报

ID:450005 发表于 2018-12-19 16:29 | 显示全部楼层
源代码呢?
回复

使用道具 举报

ID:450005 发表于 2018-12-19 20:26 | 显示全部楼层
pdsprj文件有吗
回复

使用道具 举报

ID:450005 发表于 2018-12-20 15:10 | 显示全部楼层
昊天浮梦 发表于 2018-12-19 23:02
根据文档我画了一幅简单proteus图,新手多见谅

你好,源代码包括hex文件,c文件等等有吗?
回复

使用道具 举报

ID:444609 发表于 2018-12-26 09:19 | 显示全部楼层
米老鼠alan 发表于 2018-12-20 15:10
你好,源代码包括hex文件,c文件等等有吗?

有的,邮箱还是我直接挂上去。
回复

使用道具 举报

ID:453059 发表于 2019-1-2 08:25 来自手机 | 显示全部楼层
米老鼠alan 发表于 2018-12-20 15:10
你好,源代码包括hex文件,c文件等等有吗?

你有程序代码吗
回复

使用道具 举报

ID:460196 发表于 2019-1-3 01:03 | 显示全部楼层
你有hex文件吗?
回复

使用道具 举报

ID:453059 发表于 2019-1-3 09:05 来自手机 | 显示全部楼层
徐徐8888 发表于 2019-1-3 01:03
你有hex文件吗?

你有c语言程序吗
回复

使用道具 举报

ID:453059 发表于 2019-1-3 09:27 来自手机 | 显示全部楼层
昊天浮梦 发表于 2018-12-26 09:19
有的,邮箱还是我直接挂上去。

你能给我发一遍八位竞赛抢答器的hex文件吗
回复

使用道具 举报

ID:463288 发表于 2019-1-7 12:35 | 显示全部楼层
有pcb图吗
回复

使用道具 举报

ID:468532 发表于 2019-1-15 14:44 | 显示全部楼层
有汇编语言的吗
回复

使用道具 举报

ID:516302 发表于 2019-4-19 13:35 | 显示全部楼层
7SEG-MPX2-CC和7SEG-MPX2-CC有什么区别吗?
回复

使用道具 举报

ID:516413 发表于 2019-4-19 15:25 | 显示全部楼层
才发现有这么一个功能强大的网站,赞
回复

使用道具 举报

ID:508547 发表于 2019-4-22 14:05 | 显示全部楼层
代码没有运行成功,数码管始终是全亮状态求大神指教
回复

使用道具 举报

ID:538663 发表于 2019-5-15 10:42 | 显示全部楼层
很不错的资源
回复

使用道具 举报

ID:555364 发表于 2019-6-5 10:10 | 显示全部楼层
wx1235 发表于 2019-4-18 14:58
求给个源程序!!谢谢大神!!邮箱:

大哥,有源代码么,HEX文件也行
回复

使用道具 举报

ID:555364 发表于 2019-6-5 10:16 | 显示全部楼层
昊天浮梦 发表于 2018-12-26 09:19
有的,邮箱还是我直接挂上去。

有源代码么,本人一名正经学生求源代码
回复

使用道具 举报

ID:562222 发表于 2019-6-22 14:53 | 显示全部楼层
值得学习参考
回复

使用道具 举报

ID:612458 发表于 2019-9-17 11:04 | 显示全部楼层
有完整源代码吗
回复

使用道具 举报

ID:656893 发表于 2019-12-5 17:47 | 显示全部楼层
Eyrane 发表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么区别吗?

cc是共阴极,ca是共阳极
回复

使用道具 举报

ID:658131 发表于 2019-12-7 14:29 来自手机 | 显示全部楼层
昊天浮梦 发表于 2018-12-19 23:02
根据文档我画了一幅简单proteus图,新手多见谅

大神,电路已完成,求程序,学习,万分感谢!
回复

使用道具 举报

ID:720479 发表于 2020-4-1 19:32 | 显示全部楼层
感谢发帖,可以分享一下hex文件吗
回复

使用道具 举报

ID:723005 发表于 2020-4-5 18:58 来自手机 | 显示全部楼层
很有帮助,谢谢
回复

使用道具 举报

ID:752778 发表于 2020-5-17 16:57 来自手机 | 显示全部楼层
给个源代码白,大佬
回复

使用道具 举报

ID:693628 发表于 2020-5-18 12:41 来自手机 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

ID:757620 发表于 2020-5-21 17:52 | 显示全部楼层
大神求源代码 十分感谢
回复

使用道具 举报

ID:769356 发表于 2020-6-4 14:13 来自手机 | 显示全部楼层
求源程序,谢大神!
回复

使用道具 举报

ID:735286 发表于 2020-6-16 14:32 | 显示全部楼层
赞一个 好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:783430 发表于 2020-6-18 17:02 | 显示全部楼层
是真的太详细了,找的很多都没有这个这么详细
回复

使用道具 举报

ID:783404 发表于 2020-6-18 21:11 | 显示全部楼层
求源程序,还有仿真图啊
回复

使用道具 举报

ID:783430 发表于 2020-6-20 15:47 | 显示全部楼层
老铁那个程序函数用Keil C51导不成hex文件啊
回复

使用道具 举报

ID:784420 发表于 2020-6-20 19:14 | 显示全部楼层
有源代码吗?我下载了就一个dsn文件,没啥帮助啊

回复

使用道具 举报

ID:714870 发表于 2020-7-1 20:18 | 显示全部楼层
哥,可以给份源代码吗?小白下载了你的word还是看不懂呀
回复

使用道具 举报

ID:714870 发表于 2020-7-1 20:20 | 显示全部楼层
昊天浮梦 发表于 2018-12-19 23:02
根据文档我画了一幅简单proteus图,新手多见谅

哥,现在还有吗源代码吗
回复

使用道具 举报

ID:853284 发表于 2020-12-2 18:52 | 显示全部楼层
代码没有完全运行成功,倒计时数码管始终常亮,求大神解答
回复

使用道具 举报

ID:855960 发表于 2020-12-7 15:47 | 显示全部楼层
ddya 发表于 2020-12-2 18:52
代码没有完全运行成功,倒计时数码管始终常亮,求大神解答

老哥,能求一份代码嘛 QAQ
回复

使用道具 举报

ID:851280 发表于 2020-12-7 21:07 | 显示全部楼层
请问,可以把七个S开关,换成4X4键盘来控制嘛?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表