La Red de Conocimientos Pedagógicos - Conocimientos universitarios - 51c51

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 para incluir la información de la interfaz del microcontrolador 51.

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. .