Is there a way to convert the c51 compiler so I can write programs on my mobile phone (a galaxy s2) and then download them onto the atmel at89s51 mcu?
Would you care to give details, then?
Programming environment for iOS is using Objective-C and Cocoa application frameworks.
You don't need to convert the C51 compiler at all.
Simply write a PC emulator for your mobile phone, install Windows on that and you can then run uVision.
Good luck.
Of course, it is easier to use MS-DOS tools, since there are several good MS-DOS emulators available for Android. Then it's just a question of installing Turbo Pascal, classical games or whatever and enjoy.
An interesting problem - how to connect peripherial equipment to the emulated PC running inside the Android phone.
Reinvent the wheel is not much wise except if this new wheel can run in 4dimensions. itunes.apple.com/.../id417993697
There is much in a wheel.
Car wheels that allows the car to move sideways when parking.
Wheels with shape-shifting for rough terrain.
Wheels allowing tire pressure to be changed while driving, depending on road quality.
Wheels that changes diameter on-the-fly.
So there is always room for new inventions - even of things that already seems to work well.
"Programming environment for iOS is using Objective-C and Cocoa application frameworks"
What does any of that have to do with Keil C51??
> Simply write a PC emulator for your mobile phone,
No need for that, they already exist.
"No need for that, they already exist."
Yes and no.
I know about emulators capable of running MS-DOS. But does there exist any emulators supporting 386+ processors with protected mode?
"But does there exist any emulators supporting 386+ processors with protected mode?"
Something like Bochs might have been ported - But I would think that even on a fast tablet or iPhone it's going to run Windows pretty damn slow!
"But I would think that even on a fast tablet or iPhone it's going to run Windows pretty damn slow!"
Of course. If the job really has to be done with a phone/tablet, it would be way better to network to a PC (X-Windows or Remote Desktop) and have the PC do the actual work.