If there are any relays the part number
should be shown. Where did you get this schematic ?
"I/O pin" is a bit vague . Presumably it means output.
For starters, each mosfet should have a unique designator. I don't care
how many there are in the package, whether it is "dual" or a gazillion,
they should be labeled Q1, Q2 etc. That's Electronics 101.
They are clearly visible in the datasheet. Why aren't they in the schematic ?
Moreover ALL the resistors should have UNIQUE designators (R1, R2, R3 etc). That's Electronics 101.
The switches should have SW1, SW2, designators, regardless of the function names. That's Electronics 101.
My first suggestion would be eliminate the microcontroller and replace the "I/O PIN" with an SPDT
switch that allows you to connect the "I/O PIN" node to either +5V or GND.
Then put a DMM on the output and record the results while operating the switches.
Make a table that contains the following:
CONDITIONS I/O PIN INITIAL OUTPUT VOLTAGE FINAL OUTPUT VOLTAGE
SW1 OFF SW2 OFF LOW ? ?
SW1 ON SW2 OFF LOW ? ?
SW1 OFF SW2 ON LOW ? ?
SW1 ON SW2 ON LOW ? ?
SW1 OFF SW2 OFF HIGH ? ?
SW1 ON SW2 OFF HIGH ? ?
SW1 OFF SW2 ON HIGH ? ?
SW1 ON SW2 ON HIGH ? ?
When you have completed that presumably you'll know how to write your code.