?? lcd_control.v
字號(hào):
sf_d_temp = 8'b01001100; // L if (count == `TIME3) begin next_state <= `word8; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) & (count <= `TIME3)) begin next_state <= `word7; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `word7; control = 3'b101; state_flag <= 1'b0; end end // case `word8 : begin sf_d_temp = 8'b01100001; // a if (count == `TIME3) begin next_state <= `word9; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) & (count <= `TIME3)) begin next_state <= `word8; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `word8; control = 3'b101; state_flag <= 1'b0; end end // case `word9 : begin sf_d_temp = 8'b01110000; // p if (count == `TIME3) begin next_state <= `word10; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `word9; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `word9; control = 3'b101; state_flag <= 1'b0; end end // case `word10 : begin sf_d_temp = 8'b00111010; // [colon] if (count == `TIME3) begin next_state <= `time_display1; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `word10; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `word10; control = 3'b101; state_flag <= 1'b0; end end // case //--------------------- Time Display-------------------------------------- `time_display1 : begin sf_d_temp = 8'b10000110; // Set Address hx06 if (count == `TIME3) begin next_state <= `time_display2; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display1; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display1; control = 3'b001; state_flag <= 1'b0; end end // case `time_display2 : begin // Display minute digit case (minutes) 4'b0000 : sf_d_temp = 8'b00110000; //0 4'b0001 : sf_d_temp = 8'b00110001; //1 4'b0010 : sf_d_temp = 8'b00110010; //2 4'b0011 : sf_d_temp = 8'b00110011; //3 4'b0100 : sf_d_temp = 8'b00110100; //4 4'b0101 : sf_d_temp = 8'b00110101; //5 4'b0110 : sf_d_temp = 8'b00110110; //6 4'b0111 : sf_d_temp = 8'b00110111; //7 4'b1000 : sf_d_temp = 8'b00111000; //8 4'b1001 : sf_d_temp = 8'b00111001; //9 default : sf_d_temp = 8'b00101101; //[-] endcase if (count == `TIME3) begin next_state <= `time_display3; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display2; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display2; control = 3'b101; state_flag <= 1'b0; end end // case `time_display3 : begin sf_d_temp = 8'b10000111; // Set Address hx07 if (count == `TIME3) begin next_state <= `time_display4; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display3; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display3; control = 3'b001; state_flag <= 1'b0; end end // case `time_display4 : begin sf_d_temp = 8'b00111010; // [colon] if (count == `TIME3) begin next_state <= `time_display5; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display4; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display4; control = 3'b101; state_flag <= 1'b0; end end // case `time_display5 : begin sf_d_temp = 8'b10001000; // Set Address hx08 if (count == `TIME3) begin next_state <= `time_display6; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display5; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display5; control = 3'b001; state_flag <= 1'b0; end end // case `time_display6 : begin // Display tens of seconds digit case (tens) 4'b0000 : sf_d_temp = 8'b00110000; //0 4'b0001 : sf_d_temp = 8'b00110001; //1 4'b0010 : sf_d_temp = 8'b00110010; //2 4'b0011 : sf_d_temp = 8'b00110011; //3 4'b0100 : sf_d_temp = 8'b00110100; //4 4'b0101 : sf_d_temp = 8'b00110101; //5 4'b0110 : sf_d_temp = 8'b00110110; //6 4'b0111 : sf_d_temp = 8'b00110111; //7 4'b1000 : sf_d_temp = 8'b00111000; //8 4'b1001 : sf_d_temp = 8'b00111001; //9 default : sf_d_temp = 8'b00101101; //[-] endcase if (count == `TIME3) begin next_state <= `time_display7; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display6; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display6; control = 3'b101; state_flag <= 1'b0; end end // case `time_display7 : begin sf_d_temp = 8'b10001001; // Set Address hx09 if (count == `TIME3) begin next_state <= `time_display8; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display7; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display7; control = 3'b001; state_flag <= 1'b0; end end // case `time_display8 : begin // Display seconds digit case (ones) 4'b0000 : sf_d_temp = 8'b00110000; //0 4'b0001 : sf_d_temp = 8'b00110001; //1 4'b0010 : sf_d_temp = 8'b00110010; //2 4'b0011 : sf_d_temp = 8'b00110011; //3 4'b0100 : sf_d_temp = 8'b00110100; //4 4'b0101 : sf_d_temp = 8'b00110101; //5 4'b0110 : sf_d_temp = 8'b00110110; //6 4'b0111 : sf_d_temp = 8'b00110111; //7 4'b1000 : sf_d_temp = 8'b00111000; //8 4'b1001 : sf_d_temp = 8'b00111001; //9 default : sf_d_temp = 8'b00101101; //[-] endcase if (count == `TIME3) begin next_state <= `time_display9; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display8; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display8; control = 3'b101; state_flag <= 1'b0; end end // case `time_display9 : begin sf_d_temp = 8'b10001010; // Set Address hx0A if (count == `TIME3) begin next_state <= `time_display10; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display9; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display9; control = 3'b001; state_flag <= 1'b0; end end // case `time_display10 : begin sf_d_temp = 8'b00111010; // [colon] if (count == `TIME3) begin next_state <= `time_display11; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display10; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display10; control = 3'b101; state_flag <= 1'b0; end end // case `time_display11 : begin sf_d_temp = 8'b10001011; // Set Address hx0B if (count == `TIME3) begin next_state <= `time_display12; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display11; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display11; control = 3'b001; state_flag <= 1'b0; end end // case `time_display12 : begin // Display tenths of second digit case (tenths) 4'b0000 : sf_d_temp = 8'b00110000; //0 4'b0001 : sf_d_temp = 8'b00110001; //1 4'b0010 : sf_d_temp = 8'b00110010; //2 4'b0011 : sf_d_temp = 8'b00110011; //3 4'b0100 : sf_d_temp = 8'b00110100; //4 4'b0101 : sf_d_temp = 8'b00110101; //5 4'b0110 : sf_d_temp = 8'b00110110; //6 4'b0111 : sf_d_temp = 8'b00110111; //7 4'b1000 : sf_d_temp = 8'b00111000; //8 4'b1001 : sf_d_temp = 8'b00111001; //9 default : sf_d_temp = 8'b00101101; //[-] endcase if (count == `TIME3) begin next_state <= `time_display13; control = 3'b101; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display12; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display12; control = 3'b101; state_flag <= 1'b0; end end // case `time_display13 : begin sf_d_temp = 8'b10001100; // Set Address hx0C if (count == `TIME3) begin next_state <= `time_display14; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display13; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `time_display13; control = 3'b001; state_flag <= 1'b0; end end // case `time_display14 : begin // Display hundredths of second digit case (hundredths) 4'b0000 : sf_d_temp = 8'b00110000; //0 4'b0001 : sf_d_temp = 8'b00110001; //1 4'b0010 : sf_d_temp = 8'b00110010; //2 4'b0011 : sf_d_temp = 8'b00110011; //3 4'b0100 : sf_d_temp = 8'b00110100; //4 4'b0101 : sf_d_temp = 8'b00110101; //5 4'b0110 : sf_d_temp = 8'b00110110; //6 4'b0111 : sf_d_temp = 8'b00110111; //7 4'b1000 : sf_d_temp = 8'b00111000; //8 4'b1001 : sf_d_temp = 8'b00111001; //9 default : sf_d_temp = 8'b00101101; //[-] endcase if (count == `TIME3) begin if ((mode == 1'b1) && (lap_flag == 1'b1)) begin // Clock mode lap_flag triggered next_state <= `lap_display1; control = 3'b101; state_flag <= 1'b1; end else if ((mode == 1'b1) && (lap_flag == 1'b0)) begin // Clock mode if (clock_flag == 1'b1) begin next_state <= `init6; control = 3'b101; state_flag <= 1'b1; set_clock_flag = 1'b0; end else begin next_state <= `lap_display1; control = 3'b101; state_flag <= 1'b1; end end // else if else if (mode == 1'b0) begin // timer mode if (timer_flag == 1'b1) begin next_state <= `init6; control = 3'b101; state_flag <= 1'b1; set_timer_flag = 1'b0; end else begin next_state <= `time_display1; control = 3'b101; state_flag <= 1'b1; end end // else if else begin next_state <= `time_display1; control = 3'b101; state_flag <= 1'b1; end end // if else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `time_display14; control = 3'b100; state_flag <= 1'b0; end else begin next_state <= `time_display14; control = 3'b101; state_flag <= 1'b0; end end // case//--------------------- Lap Time Display-------------------------------------- `lap_display1 : begin sf_d_temp = 8'b11000110; // Set Address hx46 if (count == `TIME3) begin next_state <= `lap_display2; control = 3'b001; state_flag <= 1'b1; end else if ((count > `TIME2) && (count <= `TIME3)) begin next_state <= `lap_display1; control = 3'b000; state_flag <= 1'b0; end else begin next_state <= `lap_display1; control = 3'b001; state_flag <= 1'b0; end end // case `lap_display2 : begin // Display minute digit case (lap_min) 4'b0000 : sf_d_temp = 8'b00110000; //0 4'b0001 : sf_d_temp = 8'b00110001; //1 4'b0010 : sf_d_temp = 8'b00110010; //2 4'b0011 : sf_d_temp = 8'b00110011; //3
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -