Red de conocimiento informático - Problemas con los teléfonos móviles - Proteus no se puede programar.

Proteus no se puede programar.

Proporcionarle un programa de referencia con controlador de chip de reloj.

SCL2 bit p 1.3; //SCL2 se define como el tercer pin del puerto P1 y está conectado al pin ADC0831SCL.

SDA2 bit p 1.4; //SDA2 se define como el cuarto pin del puerto P1 y está conectado al pin ADC0831SDA.

CS2 bit p 1.6; //CS2 se define como el cuarto pin del puerto P1 y está conectado al pin ADC0831CS.

RST bit p 1.5; // Selección de chip DS1302, debido a que estos dos chips usan el mismo pin de datos (SDA, SCL), debe definirlo y desactivar la selección de chip DS1302; ser conflicto.

l _display EQU 30H

l _ tmpdate 1 EQU 38H; segundo

l _ tmpdate 2 EQU 39H; tmpdate 3 EQU 3AH; hora

l _ tmpdate 4 EQU 3BH; día de la semana

l _ tmpdate 5 EQU 3CH; EQU 3DH; Luna

l_tmpdate 7 EQU 3EH año

ORG 0100H

write_rtc_address: DB 80H, 82H, 84H, 86H, 88H, 8aH, 8cH

read_rtc_address: DB 81H, 83H, 85H, 87H, 89H, 8bH, 8dH

L_TIMER: DB 00H, 59H, 18H, 01H, 01H, 01H, 01H

Tabla: DB 3fH, 06H, 5bH, 4fH, 66H, 6dH, 7dH, 07H, 7fH, 6fH, 40H

/* * * *Tubo digital 0-9-mesa*/

ORG 0000H

Gerente general de LJMP

Organización 0200H

Principal: MOV SP, #60H

CLR RST p>

LCALL SET_RTC escribe el valor inicial primero

M0: LCALL READ_RTC; realiza un bucle para leer los datos de tiempo

MOV R0, # L _display

MOV A, L_TMPDATE3 divide el tiempo en dos datos, una hora y una hora.

MOV B, #16

Rama AB

MOV @R0, A; las diez en punto

INC R0

MOV @R0, B; tiempo personal

INC R0

MOV @R0, # 10; agregar "-"

INC R0

MOV A, L _ TMPDATE2 Igual que arriba

MOV B, #16

Rama AB

MOV @R0,A

INC R0

MOV @R0, B

INC R0

MOV @R0, #10

INC R0< / p>

MOV A, L_TMPDATE1

MOV B, #16

Rama AB

MOV @R0, A

INC R0

MOV @R0, B

MOV R0, # L_display

MOV R7, No. 8

Pantalla LCALL

MOV @R0, B

Pantalla LCALL

p>

SJMP·M0

Pantalla: MOV·DPTR, #TABLE /*R0 es la dirección, R7 es el número*/

MOV P2, #0

ANL P1, #0F8H

L2: MOV A, @R0

MOVC A, @A DPTR

MOV·P2

Retardo LCALL

MOV P2, #0

INC P1

INC R0

DJNZ R7

Remojado para suavizar

Delay: MOV R5, #20

D1: DJNZ R5, D1

Remojado para suavizar

SET_RTC: MOV R6, #7; Ingrese 7 datos: segundos, minutos, horas, semanas, días, meses y años.

MOV DPTR, #L_TIMER Los primeros 7 datos se transfieren de la rom a la RAM que definimos.

MOV R0, #L_TMPDATE1

S0: CLR A

MOVC A,@A DPTR

MOV @R0,A p>

INC R0

Empresa DPTR

DJNZ R6, S0

MOV R1, #8EH

MOV R2 , # 0

LCALL w 1302; Primero escriba la dirección 8EH como 0, que está desbloqueada; de lo contrario, no se pueden escribir datos.

MOV R0, #L_tmpdate 1; la dirección donde se guardan los datos.

MOV DPTR, # write_rtc_ dirección dirección de escritura de datos

MOV·R6, ocupa el séptimo lugar; escribe 7 datos: segundos, minutos, horas, semanas, días, meses, año.

S1: MOV A, @R0

MOV·R2

CLR A

MOVC A, @A DPTR

MOV R1, A

LCALL W1302

Empresa DPTR

INC R0

DJNZ R6, S1

MOV R1, #8EH

MOV R2, No. 80H

LCALL w 1302;; La última dirección de escritura 8EH es 80H, lo que significa que se agrega un bloqueo para evitar que los datos siendo escrito.

Remojado en agua para suavizar

READ_RTC: MOV R6, #7; Lee siete datos: segundos, minutos, horas, semanas, días, meses, años.

MOV R0, #L_tmpdate 1; almacenado en la RAM especificada.

MOV DPTR, #Leer dirección rtc

RE0: CLR A

MOVC A, @A DPTR

MOV R1, A

LCALL R1302

MOV @R0,A

Empresa DPTR

INC R0

DJNZ R6, RE0

El remojo en agua lo suaviza

W1302B: MOV R7, # 8; escritura de un solo byte, el parámetro R1 son los datos escritos.

MOV A, R1

W0: RRC A

MOV SDA2, C

no se proporciona lo contrario a menos que se especifique lo contrario

p>

SETB SCL2

no se proporciona lo contrario (para) a menos que se especifique lo contrario

CLR SCL2

DJNZ R7, W0

Sumersión en agua Hacer suave

w 1302: CLR RST; escribe datos en la dirección especificada, R1: dirección, R2: datos.

no se proporciona de otra manera (para) a menos que se especifique lo contrario

CLR SCL2

no se proporciona de otra manera (para) a menos que se especifique lo contrario

SETB·RST

no se proporciona lo contrario a menos que se especifique lo contrario

LCALL W1302B

R2 MOV

MOV R1, A

LCALL W1302B

CLR RST

no previsto de otra manera a menos que se especifique lo contrario

Remojado en agua para ablandar

R1302: MOV R2, # 0; Especifique la dirección para leer datos, R1: dirección, a: devolver datos.

CLR RST

no se proporciona de otra manera (para) a menos que se especifique lo contrario

CLR SCL2

no se proporciona de otra manera (para) a menos que se especifique lo contrario

p>

SETB·RST

no se proporciona lo contrario a menos que se especifique lo contrario

LCALL W1302B

MOV R7, No. 8

CLR A

RR0: MOV C, SDA2; lectura de un solo byte, lee los datos almacenados en A y envíalos.

RRC A

SETB SCL2

no se proporciona lo contrario a menos que se especifique lo contrario

CLR SCL2

DJNZ R7, RR0

CLR RST

no se proporciona de otra manera (para) a menos que se especifique lo contrario

CLR SCL2

no se proporciona de otra manera (para) a menos que se especifique lo contrario Requerido

SETB SCL2

no se proporciona de otra manera (para) a menos que se especifique lo contrario

CLR SDA2

no se proporciona de otra manera (para) a menos que se especifique lo contrario

>

SETB SDA2

no proporcionado de otra manera a menos que se especifique lo contrario

Remojado en agua para suavizar

Final