
正文
rst游戏java代码 java游戏程序代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
有哪位大佬可以解读下这个代码?谢谢!!
默认你学过 Verilog
前5行表明rst游戏java代码了这个模块(module)的输入输出和名称,它叫 PWM_30K,有3个对外的端口。
接下来,详细定义这些端口,首先 clk 和 rst_n 是输入,根据名称来看它们分别是时钟信号和复位信号,PWM_out 是一个 1 位的输出端,连接到一个寄存器上(reg)。
reg [10:0] cnt 定义了一个 11 位的寄存器,名叫 cnt ,根据名字来看它是一个计数器。
always@ 这里,括号中是 posedge clk 和 negedge rst_n,意思是每次时钟信号的上升沿或者复位信号的下降沿到来时,会触发这个 always 块,具体它当中是一个 if...else if...else 的判断,if (!rst_n) cnt = 11'd0; 是说如果 rst_n=0,那么就把 cnt 计数器清零。
11'd0 意思是一个数字,这个数字有11个二进制位,而它的十进制值是0,也就是说它的二进制是 000 0000 0000,再比如 7'd9 这个数字,它的二进制位是7位,十进制是9,那么它的二进制表示就是 000 1001。= 是非阻塞赋值,简单理解就是赋值,把后面这个数字放进了 cnt 寄存器中。
继续看代码,else if (cnt == 11'd1667) cnt = 11'd0; 这一句意思是在前面条件不满足的情况下,如果 cnt 等于 1667(十进制),那么就把它清零。
else cnt = cnt + 1'b1; 这一句是说在不满足前面两个条件时,就把 cnt 加一,再赋值给 cnt,比如某个时间来了一个时钟(clk)上升沿,此时 cnt 等于1666,那么 cnt 就会加一,等于 1667,下一个时钟上升沿到来之后,cnt 便会清零。
再看下面一个 always 块,它的触发条件和上面一样,也是时钟上升沿或者复位下降沿触发。同样,if(!rst_n) PWM_out = 1'b0; 如果复位信号等于0,那么 PWM_out 就会变成 0,由于它同时也是这个 module 的输出端,所以输出就是0.
else if (cnt 11'd834) PWM_out = 1'b1; 是说如果 cnt 的值小于 834,那么就会输出1,后面 else PWM_out = 1'b0; 也就是 cnt 的值大于等于 834,那么就会输出 0。
同时由于上一个 always 块的限制,cnt 的值最大是 1667,最小是 0,此时,rst游戏java代码我们就可以说这个模块的功能是:每次时钟上升沿到来,cnt 加一,cnt 大于等于0小于834时,输出为1,cnt大于等于834小于等于1667时,输出0,也就是每 834 个时钟信号到来,输出翻转一次,这就是输出了一个 占空比为 50% 的 PWM波,也就是方波。具体这个波的频率就取决于 clk 时钟信号的频率,它的频率是时钟信号频率的 1/1668 。
最后的 endmodule 结束整个模块(E 应该小写)
相关问答
Q1: java.lang.NullPointerException
很多可能为null的情况你都没处理,当然会出NullPointerException 错误
比如:
String username=request.getParameter("username");
String password=request.getParameter("password");
String str="select * from tb_user where"+"username="+username+"and password="+password;
应该改成:
String username=request.getParameter("username");
String password=request.getParameter("password");
if(username != null password != null){
String str="select * from tb_user where"+"username="+username+"and password="+password;
………………
………………
}
下面的代码自己再检查检查,类似的情况都要先判断
Q2: JAVA显示从数据库中读取到的数据
Debug
编程必须掌握的技术;
解决问题的最好方法。
你设置断点调试一下
瞟一眼,貌似sql语句有错。输出来在mysql命令行下执行以下看看正确与否。
Q3: java用递归算法求 1-2+3-4+5-6......+
思路:先用递归求出一个数的阶乘,接着for循环累加求和。参考代码:
#include
int
fun(int
n){
if(n==1)
return
1;//递归结束条件
return
n*fun(n-1);//递归式
}
int
main()
{
int
sum=0,i;
for(i=1;i=6;i++)//for循环累加求和
sum+=fun(i);
printf("%d\n",sum);
return
0;
}
/*
运行结果:
873
*/
评论
加载更多
rst游戏java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java游戏程序代码、rst游戏java代码的信息别忘了在本站进行查找喔。






