PLD 与数字系统设计实验报告实验二(B 组):旋转开关一 实验要求:利用 Spartan-3 Starter Board 实验板上的旋转开关,设计一个通过旋转开关的方向来控制 LED 灯的依次点亮顺序的实验,并且要求可以循环点亮
二 实验原理及算法分析本次实验总体上来讲可以分为两大部分来思考:第一部分为由旋转旋钮的方向决定 LED 灯点亮的顺序,使实现旋钮向右旋转时 LED 灯向右点亮,旋钮向左旋转时 LED 灯向左点亮,这部分的关键在于如何根据电路板的引脚输入判断旋钮旋转的方向;第二部分为通过旋转旋钮构建时钟来实现旋钮旋转一格时可循环地依次点亮一个 LED 灯,关键在于如何构建实验所需要的时钟
1°旋钮方向下面这幅图取自《Xilinx UG230 Spartan-3E Starter Kit Board User Guide》,是Spartan-3 电路板上的旋钮的编码电路图:上页图所示的是旋钮旋转中 A、B 两个引脚的一个状态,实际中旋钮旋转一格使 A 和 B 与 GND 导通的开关(分别记为 K1、K2)的状态变化(K1、K2)分别为:向右旋转时:(断开,断开)(闭合,断开)(闭合,闭合)(断开,闭合)(断开,断开)向左旋转时:(断开,断开)(断开,闭合)(闭合,闭合)(闭合,断开)(断开,断开)根据用户手册中 A、B 两个引脚的 UCF 文件所述:“NET "ROT_A" LOC = "K18" | IOSTANDARD = LVTTL | PULLUP;NET "ROT_B" LOC = "G18" | IOSTANDARD = LVTTL | PULLUP;”Vcco 接高电平,当 K1 断开时,A 输出为高电平,即输出为“1”;当 K1 闭合时,A 输出为低电平,即输出为“0”
对 B 同理可得出相同结果
可得到旋钮旋转一格(A,B)状态的变化如下:向右旋转