基于fpga的四路抢答器

2024-04-12

基于fpga的四路抢答器(精选11篇)

篇1:基于fpga的四路抢答器

一、课题设计的基础和实验条件

1.工作基础

(1)数字电路,模拟电路的学习;对所需使用的芯片管脚及

功能的了解;掌握了基本的数字电路设计流程。

(2)学会使用MAX+PLUS 软件设计数字电路;

了解EDA实验开发系统。

2.实验条件

(1)提供有目标芯片:FPGA-型号EP7128SLC84-15的实验开发系统、数码显示器、二极管、三极管、钮子开关;

(2)电路设计器件:

AND4、NOT、D触发器等

二、设计目标

1.4人抢答器(四名选手分别为:R1,R2,R3,R4);

2.主持人启动及复位开关HT;

3.七段显示码显示选手的编号;

4.抢答器具有“互锁”功能; 三 设计电路图及仿真

该设计属于较为复杂的中小规模数字系统设计,按照系统的功能要求和自顶向下的层次化设计思想,该抢答器可以分为三个模块,他们分别为:抢答器控制模块——IN,该模块用于控制选手及主持人的动作;编码模块——qiwei,用于将选手的编号编码以便用数码管显示输出;

(1)抢答器控制模块IN的设计:

该模块在任意一位选手首先按下抢答键后,其输出高电平给D锁存器,并将输出结果送至编码器qiwei, 该模块的主持人按键HOST按钮可以实现系统的复位。其原理图为:

选手的输出信号发出之后,需要把输出转换为数字,故需要加一个七位译码器。(2)七位译码器的设计:

通过编程定义生成了一个七位译码器:

生成此七位译码器的程序如下:

(3)生成完整设计图:

两个模块进行连接即得到最终的实验电路图:

(4)设计图的仿真:

对设计的电路进行仿真得到仿真图如下:

从仿真结果可以看出符合功能要求。

(5)连接引脚图:

根据设计图选择适当的引脚连接得到下图的引脚图

连接完引脚图后,通过PROGRAMER即可通过开发板来进行调试验证。最终通过多次的调试与验证,终于完成了实验。

四 心得体会:

本次实践我认为完成的比较艰辛,首先在上第一节课的时候,听老师讲到这门课程设计需要学到一些先修课程。但是单片机,PLC,FPGA我之前都没学过,而且之前学的数电和模电也很多知识都有些记不清了。所以觉得特别慌,于是在第一节课后就在课下看老师给的参考资料。开始的时候觉得好多都不懂完全不明白讲的是什么。后来在找了一些视频之后对FPGA和MAX+PLUS平台有了一定的了解。后来又在选择电路的设计之前我认真复习了《数字电子技术》,对试验中涉及到的器件进行了重点复习;而且认真学习了《MAX+PLUS11操作指南》,后来在实验室开放后每天都去做实验调试。最终能够熟练地使用该软件完成中小规模的集成电路。虽然准备了不少,而且也自觉还是挺认真尽力的,但是之前的课程学的不好还是挺伤的,对于一些复杂的设计还是有挺多不太懂的,只能参考网上查到的资料去理解。

从开始做到成功共尝试过三个项目,第一个比较简单算是熟悉软件。本来是希望做好一个流水灯的但是后来发现输出电路太复杂,经过多次调试始终在仿真时打不到自己的要求,被迫作罢。最后选择做4位抢答器,设计图画出来并没有花费太多时间,但是调试真是花了大量的时间,因为开发板的接线经常会出现一些接触不良,导致即使仿真结果是对的,但是却在开发板上达不到自己的要求。只能一步一步通过排除法来修改更换接触不良的引脚。最终,终于解决了所有问题完成了设计。虽然设计不算特别高明特别复杂。但是毕竟是自己一点一点做出来的,所以还是觉得挺有成就感。

就具体收获来说,首先知识上,通过此课程设计,让我复习了之前学习的知识,同时让我对FPGA有了一个整体的了解,对MAX+PLUS软件也比较熟悉了。除此之外,我觉得在这个实验的过程中也锻炼了我的耐心,让我能比较专注的去做一件事情。而且经历了这次试验我认识到电路设计是一个踏踏实实的过程,设计过程中我们需要循序渐进,一步一个脚印,来不得半点马虎和浮躁心理。

篇2:基于fpga的四路抢答器

市场上有许许多多种抢答器,但功能却各不相同,电路也形形色色,而所选元件也各不相同。笔者设计了一款用plc控制的抢答器,该抢答器集抢答、声音警示、灯光指示和计时于一身,借助较少的外围元件完成抢答的整个过程,选用的是(OMRON)生产的C20p型PLC设计制作了四路抢答器,该设计编程简单,容易理解掌握,且工作稳定可靠。总体电路简单,易于制作。

1、系统工作原理 1.1 控制要求

(1)竞赛者若要回答主持人所提问题时,须抢先按下桌上的抢答按钮;

(2)绿色指示灯亮后,须等主持人按下复位按钮PB5后,指示灯才熄灭;

(3)如果竞赛者在主持人打开SW1开关10 s内抢先按下按钮,电磁线圈将使彩球摇动,以示竞赛者得到一次幸运的机会;

(4)如果在主持人打开SW1开关10 s内无人抢答,则必须有声音警示,同时红色指示灯亮,以示竞赛者放弃该题;

(5)在竞赛者抢答成功后,应限定一定的时间回答问题,根据题目难易可设定时间(如2 min);

(6)当主持人打开SW2开关后记时开始,如果竞赛者在回答问题时超出设定时限,则红色指示灯亮并伴有声音提示,竞赛者停止回答问题。1.2 选定输入、输出设备

输入设备

输入端子号

抢答按钮 PB11 0000

抢答按钮 PB12 0001

抢答按钮 PB21 0002抢答按钮

抢答按钮 PB31 0004

抢答按钮 PB32 0005

抢答按钮 PB41 0006

抢答按钮 PB42 0007

复位按钮 PB5 0008

选择开关 SW1 0009

限时开关 SW2 0010

输出设备

输出端子号

绿色指示灯L1输出

0500

绿色指示灯L2输出

0501

绿色指示灯L3输出

0502

绿色指示灯L4输出

0503

红色指示灯L5输出

0504

红色指示灯L6输出

0505

PB22 0003

电磁开关SOL输出

0506

回答限时声音输出

0508

2、系统软件设计[1~3] 2.1 控制梯形图

系统控制梯形图如图1所示。

2.2 工作过程

(1)由于0500使用他的自身触点(常开触点),在0000或0001闭合后仍保持在ON状态(自锁)。同时,将其常闭触点串入其他各回路中,在0500接通后,他的常闭触点打开,切断其他抢答回路(互锁);

(2)0501,0502和0503以同样方式动作,自锁继电器在复位按钮PB5再次动作时将清零;

(3)机会选择开关SW1使0009闭合后,10 s定时器TIM00启动;

(4)如果0500,0501,0502和0503在10 s定时器TM00动作之前任何一个闭合,则0506变为ON以示抢答成功,同时切断10 s计时显示输出回路,否则输出声音提示,以示竞赛者放弃该题;

(5)常开触点0009断开后,自锁继电器和定时器TIM00将清零;

(6)抢答成功后,主持人闭合限时开关SW2使 0010闭合后,2 min定时器TIM01启动,时间到0505和0508闭合,红灯亮并有声音提示停止回答;

(7)常开触点0010断开后,定时器TIM01清零,为下一轮抢答做好准备。2.3 程序指令

程序指令如表1所示。

2.4 外部接线图

外部接线如图2所示。

3、适当扩展

篇3:一种基于FPGA的抢答器设计

现场可编程门阵列(简称FPGA)是20世纪80年代末出现的高密度可编程逻辑器件,采用基于静态随机存储器的FPGA是易失性的,每次重新加电,FPGA都要重新装入配置数据。突出优点是可反复编程,系统上电时,给FPGA加载不同的配置数据,即可令其完成不同的硬件功能[1]。本文利用Max+plusⅡ软件作为开发工具,设计了一种基于FPGA的抢答器。该抢答器具有外围电路少,系统功能扩展性强,大大缩短了产品的研发周期,提高了设计的可靠性和成功率。

2. 抢答器设计基本要求与系统组成

2.1 抢答器设计基本要求

(1)抢答器可容纳四组12位选手,每组设置三个抢答按钮供选手使用。

(2)电路具有第一抢答信号的鉴别和锁存功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按抢答按钮,则该组指示灯亮并用组别显示器显示选手的组别,同时蜂鸣器发出“嘀嘟”的双音频声。此时,电路具备自锁功能,使其它抢答按钮不起作用。

(3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败提示,主持人可以按复位键,开始新一轮的抢答。

(4)设置犯规功能。选手在主持人按开始键之前抢答,则认为犯规,犯规指示灯亮和显示出犯规组号,且蜂鸣器报警,主持人可以终止抢答执行相应惩罚。

(5)抢答器设置抢答时间选择功能。为适应多种抢答的需要,系统设有10秒、15秒、20秒和30秒四种抢答时间选择功能[2]。

2.2 系统组成

根据抢答器的基本要求,把系统划分为组别判断电路模块OR4,抢答信号判别电路模块QD,犯规控制电路模块WG,分频电路模块DIV,倒计时控制电路模块DJS,显示译码电路模块LED和蜂鸣器控制电路模块SOUND等六个功能模块,如图1所示。

3. 抢答器设计

3.1 组别判断电路模块

组别判断电路模块输入端口A[2..0]、B[2..0]、C[2..0]、D[2..0]外接12位选手的抢答按钮,高电平有效。当A[2..0]所接的抢答按钮按下时,S0输出“1”;B[2..0]所接的抢答按钮按下时,S1输出“1”;C[2..0]所接的抢答按钮按下时,S2输出“1”;D[2..0]所接的抢答按钮按下时,S3输出“1”。不同组别间互不影响其对应的输出,而组别内部为并联关系,同组内只要有1个高电平输入则输出就为高电平否则输出为低电平。组别判断电路模块的部分VHDL源程序如下:

3.2 抢答信号判别电路模块

在抢答信号判别电路模块中,RESET为复位端,外接复位按钮。当为高电平时,输出端口被清零。抢答信号判别电路在系统复位后,对S[3..0]四路抢答信号进行判别,输出端BC[0..3]与S[3..0]一一对应,优先者对应的为“1”,其余的为“0”,且将结果锁存。

当使能端EN为高电平时,抢答信号判别电路对抢答信号进行采集。如有抢答信号则输出相应BCD码,并送到译码电路显示优先抢答组号,EX输出“1”,倒计时停止,抢答成功;如果EN信号为低电平,抢答信号有变化,则判断为犯规。抢答信号判别电路模块的部分VHDL源程序如下[3]:

3.3 犯规控制电路模块

在犯规控制电路模块中,EN为使能端,控制犯规电路执行与否。RESET为复位端,高电平有效。当使能端EN为高电平时,则此电路无效;而为低电平时,抢答信号S[3..0]有变化,则认为抢答犯规,犯规输出端Y被置1,响铃输出端BELL输出有效信号,对蜂鸣器进行选通,并显示犯规组别[4]。犯规控制电路模块的部分VHDL源程序如下:

3.4 分频电路模块

在数字电路系统设计中,分频电路应用得十分广泛,常常使用分频电路来得到数字系统中各种不同频率的控制信号。抢答器系统中的分频电路模块是用于产生倒计时电路所需的周期为1Hz的时钟脉冲,分频系数视输入时钟CLK的频率而定。由于CLK输入频率为1KHz,所以经过1千分频后就得到1Hz的时钟信号从CLK1S端输出。

3.5 倒计时控制电路模块

倒计时控制电路模块可以预置10秒、15秒、20秒和30秒四种抢答时间,通过预置端A[1..0]所接的开关选择。当主持人按下抢答开始按钮,允许计时端ENA为高电平,倒计时控制电路模块开始计时。抢答成功时,RET为高电平计时器停止,并分别从TIMEH[3..0]和TIMEL[3..0]端以BCD码方式输出倒计时的十位与个位,送至显示译码电路。同时从BELL端输出蜂鸣器选通控制信号。

3.6 显示译码和蜂鸣器控制电路模块

在显示译码电路模块中,为了节省I/O端口,显示译码电路模块LED采用动态显示的方式。BCD[7..0]为倒计时BCD码输入端,BCD[11..8]为台号BCD码输入端,LSEG[7..0]和LCS[2..0]分别为数码管各段输出及数码管选通信号,外接3个共阴数码管,其中1个用于显示组号,另2个用于显示倒计时时间[5]。

在选手抢答犯规或抢答倒计时到零时,蜂鸣器控制电路模块BELL端输出高电平,驱动蜂鸣器发出报警声。

4. 抢答器仿真结果

抢答器各个电路模块的VHDL源程序及顶层电路都采用EDA开发工具MAX+PLUSⅡ进行编译、逻辑综合,并对主模块以及顶层电路进行了仿真[6]。图2为抢答信号判别电路的仿真波形图。从图中可以看出,当主持人第一次按下复位和开始抢答按钮时,A组抢答成功,从bc端输出“0001”,表示A组抢答成功;而当主持人第二次按下复位和开始抢答按钮时,C组抢答成功,从bc端输出“0100”,表示C组抢答成功。图3为抢答器顶层电路仿真波形图,从图中可以看出,当主持人按下复位和开始抢答按钮,倒计时数码管显示数字“10”,表示预置10秒抢答时间。此时A组有1人优先抢答,组号数码管显示“1”,表示A组抢答成功。

5. 结束语

FPGA的出现从根本上改变了以往数字电路的设计模式,使电路由硬件设计转变为软件设计。从而提高了设计的灵活性,降低了电路的复杂程度,功能升级方便,大大缩短了设计周期,减少了研发经费。本系统具有较好的稳定性和可靠性,能准确、公正、直观地判断出第一抢答者,并通过抢答器的指示灯显示和蜂鸣器等手段指示出第一抢答者。这种抢答器系统的设计可以直接面向用户需求,根据系统的行为功能要求,自顶向下地逐层完成相应的描述、综合、优化、仿真与硬件电路的验证。

摘要:介绍一种基于FPGA的抢答器设计,给出了顶层电路原理图和主模块的部分VHDL源程序。利用MAX+PLUSⅡ开发平台完成了编译、仿真,并下载到EPF10K10LC84-4器件中进行测试。该抢答器不仅能实现互锁、自锁和倒计时功能,而且能用声音、数码管准确提示抢答的优先结果和犯规情况,具有广泛的应用前景。

关键词:抢答器,FPGA,VHDL,仿真

参考文献

[1]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2006.

[2]刘开绪.数字式抢答器的设计与实现[J].电子工程师,2005,30(9):69-71.

[3]谭会生,瞿遂春.EDA技术综合应用实例与分析[M].西安:西安电子科技大学,2004.

[4]李伟英,谢完成.基于EDA技术的抢答器的设计与实现[J].科学技术与实现,2008,8(11).

[5]杨刚,龙燕.现代电子技术-VHDL与数字系统设计[M].北京:电子工业出版社,2004.

篇4:基于fpga的四路抢答器

摘 要:针对实际应用的需要,利用可编程逻辑器件设计了抢答器。该抢答器单元电路的软件设计利用硬件描述语言设计完成。设计了控制主电路、数字显示电路、编码译码电路功能,并利用Quartus工具软件完成了编译仿真验证;硬件选择FLEX10K系列的EPF10K10LC84-4芯片来实现抢答器的系统功能。该抢答器具有很强的功能扩充性,应用效果良好。

关键词:可编程逻辑器件;抢答器;硬件描述语言;仿真;系统可编程

中图分类号:TM571.61

1 FLEX10K

FLEX10K系列器件首次采用嵌入式阵列,其容量高达25万门。由于它的高密度和易于在设计中实现复杂宏函数和存储器,因此可以把一个子系集成在单一芯片上,而每个FLEX10K器件都包含一个嵌入式阵列,每个嵌入式阵列可以实现专用的功能,因此嵌入式阵列可以减少芯片的体积,使其运行速度更快,使用更灵活。

2 VHLD硬件描述语言简介

VHDL最早是由美国国防部提出的。作为硬件描述语言的第一个国际标准,VHDL描述电路行为的算法有很多优点:

(1)设计层次较高,用于较复杂的计算时,能尽早发现存在的问题,缩短设计周期。(2)独立实现、修改方便。(3)移植性强,其源代码已成为一种输入标准,可用于各种不同的EDA工具。(4)VHDL类型众多而且支持用户自定义类型,支持自顶而下的设计方法和多种电路的设计。

3 QuartusⅡ简介

Altera的QuartusⅡ设计软件继承了MAX+plusⅡ的所有优点,是更加完善的PLD设计工具。它提供了完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统(SOPC)提供全面的设计环境。

4 设计思路

设计制作一个竞赛抢答器,每组受控于一个抢答按键,分别为s0、s1、s2、s3,设置主持人控制键rst,用于控制整个系统清零和抢答有效控制。按下复位键时,系统清零;抬起复位键时,抢答开始;系统具有第一抢答信号鉴别和锁存功能。在主持人将系统复位并使抢答有效开始后,第一抢答者按下抢答按钮,电路应记忆下第一抢答者的组别,并封锁其他各组的按钮,即其他任何一组按键都不会使电路响应;系统以两种方式指示第一抢答者:一是通过对应的输出引脚让数码管显示组别号;二是在第一抢答者产生时,蜂鸣器响起。

5 原理分析

5.1 抢答器鉴别模块

在这个模块中主要实现抢答过程中的抢答功能,还能记录抢答者的台号,并且能实现当有一路抢答按键按下时,其余各路被封锁的功能。其中有四个抢答信号s0、s1、s2、s3;抢答使能信号s;抢答状态显示信号states;抢答与警报时钟信号clk2;系统复位信号rst;警报信号tmp。

5.2 报警模块(已包含在抢答鉴别模块里)

在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有人抢答时蜂鸣器开始报警,有效电平输入信号i;状态输出信号q;计数脉冲clk2。

5.3 译码模块

在这个模块中主要实现抢答过程中将选手的台号转换成二进制码并送给数码管显示。

各模块程序如下:

抢答鉴别模块:

library ieee;--抢答鉴别模块

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity qdjb is

port(rst,clk2:in std_logic;

s0,s1,s2,s3:in std_logic;

states:buffer std_logic_vector(3 downto 0);

tmp:out std_logic);

end qdjb;

architecture one of qdjb is

signal st:std_logic_vector(3 downto 0);

begin

p1:process(s0,rst,s1,s2,s3,clk2)

begin

if rst='0' then

tmp<='0';st<="0000";

elsif clk2'event and clk2='1' then

if (s0='1' or st(0)='1')and not( st(1)='1' or st(2)='1' or st(3)='1' ) then st(0)<='1';

end if ;

if (s1='1' or st(1)='1')and not( st(0)='1' or st(2)='1' or st(3)='1' ) then st(1)<='1';

end if ;

if (s2='1' or st(2)='1')and not( st(0)='1' or st(1)='1' or st(3)='1' ) then st(2)<='1';

end if ;

if (s3='1' or st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1';

end if ;

tmp<=s0 or s1 or s2 or s3;

end if ;

end process p1;

p2:process(states(0),states(1),states(2),states(3))

begin

if (st="0000") then states<="0000";

elsif (st<="0001") then states<="0001";

elsif (st<="0010") then states<="0010";

elsif (st<="0100") then states<="0011";

elsif (st<="1000") then states<="0100";

end if;

end process p2;

end one;

译码模块:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY YMQ IS

PORT(AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END YMQ;

ARCHITECTURE ART OF YMQ IS

BEGIN

PROCESS(AIN4)

BEGIN

CASE AIN4 IS

WHEN "0001"=>DOUT7<="0110000"; --1

WHEN "0010"=>DOUT7<="1101101" --2

WHEN "0011"=>DOUT7<="1111001"; --3

WHEN "0100"=>DOUT7<="0110011"; --4

WHEN OTHERS=>DOUT7<="0000000";

END CASE;

END PROCESS;

END ARCHITECTURE ART;

6 结束语

本文利用硬件描述高级语言VHDL设计的优点完成了对应单元的电路设计,使系统较为简洁合理。利用复杂可编程器件实现了抢答器的系统功能,使电路引脚定义自如,实际印板布线灵活,应用可靠。通过以实例可以看出,用VHDL语言设计数字系统,是自上至下地进行设计,十分方便灵活。由于VHDL具有并行同时语句,设计的电路延迟小。

参考文献:

[1]谭会生,瞿遂春.EDA技术综合应用实例与分析[M].西安:西安电子科技大学出版社,2004.

[2]李国洪,胡辉,沈明山.EDA技术与实验[M].北京:机械工业出版社,2008.

篇5:基于fpga的四路抢答器

组员:肖燕艳、邓华、刘思纯、彭丽

一、设计目的

1、学习数字电路中的优先编码器、锁存器、多谐振荡器、译码器、数据显示管的综合运用。

2、熟悉抢答器的工作原理。

3、了解数字系统设计,调试及故障排除方法。

二、设计要求

1、四组参赛者进行抢答,当抢答组按下抢答按钮时,抢答器能准确的判断出抢答者。

2、抢答器应具有互锁功能,及某组抢答后能自动封锁其他各组进行抢答。

3、抢答器应具有限时功能,限时9秒进行抢答,要求显示时间数据。

4、系统具有一个总的复位开关。

三、实验元件

优先编码器74LS148 锁存器74LS297 译码器74LS48D 共阴数码管1个 5个开关 若干导线

四、实验原理

当主持人控制开关处于“清除”时,D触发器的清零端为低电平,使D触发器被强制清零,输入的抢答信号无效。当主持人将开关拨到“开始”时,D触发器Q非端前一状态为高电平,四个Q非端与在一起为高电平,再和抢答按键信号和借位信号与在一起给D触发器的脉冲端,当没人抢答时,抢答信号为低电平,与门输出端为低电平给D触发器脉冲端,当一有人抢答时,抢答信号为高电平,输出端为高电平给D触发器,于是D触发器就有一个上升沿,使得抢答信号经D触发器触发锁存再经过译码器译码,把相应的信号显示在数码管上。另外,当选手松开按键后,D触发器的Q非前一状态为低电平,与在一起后给与门,使得它的输出端为低电平给D触发器,则D触发器的脉冲输入端恢复原来状态,从而使得其他选手按键的输入信号不会被接收。这就保证了抢答者的优先性及抢答电路的准确性。当选手回答完毕,主持人控制开关S是抢答电路复位,以便进行下一轮抢答。

五、实验过程

1、仿真实验

在这个实验过程中,我们遇到的问题不是很多,就是对软件不太熟悉,找元件有点慢;另外就是由于粗心偶尔连错线,经过自己的检查还是能改正过来。所以从整体上看第一阶段的实验还是挺顺利的。

2、面包板实验

这个实验主要是用导线将元件连接在面包板上,由于没有找到可用的面包板,我们用细线将三个部分的电路绑在一起,过程较前面的仿真实验难度加大了,我们将整个实验图分成三个部分,每个小组成员各自负责一部分。由于刚开始对面包板的内部结构了解得不够透彻,所以电路连接还是有点困难,不知道从何处下手。经过自己的摸索以及和同学讨论慢慢地知道了面包板的结构,电路连接也就顺利了。

3、调试过程

完成电路后,我们进行了电路调试,发现出现了点问题。因为之前没有分模块测试电路的成功性,所以最后检查电路时就比较困难。我们的锁存电路和译码器电路一开始就挺成功的,问题就出现在开关电路:清零后,不管按哪个按键都只是出现7,检查完电路的各个方面后我们还是没有解决好这个问题。之后再老师的帮助下,利用探针检查电路,终于找出了问题所在,完善了实验电路。

四、实验总结

1、在使用仿真软件设计电路时,要特别注意元器件的封装,一旦出现封装错误,就会使得整个电路不能正常运行,所以要格外细心小心。

篇6:基于fpga的四路抢答器

关键词:数字电路,PLC,四路抢答器,设计,对比

社会经济发展不仅为人们的生活生产提供了必要的物质资源, 而且还为不断丰富人们的精神生活创造了良好条件, 文体、竞赛等娱乐活动在充实人们的精神生活方面发挥了重要作用, 而在竞赛等娱乐活动中的抢答环节, 如何实现公正、直观且准确的抢答判断是参与这一项活动的重点。在科学技术的不断进步与发展支持下, 应用抢答器来辅助竞赛抢答活动, 能有效提高活动中抢答判断的公正性与准确性, 所以对抢答器的设计与制作受到越来越多的重视。本文中对基于数字电路所设计的四路抢答器以及基于PLC所涉及的四路抢答器进行分析, 并对这两种不同设计进行比较分析, 为四路抢答器的优化设计与制作提供些许帮助。

1 基于数字电路的四路抢答器设计

通过数字电路所实现的四路抢答器设计的重点, 主要是电路原理及功能实现:

1.1 电路原理

在进行基于数字电路的四路抢答器设计中的电路设计时, 可将电路分为抢答控制、译码驱动显示及发声部分这几个功能模块进行设计。

图1所示为基于数字电路的四路抢答器设计中的电路原理框图, 如图所示, 主持人在抢答前按下复位按钮R后, 会有低电平于RS触发器的Q输出端输出, LED数码管未有显示, 而此时的CD4511工作状态为消隐, 蜂鸣器不发出声响, 且多谐振荡器没有震荡情况产生。而在抢答活动开始时, 首位按下按钮的选手所输入的高电平经编码电路会在输入至CD4511前编成对应的8421BCD码, 而RS触发器的S输入端与Q输出端流经的为高电平, CD5411则将译码输出锁存, 让L E D数码管的显示始终保持在首位选手的编号显示状态下, 同时又NE555定时器组成的多谐振荡器会有振荡产生, 而蜂鸣器也有声响发出。为了确保抢答器的公正准确, 降低抢答状况同时出现的几率, 需要首位选手在按下抢答按钮的同时完成电路锁存, 因此有较高的电路工作速度要求。

上图所示中4—4线编码, 可用于将抢答时的四路抢答输入信号编成相对应的8421BCD码, 若是在同一时刻出现多人抢答状况, 则此次抢答视为无效。而显示器则是由七段共阴极LED数码管来构成。图中RS触发器是由非门CD4001或是CMOS集成所构成, 经由RS触发器输入的高电平视为有效。门电路或是说四输入由电阻R1、R2、R3及R4与二极管VD3、VD4, VD5及VD6组成实现, 而CD4511译码输出在加到数码管相应阳极前, 需先实现220~330Ω电阻限流。

1.2 功能实现

所设计的抢答器可供四名选手参赛, 按顺序分别有各自的编号与控制按钮, 可实现抢答信号的输入, 同时还有一个供主持人控制的抢答控制开关与系统清零开关, 即主持人按下抢答控制开关为允许抢答, 而按下系统清零开关时抢答电流清零。抢答器的另一功能为数据锁存, 同时可通过LED数码管将锁存数据显示出来, 除非由主持人将数据清零。若是已有抢答信号输入并已显示出信号输入对应的编号号码时, 其他任何按钮按下时的抢答信号输入均为无效, 并且指示灯仍然持续在首开关按下时的状态。另外, 抢答器的抢答具有定时功能, 主持人在按下“开始抢答”按钮的同时开始计时, 定时器的减记同时显示于显示器上。若有选手在未允许抢答时的情况下按下抢答键则视为犯规, 而犯规选手的编号则会同时显示在显示器上。而在定时的抢答时间内, 选手抢答的具体时间与选手编号会显示于显示器上以供判断, 直至主持人将其清零。但若是在抢答时间内没有选手参与抢答, 设定时间一到变化将输入电路封锁, 以防有选手出现超时后的抢答状况, 而显示器上会同时显示时间并闪烁提醒。这些都是基于数字电路来设计的四路抢答器所要实现的基本功能。

2 基于PLC的四路抢答器设计

2.1 PLC概述

PLC可编程控制器是集计算机技术、通讯技术及传统继电器控制技术等为一体的新型自动化控制装置, PLC可编程控制器具有较高的可靠性, 不仅通用性好、体积小且使用方便, 而且具有运用灵活、易于扩展等优点, 已在许多工业控制领域发挥了重要作用。PLC可通过编写程序来实现定时的逻辑控制, 是通过输入/输出模拟量与数字量来实现对机械设备的控制的。抢答器的制作与应用场合不断增加, 再加上人们对竞赛抢答的公正、准确越来越关注, 将PLC的优势用于抢答器的设计与实现, 有效提高抢答活动的准确性与公正性, 是抢答器设计与实现的重要突破。应用PLC进行四路抢答器的设计, 就是充分考虑到其控制方便、应用灵活等优势, 应用PLC来进行抢答器的抢答方案设计, 只需要通过改变输入PLC的控制程序就可以实现, 大大降低了抢答器的设计难度。

2.2 电路原理

PLC基础上的四路抢答器中, 主持人开始与复位按键可以由按键操作, 四个参赛组配置四个抢答按钮, 所以在输入点的配置上也应该是四个输入点。对于输出端而言, 采用一个共阴极的七段数码管对参赛组的序号进行显示。PLC输出端直接对七段数码管进行驱动, 占用七个输出点;再加上一个红灯、一个绿灯、一个蜂鸣器, 总共三个负载, 所以该PLC总共需要配置10个输出点, 通过专用通信电缆进行连接。其接线原理如图2所示。

2.3 PLC设计四路抢答器的功能实现

基于PLC可编程控制器进行四路抢答器的设计中, 硬件电路设计较为简单, PLC的硬件组成部分包括CPU、输入/输出单元、编程器、存贮器以及通信接口等。应用PLC进行的四路抢答器设计, 抢答控制按钮可由PLC内部输入继电器的常开触点来实现, 而抢答锁存功能则有中间继电器触点来实现, 另外七段数码管显示与蜂鸣器发声的驱动可由输出继电器线圈来进行。在抢答活动进行时, 当首位选手按下抢答按钮时, 会触发显示器并显示出该选手的编号与具体抢答时间, 而同时蜂鸣器也发出声响提醒抢答结果, 此时的抢答器已被锁住, 其他选手按下按钮均为无效, 而显示器仍停留在首位选手按下抢答按钮的相关信息显示状态, 直至主持人将数据清零并按下复位按钮后重新开始下一轮抢答。

3 数字电路和PLC实现四路抢答器设计的比较

通过对两种设计实现方法的比较可知: (1) 基于数字电路进行的四路抢答器设计, 是完全在硬件电路逻辑关系的基础上进行并实现的, 首先可通过EWB软件实现设计的方针与模拟, 以有效确定各相关元器件机器有关参数, 在通过PROTEL软件进行对印刷电路板图的设计仿真, 然后根据设计框架进行安装调试。基于数字电路实现的四路抢答器设计在调试完成后, 其电路设计具有较高的可靠性与稳定性, 但电路设计方面较为复杂, 并且也有一定的调试难度。 (2) 可编程控制器PLC本身具有高可靠性, 且抗干扰能力较强, 并具有完善的使用功能, 而且设计安装相当简便, 编程也较为简单, 应用起来也灵活方便, 在许多工业生产控制领域都得以广泛应用并发挥重要作用。而应用PLC可编程控制器实现的四路抢答器的设计, 充分应用了PLC强大的软件编程功能, 通过软件来实现所设计四路抢答器的功能, 大大降低了安装调试方面的难度, 因此对硬件设计方面的要求较低, 只是通过简单设计就能实现。 (3) 基于数字电路与PLC实现的四路抢答器的设计, 还有一个较大的区别, 即若是需要增加一路或是多路抢答, 通过数字电路设计的四路抢答器改动幅度较大, 尤其是要增加输入电路, 而电路改动本身就是一个较为困难的工作, 再加上电路设计复杂, 改动难度相当大。但若是对基于PLC实现的四路抢答器设计进行改动, 其电路改动就要简单的多, 只需要通过增加一个或是多个中间继电器与输入点就可以实现, 而且再加上PLC可编程控制器软件编程的本身程序改动也相当简单, 大大降低了四路抢答器的改动难度。

4 结语

综上所述可知, 基于数字电路而设计的四路抢答器, 具有较高的可靠性与稳定性, 但其电路设计较为复杂, 而且也有较高的调试难度, 而基于PLC可编程控制器所设计的四路抢答器不仅有较高的可靠性, 而且抗干扰能力也较强, 另外设计安装与编程较为简便, 还有功能完善、使用便利等优点, 调试也极其简便。因此, 通过这两种四路抢答器的设计比较, 可以为利用更加合理适当、可靠有效的设计方法来实现抢答器设计优化提供一些信息。

参考文献

[1]韦穗林.四路抢答器的设计和制作[J].电子制作, 2010 (1) .

[2]韩满林.用触摸屏和PLC实现四人抢答器的控制设计[J].电子工程师, 2007 (12) .

[3]周云波.四路抢答器的PLC程序设计[J].现代电子技术, 2003 (15) .

[4]黄军文.数字电路和PLC实现四路抢答器的设计与比较[J].中国科技博览, 2012 (34) .

[5]包西平.基于PLC的知识竞赛抢答器设计[J].机电工程技术, 2010 (11) .

[6]李鹏辉.基于PLC技术的抢答器设计[J].电气技术, 2010 (9) .

篇7:四路智力抢答器

摘要:本设计是四路智力抢答器。使用51系列单片机,编写应用程序来实现智力抢答功能。设计思路是先等待主持人按键,当有主持人按键时,开始计时一分钟,并显示时间。有人抢答时,报警电路启动,并显示组号,同时计时显示停止。若在计时时间内无人抢答,一分钟到时,无报警,且计时停止,重新开始等待主持人按键,进行下一轮抢答。

关键词:四路智力抢答器单片机

0引言

软件设计利用中断系统的基本构成原理编写中断服务程序,使用80C51单片机串行接口P1口、P2口、P3口的输入/输出功能向CPU输入信号,其信号由按键电路提供,由CPU响应中断,并输出响应。用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。软件涉及51系列单片机的中断系统、定时器/计数器、串行接口及外围电路的功能。

硬件设计使用的是51系列单片机中的80C51,其他部件有74LS48、八段数码显示管、蜂鸣器、LED闪光灯,按键等。硬件设计采通过外部12M的X1提供时钟的脉冲,利用其中断控制程序进行抢答部分的处理,通过多输入与门的控制去申请单片机内部的中断,以达到显示抢答的目的。用分模块设计思想,以CPU为中心逐一设计了时钟电路和复位电路,然后设计了按钮电路为CPU提供输入信号,再次,为数码管选择输入信号电路;还有就是提供了报警电路;最终就是修饰和完善总原理图。

显示结果是主持人按键时,数码管显示60,即定时器定从一分钟开始计时,若一分钟内有人抢答,则此时定时器停止计时,数码管显示此时的时间,如计时56秒时有人抢答,数码管就显示56,同时蜂鸣器发出“嘀”声,且警报灯闪烁一下,与此同时显示抢答组的组数。如一分钟内无人按键抢答,计时时间一分钟到时数码管显示00,并停止计时。此时等待主持人按键进行下一轮抢答,若主持人不按键,数码管就一直显示00。

1系统总体方案

首先,以CPU为中心设计了时钟电路和复位电路;然后设计了按钮电路为CPU提供输入信号:再次,为数码管选择输入信号电路;还有就是进一步完善设计而提供了报警电路。最终,完善总括电路,得到总设计原理图。利用单片机内部的时钟中断源,外部中断源,利用P3口进行第二功能进行控制。当外部中断输入时,我们利用锁存,稳定输出剩余时间。利用硬件电路防止外部在开始及结束的时候出现误操作。

2控制部分80C51的设计

本设计中用的是80C51单片机,80C51有40条引脚中有2条专用于主电路,2条外接晶振,4条控制或与其它电源的复用引脚,32条I/O引脚。

2.1主电源引脚

Vss:接地。

Vcc:正常操作、对EPROM编程和验证时接+5V电源。

2.2外接晶振引脚

XTALl接外部晶振的一个引脚。

XTAL2接外部晶振的一个引脚。

2.3控制或与其它电源复用引脚RST/Vpd当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单机复位。一般在引脚与Vss引脚之间连接一个约8.2KΩ的下拉电阻,本设计使用的下拉电阻为1KΩ。与Vss引脚之间连接一个20uF的电容,以保证可靠复位。复位以后,P0、P3口输出高电平,SP指针重新赋值为07H,其它特殊功能寄存器和程序计数器PC被清0。只要REST保持高电平,80C51就会循环复位。RESET由高电平变为低电平后,80C51初始复位不影响内部RAM的状态,包括工作寄存器R0~R7。

ALE(/PROG):当访问外部数据存储器时,ALE的输出用于锁存地址低字节,即使不访问外部存储器,ALE仍以不变的频率周期性地出现正脉冲信号,为振荡器频率的1/6,因此可用作对输出的时钟。/PSEN:此输出是外部程序存储器的读选通信信号。在由外部程序存储器取指令周期,每个机器周期两次/PSEN有效。但当访问外部数据存储器时,这两次有效的PSEN信号不出现。/PSEN可以带动8个TTL负载。

/EA(Vpp)当/EA保持高电平时访问内部程序存储器,但当PC值超过OFFF或1FFF时,将自动转向执行外部程序存储器的程序。当/EA端保持低电平时,则只访问外部程序存储器,而不管是否有内部程序存储器。

2.4输入/输出引脚

PO:是一个8位漏极开路的双向输入/输出口。

P1:是一个带有内部上拉电阻的8位双向I/O口。

P2:是一个带有内部上拉电阻的8位双向输入/输出口,访问外部存储器时送高8位地址。

P3:是一个带有内部上拉电阻的8位双向I/O口。在MCS—51中,这8个引脚还用于专门的功能。其中,P3.0为串行输入口,P31为串行输出口,P3.2为外部中断0输入,P3 3为外部中断1输入,P3.4为定时器0的外部输入,P3.5为定时器1的输入,P3.6为外部数据存储器的写选通信号,P3.7为外部存储器的读选通信号。

3数码显示部分LED的介绍

LED显示器是目前最常用的一种数显示器件。发光二极管是由半导体材料制成的,能将电信号转换成光信号的结型电致发光器件。如果把发光二极管制成条状,再按照一定方式连接,组成数字“8”,就构成LED数码管。使用时按规定使某些笔段上的发光二极管发光,即可组成0—9的一系列数字。

本设计使用的是7SEG—COM—AN—GRN型数码管。

4时钟电路的介绍

51系列单片机内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路。CPU的一系列动作都是在控制电路部件下工作的。

本设计采用的是内部时钟产生方式,即是在引脚XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自激振荡器。其发出的脉冲直接送给片内定时控制部件。

5复位电路的介绍

复位是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。51系列单片机通常采用上电自动复位、按钮电平复位、上电+按钮电平复位、上电+按钮电平复位、程序运行监视复位等方式。

本设计采用上电自动复位方式,其实质是一阶充放电电路,系统上电时该电路提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。同时应注意保证加在RST引脚上的高电平持续两个机器周期,才能使单片机可靠复位。

6按钮电路

本设计使用的是机械按钮,按钮电路主要用来为CPU串行口提供输入信号。在实际应用中机械按钮的抖动应该考虑的,可用软件的设计来消除机械抖动。

7显示管的输入信号电路

本设计使用的输入信号电路主要是74LS48,八段数码显示管的输入信号是八位数,而CPU提供的信号是三位的,通过74LS48把三位的信号转化为八位的信号。

8报警电路

该报警电路的作用是在参赛人员按键时进行报警。当主持人发出抢答信号,而有人员抢答就有报警。此时报警灯闪烁一次,蜂鸣器发出报警声,提示主持人有人要答题。

参考文献:

[1]余发山.单片机原理及应用技术徐州:中国矿业大学出版社,2003.21—209.

[2]赫建国,郑燕,薛延侠.单片机在设计电路中的应用北京:清华大学出版社2006.35—52

篇8:基于CPLD的抢答器设计

关键词:抢答电路,译码电路,CPLD,EPM240T100芯片

一、原理框图 (如图1)

二、设计方案

整体的电路可以分为两部分:1.抢答电路, 2.译码显示电路。

1. 抢答电路

令每一个按键对应一个D触发器, D触发器具有锁存功能, 可以在一个选手按下按钮后进行锁存, 其他的选手不能再抢答。八个触发器公用一个CP。八个D触发器的各个输出端Q连接出一个八个输入的或非门, 或非门的输出端分别与八个按键输入相与。相与后再与每个D触发器的输出相或。即当主持人复位之后, 八输入的或非门输出高电平, 当第一个按键高电平与八输入的或非门的输出的高电平相与则输出高电平, 高电平再与对应D触发器的输出低电平相或仍是高电平。定时器产生时钟, 当CP处于上升沿时, 该按键对应的D触发器输出高电平。当有一个D触发器输出高电平时, 八输入的与非门就会输出低电平, 此时任何之后的按键输出的高电平与这个低电平相与都是低电平, 低电平再与该D触发器对应的输出低电平相或, 仍是低电平, 则无法产生高电平, 即此时对八个按键的状态进行了锁定。只有第一个按下的按键对应的D触发器会输出高电平, 其它触发器均输出低电平。主持人复位后可以再次抢答。

2. 译码显示电路

通过门电路的连接及7448译码器来实现译码显示电路。7448译码器有A.B.C.D四个输入端, 它可以将输入高低电平转换成相应的数字显示代码, 并在数码管上显示出来。通过门电路的连接使对应选手的二进制编号与7448译码器对应连接起来, 从而实现译码显示功能。将发光二级管分别接在八个锁存器的输出端, 当锁存器输出高电平时, 发光二级管导通发光。

三、系统实现过程

1. 抢答单元

八个按键输入分别与八个触发器的输出组成的或非门相与。主持人复位后, 或非门输出高电平, 当输入为高电平时则输出高电平。

2. 锁存单元

输入相与后再与每个D触发器的输出相或。主持人复位后, 八输入的或非门输出高电平, 当第一个按键高电平与八输入的或非门的输出的高电平相与则输出高电平, 高电平再与对应D触发器的输出低电平相或仍是高电平。当CP处于上升沿时, 该按键对应的D触发器输出高电平。当有一个D触发器输出高电平时, 八输入的与非门就会输出低电平, 此时任何之后的按键输出的高电平与这个低电平相与都是低电平, 低电平再与该D触发器对应的输出低电平相或, 仍是低电平, 则无法产生高电平, 即此时对八个按键的状态进行了锁定。

3. 时钟单元

在电路中定义一个振荡器OSC, 可以提供CP的时钟。可以精确到0.1微秒。

4. 灯提示单元

Q输出端接发光二级管, 当Q输出高电平时, 发光二级管导通, 灯亮。

5. 译码单元

采用7448译码器实现译码功能, 译码即将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。它在这里与数码管配合使用。

6. 芯片内整体电路 (如图2)

四、设计总结

按照设计时的思路, 把电路图连接好。经过改错, 编译, 分配管脚, 下载, 然后就可以看到实验结果。实验结果有两种。如下:

1. 主持人先按复位端, 主持人控制的

绿灯亮, 表示处于可以抢答状态, 然后通过主持人喊开始进行抢答, 如果有选手抢答, 数码管上会显示相应的选手号, 与之对应的灯会亮。在这个时候, 如果有其他的选手也按下了抢答按钮, 显示器不会显示。当主持人要进行下一轮的抢答, 按复位键, 重新开始抢答。

2. 主持人一直按着复位键, 此时绿灯

不良, 表示此时抢答无效, 当主持人松开复位键时, 同时绿灯亮, 即可以抢答。此种情况适用于比赛现场比较嘈杂时使用。

综上所述, 实验结果符合实验任务的要求。

参考文献

[1]杨小雪.数字电子技术实验教程西南交通大学出版社, 2011.8

篇9:基于单片机的八路抢答器的设计

关键词:抢答器;单片机;C语言

中图分类号:TP368.12 文献标识码:A 文章编号:1674-7712 (2012) 18-0028-01

一、目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。作者根据单片机的功能特性,设计了一款八路抢答器

(一)系统功能

(1)抢答器同时为8组选手分别提供按钮进行抢答,按钮分别为1号、2号、3号、4号、5号、6号、7号、8号;(2)使用单片机基本电路中的复位按钮,作为系统电路的复位,由主持人控制;(3)设置一个开始按钮,当主持人按下开始按钮之后,在大约5秒的设定时间内,如果某組抢先按下抢答器按钮,则蜂鸣器发出约600MS的声响,7段数码管显示出抢答成功的组号,其他组再按下抢答按钮为无效;(4)如果在大约5秒的设定时间内,无人应答,则蜂鸣器发出约500MS响声,7段数码管倒计时显示0。

(二)框架结构

本系统采用的方法是以单片机做主控制器来设计。由蜂鸣器电路、倒计时数码管显示电路、抢答号码数码管显示电路组成。系统结构框架如图1所示。

(三)抗干扰设计

本次硬件电路重点是可靠性的设计。单片机系统本身就是微电系统,容易受到外界的干扰,而单片机应用系统的工作环境往往是不是固定的,在一些复杂的工作环境中,单片机往往受到干扰的影响而导致其不能工作或控制功能丧失,因而其工作的可靠性至关重要,所以单片机系统的可靠性最直观体现在单片机系统的抗干扰性。本次设计为单芯片工作(89C52单片机)所以不存在系统内的耦合干扰,所以使用2种抗干扰方式:

1.电源线中的高频干扰:供电电力线相当于一个接受天线,能把雷电、电弧、广播电台等辐射的高频干扰信号通过电源变压器初级耦合到次级,形成对单片机系统的干扰。为防止从电源系统引入干扰,电路中加入滤波电路,即在电源的正负极之间接上一个滤波电容。如图2所示。2.来自单片机外部环境的干扰:实践证明,单片机系统设备的抗干扰与系统的接地方式有很大关系,接地往往是抑制噪音的重要手段。所有单片机直接悬空端口接地。未直接悬空接口(比如输入端口:主持人端口P3.6、8位抢答选手端口 P1),这些接口在电路图中线路是完整的,但是在硬件上接开关,在开关未闭合时本质上就是悬空的。解决方法:因为在程序设计中按键输入端口仅为低电平有效,故我们可以再开关前面串联一个2K的电阻然后接VCC,这样就可以再开关未闭合的时候给单片机对应端口一个稳定的高电平信号。

(四)硬件接线图

数码管采用共阳极8段数码管,运用220Ω电阻对其限流保护;蜂鸣器采用无源蜂鸣器,使用一个C8050三极管作为脉冲开关;开始按钮与所有的抢答按钮靠单片机一端各串联一个作为降压作用的2KΩ电阻接高电平,目的为开始按钮与所有的抢答按钮靠单片机一端的悬空脚提供一个稳定的高电平输入。硬件接线图如图3所示。

(五)软件总体结构

本节首先介绍了该装置软件设计的总体方案。在软件设计过程中,借助了 Keil C51 集成开发环境,做了相应的软件调试,使硬件得以正常的工作。程序是用C51编写,在 Keil uVision 4下开发完成的。软件总体结构如图4所示。

(六)实物调试

完成各模块的装接之后,使用杜邦线将要各个模块连接到对应的最小系统接口上,组成一个有效的软硬件调试模块。要实现调试系统不同的调试目的,对应的接口应需做相应的调整,接口的调整主要在数码管接口,但是在硬件结构上倒计时数码管与显示抢答号的数码管是一样的,所以只要证实其中一个的有效性同样就能证明另一个的有效性,抢答按钮同理。

二、总结

无论是在学校、工厂、军队还是电视节目中,都有可能举报各种各样的智力竞赛,都会用到抢答器。目前市场上已有很多类型的竞赛抢答器,单其中绝大多数是早期设计的,采用模拟电路、数字电路或者模数混合电路的产品。抢答器设计已相当成熟,但是随着功能的增多,电路也越复杂,并且成本偏高,故障率高,显示简单,无法准确判断抢按按钮的行为,也不便于参数调节及功能的升级换代。近年来随着科技的飞速发展,单片机、CPLD、PLC的应用正在不断地走向深处,同时带动传统的控制检测技术的不断更新。本设计就是利用单片机作为核心部件进行逻辑控制及信号的产生,单片机的性能优势必定会是竞赛真正达到公平、公正、公开。

[作者简介]顾亚文,南京金肯职业技术学院,讲师;袁道香,无锡南洋职业技术学院,讲师;廖武华:中国人民解放军总参谋部第六十研究所,工程师。

篇10:基于PLC的抢答器项目设计

《PLC技术》课程是高职高专机电类技术专业的一门理论性较深而实践性又较强的专业课程, 机电系对该课程教学的总体思路是采用模块化的项目课程教学法, 大部分课程在PLC实验室进行, 通过理论讲解、计算机仿真与实际操作一体化的综合训练方式, 使学生在项目实践中, 理解和掌握课程的知识点和技能要求。为了配合三菱PLC高级指令教学内容的讲解, 为学生安排了抢答器的项目设计。通过此项目设计, 使学生能够了解七段数码管和抢答器的工作原理, 掌握PLC基本高级指令的应用, 进一步掌握PLC控制系统设计的步骤和编程方法, 提高PLC技术的应用能力等。

1 抢答器项目设计

1.1 项目任务

抢答器的结构示意图如图1所示, 包括主持人、四个选手和一个七段数码管。

项目任务如下: (1) 主持人提问, 四个选手进行问题的抢答。开始时, 在数据寄存器D1、D2、D3、D4中存放常数100, 作为四个选手各自的初始分数100分。 (2) 主持人按下启动按钮后, 开始抢答指示灯亮, 选手开始抢答。若选手在主持人按下启动按钮之前抢答, 则作违规处理, 由主持人按下“-10分”按钮, 选手被扣10分, 且该选手台上相应的红色违规指示灯亮。 (3) 若选手抢答成功, 则该选手台上相应的绿色抢答成功指示灯亮, 且七段数码管显示该选手的号码。问题答对, 主持人给其加10分, 答错则减10分。 (4) 主持人按下复位按钮后, 选手重新开始抢答。按项目任务要求设计抢答器, 编程调试并运行程序;编写研究报告, 记录、分析研究过程及现象;总结研究结论。

1.2 项目分析

教师在分析项目任务后, 引导学生设计制作一个用三菱FX2N系列PLC构成的抢答器控制系统, 并通过讲授高级指令的传送指令和四则运算指令以及七段数码管的结构及工作原理, 使学生对项目要求有一个整体认识, 掌握与项目相关的理论知识, 明确项目的操作内容和基本步骤。

1.2.1 高级指令的讲解

教师引入本项目中要用到的传送指令如MOV、FMOV和四则运算指令如ADD、ADDP、SUB、SUBP、MUL、MULP、DIV、DIVP等指令, 通过指令的讲解和举例, 使学生掌握指令的应用和编程技巧, 顺利完成项目任务。

1.2.2 七段数码管

七段数码管是常用显示数字的电子元件, 借由七个发光二极管 (LED) a、b、c、d、e、f、g以不同组合来显示数字, 所以称为七段数码管。教师可以提示学生七段数码管在显示数字“1”、“2”、“3”、“4”时, 各个数码管的显示如图2所示。然后教师进一步引导学生:LED a在显示数字“2”和“3”时亮;LED b在显示数字“1”、“2”、“3”和“4”时都亮;LED c在显示数字“1”、“3”和“4”时亮……以此类推, 让学生自己总结七个发光二极管亮的规律, 便于学生理解和编程。

1.3 项目实施

学生以小组为单位, 根据项目任务要求, 讨论项目内容, 分工合作, 收集和整理信息, 制订项目实施的工作计划, 写出项目的解决要点。

(1) 确定PLC的I/O分配表

根据抢答器的控制要求, 确定PLC的I/O分配表如表1所示。

(2) 画出PLC的I/O接线图

根据PLC的I/O分配表, 可知抢答器控制系统总共需要8个输入端口和16个输出端口, 故选用实验室中的三菱FX2N系列的PLC, 型号为FX2N-32MR。FX2N-32MR型PLC有16个输入端口和16个输出端口, 完全能满足系统控制的需要。PLC的I/O接线图如图3所示。

(3) 接线

学生将PLC的电源断开后, 根据I/O接线图完成PLC的外部接线, 并且认真检查接线牢靠无松动, 确保接线准确无误后再接通电源。

(4) 编写梯形图程序

学生根据项目任务的要求, 编写抢答器项目的梯形图程序。

下面的图4、图5、图6是抢答器项目设计的参考程序, 其中图4是选手抢答成功及违规控制梯形图, 图5是七段数码管数字显示控制梯形图, 图6是寄存器D1、D2、D3、D4加分和减分梯形图。

(5) 程序调试

学生编写好PLC程序后, 经过编译检查正确后, 下载到PLC运行, 并根据监控进行程序调试, 直至完全正确, 达到控制要求。

1.4 项目评价

学生完成抢答器的项目设计后, 为了调动学生的学习积极性, 强化学生对知识的掌握程度, 教师对本项目的知识、技能、方法及项目实施情况进行总结和评价。

(1) 教师对各个小组的项目任务完成结果进行验收和评价, 并对存在的问题作出点评, 提出注意点和改进的方法。表2为小组任务完成评价表。

(2) 每个学生整理资料, 撰写抢答器项目设计研究报告。学院数字图书馆的万方数据资源、维普网络学习资源库、中知网数据库、超星数字图书馆等资源可以满足学生的查阅需要。

(3) 教师提出问题, 与学生进行讨论, 加深学生对知识的理解, 并进一步拓展理论知识, 从而达到本项目的教学要求。

(4) 教师提出下一个项目任务的控制要求, 让学生下一次课前查阅资料和小组探究学习。

3 结束语

通过抢答器的项目设计, 使学生能够掌握三菱FX2N系列PLC的高级指令, 并根据生产实际的需要, 设计相应的PLC控制系统。在教学中, 教师借助不同的工程项目和实例, 引导学生由实践到理论再到实践, 将理论知识融入到每一个项目的实践操作中。另外, 学生在项目实施的过程中, 培养积极严谨的态度和工作作风, 养成了自主学习的习惯和团结协作的精神, 提高了自主创新能力和动手实践能力, 逐步养成查阅资料和自主学习的好习惯, 教学效果明显提高了。

参考文献

[1]曹京生, 夏长凤.现代电气控制技术[M].北京:冶金工业出版社, 2011, 8.

篇11:基于fpga的四路抢答器

关键字:抢答器 单片机 复位 语音

凌阳Spce061A是一款十六位通用单片机,笔者用其设计了简单实用的抢答器,具体设计如下:

一、硬件电路设计

本抢答器主要供学生自行制作使用,为简化电路设计及制作,本例采用了凌阳Spce061A精简开发版作为核心控制部分。同时,采用数码管来显示抢答者的序号,采用1~8按键K1~K8作为8个抢答者的输入信号,通过音频接口输出语音提示。

具体硬件连如下:

二、抢答器程序设计

在程序设计上,本例采用了按鍵扫描的方法,在主程序中扫描键值,如果有键按下转向执行相应的处理程序,即点亮相应的数字。同时播放相应的语音提示信息“××号,请回答”,执行完处理程序进入死循环,不再响应任何抢答按键状态,等待主持人按下复位键会进行下一轮抢答。该设计利用单片机的复位键,可以节省一个IO口,同时也简化了程序设计以及程序编写。

具体程序设计流程如下:

三、程序清单

笔者在本例中的程序运用C语言编写,具有较好的可移植性,详细程序清单如下:

#include “spce061a.h”

void PlaySnd(int SndIndex, int DAC_Channel) //语音播放模块

SACM_S480_Initial(1);//初始化为自动播放

SACM_S480_Play(SndIndex, DAC_Channel, 3);// 开始播放一段语音

while((SACM_S480_Status(1)&0x0001)!=0)//是否播放完毕?

SACM_S480_ServiceLoop(1);//解码并填充队列

*(unsigned int*)0x7012=1;//清看门狗

SACM_S480_Stop(1);//停止播放

main(1)

unsigned int key=0;

intdig[8]={0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f};

*P_IOA_Dir=0x0000;//IOA低8位初始化为上拉输入

*P_IOA_Attrib=0x0000;

*P_IOA_Buffer=0x00ff;

*P_IOB_Dir=0x00ff;//IOB低8位初始化为同相低电平输出

*P_IOB_Attrib=0x00ff;

*P_IOB_Buffer=0x0000;//判断是否有键按下

*P_Watchdog_Clear=1;

key=*P_IOA_Data^0x00ff;//获取按键输入值

switch(key)

case 0x0001://Key1键按下

*P_IOB_Buffer=dig[0];//显示数字“1”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(0,3);//播放语音“1”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0002://Key2键按下

*P_IOB_Buffer=dig[1];//显示数字“2”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(1,3);//播放语音“2”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0004:

*P_IOB_Buffer=dig[2];//显示数字“3”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(2,3);//播放语音“3”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0008:

*P_IOB_Buffer=dig[3];//显示数字“4”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(3,3);//播放语音“4”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0010:

*P_IOB_Buffer=dig[4];//显示数字“5”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(4,3);//播放语音“5”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0020:

*P_IOB_Buffer=dig[5];//显示数字“6”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(5,3);//播放语音“6”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0040:

*P_IOB_Buffer=dig[6];//显示数字“7”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(6,3);//播放语音“7”

PlaySnd(8,3);//播放语音“号,请回答”

break;

case 0x0080:

*P_IOB_Buffer=dig[7];//显示数字“8”

PlaySnd(9,3);//播放语音“丁冬”

PlaySnd(7,3);//播放语音“8”

PlaySnd(8,3);//播放语音“号,请回答”

break;

default:

break;

while(1)//死循环,等待复位进行下一轮抢答

*P_Watchdog_Clear=1;

本款抢答器设计简单,易于实现,学生可自行制作,并且数字显示部分学生可以采用发光二极管制作一个大一点的数字,采用集成驱动ULN2003或七个三极管9013驱动即可,既锻炼了学生动手能力,作品又具有较强的实用性。

参考文献:

1.罗亚非.《凌阳16位单片机应用基础》.北京航空航天大学出版社,2005年5月

2.袁太生.《单片机应用技术(凌阳系列)》.中国电力出版社,2007年12月

上一篇:辛庄村第九届村民委员会换届选举程序和办法下一篇:监督取保保证书范文