自动计时可读秒暂停棋盘的制作方法

文档序号:6683170阅读:326来源:国知局
专利名称:自动计时可读秒暂停棋盘的制作方法
技术领域
本实用新型涉及一种棋盘,尤其是涉及一种自动计时可读秒、暂停棋盘。
背景技术
现在棋类(中国象棋、围棋、国际象棋)比赛一般采用比赛计时钟,棋手每下一步棋,用手按一下钟,停止己方计时,同时开始对方计时,这样,棋手在紧张的比赛中,容易分散注意力,而且有时会忘记按钟。经检索查阅中国专利知识网,现有的有关专利技术,一般采用机械装置或单片机技术;机械装置笨重误操作多,而单片机技术外围电路较复杂,扩展新的功能不太方便。
实用新型内容本实用新型的目的在于克服上述现有技术的缺陷,提供一种结构简单、轻巧、误操作少,便于扩展新功能的自动计时的可读秒暂停棋盘。
本实用新型的任务是以如下方式完成的该棋盘包括一个棋盘面板,其特征在于,棋盘面板上的横线和纵线所有交叉点处安装有棋子弹性按键,其中所有纵线和RS触发器R端连接,所有横线和RS触发器的S端连接,棋子弹性按键固定端接地,活动端平时与RS触发器R端引线接线柱接触,棋子落下时,借助手指的力,会短暂接触RS触发器的S端引线接线柱,手指松开后又会弹回RS触发器R端引线接线柱;RS触发器与T触发器构成脉冲信号发生电路,RS触发器的R端和S端分别通过一个电阻与电源连接,其输出端与T触发器的CP端连接,T触发器的输出端与ispLSI1032E芯片h1引脚连接;在棋盘面板上还设有工作模式弹性按键,时间调整弹性按键,暂停弹性按键,它们的固定端均接地,活动端平时都与一个脉冲信号电路的RS触发器的R端接线柱接触,按下时与RS触发器的S端接线柱接触;其中与工作模式弹性按键相连的脉冲信号发生电路的T触发器输出端又与ispLSI1032E芯片mode引脚连接,与时间调整弹性按键相连的脉冲信号发生电路的RS触发器输出端与ispLSI1032E芯片adjust引脚连接,与暂停弹性按键相连的脉冲信号发生电路的T触发器输出端与ispLSI1032E芯片stop引脚连接;棋盘面板两端各设有一个可显示时间的数码显示器;与ispLSI1032E芯片alarm引脚连接的语言芯片与功放及喇叭依次串接。ispLSI1032E芯片的时钟信号由公知的晶振电路产生。
棋子落至横线和纵线交叉点处,便产生一个电信号,经由RS触发器和T触发器组成的脉冲信号发生电路,产生一个反相的电平输入控制信号,进行计时切换。控制电路主要的器件是系统可编程逻辑器件(ISP-PLD)ipsLSI1032E,利用硬件描述语言(HDL)编程实现计时切换,判负或读秒驱动,暂停控制和显示译码等模块,再另加晶振、弹性按键、数码显示器、语言芯片、功放和扬声器,便可完成双方自动计时显示、暂停、读秒判负等功能。
采用可编程逻辑器件(PLD),硬件电路简单,对不同的比赛规则,用软件修改电路功能,十分方便。分频、计时、显示译码、语言芯片的输出控制,全由ispLSI1032E完成,工作稳定。此电路纠错能力特强,如误落子或误按键,使双方计时颠倒,则只要任意再按一下计时弹性按键,便可恢复正常计时。对比赛时自由时间的设定非常方便,且成本较低。


图1为本实用新型一实施例的主视图;图2为ipsLSI1032E芯片引脚与外围电路方框图;图3为图1所示实施例的一种脉冲信号发生电路图;图4为ipsLSI1032E芯片引脚功能图。
具体实施方式
以下结合附图对本实用新型作进一步说明。
参照附图。该实施例包括一个棋盘面板8(因为正规的棋盘面板上横线和纵线交叉点[放棋子点]较多,如中国象棋有10×9个交叉点,围棋有19×19个交叉点,由于每个交叉点的结构和作用一样,为了简明,图1用5×5个交叉点的棋盘示意),其特征在于,棋盘面板8上面的横线和纵线所有交叉点处安装有棋子弹性按键1,其中所有纵线与RS触发器2的R端连接,所有横线与RS触发器2的S端连接,棋子弹性按键1的弹片固定端接地,活动端平时与RS触发器2的R端引线接线柱A接触,棋子落下时,借助手指的力,会短暂接触RS触发器2的S端引线接线柱B,手指松开后又会弹回RS触发器2的R端引线接线柱A;RS触发器2与一个T触发器3构成脉冲信号发生电路,RS触发器2的R端和S端分别连有电阻15、14;RS触发器2的输出端与T触发器3的CP端连接,T触发器3的输出端与ispLSI1032E芯片4的h1引脚连接;在棋盘面板8上还设有工作模式弹性按键11,时间调整弹性按键12,暂停弹性按键13,它们的固定端均接地,活动端都与一个由RS触发器、T触发器(时间调整信号adjust的产生电路没有此触发器)构成的脉冲信号电路相连,其中与工作模式弹性按键11相连的脉冲信号发生电路的T触发器输出端与ispLSI1032E芯片4的mode引脚连接,与时间调整弹性按键12相连的脉冲信号发生电路的RS触发器输出端与ispLSI1032E芯片4的adjust引脚连接,与暂停弹性按键13相连的脉冲信号发生电路的T触发器输出端与ispLSI1032E芯片4的stop引脚连接;RS触发器2的R端接有电阻15,S端接有电阻14,电阻14、15的一端分别接有5V电源VCC;棋盘面板8两端各设有一个可显示时间的由五个数码管组成的数码显示器9;语言芯片5输入端与ispLSI1032E芯片4的alarm引脚连接,语言芯片5输出端与功放6及喇叭7依次串接;RS触发器2与T触发器3构成的脉冲信号发生电路、ispLSI1032E芯片4、语言芯片5、功放6、喇叭7、电源VCC可置于棋盘面板底面。
图2是ispLSI1032E芯片4设计框图,由三个部分组成输入,数字信号处理和输出。
输入有时钟信号CLK-IN(1024Hz),暂停信号STOP,工作模式信号MODE,时间调整信号ADJUST,下棋时落子信号H1。
数字信号处理由ispLSI1032E完成。
输出包括时间显示和语言信号输出;其中时间显示采用共阳极动态显示,输出信号sa、sb、sc、sd、se、sf、sg分别与所有显示器的a、b、c、d、e、f、g段连接,b1、b2、b3、b4、b5分别连接黑方时个位、分十位、分个位、秒十位、秒个位显示器的共阳极公共端。W1、w2、w3、w4、w5分别连接白方时个位、分十位、分个位、秒十位、秒个位显示器的共阳极公共端。
下面详细介绍这三部分。
1、输入部分(1)CLK-IN是1024Hz时钟信号,它的产生已有成熟的技术。
(2)H1是落子的信号,它的产生如图3。
在棋盘的纵线和横线的所有交叉点处安装有弹性按键1,其中所有纵线和A点连接,所有横线和B点连接。按键固定端接地,而活动端平时与A点接触;当有棋子落下,借助手指的力,按键的活动端会短暂接触B点,手指松开后又会弹回A点,这一过程RS触发器2会输出一正规的矩形波,它作为T触发器3的CP信号,这样每当有棋子落下,T触发器3的输出端的电平会反相,它作为计时切换的输入控制信号H1。这个电路中,T触发器3的T输入端接高电平,RS触发器2的作用是消除键抖动。
(3)工作模式信号MODE的产生电路类似图3,不过A、B点不再和棋盘纵、横线连接;一开始使T触发器输出低电平,进入比赛自由时间设定状态,并由显示器9(LED)显示;一旦设定完毕,按下工作模式(MODE)弹性按键11,使T触发器输出高电平便进入比赛计时。
(4)时间调整信号ADJUST的产生电路也类似图3,不过不要T触发器;在时间设定状态,每按下时间调整弹性按键12,RS触发器就输出一个矩形波,作为计时的脉冲信号,时间以分为单位增加,这时显示器9显示设定时间,设定完毕,按下工作模式弹性按键11,便进入比赛计时。
(5)暂停信号(STOP)的产生电路亦类似图3,正常比赛时T触发器输出低电平,按下暂停弹性按键13,T触发器输出高电平,计时暂停;再按键,又继续计时。
2、数字信号处理部分由ispLSI1032E器件完成。图4是其顶层电路原理图,共二个模块时钟分频器(clk_s.abl)和计时显示驱动(chess.abl)。由IPS Synario System软件中的硬件描述语言(HDL)实现其功能。
(1)时钟分频器(clk_s.abl)<pre listing-type="program-listing"><![CDATA[MODULE CLK_S  “定义输入信号clk_in(1024Hz)  CLK_IN PIN;  “定义输出信号f1、F512,分别为1Hz小占空比脉冲和512Hz方波  F1,F512 PIN;  “定义分频计数器  Q9..Q0 NODE ISTYPE‘REG’;  COUNT=[Q9..Q0];  EQUATIONS  COUNT.CLK=CLK_IN;  WHEN(COUNT==1023)THEN COUNT=0;  ELSE COUNT=(COUNT.FB+1);  F1=(COUNT==8);  F512=Q0;  END]]></pre>(2)计时显示驱动模块(CHESS.ABL)<pre listing-type="program-listing"><![CDATA[MODULE CHESS  “定义输入信号  F1,F512,STOP,MODE,ADJUST,H1 PIN;  “定义输出信号  SA、SB、SC、SD、SE、SF、SG PIN;  B1、B2、B3、B4、B5、W1、W2、W3、W4、W5、ALARM PIN;  BW=[B1,B2,B3,B4,B5,W1,W2,W3,W4,W5];  C,H,L,X=.C.,1,0,.X.;  “定义白计时器内部信号,WH为时位,WHM为分十位,WLM为分个位,WHS秒十位,WLS为秒个位WH3..WH0,WHM3..WHM0,WLM3..WLM0,WHS3..WHS0,WLS3..WLS0 pin istype‘reg’;WH=[WH3..WH0];WHM=[WHM3..WHM0];WLM=[WLM3..WLM0];WHS=[WHS3..WHS0];WLS=[WLS3..WLS0];  “定义黑计时器内部信号,BH为时位,BHM为分十位,BLM为分个位,BHS秒十位,BLS为秒个位  BH3..BH0,BHM3..BHM0,BLM3..BLM0,BHS3..BHS0,BLS3..BLS0 pin istype‘reg’;  BH=[BH3..BH0];  BHM=[BHM3..BHM0];  BLM=[BLM3..BLM0];  BHS=[BHS3..BHS0];  BLS=[BLS3..BLS0];  “定义比赛自由时间暂存,DH为时位,DHM为分十位,DLM为分个位  DH3..DH0,DHM3..DHM0,DLM3..DLM0 PIN ISTYPE‘REG’;DH=[DH3..DH0];  DHM=[DHM3..DHM0];  DLM=[DLM3.DLM0];  “定义显示暂存  SHOW3..SHOW0 NODE ISTYPE‘REG’;  SHOW=[SHOW3..SHOW0];  “定义动态显示切换数据  SWITCH3..SWITCH0 NODE ISTYPE‘REG;  SWITCH=[SWITCH3..SWITCH0];  EQUATIONS  “定义比赛预设自由时间计数时钟方程  DH.CLK=!MODE&amp;ADJUST;  DHM.CLK=!MODE&amp;ADJUS T;  DLM.CLK=!MODE&amp;ADJUST;  “比赛预设自由时间计时  WHEN (DLM==9)THEN DLM=0;  ELSE DLM=(DLM.FB+1);  WHEN (DHM==5)&amp;(DLM==9)THEN DHM=0;  ELSE WHEN(DLM==9)THEN DHM=(DHM.FB+1);  ELSE DHM=DHM.FB;  WHEN (DH==9)&amp;(DHM==5)&amp;(DLM==9)THEN DH=0;  ELSE WHEN(DHM==5)&amp;(DLM==9)THEN DH=(DH.FB+1);  ELSE DH=DH.FB;  “计数器时钟方程  BH.CLK=F1&amp;!STOP&amp;MODE&amp;H1;  BHM.CLK=F1&amp;!STOP&amp;MODE&amp;H1;  BLM.CLK=F1&amp;!STOP&amp;MODE&amp;H1;  BHS.CLK=F1&amp;!STOP&amp;MODE&amp;H1;  BLS.CLK=F1&amp;!STOP&amp;MODE&amp;H1;  WH.CLK=F1&amp;!STOP&amp;MODE&amp;!H1;  WHM.CLK=F1&amp;!STOP&amp;MODE&amp;!H1;  WLM.CLK=F1&amp;!STOP&amp;MODE&amp;!H1;  WHS.CLK=F1&amp;!STOP&amp;MODE&amp;!H1;  WLS.CLK=F1&amp;!STOP&amp;MODE&amp;!H1;  “黑方计时  WHEN(BLS==9)THEN BLS=0;  ELSE BLS=(BLS.FB+1);  WHEN(BHS==5)&amp;(BLS==9)THEN BHS=0;  ELSE WHEN(BLS==9)THEN BHS=(BHS.FB+1);  ELSE BHS=BHS.FB;  WHEN(BLM==9)&amp;(BHS==5)&amp;(BLS==9)THEN BLM;=0;  ELSE WHEN(BHS==5)&amp;(BLS==9)THEN BLM=(BLM.FB+1);  ELSE BLM=BLM.FB;  WHEN(BHM==5)&amp;(BLM==9)&amp;(BHS==5)&amp;(BLS==9)THEN BHM=0;  ELSE WHEN(BLM==9)&amp;(BHS==5)&amp;(BLS==9)THEN BHM=(BHM.FB+1);  ELSE BHM=BHM.FB;  WHEN(BH==9)&amp;(BHM==5)&amp;(BLM==9)&amp;(BHS==5)&amp;(BLS==9)THEN BH=0;  ELSE WHEN(BHM==5)&amp;(BLM==9)&amp;(BHS==5)&amp;(BLS==9)THEN BH=(BH.FB+1);  ELSE BH=BH.FB;  “白方计时  WHEN(WLS==9)THEN WLS=0;  ELSE WLS=(WLS.FB+1);   WHEN(WHS==5)&amp;(WLS==9)THEN WHS=0;  ELSE WHEN(WLS==9)THEN WHS=(WHS.FB+1);  ELSE WHS=WHS.FB;  WHEN(WLM==9)&amp;(WHS==5)&amp;(WLS==9)THEN WLM=0;  ELSE WHEN(WHS==5)&amp;(WLS==9)THEN WLM=(WLM.FB+1);  ELSE WLM=WLM.FB;  WHEN(WHM==5)&amp;(WLM==9)&amp;(WHS==5)&amp;(WLS==9)THEN WHM=0;  ELSE WHEN(WLM==9)&amp;(WHS==5)&amp;(WLS==9)THEN WHM=(WHM.FB+1);  ELSE WHM=WHM.FB;  WHEN(WH==9)&amp;(WHM==5)&amp;(WLM==9)&amp;(WHS==5)&amp;(WLS==9)THENWH=0;  ELSE WHEN(WHM==5)&amp;(WLM==9)&amp;(WHS==5)&amp;(WLS==9)  THEN WH=(WH.FB+1);  ELSE WH=WH.FB;  “定义动态显示切换数据时钟  SWITCH.CLK=F512;  “动态显示切换数据计数  WHEN(SWITCH==9)THEN SWITCH=0;  ELSE SWITCH=(SWITCH.FB+1);  “动态显示切换  WHEN(SWITCH==0)&amp;(MODE==0)THEN{  BW=1;  SHOW=0;}  ELSE WHEN(SWITCH==1)&amp;(MODE==0)THEN{  BW=2;  SHOW=0;}  ELSE WHEN(SWITCH==2)&amp;(MODE==0)THEN{  BW=4;  SHOW=DLM;}  ELSE WHEN(SWITCH==3)&amp;(MODE==0)THEN{  BW=8;  SHOW=DHM;}  ELSE WHEN(SWITCH==4)&amp;(MODE==0)THEN{  BW=16;  SHOW=DH;}  ELSE WHEN(SWITCH==5)&amp;(MODE==0)THEN{  BW=32;SHOW=0;}ELSE WHEN(SWITCH==6)&amp;(MODE==0)THEN{BW=64;SHOW=0;}ELSE WHEN(SWITCH==7)&amp;(MODE==0)THEN{BW=128;SHOW=DLM;} ELSE WHEN(SWITCH==8)&amp;(MODE==0)THEN{BW=256;SHOW=DHM;} ELSE WHEN(SWITCH==9)&amp;(MODE==0)THEN{BW=512;SHOW=DH;}ELSE WHEN(SWITCH==0)&amp;(MODE==1)THEN{BW=1;SHOW=WLS;} ELSE WHEN(SWITCH==1)&amp;(MODE==1)THEN{BW=2;SHOW=WHS;} ELSE WHEN(SWITCH==2)&amp;(MODE==1)THEN{BW=4;SHOW=WLM;} ELSE WHEN(SWITCH==3)&amp;(MODE==1)THEN{BW=8;SHOW=WHM;} ELSE WHEN(SWITCH==4)&amp;(MODE==1)THEN{BW=16;SHOW=WH;} ELSE WHEN(SWITCH==5)&amp;(MODE==1)THEN{BW=32;SHOW=BLS;} ELSE WHEN(SWITCH==6)&amp;(MODE==1)THEN{BW=64;SHOW=BHS;} ELSE WHEN(SWITCH==7)&amp;(MODE==1)THEN{BW=128;SHOW=BLM;} ELSE WHEN(SWITCH==8)&amp;(MODE==1)THEN{BW=256;  SHOW=BHM;}   ELSE WHEN(SWITCH==9)&amp;(MODE==1)THEN{  BW=512;  SHOW=BH;}  TRUTH TABLE  ([SHOW3,SHOW2,SHOW1,SHOW0]->[SA,SB,SC,SD,SE,,SF,SG])  [0,0,0,0]->[0,0,0,0,0,0,1]  [0,0,0,1]->[1,0,0,1,1,1,1]  [0,0,1,0]->[0,0,1,0,0,1,0]  [0,0,1,1]->[0,0,0,0,1,1,0]  [0,1,0,0]->[1,0,0,1,1,0,0]  [0,1,0,1]->[0,1,0,0,1,0,0]  [0,1,1,0]->[1,1,0,0,0,0,0]  [0,1,1,1]->[0,0,0,1,1,1,1]  [1,0,0,0]->[0,0,0,0,0,0,0][1,0,0,1 ]->[0,0,0,1,1,0,0]  “比赛时间到输出语言芯片控制信号ALARM  WHEN((DH==WH)&amp;(DHM==WHM)&amp;(DLM==WLM)&amp;(H1==0))#((DH==BH)&amp;(DHM==BHM)&amp;(DLM==BLM)&amp;(H1==1))  THEN{ALARM=1;  BLS.CLK=0;  WLS.CLK=0;}  ELSE{ALARM=0;  BLS.CLK=F1&amp;!STOP&amp;MODE&amp;H1;  WLS.CLK=F1&amp;!STOP&amp;MODE&amp;!H1;}  END]]></pre>IspLSI1032E芯片有64个I/O引脚,本设计的6个输入和18个输出信号的引脚定义可根据布线的方便自行设计引脚功能锁定文件(.ppn文件)。
(3)输出包括时间显示和语言信号输出时间显示采用动态显示,输出信号sa、sb、sc、sd、se、sf、sg分别与所有显示器的a、b、c、d、e、f、g段连接,b1、b2、b3、b4、b5分别连接黑方时个位、分十位、分个位、秒十位、秒个位显示器的共阳极公共端。W1、w2、w3、w4、w5分别连接白方时个位、分十位、分个位、秒十位、秒个位显示器的共阳极公共端。B1…b5,w1…w5每位按512Hz的频率轮流置高电平,逐位轮流点亮各个LED,每一位保持2ms,在20ms内再一次点亮,重复不止。这样,利用人的视觉暂留,好像十位LED同时点亮了。
当白方或黑方的时间到,则ALARM信号变为高电平,控制语言芯片输出。根据不同的比赛规则可选择不同的语言芯片,如时间到即判负可采用三秒钟语言芯片SR8803A,把“时间到,比赛结束”固化在芯片中即可;若是围棋比赛,时间到开始读秒,可采用YYH403芯片,该片有512K静态存储器SRAM,录放音时间(16K采样)为32秒,可按时间频率录入“1秒、2秒…10秒;1秒、2秒…10秒;1秒、2秒…10秒;时间到,比赛结束“语言信号;为了防止棋手双方同时进入读秒时间,读秒语言信号连续的情况,可将图3中的Q负脉冲信号作为YYH403的复位信号。
权利要求1.一种自动计时可读秒暂停棋盘,包括棋盘面板,其特征在于,棋盘面板上的横线和纵线所有交叉点处安装有棋子弹性按键,其中所有纵线和RS触发器R端连接,所有横线和RS触发器的S端连接,棋子弹性按键固定端接地,活动端平时与RS触发器R端引线接线柱接触,棋子落下时,借助手指的力,会短暂接触RS触发器的S端引线接线柱,手指松开后又会弹回RS触发器R端引线接线柱;RS触发器与T触发器构成脉冲信号发生电路,RS触发器的R端和S端分别通过一个电阻与电源连接,其输出端与T触发器的CP端连接,T触发器的输出端与ispLSI1032E芯片h1引脚连接;在棋盘面板上还设有工作模式弹性按键,时间调整弹性按键,暂停弹性按键,它们的固定端均接地,活动端平时与一个脉冲信号电路的RS触发器的R端接线柱接触,按下时与RS触发器的S端接线柱接触;与工作模式弹性按键相连的脉冲信号发生电路的T触发器输出端与ispLSI1032E芯片mode引脚连接,与时间调整弹性按键相连的脉冲信号发生电路的RS触发器输出端与ispLSI1032E芯片adjust引脚连接,与暂停弹性按键相连的脉冲信号发生电路的T触发器输出端与ispLSI1032E芯片stop引脚连接;棋盘面板两端各设有一个可显示时间的数码显示器;与ispLSI1032E芯片alarm引脚连接的语言芯片与功放及喇叭依次串接。
专利摘要本实用新型公开了一种自动计时可读秒暂停棋盘,该棋盘包括一个棋盘面板,棋盘面板上的横线和纵线交叉点处安装有棋子弹性按键,其中所有纵线和RS触发器R端连接,所有横线和RS触发器的S端连接;RS触发器与一个T触发器构成脉冲信号发生电路,T触发器的输出端与ispLSI1032E芯片h1引脚连接;在棋盘面板上还设有工作模式弹性按键,时间调整弹性按键,暂停弹性按键,它们的固定端均接地,活动端分别通过一个脉冲信号电路与ispLSI1032E芯片的mode引脚、adiust引脚、stop引脚连接;棋盘面板两端各设有一个可显示时间的数码显示器;另设有与ispLSI1032E芯片alarm引脚连接的语言芯片,语言芯片还同功放及喇叭依次串接。本实用新型结构简单,轻巧,误操作少,便于扩展新功能,制造成本低。
文档编号G07C1/00GK2702762SQ0322754
公开日2005年6月1日 申请日期2003年5月6日 优先权日2003年5月6日
发明者李清峰 申请人:李清峰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1