rs232_send.txt

来自「关于EDA编程的一些程序」· 文本 代码 · 共 36 行

TXT
36
字号
module rs232_send(clk,txd,din,wr);  //send data to rs232
input clk,wr;
input[7:0] din;
output txd;

reg bt_cp,wr_;
reg[3:0] txd_st;               //the staute of sending
reg[9:0] bt;                   //the speed of every bit to rs232
reg txd;

always @(posedge clk)
begin
  bt=(bt!=575)?bt+1:0;          //edit speed  19200 bit/s
  bt_cp=(bt==575)?1:0;
end

always @(posedge bt_cp)
begin
  wr_<=wr;
  case(txd_st)
  0:txd_st=({wr_,wr}==2)?1:0;
  1:begin txd_st=2;txd=0;end
  2:begin txd_st=3;txd=din[0];end
  3:begin txd_st=4;txd=din[1];end
  4:begin txd_st=5;txd=din[2];end
  5:begin txd_st=6;txd=din[3];end
  6:begin txd_st=7;txd=din[4];end
  7:begin txd_st=8;txd=din[5];end
  8:begin txd_st=9;txd=din[6];end
  9:begin txd_st=10;txd=din[7];end
 10:begin txd_st=11;txd=1;end
  default:begin txd_st=0;txd=1;end
  endcase
end

endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?