A .
Introduction:
A dishwasher is an electromechanical device that combines both mechanical and electrical components.
It uses motors to pump water and rotate spray arms, while heating elements warm the water and aid in
drying dishes. The dishwasher is equipped with sensors that track water levels, temperature, and
detergent usage.
B .Parts of Dishwasher:
C .Architecture Diagram:
   D .Architecture Overview:
   1. User Interface (UI): MCU3 handles the user interface, including the LCD display, touch
      buttons, LEDs, and buzzer. It allows users to select washing cycles and provides visual and
      audible feedback.
   2. Connectivity: Zigbee/Mbus Modules enable wireless connectivity for smart home integration
      and remote control, facilitating data exchange with external devices.
    3. System Management:MCU1 acts as the central control unit, managing power, sensor data, and
       actuators (water valves, door locks, heating elements). It also monitors temperature and ensures
       efficient operation.
    4. Motor Control :MCU2 controls the motor and drying fan using a Triac and power module,
       often utilizing PWM for precise speed control.
    5. Sensors and Actuators :MCU1 also manages various actuators (water valves, door locks) and
       sensors (temperature, water level), using Triacs for switching high-power devices.
    6. Protection Components :ESD/TVS protection and discrete components safeguard the system
       from surges and electrostatic discharge, while logic gates handle control signals.
E .Data Path in the Dishwasher System:
1. User Input
    •   Users interact with buttons or the display. MCU3 captures and manages these interactions.
2. Processing Input
    •   MCU3 sends the user input to MCU1 (main control). MCU1 decides what actions the
        dishwasher should take.
3. Sensor Data Collection
    •   MCU1 collects data from key sensors:
            o    Water level sensors to check water quantity.
            o    Temperature sensors to monitor water heat.
            o    Turbidity sensors to assess water cleanliness.
4. Communication Between MCUs
    •   MCU1 sends instructions to MCU2 (controls motor and fan) and other components like heating
        elements and water valves.
5. Output Control
    •   Actions are triggered:
            o    The motor operates for washing and drying.
            o    The display shows cycle status, and LEDs provide user feedback.
F .Processor Memory in the Dishwasher System :
I .RAM (Random Access Memory)
Purpose: Used as temporary storage while the dishwasher is running.
Functionality:
Stores real-time data and cycle status (e.g., pre-wash, rinse).
Holds sensor readings during operation.
Being volatile, RAM loses all data when the power is turned off.
II .EEPROM (Electrically Erasable Programmable Read-Only Memory)
Purpose: Used for long-term data storage.
Functionality:
Stores data that must be kept even when the dishwasher is off, such as:
Wash cycle programs (e.g., normal, heavy-duty).
User settings like preferred temperatures or cycle options.
Error logs for diagnosing issues.
EEPROM is non-volatile, so data remains available even after the dishwasher is turned off.
G. Types of Instructions Implemented:
 s.no   Type of           Purpose/Use        Example Instruction      How the           Dishwasher
        Instruction                                                   Instruction       Component
                                                                      Works
 1.                       Transfer data      MOV R1,                  Transfers the     Water
                          between            [WATER_SENSOR]           water sensor      sensor, CPU
                          memory,                                     data from         registers,
                          registers, and                              memory into       user inputs
        Data
                          I/O devices.                                the CPU
        Transfer
                                                                      register (R1),
        Instructions
                                                                      enabling the
                                                                      CPU to access
                                                                      real-time water
                                                                      levels.
 2.     Arithmetic        Perform            1.CMP R1, R2 –           Compares the      Water heater
        and Logic         mathematical       Compare current and      current           (temperature
        Instructions      operations and     desired temp.            temperature       control),
                          logical            2.ADD R3, R1, R2 –       (R1) with the     water level
                          comparisons.       Add water volumes        desired value     sensor
                                                                      (R2) to decide
                                                                      whether to heat
                                                                      water. Adds the
                                                                      current water
                                                                      volume to the
                                                                      required
                                                                      volume.
 3.     Branching         Direct program     1.JMP                    If the water      Inlet valve
        Instructions      flow based on      OPEN_VALVE –             level is too      control,
                          conditions.        Jump to open inlet       low, the CPU      water
                                             valve                    jumps to the      temperature
                                             2.BNE                    instruction to    monitoring,
                                             NEXT_STAGE –             open the inlet    user-selected
                                             Branch to next stage     valve and add     cycle
                                                                      water. If the
                                                                      desired
                                                                      temperature is
                                                                      not reached,
                                                                      branches to
                                                                      heating.
 4.     I/O               Exchange data      1 .IN R4,                Reads the         Motor, spray
        Instructions      between the        MOTOR_STATUS –           motor's status    arms, inlet
                    CPU and           Read motor status      to check if it is   valve, drain
                    external          OUT                    running             pump,
                    components.       VALVE_CONTROL,         properly. Sends     temperature
                                      R1 – Control valve     control signals     sensor,
                                                             to the valve to     actuators
                                                             open/close
                                                             based on
                                                             system needs.
5.   Control        Manage the        HLT – Halt if door     Halts the           Door sensor,
     Instructions   execution of      opened                 program             user control
                    instructions and NOP – Do nothing        execution if the    interface
                    handle            (pause)                door is opened.
                    synchronization.                         Pauses the
                                                             execution
                                                             while waiting
                                                             for a specific
                                                             condition (e.g.,
                                                             waiting for
                                                             water to reach
                                                             the right
                                                             temperature).
6.   Bit            Modify specific 1.SETB                   Sets a bit in the   Heating
     Manipulation   bits in registers HEAT_ON_FLAG –         register to turn    element
     Instructions   for control or    Turn on heating        on the heating      control, door
                    status tracking.  2.CLR                  element. Clears     status, wash
                                      DOOR_OPEN_FLAG the bit when                cycle status
                                      – Clear door open flag the door is         flags
                                                             closed to
                                                             resume the
                                                             operation.
7.   Shift and      Shift or rotate   SHL R1, 2 – Multiply Shifts bits in        Sensor data
     Rotate         bits in registers sensor value           the register to     scaling
     Instructions   for scaling or    ROR R2, 1 – Rotate     multiply sensor     (temperature,
                    adjusting         register bits          data by a           water level),
                    control signals.                         power of 2,         PWM
                                                             useful for          control for
                                                             adjusting           motor speed
                                                             values. Rotates
                                                             bits in a
                                                             register for
                                                             data
                                                             manipulation.
8.   Stack          Temporarily       PUSH R1 – Push                             Door
                                                             Pushes current
     Instructions   store data using current cycle state                         opening
                                                             cycle data onto
                    Last In, First    POP R2 – Resume                            events.
                                                             the stack when
                    Out (LIFO)        from saved state after
                                                             an interrupt
                    structure.        interrupt