module ADCSerial(SEG1,SEG0,LED,SCK,MOSI,CS);
input SCK,MOSI,CS;
output [6:0]SEG1,SEG0;
output [7:0]LED;
reg [7:0]Q;
reg [6:0]display[15:0];
reg [7:0]LED;
reg [6:0]SEG1,SEG0;
initial
begin
display[0] = 7'b1000000;
display[1] = 7'b1111001;
display[2] = 7'b0100100;
display[3] = 7'b0110000;
display[4] = 7'b0011001;
display[5] = 7'b0010010;
display[6] = 7'b0000010;
display[7] = 7'b1111000;
display[8] = 7'b0000000;
display[9] = 7'b0010000;
display[10] = 7'b0001000;
display[11] = 7'b0000011;
display[12] = 7'b1000110;
display[13] = 7'b0100001;
display[14] = 7'b0000110;
display[15] = 7'b0001110;
end
always@(posedge SCK)
begin
Q[0] <= MOSI;
Q[1] <= Q[0];
Q[2] <= Q[1];
Q[3] <= Q[2];
Q[4] <= Q[3];
Q[5] <= Q[4];
Q[6] <= Q[5];
Q[7] <= Q[6];
end
always@(posedge CS)
begin
LED = Q[7:0];
SEG1 = display[Q[7:4]];
SEG0 = display[Q[3:0]];
end
endmodule