Page 431 - 2
P. 431

assign LCD_RW = 0;


            //ADC
                    always @(posedge clk)
                            if(!rst) begin clk_count <=8'h00; adc_clk <= 1'b0; end
                            else begin
                                    if(clk_count<54) clk_count <= clk_count +1;
                                    else begin clk_count <=8'h00; adc_clk <= ~adc_clk; end
                            end


                    always @(posedge clk)
                            if(!rst) begin state_1 <= START; adc_oe <=0; adc_ale <=0; adc_start <=0; end
                            else begin
                                            case(state_1)
                                             START: begin
                                            if(adc_time <1) begin adc_ale <=0; adc_start <=0; end
                                            else if(adc_time <2) begin adc_ale <=1; adc_start <=0; end
                                            else if(adc_time <3) begin adc_ale <=1; adc_start <=1; end
                                            else if(adc_time <6) begin adc_ale <=0; adc_start <=1; end
                                            else begin adc_ale <=0; adc_start <=0; end
                                            if(adc_time>100) state_1 <= START;
                                            if(adc_eoc==0) state_1 <= EOC;
                                             end
                                             EOC:      if(adc_eoc==1) state_1 <= OE;
                                             OE:       state_1 <= DATA_OUT;
                                             DATA_OUT: begin adc_oe <=1; state_1 <= START; end
                                            endcase
                            end


                    always @(posedge clk)
                            if(!rst) adc_time <=0;
                            else begin
                                    if(state_1==START) adc_time <= adc_time +1;
                                    else adc_time <=0;
                            end


            //PUMP & LED
                    always @(posedge clk)
                            if(!rst) water <=0;
                            else begin if(state_1 == DATA_OUT) water <= ~adc_input; end


                    always@(posedge clk)
                            if(!rst) begin led_red<=0; led_blue<=0; motor<=0; end
                            else begin


                                                         - 431 -
   426   427   428   429   430   431   432   433   434   435   436