python led灯,python基础灯光开关

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: