Р图3-2 比赛控制模块元件框图Р按下startbutton按键之后游戏开始,当按下serve0时甲发球,8个一排的LED灯从左向右移动(从1到8),当移动到第八个灯时按下int2按键代表乙击中,则乙得1分,提前或未来的及击球则甲得分。当按下serve1时乙发球从右向左移动,当移动到第一个灯时按下int1代表甲击中球,甲得1分,提前或未来的击球及则乙得分。Р3.2.2 记分模块Р图3-3 记分模块元件框图Р当选择好的信号binaryin[4..1]进入mydecoder之后,相应的数据会选择到相应的信号中,并且通过bcdout1[4..1]和bcdout2[4..1]输出相应的分数在两位数码管上的显示数字。bcdout1为十位数,bcdout2为个位数。Р3.2.3 数码管显示模块Р图3-4 显示模块框图Р数码管显示模块主要是由两个模块组成分别为setime以及deled这两个模块组成:setime模块主要是将输入的分数进行动态扫描,显示到每一位数码管的位选上,通过高速的扫描后会将每一位选手的分数很清晰的显示在数码管上。Рdeled模块是一个译码器的模块译码器的译码对照表3-5如下所示:Р表3-5 译码器的译码对照表Р显示的数字РBCD编码Р七段共阳数码管Р0Р0000Р1000000Р1Р0001Р1111001Р2Р0010Р0100100Р3Р0011Р0110000Р4Р0100Р0011001Р5Р0101Р0010010Р6Р0110Р0000010Р7Р0111Р1111000Р8Р1000Р0000000Р9Р1001Р0010000РXРXXXXР1111111Р在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码字,其他情况不予考虑。Р4 各个模块的仿真以及系统仿真、分析Р4.1 比赛控制模块仿真波形Р图4-1 比赛控制模块