Claro, para hacerlo experimentalmente, resulta mas sencillo, aunque la poca experiencia que tengo me dice que cuando mas hardware uses, son mas probables los problemas y errores, pero si superas eso, mejor por ti, adelante...
La ventaja de tener todo integrado en un solo chip, en este caso el microcontrolador es que una vez que el programa esta completamente depurado, es mas seguro el éxito de tu proyecto.
Ahora, si tienes que usar tu proyecto para un fin concreto, tener todo integrado en el mismo chip, no solo es mas económico, sino q tb mas eficiente y confiable.
Te digo esto porque la aplicación del teclado matricial va casi siempre ligada a la de una pantalla (puede ser una LCD), y ambos juntos por lo general no es mas que la parte secundaria de tu verdadero proyecto, . Por ejm. si quieres controlar la velocidad de un motor lo importante es el algoritmo de control, la retroalimentación, la medición de la velocidad, los actuadores, etc, etc, el ingreso y displayado de datos se convierte en un complemento.
Y si todo eso lo pueden hacer 1 micro bien macho, ¿no crees que es mejor en todo sentido?
Bueno esa es la idea de tener integrado varias cosas en una sola.
En cuanto al
diagrama, si, los display los coloque para observar el número tecleado, cuando pulsas un número aparece en el display de la derecha y cuando pulsas otro, este desplaza al primero hacia la izquierda. a la tercera pulsación se limpia todo y se empieza de nuevo.
Olvidé comentarte que ese ckto lo hice como prueba (te habras fijado los nombres), una prueba previa para integrarlo luego a un proyecto mayor (proyecto que por cierto aun no me funciona completamente ops

y aunque me funcionó correctamente al implemetarlo, recién recuerdo que le hice unos pequeños ajustes en el tiempo de retrazo durante el barrido (¿era hacerlo + lento o + rápido? ops: no recuerdo bién), pero como esta funcionaba, algo incómodamente al teclear pero funcionaba.
Como esa parte del código hace ya buen tiempo que lo hice, y corregido, ahora es parte de un código mas grande se me hace un poco difisil aislarlo otra vez... pero estoy seguro que tu lo puedes corregir

si te incomoda mucho ese detalle, para eso te sugiero que lo simules en el mismo proteus, usando las herramientas del menu DEBUG, eso es, durante la simulación, usando puntos de pausa puedes ver el código del programa.
Por lo demás no debería haber problemas...
Bueno cualquier otra cosa, no dudes en preguntar, q si no puedo yo no faltará algun otro despistado que te ayude

Salu2:
BRAULIO