txd.v

来自「用verilog实现的串口收发数据程序」· Verilog 代码 · 共 75 行

V
75
字号
//52分频
module txd(clk,txd,vcc);
input clk;
output txd;
output vcc;
reg [3:0] num;
reg [3:0] n;
reg txd;
assign vcc=1'b1;
always@(posedge clk)
begin
  if(num==4'b0000)
    begin
     num=num+4'b0001;
     case(n)
      4'b0000: 
          begin
            txd=1'b0;
            n=4'b0001;
          end//起始位
      4'b0001: 
          begin
            txd=1'b0;
            n=4'b0010;
          end
      4'b0010: 
          begin
            txd=1'b0;
            n=4'b0011;
          end
      4'b0011: 
          begin
            txd=1'b0;
            n=4'b0100;
          end
      4'b0100: 
          begin
            txd=1'b0;
            n=4'b0101;
          end
      4'b0101: 
          begin
            txd=1'b1;
            n=4'b0110;
          end
      4'b0110: 
          begin
            txd=1'b1;
            n=4'b0111;
          end
      4'b0111: 
          begin
            txd=1'b0;
            n=4'b1000;
          end
      4'b1000: 
          begin
            txd=1'b0;
            n=4'b1001;
          end
      4'b1001: 
          begin
            txd=1'b1;
            n=4'b0000;//停止位
          end
      default: txd=1'b1;
     endcase
    end
   else if(num==4'b1111)
      num=4'b0000;
   else
     num=num+4'b0001;
end
endmodule

⌨️ 快捷键说明

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