第一篇:51单片机四路抢答器程序
#include
void delay_100ms(unsigned int t){ unsigned char i,j,k;for(i=t;i>0;i--){
for(j=200;j>0;j--);
{
for(k=248;k>0;k--);
} } } void beep(){
BEEP=1;
delay_100ms(100);
BEEP=0;
}
void T0_int()interrupt 1
{
static unsigned char count;unsigned char a=1;count++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;if(count==20){
count=0;
P0=TAB[pulse_number1--];
}
beep();
if(pulse_number1==0)
{
P0=TAB[0];
TR0=0;
while(a)
{ beep();if(!key5)a=0;
}
}
}
void main(){
bit flag;
temp=0x00;
P2=temp;
P0=0x3f;
TMOD=0x01;
TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;
TR0=1;
while(!flag)
{
}
while(flag);}
if(!key1){P0=0x06;beep();flag=1;TR0=0;}
else if(!key2){P0=0x5b;beep();flag=1;TR0=0;} else if(!key3){P0=0X4f;beep();flag=1;TR0=0;} else if(!key4){P0=0x66;beep();flag=1;TR0=0;}
第二篇:74LS148四路抢答器设计报告
目录
1.设计任务和要求…………………………………….3 2.设计方案…………………………………………….3 2.1 设计思路………………………………………3 2.2 设计原理………………………………………4 2.3 实现功能………………………………………4 3.硬件设计…………………………………………….5 3.1 各功能电路连线图……………………………5 3.2 框图和说明……………………………………6 4.软件设计…………………………………………….7 5.小结………………………………………………….8 6.参考文献…………………………………………….9
设计任务与要求
1.1 可同时供四名选手参赛,其编号分别是1-4,各用一个抢答按钮,按钮的编号和选手的编号相对应,给节目主持人设置一控制开关,用于控制系统的清零(编号显示数码管灭灯)抢答的开始。
1.2
抢答器具有数据锁存和显示的功能,抢答开始后,若有选手按抢答按钮,其编号立即所存,并在数码管上显示该选手的编号,同时封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人主持人将系统清零为止。设计方案 2.1 设计思路 2.1.1 在给定
5V直流电源电压的条件下设计一个可以容纳四组参赛者的抢答器,每组设定一个抢答按钮供参赛者使用。
2.1.2 设置一个系统清零和抢答控制开关K(该开关由主持人控制),当开关K被按下时,抢答开始(允许抢答),打开后抢答电路清零。
2.1.3 抢答器具有一个抢答信号的鉴别、锁存及显示功能。即有抢答信号输入(参赛者的开关中任意一个开关被按下)时,锁存相应的编号,并在LED数码管上显示出来,同时扬声器发生声响。此时再按其他任何一个抢答器开关均无效,优先抢答选手的编号一直保持不变,直到主持人将系统清除为止。
2.1.4 开关K按下后,系统清零,由主持人发令,开始抢答。2.2 设计原理
2.2.1原理图
2.2.2 设计原理
接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置“开始“状态,宣布”开始“抢答器工作。选手在抢答时,抢答器完成:优先判断、编号锁存、编号显示、亮灯提示。如果再次抢答必须由主持人再次操作”清除“和”开始"状态开关。
2.3 实现功能
一是选手按抢答按钮,其编号立即所存,并在数码管上显示该选手的编号。二是封锁输入电路,禁止其他选手抢答。
三是优先抢答选手的编号一直保持到主持人主持人将系统清零为止。硬件设计
3.1本课程设计,需要用集成电路:
74LS148,74LS279,74LS48和五个开关及其他元件,3.2各功能电路接线图
电路连线图
3.2 框图和说明
3.2.1 元器件
74LS48管脚图
74LS148真值表
74LS148功能介绍
在优先编码器电路中,允许同时输入两个以上编码信号。不过在设计优先编 码器时,已经将所有的输入信号按优先顺序排了队。在同时存在两个或两个以上输入信号时,优先编码器只按优先级高的输入信号编码,优先级低的信号则不起作用。74148是一个八线-三线优先级编码器。3.2.3 说明:
当主持人控制开关S按下时,RS触发器的R端均为“0”,4个触发器输出1Q-4Q全部为零,同时74LS148的选通输入端EI=0,使之处于工作状态,此时锁存电路不工作。当主持人将开关“S”抬起时,优先编码器处于工作状态,即抢答器处于等待工 5 作状态,等待信号输入端信号输入,当有选手按下时,比如“S0”按下时,74LS148的输出Y2Y1Y0=000, 经RS锁存后,BI=1,74LS279处于工作状态,4Q3Q2Q=A2A1A0=000,经74LS48译码后,显示器显示“0”.软件设计
4.1 优先编码器工作原理
74LS148工作原理:该编码器有8个信号输入端,3个二进制码输出端。此外,电路还设置了输入使能端EI,输出使能端EO和优先编码工作状态标志GS。当EI=0时,编码器工作;而当EI=1时,则不论8个输入端为何种状态,3个输出端均为高电平,且优先标志端和输出使能端均为高电平,编码器处于非工作状态。这种情况被称为输入低电平有效,输出也为低电来有效的情况。当EI为0,且至少有一个输入端有编码请求信号(逻辑0)时,优先编码工作状态标志GS为0。表明编码器处于工作状态,否则为1。由功能表可知,在8个输入端均无低电平输入信号和只有输入0端(优先级别最低位)有低电平输入时,A2A1A0均为111,出现了输入条件不同而输出代码相同的情况,这可由GS的状态加以区别,当GS=1时,表示8个输入端均无低电平输入,此时A2A1A0=111为非编码输出;GS=0时,A2A1A0=111表示响应输入0端为低电平时的输出代码(编码输出)。EO只有在EI为0,且所有输入端都为1时,输出为0,它可与另一片同样器件的EI连接,以便组成更多输入端的优先编码器。从功能表不难看出,输入优先级别的次为7,6,„„,0。输入有效信号为低电平,当某一输入端有低电平输入,且比它优先级别高的输入端无低电平输入时,输出端才输出相对应的输入端的代码。小结
本学期第十五周我们进行了电子技术课程设计,我们用一周的时间进行了资料查找和实体设计,然后认真写了设计说明。
本电路由锁存器,编码器,数码管等构成,实现各项锁存,清零等功能。总结如下: 优点:电路功能原理清晰,各项功能均达到了要求,显示准确,反 应灵敏,无竞争冒险现象,基本满足了普通竞赛的抢答要求。缺点:如果长按住按钮不放,主持人清零后将能获得抢答权。改进:可以更改促发器的类型,如使用jk触发器代替,则长按无效,或者在抢答端添加一个发光二极管,当有人作弊,二极管就会亮,从而阻止选手长按按钮的缺陷。心得体会:通过这次课程设计,我对于74L系列有了更深的了解,知道功能表后,一切芯片都能得心应手。而且,知道了抢答器的设计方法,以后可以设计任何多人抢答器。同时实物的制作也提升了我的动手能力,实践能力得到了一定的锻炼。在摸索该如何设计电路使之实现所需功能的过程中,培养了我的设计思维,增强了动手能力。在改进电路的过程中,同学们共同探讨,最后的电路已经比初期设计有了很大提高。在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦和快乐,加深了我对设计方面的兴趣。理论与实践得到了很好的结合。参考文献
1.童师白,华成英.模拟电子技术基础,第三版.北京:高等教育版社,2001 2.阎石.数字电子技术基础,第四版.北京:高等教育版社,1998 3.吕思忠,《数子电路实验与课程设计》 哈尔滨工业大学出版社 4.郑家龙,《集成电子技术基础教程》 高等教育出版社 5.高吉祥《电子技术基础实验与课程设计》 电子工业出版社 6.《数字电路应用300例》 中国电力出版社
第三篇:四路抢答器实验报告总结(精简版)
四路抢答器实验报告总结
组员:肖燕艳、邓华、刘思纯、彭丽
一、设计目的
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、在使用仿真软件设计电路时,要特别注意元器件的封装,一旦出现封装错误,就会使得整个电路不能正常运行,所以要格外细心小心。
2、在面包板上组装电路的时候,要注意每个元器件管脚的排布,还有就是面包板并不是将元器件直接焊接到电路中的,所以常常会出现接触不良而是电路时而工作稳定时而失效的现象,所以安放元器件时要确保安装牢固,不至于会掉出来,尽量避免是因为接触不良而引起的电路工作不稳定。
第四篇:plc控制四路抢答器课程设计
plc控制四路抢答器课程设计
市场上有许许多多种抢答器,但功能却各不相同,电路也形形色色,而所选元件也各不相同。笔者设计了一款用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、适当扩展
如果给电路加入适当的编、译码器件,就可以将红、绿灯指示变为直观的数字显示,对外围电路稍加修改,就可以变成多路多人抢答器,如六路或十路等,改为多路多人抢答器,可以在梯形图中再加入两路或六路分支即可。去掉程序中的互锁和抢答限时功能,可以将抢答器改成呼叫器,可以用在医院的病房、工厂的车间等多种地方。
第五篇:基于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软件也比较熟悉了。除此之外,我觉得在这个实验的过程中也锻炼了我的耐心,让我能比较专注的去做一件事情。而且经历了这次试验我认识到电路设计是一个踏踏实实的过程,设计过程中我们需要循序渐进,一步一个脚印,来不得半点马虎和浮躁心理。