La Red de Conocimientos Pedagógicos - Conocimientos universitarios - El reloj electrónico con microcontrolador 51 ajusta la hora pulsando botones.

El reloj electrónico con microcontrolador 51 ajusta la hora pulsando botones.

ORG 0000H entrada del programa principal

LJMP MAIN salta a la marca de ejecución MAIN.

ORG 000BH entrada de interrupción del temporizador T0

AJMP PTF0 salta a la etiqueta PTF0 para su ejecución.

Hora EQU 4AH; directiva de asignación

Ming EQU 4BH

SEC EQU 4CH

Amarillo claro EQU 4DH

************************************************ * ***********************************

;Programa principal

p >

Principal: horas MOV, horas #00H, minutos, segundos y marcadores se borran.

MOV mínimo, #00H

MOV segundos, #00H

Ventilador MOV, #00H

MOV SP, #60H Establecer pila Puntero

MOV TH0, # valor inicial del temporizador 3CH

MOV TL0, #0B0H

MOV 40H, # 14H; establece el número de ciclos en 20 veces.

MOV TMOD, # 1; escribir TMOD

MOV IP, # 2; escribir IP

MOV IE, # 82H interrupción

SETB TR0; iniciar temporizador

BUCLE: visualización ACALL; programa de visualización de llamadas

JNB P3.0, ¿minutos; presione la tecla de tiempo escolar? No, pase a FEN.

ZX: Identificador de llamadas

JB P3.0, ZX

MOV uno, hora más 1

Agregar uno, # 1

Ada

CJNE A, #24H, ¿aumentará el horario a las 24:00? Sí, seguro

CLR A

BI: tiempo MOV

MOV SEC, # 00H segundos claro

FIN: JNB P3. , YY; ¿Se ha presionado la tecla de calibración? No, salte a YY.

ZC: Identificador de llamadas

ZC JB p 3.1

Familia MOV, más pequeña; agregue 1 por separado

Agregue uno, #1

ADA

CJNE A, #60H, CI; ¿aumentará a 60? Sí, seguro

CLR A

MOV·Min

MOV SEC, # 00H segundos claro

YY: bucle AJMP

p>

****************************************** ******* *******************************************

;Rutina de servicio de interrupción (abreviatura de rutina de servicio de interrupción)

PTF0: MOV TH0, #3CH recarga de valor inicial

MOV TL0, #0B0H

CLR TR0 Apagar el temporizador

CLR A; A Qing

DJNZ 40H, XX; ¿Ha transcurrido 1 segundo? No, salte a XX.

MOV 40H, # 14H; reescribir número de ciclo

MOV A, segunda unidad SEC más 1

Agregar uno, #1

Ada

Bolsa de Valores MOV

CJNE A, #60H, PTF0R son 60 segundos? No, pase a PTF0R.

JMIN: MOV SEC, #00H segundos para borrar

Familia MOV, mínimo agregar 1 en unidades.

Agregue uno, #1

ADA

MOV·Ming

CJNE A, #60H, ¿PTF0R es 60 minutos? No, pase a PTF0R.

MOV es el más pequeño, # 00H se liquida por separado

JHOUR: MOV SEC, # 00H se borra en segundos

MOV es una unidad de tiempo; se incrementa en 1

Agregue uno, #1

Ada

MOV durante una hora

CJNE A, #24H, será PTF0R ¿Llega a las 24 en punto? No, pase a PTF0R.

Tiempo MOV, # 00H borrado de tiempo

AJMP PTF0R salta a PTF0R

XX: MOV R7, 40h marca punto decimal, 1 y 0.

CJNE R7, #0AH, NEQ

EQ: NOP

AJMP PTF0R

NEQ: JC YEQ

Ventiladores MOV, #00H

AJMP PTF0R

YEQ: Ventiladores MOV, #0FFH

AJMP PTF0R

PTF0R: SETB TR0

Reti

;************************************ * ************************************************* ** ***

;Mostrar subrutina

Pantalla: MOV R5, BUFF genera números con y sin puntos según la marca.

CJNE R5, #00H, CJNE busca diferentes tablas basadas en etiquetas.

MOV DPTR, #TAB1

LJMP TYU

CVB: MOV·DPTR, #TAB

TYU: MOV A, visualización MIN La unidad de minutos.

ANL A, #0FH

MOVC A, @A+DPTR

MOV P0, A

MOV·P2

CLR P2.4

Retraso de llamada

Familia MOV, la más pequeña; muestra minutos de diez dígitos.

Intercambiar A

ANL A, #0FH

MOVC A, @A+DPTR

MOV P0, A

MOV·P2

CLR P2.5

Retraso de llamada

MOV uno, hora muestra la unidad del reloj.

ANL A, #0FH

MOVC A, @A+DPTR

MOV P0, A

MOV·P2

CLR P2.6

Retraso de llamada

MOV una hora; muestra las decenas del dígito del reloj

Intercambio A

ANL A, #0FH

MOVC A, @A+DPTR

MOV P0, A

MOV·P2

CLR P2 .7

Retraso de llamada

Remojado en agua para suavizar

TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH Código de fuente sin punto decimal

TAB1: DB 0BFH, 86H, 0DBH, 0CFH, 0E6H, 0EDH, 0FDH, 87H, 0FFH, 0EFH Código de fuente con punto decimal

; ** ************************************************* *** *************************************

; Subrutina de retardo

Latencia: MOV·R4, No. 20

Yan: R5, #10

SHI: DJNZ R5, SHI

Yan

Remojar en agua lo suaviza

Fin

El diseño de mi curso anterior sobre microcontroladores te proporcionó una referencia, pero fue solo un punto y un tiempo de ajuste. . .