象棋计时器电路散件:本套件含电路原理图,元件清单,芯片已烧录好程序,功能说明等等。
更改:(电路板上R7、R8、R9标注为51,改为使用2.2K的)
成品板68元,接通电源即可工作。散件是需要自己组装后才能工作,现在象棋程序都已经写好了,芯片里面的程序已写好,大家装好就可以用了。值此计时器推出之际,顺便赠送象棋四大名局给大家,这是一个FLASH,点了棋局名后,就可以点下一步上一步了。
经过几个月的努力,终于完成这个FLASH,以后有时间的话,我要将它做成打谱一体的,因为我觉得用虚拟机很多电脑不支持,还需要安装,而采用JS加CSS的,文件太多,消耗服务器资源较大,而FLASH播放器基本上已经普及了,只需一个FLASH,体积又小,文件又小,用起来又很方便。先给大家演示一下。
/7.swf
装好后成品如下:
使用说明:
1、给板接通7-12V的直流电源,这时板上A、B、C、D四区数码管分别显示0:00:00、0:00:00、1、0:00;表示预备状态,A区表示红方累计时间,B区表示黑方累计时间,C区表示当前步数,D区表示当前步所用时间。
2、此时红黑方任意方按自己的按键,对方累计时间秒点闪动,当前时间从0开始计时,表示对方应该行棋,5秒后计时器开始发出警告音,10秒后停止计时并长响报警表示超时为负。
3、如果红黑方在10秒之内能完成走棋,并立即按下自己的按键,当前步走时会累加到自己的累计时间,同时对方计时开始。如果时间小于5秒,累加时间按5秒计算。
4、走棋结束后,按中间按键2秒后松开,可以全部数据清零,进行第二盘计时。如果再按中间键2秒后松开,可以进入设置状态,可以设置每步最长走时间,可以设置报警剩余时间,可以设置发声方式,计时设置模式。
如果用户对以上程序的功能不满意,则只能是自己重新在写,有了本站的单片机开发板就可以进行该项工作了。
注意:有能力的用户自己也可以编,如果用户的程序写得很好的话,最后还可以卖给本站,或者卖给本站的其他朋友。
原下图如下:
本站套件不提源程序,套件里面已烧录好程序,安装无误应该是一次性成功,不会安装的朋友可以购买本站的成品板,谢谢合作。
1、要求用汇编语言写成,详细注解和子程序功能说明,方便以后做程序的修改和功能调整。
2、画一个框图,也就是流程图,方便以后做程序的修改和功能调整。
3、硬件组成:一个40PIN芯片和六个三极管带动18个LED数码管,另有三路按键和一路声音输出。
4、本硬件原理图是经过我仔细设计的,本来可以接6路按键,但受外观限制,只用三只按键。
5、我估计这是硬件成本的最低方案,本站保留本原理图原创著作权,他人不得用于商业用途。
6、功能要求:按键手感舒适,防抖动效果良好,不会产生误操作(或者小于2%,我自己写的程序最佳状态可以达到计算器效果,误操作小于1%。)。
7、板上左上六位数码管显示红方累计时间,时间不会走动,仅显示红方走时的时间和。
板上右上六位数码管显示黑方累计时间,时间不会走动,仅显示黑方走时的时间和。
进入计时状态后,所有数码管为0,回合数显示1,四位临时记时开始按秒记时。
8、K1、K2、K3分别为红方OK、开始、黑方OK键,计时状态时,红黑方走完棋后按自己的OK键,自己的走棋时间累加,对方开始计时。对方计时时,按自己的OK键无效,按K2键,可以暂停计时,再按K2可能接着走时(相当于封盘)。每次对方计时时,回合数加1,回合数最小值为1,最大值为199,由于只有两位数码管,第100回合及以上只显示后两位,百位数隐藏,但回合数以2秒的频率闪动,即亮一秒,灭一秒,以示区别现在是第100以内的回合,还是第100以外的回合。 (说明:奇数一定是先手方,耦数一定是后手方)
9、计时状态时,2位公共秒点亮半秒熄半秒,同时被计时方的累计时的4位秒点亮半秒熄半秒,等待方的秒点长亮。
10、计时状态按一下K2进入要封盘状态,全部LED管闪动,秒点状态不变,以区别轮到哪方走时,封盘状态时;封盘状态时,全部LED闪动3秒后,再显示1秒设定的规则(规则不闪),如此反复。
11、封盘状态时,5分钟无操作,自动进入睡眠(关机),下次按POWER时醒来,状态不变。
封盘状专时,再按K2进入续盘,续盘就进入走正常计时状态,各计各的时间。
12、封盘时,长按K2两秒后松开,全部LED清零,回合变成1,等待计时,进入新的一盘初始状态的封盘状态,再按一次K2就可以正常计时。
13、新的一盘的初始状态的封盘状态时,长按K1两秒后松开,进入设置状态: 此时,全部秒点长亮,从最上的左向右数,12位显示每步棋的最短时间,在1-15秒内设定;34位显示倒计时报警时间,在3-60秒内设定;56位显示声音状态设置,在1-7设定{其中1表示全静音,2表示仅有按键音,3表示倒计时5秒响一次(响1秒),4表示倒计时2秒响一次(响0.5秒),5表示1秒响一次(响0.4秒),6表示1秒响两次(响0.2秒)。按键音全部都是响0.2秒。};78显示两横,表示无意义;9/10/11/12分别显示每步棋的最长时间的分钟数和秒钟数,任何一方走时超过了该时间即算输棋。一旦有人输棋,停止计时,报警长响。
14、进入设置状态时,按K1,可以让每步最少秒数、倒计时报警时间、声音方式、每步最长时间的分或者秒这五个数轮流闪动,按K3可以让闪动的数加1并且循环。
15、设置状态时,按K2可以退出设置到封盘状态,等待启动计时。
16、任何状态,长按k2五秒钟以上,自动进入封盘状态并睡眠,等待下次使用。每次复位开机后是显示上次的封盘状态,然后长按K2两秒松开可以初始化计时器,初始化后可以通过K1/K2进入相关设置,不论设置与否,不是在设置状态也不是在计时状态就是在封盘状态。
17、睡眠后,整机电流小于0.1MA,这时只有硬件复位(POWER电源开关)才可以开机,POWER永远只能开机,不能关机。
18、计时状态时,已经分出胜负,声音长响15秒后停,再空闲5分钟后,初始化计数封盘并自动睡眠,以便一次一开机就可以进入计时状态。
以上是我对这个象棋计时器的设计要求,我自己认为已经是比较完美的功能了,不知你是否还可以给点改良意见。 以上还没有要求记录全部的历史数据和当前盘的历吏数据: 应该要求是可以查看最近20盘的战绩的,只不过我担心你的水平还不能完成,如果你可以完成的话,就在上面加多一个状态:历史查看,可以查看最近20盘的规则(最短时间和最长时间)和走时总时间、总回合以及谁胜谁负(记录1盘8字节足够)。(这个功能很重要!下一版本中一定要加上去,所以,这次请你将程序一定写规范一点,条理清晰,注解详细,子程序也要说明清楚,希望你写 的程序在以后的象棋电子棋盘程序中也能有用,让你有最大收获,让我有最大回报。)
或者还可以查看当前盘的最近50步的用时(记录一步用时只需要2字节)。STC89C51内有512字节内存,内存多的是。
查看和发表评论 管理员一般会在8-48小时内回复,会删除无意义的留言以及重复留言,请保证留言标题清晰,内容明确! 1、评论不代表本站观点。 另外,即使是本站原创作品,本站也不保证内容绝对正确。 2、如果您拥有本文版权,并且不想在此处发表,请书面通知本站立即删除并且向您公开道歉! |