Red de conocimiento informático - Conocimiento informático - Un programa ensamblador que implementa la función de conteo de 0 a 99 a través del contador de tiempo dentro del microcontrolador.

Un programa ensamblador que implementa la función de conteo de 0 a 99 a través del contador de tiempo dentro del microcontrolador.

SEGUNDO EQU 30H

COUNT EQU 31H

ORG 00H

INICIO LJMP

ORG 0BH temporizador 0; entrada de interrupción

LJMP INT_T0

INICIO: MOV SECOND,#00H

MOV COUNT,#00H

MOV DPTR,#TABLE ; Primera dirección de la tabla de códigos de segmento

MOV P0,#3FH ;Inicialización de la pantalla del tubo digital

MOV P2,#3FH

MOV TMOD,#01H ;Establecer sincronización Modo de funcionamiento del dispositivo 0

MOV TH0,#(65536-50000)/256; Temporización 50 milisegundos

MOV TL0,#(65536-50000) MOD 256

SETB TR0 ;Iniciar temporizador/contador 0

MOV IE,#82H ;Habilitar interrupción

LJMP $ ;Esperar interrupción

INT_T0: MOV TH0,# ( 65536-50000)/256 ;Tiempo 50 milisegundos

MOV TL0,#(65536-50000) MOD 256

INC COUNT ;Valor de conteo más 1

MOV A,COUNT

CJNE A,#20,I2 ;Si se cuenta 1 segundo

MOV COUNT,#00H

INC SECOND

MOV A,SECOND

CJNE A,#60,I1 ;Si se han contado 60 segundos

MOV SECOND,#00H

I1: MOV A ,SECOND

MOV B,#10

DIV AB ;Separa las decenas y las unidades del valor de conteo

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV P2,A ;Mostrar valor de conteo

I2: RETI; retorno de interrupción

TABLA: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

FIN