八路抢答器怎么写vhdl( 三 )


可编程控制器是以微机技术为基础发展起来的新一代控制装置,是实现自动化控制的理想工具之一,它有着传统继电接触控制无法比拟的优点,因而在控制领域中得到了广泛应用,若采用可编程控制器制作抢答器,则比用逻辑电路和继电器制作的抢答器具有更多的优点,其结构简单,抗干扰能力强,运行稳定可靠,定时准确,可方便地设置定时时间,编程容易,功能扩展方便,修改灵活 。本设计就是利用PLC作为核心部件进行逻辑控制及信号的产生,PLC的性能优势必会使得竞赛真正达到公正、公平、公开 。
(二)系统设计要求及工作原理1.设计要求(1)抢答器同时为8组选手分别提供按钮,按钮分别为PB0、PB1、PB2、PB3、PB4、PB5、PB6、PB7;(2)设置一个复位按钮PB10,实现系统电路的复位,由主持人控制;(3)当主持人打开启动开关SW1后,在设定时间T0内,如果某组抢先按下抢答按钮,则驱动音效电路①发出声响,指示灯L1亮,并且在8段数码管显示器(如图1所示)上显示出抢答成功的组号,此时电路实现互锁,其它组再按下抢答按钮为无效;(4)如果在时间T0内,无人应答,则驱动音效电路②发出声响,指示灯L2亮,表示抢答者均放弃该题;(5)在抢答成功后,主持人打开限时开关SW2,启动定时器,在设定的时间T1内回答有效,当到达设定时间T1时,驱动音效电路③,指示灯L3亮,表示答题时间到 。3.主控制器本系统的主控制器采用日本三菱公司生产的FX2N-32MR型PLC 。
该型PLC功能较强大,提供16个输入点和16个输出点,继电器输出方式,均采用8进制编号 。PLC编程可采用手持式编程器或编程软件GX-Developer7.08中文版 。
三菱PLC的编程指令简单易懂且程序设计灵活,可采用梯形图或者指令语言进行软件设计 。4.输入输出端子分配方案三菱FX2N-32MR型PLC采用整体式结构,其控制单元提供16个输入点,16个输出点 。
本系统需要11个输入点、13个输出点,具体分配如表1所示 。2.工作过程分析(1)开始抢答前,主持人首先通过复位按钮PB10(X010)实现电路复位,在提问之后,打开选择开关SW1(X011)启动定时器T0(本程序预设为10s),通过修改下图所示的K值可以预设不同时间 。
3)抢答成功后,辅助继电器M8接通,常开触头闭合,启动音效电路①(Y010)和指示灯L1(Y011),同时利用内部编码程序段控制输出点Y000-Y006,输出驱动信号,驱动外部数码显示器显示抢答成功的组号 。上接第54页)(五)讨论本抢答器系统可以通过修改程序方便地调整设置时间,在线监视系统的工作状态 。
显示部分采用控制器内部编码方式输出控制信号驱动外部数码显示器件,也可以外部连接编、译码器件实现,并且可以采用适当的输出信号驱动其它类型的显示器件 。如果对外部电路稍加修改,或者在系统程序中加入分支,可以把八路抢答器改为更多路的抢答器 。
如果去除系统中的互锁和限时功能,可以把抢答器改为呼叫器,能够用在医院病房、宾馆客房、写字楼办公室、工厂生产车间等多种地方 。【参考文献】[1]史国生.电气控制与可编程控制器技术[M].北京:北京化工工业出版社,2004.[2]王兆义.小型可编程控制器实用技术[M].北京:机械工业出版社,2002.[3]戴一平.可编程序控制器技术[M].北京:机械工业出版社,2005. 。
6.关于八路抢答器DP801运算速度快,它能在很短的时间内处理多个信息 。我们利用它的插座便能制作出一台八路抢答器 。抢答器有八路接口,可以随用随接,需要几路用几路 。并且为比赛主持人准备了按钮和显示灯,以便确认是否有人抢答 。运行程序,单片机快速检测各抢答台按钮和主持人按钮 。主持人按下“开始”按钮后0#灯点亮 。单片机继续检测各按钮 。若有人按钮,则显示其号码,并调用地址为70的子程序计时(画横线处可更改计时时间) 。在计时过程中,若答对问题,主持人可用“复位”键退出子程序继续下一题 。到时间还没有回答完,单片机便会发出声音报告,然后自动继续运行 。若无人按钮,主持人可用“复位”键熄灭0#灯进行下一题 。制作安装:将接口板、指示灯、按钮、插孔焊接好固定在如图2的盒子里 。使用时,将用到的抢答器按钮插头插进插孔里运行程序就可以了 。抢答器由按钮、接口板、单片机(DP801)三部分组成,按钮和接口板之间用插头、插座连接 。接口板和单片机之间用26线扁平线连接 。接口板电路原理图见图1 。程序清单如下: 地址 指令机器码 指令助记符 注释 地址 指令机器码 指令助记符 注释 0 04 00 SS4 ;数码管清零 33 04 05 SS 5 ;5号台按钮了 2 08 01 09 DZ1,09 ;检测1号台 35 12 70 DY 70 ;调用检测子程序 5 04 01 SS1 ;1号台按钮了 37 08 06 44 DZ 6,44 ;检测6号台 7 12 70 DY70 ;调用检测子程序 40 04 06 SS6 ;6号台按钮了 9 08 02 16 DZ 2,16 ;检测2号台 42 12 70 DY 70 ;调用检测子程序 12 04 02 SS 2 ;2号台按钮了 44 08 07 51 DZ 7,51 ;检测7号台 14 12 70 DY 70 ;调用检测子程序 47 04 07 SS 7 ;检测7号台了 16 08 03 23 DZ 3,23 ;检测3号台 49 12 70 DY 70 ;调用检测子程序 19 04 03 SS 3 ;3号台按钮了 51 08 08 58 DZ 8,58 ;检测8号台 21 21 70 DY 70 ;调用检测子程序 54 05 08 SS 8 ;8号台按钮了 23 08 04 30 DZ 4,30 ;检测4号台 56 12 70 DY 70 ;调用检测子程序 26 04 04 SS 4 ;4号台按钮了 58 08 00 63 DZ 0,63 ;检测主持人“开始”按钮 28 12 70 DY 70 ;调用检测子程序 61 00 00 JT 0 ;点亮0#灯,可以抢答 30 08 05 37 DZ5,37 ;检测5号台 63 08 09 00 DZ 9 ;检测主持人“复位”按钮 66 01 00 DK 0 ;断开0#灯,不可抢答 76 16 15 01 JISH 05,1 ;限时15秒回答问题 68 10 00 ZX 0 ;反复检测 79 09 09 88 TZ 09,88 ;检测主持人“复位”按钮 70 03 23 03 ZY 23,3 ;发出声音 82 08 15 79 DZ 15,79 ;未到时,再次检测 73 03 21 04 ZY 21,4 ;有人抢答 85 03 25 03 ZY 25,3 ;时间到,发出声音 88 01 00 DK 0 ;断开0#灯 90 13 FH ;回原处继续运行