51c51
Esto en realidad es muy sencillo. Te contaré algunos métodos y puedes hacerlo tú mismo, para que tú también puedas aprender.
P0 DATA 80H, P1 DATA 90H están fijos dentro del sistema. En C51, use directamente #include
Las instrucciones K1 EQU P0.0 como esta se usan para la definición, lo que indica que el nombre K1 se define como P0.0 de una sola máquina, de modo que K1 se puede usar en su lugar en el programa. use #define k1 P0.0
MOV SP, #50H Esto está en C, use el signo igual, SP=50 (número binario)
JNB K2, MFZ2 Este es el saltar si no es igual a 0 Para transferir instrucciones, en lenguaje C, puede usar IF (K2!=0) MFZ22;
ACALL DELAY Esto es para llamar al programa DELAY En lenguaje C, use. DELAY() directamente;
JMP es una instrucción de salto, que se reemplaza por la instrucción ir a en C
INC es una instrucción de incremento, que se usa en C, R0=R0 +1
DJNZ R5, DEL1 puede usar IF ((R5-1)!=0) ir a DEL1;
Es mucho más conveniente usar C para un programa como este
MOV R0, #05
MFZ1: MOV A,R0
MOV DPTR, #TABLE
MOVC A, @A+ DPTR
Usando C es:
R=5; A=DPTR[R]; OK, entonces A es igual a: 0F7H, que corresponde al sexto en la tabla de datos. abajo.
Como la siguiente tabla de datos:
TABLA: DB 0FCH,0F9H,0F3H,0F6H
DB 00H
DB 0F7H,0F3H ,0FBH,09H
DB 0FDH,0FCH,0FEH,0F6H
DB 00H
Escrito como C: TABLA[14]{0FCH,0F9H,0F3H, 0F6H, 00H, 0F7H, 0F3H, 0FBH, 09H, 0FDH, 0FCH, 0FEH, 0F6H, 00H
}
Como la siguiente subrutina:
DELAY : MOV R5, #40
DEL1: MOV R6, #248
DJNZ R6, $
DJNZ R5, DEL1
RET
Escrito en C:
DELAY()
{Escribe aquí el contenido del programa}
También hay algunas instrucciones a seguir usted mismo Entendido, para realizar un juicio, use IF (condición) {contenido a ejecutar};
Recuerde que C distingue entre mayúsculas y minúsculas y, si falta la puntuación, el programa será completamente diferente. .