Page 978 - 3-2
P. 978

end
                       else rx_clk_cnt <= rx_clk_cnt + 1'b1;

                       if ( rx_bit_cnt < 8 && rx_clk_cnt == baud_rate) // receive data
                       begin

                          rx_data_buffer[rx_bit_cnt] <= rxd;
                          state_rx <= 1;

                          rs232_en <= 0;
                       end

                       else if (rx_bit_cnt == 8&& rx_clk_cnt == baud_rate && rxd == 1)
                       begin

                          state_rx <= 0;
                          rx_data <= rx_data_buffer; // data  출력

                          rs232_en <= 1;
                       end

                       // if stop bit is not received, clear the received data
                       else if (rx_bit_cnt == 8 && rx_clk_cnt == baud_rate && rxd != 1)

                       begin
                           state_rx <= 0;

                           rx_data_buffer <= 8'b00000000; // invalidate
                           rs232_en <= 0;

                       end
                       else rs232_en <= 0;

                  end
              end



            endmodule



              ***************** <door Module> ***************************************

            module door(clk, rst, door_open, door_power);



            input clk, rst;
            input [1:0]door_open; //  문을 열어야 하는 상황인가

            output reg [1:0] door_power; // 실질적으로 모터 돌리기 위한 포트 (01              이 잠궈??)



            /*
            기본적으로 도어락은 다음과 같은 규칙을 준수해야 합니다.



                                                         - 978 -
   973   974   975   976   977   978   979   980   981   982   983