Lenguaje de programación para cronómetro microcontrolador
;Función: Este programa puede mostrar dinámicamente los minutos, segundos y 1/100 segundos del cronómetro en el tubo digital con puerto P0 ;
; El programa de temporización se implementa mediante el programa de servicio de interrupción y el modo de funcionamiento del contador de temporización T0 es 1.
;El puerto P2 implementa la función de selección de chip del tubo digital.
=========================================== = =====================
; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Shuchu EQU P2; define que el puerto P0 es el puerto de salida.
Prefiere EQU p 1; el puerto P2 se define como el puerto de selección de chip.
Miao EQU 30H
fen EQU 31H
Miao 0 EQU 32H
Shuzi EQU 33H
C_0 Bit 20H.0
; = = = = = = = = = = = = = = = = = = Se inicia el programa del sistema = = = = = = = = = = = = = = = = = = = = = = =
Organización 00H
Inicio de LJMP
Organización 03H
LJMP On_Off
Organización 0BH
LJMP T0_1
Organización 13H
Restablecer LJMP
Organización 30H
Inicio:
Llamar a INIT
SETB c0
PLántula MOV, #00
Plántula MOV 0, #00
MOVfen, #00
MOV DPTR, #tag
MOV·R2, quinto clasificado
Principalmente:
JNB C_0, USD
CLR C_0
LL: Visualización de llamadas
Llamar a Shi Jian
JMP principal
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = /p>
;Entrada: "30H, 31H, 32H"
;Salida: Ninguna
;Función implementada: cálculo de minutos, segundos y centésimas de segundo.
=========================================== = ====================
Shi Jian:
DJNZ R2, escape
MOV· R2, quinto clasificado
INC Miao 0
MOV R3, Miao 0
CJNE R3, #100, punto de salto
Plántulas MOV 0, #00
Plántulas INC
R3, plántulas
CJNE R3, #60, punto de salto
Plántulas MOV, #00
Co., Ltd.
MOV R3, FEN
CJNE R3, #60, ubicación de salto
MOV Fen, # 00
Escape: RET
; = = = = = = = = = = = = = = = Mostrar subrutina = = = = = = = = = = = = = = = = = = = = = = = = = =
; Entrada: "a"
; Salida: "Puerto P2"
; Muestra segundos, minutos y centésimas de segundo.
=========================================== = ====================
Mostrar: árbol MOV, plántula 0
Llamar a Jisuan
p>MOVC A, @A+DPTR
estantería MOV, uno; muestra decenas de dígitos
sesgo MOV, selección de chip # 10H
Llamada; Retraso
Preferencia MOV, #00H
MOV A, B
MOVC A, @A+DPTR
Librería MOV, una; Dispositivo de visualización
Preferencia MOV, selección de chip #20H (CS)
Retraso de llamada
Preferencia MOV, #00H
MOV; Shuzi, Miao
Llamar a Jisuan
MOVC A, @A+DPTR
Librería MOV, uno Mostrar decenas de dígitos
Preferencia MOV , #04H selección de chip (CS)
Retraso de llamada
Preferencia MOV, #00H
MOV A, B
MOVC A, @A+DPTR
Librería MOV, uno; dispositivo de visualización
Preferencia MOV, selección de chip #08H (CS)
Retraso de llamada
Preferencia MOV, #00H
Número MOV, minutos
Llamar a Jisuan
p>MOVC A, @A+DPTR
Librería MOV, una; muestra decenas de dígitos
Sesgo de MOV, # 01H; selección de chip (CS)
Retraso de llamada
Preferencia de MOV, #00H p>
MOV A, B
MOVC A, @A+DPTR
Librería MOV, uno;
Preferencia MOV, chip n.° 02H Seleccione (CS)
Retraso de llamada; Retraso
Preferencia MOV, #00H
Remojar en agua para suavizar
; = = = = = = = = = = = = = = Subrutina de cálculo = = = = = = = = = = = = = = = = = = = = = = =
;
; Salida: "A y B"
; Función: Separar datos de 33H decenas y un dígito.
=========================================== = ====================
Jisuan: MOV A, Shuzi; los datos se colocan en uno.
MOV B, # 10; el divisor se coloca en b.
DIV El cociente de AB se coloca en A y el resto se coloca en b.
Remojar en agua lo suaviza
; = = = = = = = = = = = = = = = = = Restablecer la rutina del servicio de interrupción = = = = = = = = = = = = = = = = = = = = = = = = = = =
;Entrada;Ninguna
;Salida:Ninguna
; Función: Borrar los datos en 30H, 31H y 32H.
=========================================== = =====================
Restablecer: Presione ACC
MOV 30H, #00H
MOV 3H, #00H
MOV 32H, #00H
Retraso de llamada
ACC popular
Reti
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
;Entrada ;Ninguno
;Salida:Ninguno
;Función implementada: apaga el temporizador.
=========================================== = =====================
On_Off:CPL TR0
Retraso de llamada
Reti
; = = = = = = = = = = = = = = Subrutina de servicio de interrupción temporizada 0 = = = = = = = = = = = = = = = = = = = = =
; Entrada: Ninguna
; Salida: Ninguna
; implementar sincronización de 20 MS, afectando el bit de interrupción C_0.
=========================================== = ====================
T0_1:MOV TL0, 50h; establece el valor inicial de temporización
MOV TH0, 51H
SETB C_0; el bit de bandera de sincronización se borra.
Reti
; = = = = = = = = = = = = = = = = = = Interrumpir subrutina de configuración = = = = = = = = = = = = = = = = =
; Entrada: Ninguna
; Salida: Ninguna
; Inicializar y configurar el temporizador, establecer el valor inicial, activar la interrupción 0, interrupción 1, temporizador 0.
=========================================== = ====================
Inicial: MOV TMOD, # 01H; Temporizador 0 modo de trabajo 1
MOV DPTR, número de teléfono 65536-20000
DPL MOV 50H
DPH MOV 51H
MOV TL0, 50h establecer valor inicial de temporización
MOV TH0; , 51H
MOV IE, #87H Activar la interrupción del temporizador 0
MOV TCON, #15H
Remojar en agua para suavizar
; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = >
;Entrada;Ninguna
;Salida:Ninguna
;Función implementada: retraso por un período de tiempo .
=========================================== = =====================
Latencia: MOV R6, No. 80
L7: MOV R5, #60
L8:DJNZ R5, $
DJNZ R6, L7
Remojar en agua para suavizar
; = = = = = = = = = = = = = = * *Datos de la tabla de consulta Yang = = = = = = = = = = = = = = = = = = = = = =
TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H
; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Fin