Red de conocimiento informático - Computadora portátil - 51 Programa de visualización del conjunto LED de control del microcontrolador

51 Programa de visualización del conjunto LED de control del microcontrolador

La idea del programa es la siguiente. Puedes imaginar que el número entero 000 se incrementa en 1 cada vez. Cuando 999 se desborda, vuelve al punto de partida y continúa. /p>

INICIO AJMP

INICIO: MOV 30H, #00H; el tubo digital muestra el valor inicial

MOV 31H, #00H

MOV 40H, #00H; muestra el incremento

MOV 41H, #01H

STL1: LED ACALL; pantalla LED

ACALL DELAY0.5S

ACALL BCDADD

MOV A,30H

p>

ANL A,#0F0H

JNZ START Determina si excede 999

AJMP STL1;

BCDADD: CLR C

MOV A,31H

ADDC A,41H

DA A

MOV 31H,A

ACALL BCDADD:MOV A,30H

ACALL A,30H

MOV A,30H

ADDC A,40H

DA A

MOV 30H,A

RET

LED:MOV A,30H

ANL A ,#0FH

MOV DPTR,#TAB

p>

MOVC A,@A +DPTR

MOV P0,A

MOV A,31H

ANL A,#0F0H

INTERCAMBIAR A

MOV DPTR,#TAB

MOVC A, MOV P1,A

MOV A, #0FH

MOV A 31H

ANL A,#0FH

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P2 ,A

RET

DELAY0.5S:MOV R6,#200

SL1: MOV R5,#250

SL2: NOP

DJNZ R5,SL2

DJNZ R6,SL1

RET

TAB: DB 0C0H ;0

DB 0F9H ;1

DB 0A4H ;2

DB 0B0H ;3

DB 099H ;4

DB 092H ;5

DB 082H ;6

DB 0F8H ;7

DB 080H ;8

DB 090H ;9

DB 088H ;A

DB 083H ;B

DB 0C6H ;C

DB 0A1H ;D

DB 086H ;E

DB 08EH ;F

END

PS1: El oscilador de cristal usado para 0.5 el segundo retraso es 3,57 MHZ

PS2: desearía haber escrito El código de la pantalla LED es correcto, supongo que estás conectando 0-7 a A-DP

PS3: formato de pantalla de Baidu es realmente asqueroso, simplemente conformate con ello, el programa no debería. Cualquier error

P4: El programa ha sido modificado y recopiado