?? uart_test.v
字號:
/********************************版權(quán)聲明**************************************
** 廣州致遠電子有限公司
**
** http://www.embedtools.com
**
**-------------------------------------------文件信息----------------------------------------------------------
** 文件名稱: uart_test.v
** 創(chuàng)建者:
** 創(chuàng)建日期: 2008. 7.8
** 版本號: V1.0
** 功能描述: 串口通信頂層模塊
**
**--------------------------------------修改文件的相關(guān)信息--------------------------------------------------
** 修改人:
** 修改日期:
** 版本號:
** 修改內(nèi)容:
**
*******************************************************************************/
module uart_test(
clock, //系統(tǒng)時鐘
RXD, //uart接收引腳
TXD //uart發(fā)送引腳
);
input clock; //系統(tǒng)時鐘(48MHz)
input RXD; //uart接收引腳
output TXD; //uart發(fā)送引腳
reg [7:0] senddata; //發(fā)送一個字節(jié)的數(shù)據(jù)緩存區(qū)
reg WR_R1,WR_R2,WR_R3; //控制產(chǎn)生一個發(fā)送的寫信號
wire [7:0]recdata; //接收緩存區(qū)
wire RI,TI,WR; //接收、發(fā)送中斷以及寫控制信號
wire clksend,clkrec; //發(fā)送和接收的時鐘頻率
wire clk100M;
/********************************************************************************
** 模塊名稱:
** 功能描述:通過RI接收中斷產(chǎn)生一個寫信號,維持時間為1個Clk
********************************************************************************/
always@(posedge clksend)
begin
WR_R1 <= RI;
WR_R2 <= WR_R1;
WR_R3 <= WR_R2;
end
assign WR = (~WR_R3)&(WR_R2)&(WR_R1); //控制寫信號
/********************************************************************************
** 模塊名稱:
** 功能描述:當(dāng)接收了一個數(shù)據(jù)后,把數(shù)據(jù)加1后發(fā)回PC機
********************************************************************************/
always@(posedge RI)
begin
senddata <= recdata+8'd1;
end
rec uartrec( //實例化一個uart接收模塊
.clk(clock),
.clkout(clkrec),
.dataout(recdata),
.RXD(RXD),
.RI(RI)
);
send uartsend( //實例化一個uart的發(fā)送模塊
.clk(clock),
.clkout(clksend),
.datain(senddata),
.TXD(TXD),
.TI(TI),
. WR(WR)
);
endmodule
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -