电脑棋盘比赛系统的制作方法

文档序号:6455794阅读:402来源:国知局
专利名称:电脑棋盘比赛系统的制作方法
技术领域
本实用新型是一种电脑棋盘比赛系统,具体的说,是一种集计算机技术、通讯技术、单片机技术于一体的棋类比赛系统。可用于象棋、国际象棋、围棋和五子棋的比赛。
2.背景技术目前,各种棋类比赛中,普遍采用棋手按棋钟计时、手工记谱,或由工作人员代替计时记谱;有些比赛,需靠专门人员随时传递棋谱给外室讲解员讲解;少量围棋比赛中,采用工作人员用便携式电脑手工输入单盘的棋谱;有些大型比赛中,棋手少记四步棋谱会被判违例一次。这些情况造成棋手不能专注于下棋,工做人员的工作量大,讲解不方便等不足。
应用电子技术的比赛棋具如中国专利信息中心已公布的“通用电子棋具”(CN2356720Y)是一种不用棋子的、由液晶显示屏和众多机械键组成的、可用于象棋、国际象棋、围棋和五子棋比赛的通用棋具,其显然不适合专业棋手的比赛习惯,棋手需完全熟悉其操作方法才能下棋,否则,稍有失误就会出错。“多功能单片机控制棋盘”(CN2254306Y)是一种用干簧管作传感器、采用嵌有磁块的专用棋子的棋盘,虽然能同时计时记谱,但其棋谱显示是通过设置在棋盘上的发光二极管依次显示棋子着落点。“多功能电脑围棋盘”(CN2081747U)加有一种悔棋信号,控制喇叭鸣叫并将悔棋点在棋谱上做相应处理,而且,设有双方行棋指示灯,一秒闪一次用于计时,显然会影响棋手思路,也不适宜正式比赛。
3.发明内容本实用新型是为适应棋手习惯,避免使用专用棋子,改变某些电子棋具功能单调、操作复杂等不足,便于比赛及其资料管理、讲棋等设计的一种比赛系统。本系统可确认32个盘号,同时供64位棋手进行同类比赛;每个棋盘提供了8种步数时间限制参数,用于行棋时限选择(如快棋等);能实现实时计时计步及显示、记谱、暂停、超时警告、计算机行棋模拟显示、比赛资料存储及管理等功能。借助于通用的INTERNET平台(如CuteFTP等),可将资料传输到互联网。
该比赛系统是由三部分构成的单片机控制的专用比赛棋盘、通讯电缆及通讯转换接口、通用PC(个人计算机)。有象棋、国际象棋、围棋和五子棋四种比赛棋盘。
专用比赛棋盘是通过单片机控制电路及其各功能电路采集行棋信息及辅助信息,根据不同棋类的行棋规则用专门开发的相应软件程序来实现实时计时计步及显示、记谱、暂停、超时警告、盘号设置、行棋时限选择、数据上传等功能。
在棋盘的每一个棋位处设置有一个光敏二极管(见图5),棋子1拿起、落下时,光敏二极管3会有导通、截止状态。每个光敏二极管的输出与一个三态门的输入相连,控制三态门的控制端的通断即可检测到光敏二极管的输出状态,CPU读入该输出状态也就可以判断出棋位处该棋子的情况,见图11。假定棋盘上有N个棋位,需n位二进制状态来对这N个棋位进行译码即2n≥N,如象棋有90个棋位,需7位二进制状态来对这90个棋位译码,故由单片机的7个输出引脚组合就可以分别确认这90个棋位。同理,国际象棋需用6个单片机输出引脚组合来译码64个棋位,围棋需用9个单片机输出引脚组合来译码361个棋位,五子棋需用8个单片机输出引脚组合来译码225个棋位。单片机依次扫描每一个棋位的状态,并比较前后两次棋位的状态来判断该棋位是否发生了棋子起落变化。根据行棋规则,通过将依次变化的棋位存储到存储器,达到记谱的目的;由单片机的一个定时器设置一个时间片段,当一方开始行棋时,开始累加时间片段,达到计时的目的;当判断每一方走完一步后,将步数加1,达到计步的目的。通过驱动显示电路,将步数、时间显示在盘面先手方右侧的LCD液晶显不器上。
驱动显示电路是一种5*8点阵的字符型LCD液晶显示器,用于显示比赛的步数、时间。LCD的8根数据线通过一个SN74F245与CPU的8根数据线相连,用于写入数据、指令,采用一个译码电路的四个输出来分别控制两个LCD的使能端E和寄存器选择端RS。驱动显不电路见图14的U6A、U7A。
行棋开关是一个设置在棋盘面先手方左侧的双位开关,当其闭合时,输出给CPU高电平,表示比赛开始进行;当其断开时,输出给CPU低电平,表示比赛进入暂停,程序做相应处理。见图13的S1。当一步完成后,单片机根据该方所用的步数和时间判断其是否超过了限制参数,如果超过,单片机通过一个译码电路输出来接通该方的红色超时报警指示灯,实现超时警告。
在盘体先手方左侧面设置了一个8位拨码开关,前5位接入到CPU的5个管脚,它所产生的32个状态组合确定每个棋盘的盘号,每个棋盘的盘号可为0~31。拨码开关的后3位接入到CPU的3个管脚,它所产生的8个状态来实现8个行棋时限选择功能。见图13的S3。数据上传是通过一个带光电隔离的RS485驱动电路来实现的,由三个光电隔离芯片6N136、一个RS485驱动芯片、一个D型9针插头及必要的辅助器件组成。RTS是通过一个译码电路输出来控制的。见图14。加光电隔离器件是为了保证棋盘内的电路免受棋盘外信号的干扰,增加了系统的可靠性。
因为8031以外的单片机内部都有ROM,故一般不需ROM扩展,而只需扩展数据存储器RAM。本系统的单片机CPU选用ATMEL的89C52,也可选89S8252等。扩展RAM选HM6264,扩展地址为0000H~1FFFH。扩展RAM由一个译码电路输出来选通的,见图12的U3。
单片机检测棋位、LCD液晶显示器的E和RS、控制超时警告、选通扩展RAM、RS485的RTS控制端等所用的译码电路是通过可编程逻辑器件的内部逻辑电路实现的。见图13的U4、U5。可编程逻辑器件的I/O管脚数量决定了四种棋盘所用的芯片数量。本实用新型采用ATMEL公司的ATF1504AS/L芯片,象棋棋盘需用2片,国际象棋棋盘需用2片,五子棋棋盘需用5片,围棋棋盘需用7片。
电源设计采用了光隔内电源和光隔外电源,来为光隔内、光隔外的电路提供电源,以防止单片机外的因素干扰单片机内程序的运行,增加系统的可靠性。
因为上位机PC是与下位的多个盘体内的单片机通讯,而PC的串口是一个RS232接口,其只有两个通讯线(TXD、RXD),是不能满足一台PC对多台的下位单片机通讯的,必须将PC的RS232接口转换成RS485接口,才能与下位单片机的RS485接口通讯,故需要在上位机PC与下位的多台单片机之间增加一个RS232/RS485接口转换器。
上位机PC主要完成的工作包括与下位多台单片机通讯、模拟显示各盘的行棋变化、比赛资料存储及管理。
上位机PC与下位的多台单片机间的通讯采用以太网(Ethernet)的拓扑结构(见图1),通讯采用自定义的通讯协议来完成。该通讯程序分别与模拟显示程序、数据库程序之间有一接口;模拟显示程序从通讯程序取得数据用于模拟显示,通讯程序将从下位机取得的数据处理后以棋谱形式放入数据库。上位机PC与下位单片机间的程序流程图见图1。该通讯程序的开发工具采用Visual C++ 6.0,也可采用Borland C++或Delphi。
模拟显示程序从通讯程序取得下位机的各盘的棋位变化信息,并将这些信息按相应盘号进行棋位变化模拟显示。模拟显示界面上有0~31盘号的切换开关,按0~31内的相应盘号可进行切换显示。模拟显示的程序流程图见图1。该模拟显示程序的开发工具采用VisualC++ 6.0,也可采用Visual Basic 5.0/6.0,Borland C++或Delphi等。
比赛资料存储及管理是用一数据库管理程序实现的,它分别存储了比赛各盘的棋谱、用时、棋手信息、组织管理等各种相关信息。数据库管理程序是用ACCESS开发的,也可采用Visual Foxpro 5.0等开发。
4.
图1为电脑棋盘比赛系统结构图。
图2为棋盘盘面图。1为后手方计步计时液晶显示器,2为先手方计步计时液晶显示器,3为电源开关,4为行棋开关,5为后手方超时警告指示灯,6为先手方超时警告指示灯,7为棋盘比赛区,8为棋盘盘面。
图3为盘体左侧面图。1为8位拨码开关(5位为盘号选择、3位为行棋时限选择),2为电源指示灯,3为通讯接受指示灯(RXD),4为通讯发送指示灯(TXD)。
图4为盘体右侧面图。1为电源接口,2为RS485 9针D型通讯接口。
图5为棋盘单一棋位剖面图。1为棋子,2为棋盘上盖体,3为光敏二极管,4为单片机控制电路板,5为棋盘底座。
图6为棋盘的单片机控制框图。1为CPU,2为时钟电路,3为扩展RAM,4为盘号设置电路,5为行棋时限选择电路,6为行棋开关电路,7为棋位检测电路,8为LCD液晶驱动显示电路,9为RS485驱动电路,10为超时警告电路。
图7为棋盘单片机程序主流程图。
图8为棋盘单片机中断程序流程图。
图9上位机PC与下位棋盘单片机通讯程序流程图。
图10为上位机PC的模拟显示程序主流程图。
图11为单一棋位检测电路图。1为光敏二极管,2为接地电阻,3为三态门,c为CPU输出引脚的一个译码输出。
图12~图15为单片机控制象棋盘原理图。U1为CPU,U2为74LS373,U3为HM6264,U100为SN74F245,U98电源开关,U99为电源模块,U4、U5为EPM7064SLC-84,S3为8位拨码开关,J3为排电阻,S1为双位开关,CU1~CU11为去藕电容,1、2、3、4、5电路分别为RTS、先手方警告、后手方警告、TXD、RXD指示灯电路,U6A、U7A为先后手方LCD显示电路,OP4、OP5、OP6为光电藕合芯片、U8A为RS485驱动芯片,DB90为9针D型插头,U6~U95为用于位检测电路的光敏二极管。
5.具体实施方式
结合附图说明电脑棋盘比赛系统的整个工作过程以及其各种功能是如何实现的。
本实用新型是由上位机PC、通讯电缆及转换接口、单片机控制的专用比赛棋盘组成。见图1。
比赛棋盘的先手方右侧设置了两个LCD液晶显示器,分别显示双方的比赛时间和步数。比赛的时、分、秒显示格式为“XXXXXX”,可显示0~99小时的比赛用时。步数用三位数字显示,可显示0~999步。先手方左侧设置了一个电源开关、一个行棋开关、两个超时警告指示灯,见图2。盘体的先手方左侧面设置了一个8位拨码开关,3个指示灯。拨码开关的前5位用于盘号选择,后3位用于行棋时限选择,3个指示灯分别用于显示电源、通讯接受(RXD)、通讯发送(TXD)状况,见图3。盘体的先手方右侧面设置了一个电源接口、一个RS4859针通讯接口,见图4。棋盘体内电路板上设有单片机及其控制电路、功能电路等,单片机中装有专门开发的应用程序。
在棋盘的每个棋位处,设置了一个光敏二极管,棋子起落时,光敏二极管对应有导通、截止(1、0)两种状态。见图5。每个光敏二极管的输出与一个三态门的输入相连,控制三态门的控制端的通断即可检测到光敏二极管的输出状态,也就可以判断出棋位处是否有棋子及棋子的起落,见图11。假定棋盘上N个棋位,可用最少的n位二进制的组合来译码这N个棋位,即2n≥N。由CPU输出的n个输出脚译码选通这N个棋位,每一个译码输出对应控制与光敏二极管输出端相连的三态门的控制端,这样,CPU给出一个译码输出,就会将与其对应的棋位的状态读入CPU。通过比较前后两次各棋位的状态就可判断出该棋位上棋子的情况。如果一个棋位前后两次的状态变化为1→0,说明该棋位有棋子落下;如果状态变化为0→1,说明该棋位有棋子拿起;如果状态一直为0,说明该棋位有棋子但没有动;如果状态一直为1,说明该棋位无棋子也没有棋子落下。根据棋类比赛规则,CPU依次给出各棋位译码输出,读入相应棋位状态,对比其前后状态,按先后顺序记录变化的棋位,达到计谱的目的。开始时,先手方、后手方的计时计步初始显示均为000000及000。行棋一开始,先手方开始计时计步,通过定时器T0每隔50ms产生一次中断来扫描一次各棋位的状态,对比前后两次状态,如果没有状态变化,说明没有棋子发生变化,每中断一次,时间累加50ms,累加达到1秒时,先手方的LCD液晶显示器显示增加1秒,依次累加显示其用时;如果前后两次有状态变化,首先确定变化的棋位,并将其变化棋位保存,当一步棋走完后(四种棋判断走完一步的程序是不同的),步数加1并显示。然后,将其累计时间、步数与该棋盘所选择的行棋时限参数对比,确认是否超时,如超时,CPU给出相应的译码输出,接通该方的警告指示灯,实现超时警告。再将时间累加转入后手方。后手方的时间及步数累加、时限对比同先手方。依此类推。见图7、图8。
对时间、步数的显示是由两个LCD驱动显示电路来实现的,LCD的8根数据线(7~14引脚)通过一个SN74F245与CPU的8根数据线D0~D7相连,使能端E和寄存器选择端RS由两个译码电路输出来分别控制。当需显示一方的时间、步数时,单片机控制程序给出译码输出使使能端E为高点平有效,同时给出RS译码输出来控制该LCD的指令及数据选择。驱动显示电路见图14的U6A、U7A。
单片机内的RS485驱动电路的两个光隔输入端分别与CPU的TXD、可编程逻辑器件的RTS相连,另一个输出端与CPU的RXD相连。RTS接RS485的RTS端。当单片机要上传数据或有数据接受时,RTS端控制完成数据交换。RTS是通过一个译码输出来控制的。光隔的输入、输出分别接光隔内、光隔外的电源。驱动及D型接口接光隔外的电源。见图14。
一次比赛是由行棋开关的闭合、断开来确定比赛开始、暂停或结束。CPU读取行棋开关的状态决定单片机程序的开始、暂停和结束。见图13的S1。当比赛暂停时,单片机程序会自动停止计时计步,并始终读取行棋开关的状态来决定程序是否继续计时计步。见图7、8。
比赛开始前,将8位拨码开关的前5位按规定的盘号进行设置以确定盘号,将后3位按选择的行棋比赛时限进行设置。如8位拨码开关的设置为01101001,表示盘号为13,行棋比赛棋时限选择为参数1。当单片机上电时,CPU会首先读取8位拨码开关的状态,以确定本盘的盘号和行棋比赛时限选择状态参数。此后,程序就会以该盘号与上位机PC通讯,以所选择的时限参数进行程序处理,以实现不同时限的超时警告。
当上位机PC需要下位机某盘的数据时,它先发出一个包含有该盘地址的指令,该盘在通讯成功时会向上位机发出一个应答信息,然后上位机PC读入该盘的数据。其它盘则不会响应该指令。
上位机PC取得下位单片机的数据后,通过相应程序的处理,用模拟显示程序将各盘的行棋变化模拟显示在PC上。模拟显示程序首先需绘制相应棋类的盘面及棋子的初始状态,然后根据行棋变化逐步更新棋位状态并进行显示。各盘的模拟显示通过界面上的一个盘号切换选择开关来随时切换,见图9、图10。
数据库管理程序首先需建立与下位各盘相对应的表,及与比赛时间、名称、棋手等信息有关的各种表,再建立相应的表单来方便查询。从下位各单片机取得的数据分别放入对应的表中,方便以后查询。
比赛开始前,工作人员先将比赛有关信息输入到PC数据库,并将棋盘、棋子放好,连接好电源及通讯线,将8位拨码开关拨到相应的位置,以确定该盘的盘号及选择的行棋时限,同时,闭合电源开关。裁判一将行棋开关闭合,比赛正式开始。比赛当中,如需暂停,则裁判将行棋开关断开,暂停结束后,再将行棋开关闭合,比赛继续进行。比赛结束后,断开行棋开关,再切断电源。比赛资料可借助于Modem或局域网以及INTERNET工具如CuteFTP等,将资料传输到互联网。
本实用新型棋子定用不改变棋手行棋习惯,应用操作简单,可靠性高,功能齐全,技术含量高,系统成本控制合理,适用于各种大中小型的棋类比赛,适应了当今信息社会的发展要求。
权利要求1.一种电脑棋盘比赛系统由通用的PC(个人计算机)、通讯电缆及通讯转换接口、单片机控制的专用比赛棋盘组成;有用于象棋、国际象棋、围棋和五子棋比赛的四种棋盘;该系统具有盘号确认、行棋时限选择、实时计时计步及显示、记谱、暂停、超时警告、计算机行棋模拟显示、比赛资料管理、存储等功能;其特征在于在PC上装有专门开发的棋类比赛系统应用软件,用于通讯的RS232/485转换接口及电缆,单片机控制的用于象棋、国际象棋、围棋和五子棋比赛的四种专用比赛棋盘及其相应的应用软件程序,专用棋盘上在每个棋位(落子位置)处设置有一个光敏二极管,棋盘盘面上在先手方(围棋五子棋为黑方、象棋为红方、国际象棋为白方)左侧设有电源开关、行棋开关及两个红色发光二极管警告指示灯,盘面先手方右侧设有用于计时计步的两个液晶显示器,盘体先手方左侧设有用于确定盘号和行棋时限选择的8位拨码开关及用于显示电源和通讯状况的三个绿色发光二极管指示灯,盘体先手方右侧设有9针通讯接口和电源插头,设置在盘体内电路版上的单片机控制电路、电源模块、棋位检测电路、通讯驱动电路、液晶驱动显示电路、超时警告电路、盘号设置电路、行棋时限选择电路、行棋开关电路及辅助电路。
2.根据权利要求1所说的电脑棋盘比赛系统,其特征在于PC硬件平台采用普通的办公计算机(主频不低于450MHZ,内存不少于128M,硬盘不少于1.2G),系统软件平台采用中WINDOWS 98/2000,应用软件采用的是运行于PC的专门开发设计的棋类比赛系统应用软件。
3.根据权利要求1所说的电脑棋盘比赛系统,其特征在于控制专用棋盘的单片机采ATMEL 89C52或89S8252单片机,应用软件采用专门设计开发的相应软件程序。
4.根据权利要求1所说的电脑棋盘比赛系统,其特征在于盘体内电路版上的单片机控制电路CPU、存放控制程序的内部ROM、存放程序数据的扩展RAM、译码芯片74LS373、数据缓存芯片SN74F245以及用于增加系统可靠性的光隔内、光隔外电源模块设计等辅助电路组成;扩展RAM的低位地址与74LS373相连用于译码,扩展RAM由可编程逻辑器件的一个译码输出选通,CPU的数据线与SN74F245相连用于数据缓存。
5.根据权利要求1所说的电脑棋盘比赛系统,其特征在于盘体内电路版上的棋位检测电路用可编程逻辑器件、光敏二极管及接地电阻组成;可编程逻辑器件采ATMEL公司的ATF1504AS/L芯片,也可采用ATMEL公司的ATF1516AS/L及ALTERA、Xilinx等公司的可编程逻辑器件;可编程逻辑器件内设计有用于棋位译码、扩展RAM片选选通、LCD液晶显示器的E和RS端、RS485的RTS控制、超时警告的译码输出等逻辑电路;象棋比赛棋盘采用了两个ATF1504AS/L芯片、90个光敏二极管和90个300R的接地电阻;国际象棋比赛棋盘采用了两个ATF1504AS/L芯片、64个光敏二极管和64个300R的接地电阻;五子棋比赛棋盘采用了五个ATF1504AS/L芯片、225个光敏二极管和225个300R的接地电阻;围棋比赛棋盘采用了七个ATF1504AS/L芯片、361个光敏二极管和361个300R的接地电阻;每个光敏二极管的输出端与相应的可编程逻辑器件的输入端相连及接地电阻的一端相连。
6.根据权利要求1所说的电脑棋盘比赛系统,其特征在于盘号设置电路和行棋时限选择电路由一个8位拨码开关与P1口相连,P1.0~P1.4用于盘号设置,P1.5~P1.7用于行棋时限选择。
7.根据权利要求1所说的电脑棋盘比赛系统,其特征在于通讯驱动由三个光电隔离芯片、RS485驱动芯片、D型9针插头及必要的辅助器件组成;RS485的RTS控制端由可编程逻辑器件的一个译码电路输出控制;RS485驱动电路的两个光隔输入端分别与CPU的TXD、可编程逻辑器件的RTS相连,另一个输出端与CPU的RXD相连。
8.根据权利要求1所说的电脑棋盘比赛系统,其特征在于液晶驱动显示电路由可编程逻辑器件的四个译码输出来选通和控制两个LCD驱动显示器件。
9.根据权利要求1所说的电脑棋盘比赛系统,其特征在于行棋开关电路由一个双位开关连到CPU,来实现行棋和暂停的功能。
10.根据权利要求1所说的电脑棋盘比赛系统,其特征在于超时警告电路由可编程逻辑器件的两个译码输出来控制两个警告指示灯。
专利摘要电脑棋盘比赛系统是一种集计算机技术、通讯技术、单片机技术于一体的棋类比赛系统。它由单片机控制的专用比赛棋盘、通讯电缆及转换接口、计算机(PC)组成。有用于象棋、国际象棋、五子棋、围棋比赛的四种专用棋盘。它能实现比赛中确认盘号、选择行棋时限、实时计时计步及显示、暂停、超时警告、记谱、计算机行棋模拟显示、比赛资料存储及管理等功能。本系统将四种棋盘上每个棋位进行编码,通过盘体内单片机控制电路实时采集棋盘上每个棋位处在棋子起落时光敏二极管发出的不同信号,进行相应的程序处理,并将行棋信息上传到计算机,运用专门开发的上位机棋类比赛应用软件进行模拟显示、资料存储及管理。
文档编号G06F15/00GK2580516SQ0125886
公开日2003年10月15日 申请日期2001年8月30日 优先权日2001年8月30日
发明者仇利强, 王蔚庭 申请人:仇利强, 王蔚庭
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1