ok, put a small time delay right after you call your pins high, and a different time delay when you make them low. so for example:
pwm(pins 1010) //pins high
delay_ms(5) //on delay
pwm(pins 0000) //pins low
delay_ms(1) //of delay
to control your motor speed, what you do is change the on/off time ratio.
for example, an on delay of 5ms and off of 0ms means it is on 100% of the time.
an on delay of 2ms and an off delay of 2ms will give you half speed.
If you arent using PWM and just have the pins high for several seconds, check with a multimeter the voltage going across your h-bridge mosfets and see what they give.
Also, if you are just using cheap toy motors, consider buying a motor driver IC, much easier to work with.