基于veriloghdl密码锁设计内容摘要:

SS2。 SSSS2 可对三个数码管进行片选,使它们分别亮。 A、 B、 C接段选,以控制数码管显示什么数字。 程序如下: module show(A,B,C,clk,Q,ss1,ss0)。 input[3:0] A,B,C。 input clk。 output[6:0] Q。 output ss1,ss0。 reg[1:0] M。 reg ss0,ss1。 reg[6:0] Q。 always@(posedge clk) begin M=M+1。 if(M==39。 b11) M=39。 b00。 end always@(posedge clk) begin if(M==39。 b00) begin ss1=0。 ss0=0。 case(A) 0:Q=39。 b0111111。 1:Q=39。 b0000110。 2:Q=39。 b1011011。 3:Q=39。 b1001111。 4:Q=39。 b1100110。 5:Q=39。 b1101101。 6:Q=39。 b1111101。 7:Q=39。 b0000111。 8:Q=39。 b1111111。 9:Q=39。 b1101111。 endcase end if(M==39。 b01) begin ss1=0。 ss0=1。 case(B) 0:Q=39。 b0111111。 1:Q=39。 b0000110。 2:Q=39。 b1011011。 3:Q=39。 b1001111。 4:Q=39。 b1100110。 5:Q=39。 b1101101。 6:Q=39。 b1111101。 7:Q=39。 b0000111。 8:Q=39。 b1111111。 9:Q=39。 b1101111。 endcase end if(M==39。 b10) begin ss1=1。 ss0=0。 case(C) 0:Q=39。 b0111111。 1:Q=39。 b0000110。 2:Q=39。 b1011011。 3:Q=39。 b1001111。 4:Q=39。 b1100110。 5:Q=39。 b1101101。 6:Q=39。 b1111101。 7:Q=39。 b0000111。 8:Q=39。 b1111111。 9:Q=39。 b1101111。 endcase end end Endmodule 控制模块用于密码的设置 控制模块 功能 实现 : 模块可以通过程序的执行实现对密码进行设置和进行开琐,开始时锁处于关闭的状态,即为 1,输入事先设置的万能密码开琐,在锁开的状态时设置密码,然后将锁关闭,再输入三位数字进行开锁,正确时为。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。