集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 4270|回复: 10

请教verilog的小问题!

[复制链接]
rockfiant 发表于 2012-3-5 10:34:47 | 显示全部楼层 |阅读模式
我写了一段简单的代码测试蜂鸣器的,可是却不响,管脚什么的都没问题,因为用现成的程序完全能用,但把其中的语句注释掉就不行了,请各位大侠帮帮忙!

module fp_verilog(                                               
        clk,rst_n,
        fm
);

input        clk;
input        rst_n;
output fm;
assign        fm=1'b1;  //希望让它长鸣,可是不响

/*        reg fm_r;
reg[8:0] cnt;
always @(posedge clk or negedge rst_n)
                if(!rst_n) cnt<=8'b0;       
                else cnt<=cnt+1'b1;

always @(posedge clk or negedge rst_n)
        if(!rst_n)        fm_r<=1'b0;
        else if(cnt==8'hff) fm_r<=~fm_r;
       
assign fm=fm_r;       
*/
endmodule
roojieryun 发表于 2012-3-6 23:31:46 | 显示全部楼层
试一下 assign  fm=1'b0;
 楼主| rockfiant 发表于 2012-3-8 11:37:48 | 显示全部楼层
回复 2# roojieryun


   试了,没用
bear0514 发表于 2012-3-9 17:30:18 | 显示全部楼层
你什么板子哦,一般蜂鸣器那有个开关的,你看你的原理图有没有撒,而且你这个程序有问题,不能用assign 连续为他赋值,执行时不确定先执行的那个语句
zombes 发表于 2012-3-11 18:10:11 | 显示全部楼层
你这个蜂鸣器的发声是这样的:输入电平在高地之间转换时,会发声;高低转换频率越高,发声越高,这也是蜂鸣器发出不同频率声音的原因,所以蜂鸣器的输入信号是脉冲,而不是某一电平。

OK
 楼主| rockfiant 发表于 2012-3-13 15:43:05 | 显示全部楼层
回复 5# zombes


   应该是这样的,谢了
桂花居士 发表于 2012-3-15 15:02:55 | 显示全部楼层
眼看你的蜂鸣器是有源还是无源的
yuxuejun1123 发表于 2012-3-22 13:56:08 | 显示全部楼层
对啊,你的蜂鸣器明显是PWM波驱动的,不是高压驱动的,所以你希望它长响,给全1电平是不行的
taoyang2002 发表于 2012-3-23 00:31:11 | 显示全部楼层
请教下,最后这个程序是怎么更改的?
zombes 发表于 2012-3-23 22:43:32 | 显示全部楼层
蜂鸣器的输入信号是脉冲(或者称为不同频率时钟),而不是某一电平。

OK
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-2 08:51 , Processed in 0.074080 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表