51caso

Idea de programación: cada vez que se lee el valor del puerto P1, los 4 bits inferiores se enmascaran y solo se juzgan los 4 bits superiores

{

#define INPUTMASK 0xF0

char ReadPort = 0;

ReadPort = P1 & INPUTMASK;

cambiar(ReadPort)

{

case 0xf0: break /* Si no se presiona ningún botón, salta*/

case 0x10: Subfunction1();break /* Si se presiona P1.4; , saltar a la subfunción 1 */

case 0x20: Subfunction2();break /* Presione P1.5 para saltar a la subfunción 2 */

case 0x40: Subfunction3() ; break; /* Presione P1.6, salte a la subfunción 3 */

case 0x80: Subfunction4();braak /* Presione P1.7, salte a la subfunción 4 */

predeterminado:

Subfunción5();braak; /* Presione 2 o más teclas para saltar a la subfunción 5 */

}

}

La programación del bloque de módulo se utiliza en la función de caja del interruptor. Las subfunciones aquí son la implementación del estado de otros puertos en el estado clave correspondiente, que no se describirá nuevamente.