svalls:
Thanks so much for your answers.The idea it's to use one Atmega for the screen and control panel interface (input buttons) and another ATmega for the motors and internal machine I/O.
So with the two ATmega I want to create a NC control system for machines.
And NC control it's like a CNC but closed, you don't have the ability to send G code outside, it is all pre-programmed.
Given you are thinking of two separate controllers now, you might think of something like an Android tablet to do the I/O, and connect up with your motor controller via bluetooth or maybe a wired approach via the USB port. Looking at the Android play store on my phone, I see quite a few options that are free or fairly cheap that would allow you to control an Arduino without having to learn to Android programming.
Or you can add a wifi shield, and have the motor controller export a web site, and just use a browser on the tablet/phone/pc.