?? musicpro_try.v
字號:
/* 樂曲演奏電路子模塊
與musicpro.v的區別是這里均使用阻塞賦值語句*/
module musicpro_try(clk_6M,clk_4,clr,speaker,high,mid,low,carry);
input clk_6M,clk_4,clr; //clk_6M: 用于產生各種音階頻率的基準頻率;clk_4: 用于控制音長(節拍)的時鐘頻率
output speaker,carry; //speaker:用于激勵揚聲器的輸出信號,為方波;carry:計數器divider的進位輸出
output [3:0]high,mid,low; //分別用于顯示高音、中音和低音音符,各用一個數碼管來顯示
reg[3:0]high,mid,low;
reg[13:0]divider,origin; //divider :對clk_6M進行分頻的計數器;origin:各種音階頻率對應的預置數
reg[7:0]counter; //用于控制每個音符的時長及演奏的循環進行
reg speaker;
wire carry;
/* (1)反饋預置計數器 */
assign carry=(divider==16383);
always @(posedge clk_6M )
begin
if(divider==16383)
divider=origin;
else
divider=divider+1;
end
/* (2)2分頻器 */
always @(posedge carry or posedge clr)
begin
if(clr) // 異步清零,高有
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -