//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