python led灯,python基础灯光开关
//通过按键控制对应的领先灯亮灭,按一下亮,再按一下灭,消抖时间20毫秒
模块按键_led
(
输入clk,rst_n,
输入[2:0]键,
输出led0、led1、led2
);
reg[2:0]key _ rst;
始终@(posedge时钟或负边缘rst_n)
开始
如果(!rst_n)
key _ rst=3 b111
其他
key _ rst=key
目标
reg[2:0]key _ rst _ r;
始终@(posedge时钟或负边缘rst_n)
开始
如果(!rst_n)
key _ rst _ r=3 b111
其他
key _ rst _ r=key _ rst
目标
wire[2:0]key _ en=key _ rst _ r(~ key _ rst);
///
reg[19:0]CNT;
始终@(posedge时钟或负边缘rst_n)
开始
如果(!rst_n)
cnt=20 d0
else if(key_en)
cnt=20 d0
其他
cnt=cnt 20 d1
目标
///
reg[2:0]low _ SW;
始终@(posedge时钟或负边缘rst_n)
开始
如果(!rst_n)
low _ sw=3 b111
else if (cnt==20hfffff)
low _ sw=key
//否则
//low _ SW=low _ SW;//为什么这句加上去按键键[0]会不稳定?
目标
reg[2:0]low _ SW _ r;
始终@(posedge时钟或负边缘rst_n)
开始
如果(!rst_n)
low _ sw _ r=3 b111
其他
low _ sw _ r=low _ sw
目标
wire[2:0]led _ ctrl=low _ SW _ r[2:0](~ low _ SW[2:0]);
reg[2:0]led _ out;
始终@(posedge时钟或负边缘rst_n)
开始
如果(!rst_n)
led _ out=3 b111
其他
开始
if(led _ ctrl[0])led _ out[0]=~ led _ out[0];
if(led _ ctrl[1])led _ out[1]=~ led _ out[1];
if(led _ ctrl[2])led _ out[2]=~ led _ out[2];
目标
目标
赋值led0=led_out[0]?1 D1:1 d0;
赋值led1=led_out[1]?1 D1:1 d0;
赋值led2=led_out[2]?1 D1:1 d0;
末端模块
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。