目 录
1 设计概述................................................................................................................... 1
1.1 抢答器的工作原理............................................................................................. 1
2 系统硬件电路设计................................................................................................... 2
2.1 AT89C51 单片机硬件电路................................................................................. 2
2.2 晶振复位及开始抢答电路..................................................................................2
2.3 选手抢答键(矩阵式键盘)..............................................................................3
2.4 显示器与显示驱动电路......................................................................................3
2.5 蜂鸣器音频输出电路..........................................................................................4
3 系统软件设计........................................................................................................... 6
3.1 程序设计............................................................................................................. 6
3.2 主程序设计......................................................................................................... 6
3.3 系统流程图..........................................................................................................7
3.3.1 硬件复位流程图........................................................................................... 7
3.3.2 系统程序流程图........................................................................................... 7
3.3.3 显示抢答违规流程图................................................................................... 8
3.3.4 抢答成功流程图........................................................................................... 8
4 系统仿真................................................................................................................... 9
4.1 PROTEUS 软件介绍.............................................................................................. 9
4.2 仿真电路设计..................................................................................................... 9
4.3 仿真测试............................................................................................................. 9
4.3.1 开始抢答仿真.............................................................................................. 9
4.3.2 抢答犯规仿真............................................................................................. 10
4.3.3 抢答成功仿真............................................................................................. 10
4.4 仿真结果分析................................................................................................... 11
5 结束语..................................................................................................................... 12
6 参考文献................................................................................................................. 13
附录 A 系统电路图..................................................................................................14
附录 B 原器件清单..................................................................................................15
附录 C 程序清单......................................................................................................16
塔里木大学信息工程学院 Proteus 课程设计
1 设计概述
1.1 抢答器的工作原理
抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。采用动
态显示组号。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按纽
(P3.2),有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重
新抢答。主持人按下开始抢答按纽(P3.2),蜂鸣响声提示,且数码管 10 秒倒
计时(10 秒内抢答有效),有人在 10 秒抢答,蜂鸣器响声提示并显示他的组号,
3 秒开始 20 秒倒计时(20 秒内必须回答完问题)。20 秒后主持人按下复位开
关为下一题的抢答做准备。单片机最小系统、抢答按键模块(四位并行数码显示、
4*4 矩阵式键盘)、显示模块、显示驱动模块、抢答开关模块、蜂鸣器音频输出
模块。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理, 输
出控制信号,单片机控制的智能抢答器。
第 1页 共 20 页
塔里木大学信息工程学院 Proteus 课程设计
2 系统硬件电路设计
2.1 AT89C51 单片机硬件电路
单片机(SCM)是单片微型计算机(Single Chip Microcomputer)的简称。
它是把中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、I/O 接口电路、定时
/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。
它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出适配器简单,
功能较低[2]。目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深
地融入人们的生活中。近年来,AT89C51 在我国非常流行,它最大的特点是内部
有可以多次重复编程的 ROM,并且 ROM 可以直接用编程器来擦写,使用起来比较
方便。本设计使用到的元器件包括:AT89C51 芯片、数码 LED 显示器、七段 LED
数码管的译码。其中 AT89C51 是系统的核心,它主要负责控制各个部分的协调工
作。在其外围接上复位电路,上拉电阻,数码管,按钮以及振荡器,p1.0-p1.7
为抢答输入键接口,数码管段选 P0 口,位选 P2 口,蜂鸣器输出为 P3.0 口。
2.2 晶振复位及开始抢答电路
晶振的频率为 12MHZ,提供 89C51 的时钟脉冲使 89C51 工作,复位电路是单
片机初始化,使单片机重新开始执行程序。当复位开关按下 RST 由低电平变为高
电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按
下复位开关后进行下一题的准备。
图 2.1 复位及开始抢答电路
第 2页 共 20 页
塔里木大学信息工程学院 Proteus 课程设计
2.3 选手抢答键(矩阵式键盘)
89C51 的 P1 口做一个 4*4 的行列式键盘。P1.0 至 P1.3 轮流输出低电平在软
件查询 P1.4 至 P1.7 的电平变化来输入组号。给每一个选手编号 1 至 16,当选
手按下按钮时,电平变化从 P1 口输入,经单片机处理后从 P0 输出由数码管显示
抢答者编号。
图 2.2 选手抢答电路
2.4 显示器与显示驱动电路
数码管的显示可以分为两种:静态显示和动态显示。静态显示的段选位和位
选位均单独连接,因此占用的 I/O 接口多,无法扩展多个数码管。而数码管动态
显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码
管的 8 个显示笔划的同名端连在一起,当单片机输出字形码时,所有数码管都接
收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通
COM 端电路的控制,通过分时轮流控制各个数码管的 COM 端,就使各个数码管轮
流受控显示,这就是动态驱动。本次设计电路包括显示和驱动,显示采用数码管,
驱动用三极管 PNP。数码管要显示抢答违规者编号、抢答 10 秒倒计时、正常抢
答者编号和回答问题时间 20 秒倒计时,数码管采用动态显示。驱动电路 PNP 发
射极接+5V 电压,当基极为低电平是集电极为高电平则能驱动数码管使其显示数
字。因为 PNP 是模拟器件而数码管为数字器件,PNP 的集电极如果不接一个较大
的电阻显示就会出问题。所以在 PNP 的集电极接了一个 10 千欧的电阻。
第 3页 共 20 页
塔里木大学信息工程学院 Proteus 课程设计
图 2.3 显示器与显示驱动电路
2.5 蜂鸣器音频输出电路
蜂鸣器是一种电子电路中常用的发声器件,蜂鸣器分为有源蜂鸣器和无源蜂
鸣器两种。提供蜂鸣器发声所需要较高的电流,单片机的 I/O 口驱动能力有限,
而我们知道三极管有电流放大的作用,在这里就是利用三极管放大电流来使蜂鸣
器获得足够的驱动电流。
蜂鸣器音频输出电路的功能是用来报警,当遇到报警信号时,发出蜂鸣声,
以此来提醒操作者。本电路通过控制不同频率的矩形脉冲来控制蜂鸣器发声。此
次课程设计中只需要一些简单的提示声音,如有抢答违规,开始抢答,抢答时间
结束和回答问题时间到的提示声音。本课程设计从 P3.0 口输出一个矩形脉冲来
控制驱动器 PNP 集电极的高低电平时间来控制蜂鸣器的声音。
第 4页 共 20 页
塔里木大学信息工程学院 Proteus 课程设计
图 2.4 蜂鸣器音频输出电路图
第 5页 共 20 页
塔里木大学信息工程学院 Proteus 课程设计
3 系统软件设计
3.1 程序设计
程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目
标明确的智力活动。在进行微机控制系统设计时,除了系统硬件设计外,大量的
工作就是如何根据每个生产对象的实际需要设计应用程序。在单片机控制系统
中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采
集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计
算,然后再输出。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,
每一部分叫做一个模块。把一个程序分成具有多个明确任务的程序模块,分别编
制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为
模块化程序设计。所谓“模块”,实质上就是能完成一定功能,并相对独立的程
序段,这种程序设计方法称为模块程序设计法。
模块程序设计法的主要优点是:
(1)单个模块比起一个完整的程序易编写、调试及修改。
(2)程序的易读性好。
(3)程序的修改可局部化。
(4)模块可以共存,一个模块可以被多个任务在不同条件下调用。
(5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。
本系统软件采用模块化结构,由主程序﹑键盘子程序、显示驱动子程序构成。
3.2 主程序设计
为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必
须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当
时间设好了之后,主持人按开始键发布抢答命令,若在主持人未按开始键之前,
有选手提前答题,则为违规抢答,蜂鸣器会发出警告声,并在显示器上显示犯规
的选手编号。当有选手抢答成功,则程序打开定时中断开始倒计时,然后调用键
盘扫描子程序,编写键盘扫描程序,其他选手在此之后按键无效。当在扫描到有
人按下了抢答键,马上关闭 T0、调用显示程序、封锁键盘。
第 6页 共 20 页
塔里木大学信息工程学院 Proteus 课程设计
3.3 系统流程图
3.3.1 硬件复位流程图
开 始
初始化
读键盘是否有键按下
Y
调用显示抢答违规并报
警子程序
N
N
中断条件是否
满足
Y
进入中断程序
图 3.1 硬件复位流程图
3.3.2 系统程序流程图
开中断并响声提示
设定定时器初值并启动定时器
10 秒抢答倒计时开始显示
调用读键子程序作为延时程序
是否有按键按下
Y
N
调用抢答者获得回答的子程序
10 到时中断并返回
图 3.2 系统程序流程图
第 7页 共 20 页