Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo utilizar at89s51 para hacer un reloj electrónico y su programación?

¿Cómo utilizar at89s51 para hacer un reloj electrónico y su programación?

s _ establecer bitp 1.0; bit de control de segundos del reloj digital

m _ establecer bitp 1.1; bit de control de minutos

h _ establecer bitp 1.2; Segundo lote 30H

Minutos 31H

HOUREQU 32H

TCNTEQU 34H

Organización 00H

SJMPSTART

p>

Organización 0BH

LJMPINT_T0

Inicio: MOVDPTR, #Table

MOVHOUR, #0; inicialización

Mover minutos, #0

Mover segundos, #0

Mover eventos, #0

MOVTMOD, #01H

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

MOVTL0, #(65536-50000) MOD? 256

Película #82H

SETBTR0

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

Determinar si se presionó la tecla de control; y qué tecla se presionó.

a 1: LCALLDISPLAY

JNBS_SET,S1

JNBM_SET

JNBH_SET

ljm pa 1

s 1: LCALLDELAY; Jitter

JBS _ SET, A1

INCSECOND segundo valor más 1

MOVA, segundo

CJNEA, #60, J0; determinar si se agregan 60 segundos.

Segundos en movimiento, #0

ljmpk 1

S2: Retardo

JBM_SET, A1

k 1 : Inc minuto; suma 1 al valor del minuto

MOVA, espera un momento

CJNEA, #60, j 1; determina si agregar a 60 minutos.

MINUTOS EN MOVIMIENTO, #0

LJMPK2

S3: DELAY

JBH_SET, A1

K2: Británico sistema; sumar 1 al valor de la hora

HORA, hora

CJNEA, N° 24, J2; determinar si se suma a 24 horas.

MOVHOUR, #0

Mover minutos, #0

Mover segundos, #0

ljm pa 1

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

;Espere a que se levante el botón.

j0:JBS_SET,A1

LCALLDISPLAY

SJMPJ0

j 1:JBM_SET,A1

LCALLDISPLAY

sjmpj 1

J2: JBH Episodio, A1

LCALLDISPLAY

SJMPJ2

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

;Temporizador de interrupción de rutina de servicio, contando segundos, minutos y horas.

INT_T0: movimiento 0, #(65536-50000)/256

MOVTL0, #(65536-50000)MOD? 256

Incremento

TCNT MOVA

CJNEA, #20, RETUNE Temporización 1 segundo

Pulgadas segundos

Mover evento, #0

MOVA, segundo

CJNEA, No. 60, regreso

Agregar un minuto

Mover segundos, # 0

MOVA, espera

CJNEA, N° 60, atrás

En nuestro local

Minutos de mudanza, #0

p>

HORA, hora

CJNEA, 24, regreso

MOVHOUR, #0

Mover minuto, #0

Mover segundos, #0

Mover eventos, #0

Regresar: RETI

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

;Subrutina de control de visualización

Visualización: MOVA, segundo; visualización de segundos

MOVB, #10

DIVAB

CLRP3.6

Movka, @A DPTR

MOVP0,A

LCALLDELAY

SETBP3.6

Bahía MOVA

CLRP3.7

Movka, @A DPTR

MOVP0, A

LCALLDELAY

SETBP3.7

CLRP3.5

p>

MOVP0, delimitador de visualización # 40H

LCALLDELAY

SETBP3.5

MOVA, minutos de visualización

MOVB; , #10

DIVAB

CLRP3.3

Movka, @A DPTR

MOVP0, A

LCALLDELAY

SETBP3.3

MOVA BAY

CLRP3.4

Movka, @A DPTR

MOVP0 , A

LCALLDELAY

SETBP3.4

CLRP3.2

MOVP0, # delimitador de visualización 40H

LCALLDELAY

SETBP3.2

? HORA, visualización de hora

MOVB, #10

DIVAB

CLRP3.0

Movka, @A DPTR

>

MOVP0,A

LCALLDELAY

SETBP3.0

Bahía MOVA

clrp 3.1

Movka, @A DPTR

MOVP0, A

LCALLDELAY

setbp 3.1

Remojar en agua para suavizar

Tabla:? DB? 3FH, 06H, 5BH, 4FH, 66H

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

Retardo: MOVR6, #10

d 1: movr 7, #250

DJNZR7, USD

DJNZR6, D1

Remojado en agua para ablandar

Fin