找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

有哪个大佬知道我这个蜂鸣器代码为什么发不出声音呢

module bell_controller(
input ClkIn,       // 输入时钟
input Resetb,      // 复位按钮
input [2:0] tone_number, // 输入的音符序号
output reg Bell        // 蜂鸣器输出
);
wire ClkBell;
reg [15:0] PreDiv;
reg [12:0] Delay;
// 实例化频率分频器
gen_divd Gen_ClkBell(.reset(Resetb), .clkin(ClkIn), .clkout(ClkBell));
always @ (negedge Resetb or posedge ClkBell)
if(!Resetb)
begin
Bell <= 1'b0;
Delay <= 13'd0;
PreDiv <= 16'h0000;
end
else
begin
Delay <= Delay + 1'd1;
if(Delay >= PreDiv)
begin
Bell <= ~Bell;
Delay <= 13'd0;
case(tone_number)
3'b001:PreDiv <= 16'h5997; // 1
3'b010: PreDiv <= 16'h4FCD; // 音符2的频率
3'b011: PreDiv <= 16'h471B; // 音符3的频率
3'b100: PreDiv <= 16'h431E; // 音符4的频率
3'b101: PreDiv <= 16'h3BCA; // 音符5的频率
3'b110: PreDiv <= 16'h3544; // 音符6的频率
3'b111: PreDiv <= 16'h2F74; // 音符7的频率
default:  PreDiv <= 16'h0000;
endcase
end
end
endmodule
回复

使用道具 举报

大神点评(1)

AnthonyWemn 2024-9-4 16:41:04 显示全部楼层
这个怎么说呢,verilog看起来没问题,你看看bell外面接到蜂鸣器上面了吗,另外clkin,clkbell的频率是期望的嘛?也说不定是频率太低太高人耳听不到
回复 支持 反对

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐