Zkus zapisovat na celý port jako v tvém prvním případě a ne jen měnit jednotlivé bity portu. Něco podobného se řešilo zde.