Red de conocimiento informático - Material del sitio web - Programa de ensamblaje de termómetro digital y diagrama de circuito basado en el microcontrolador AT89C51, el sensor de temperatura DS18B20 y la pantalla de cristal líquido LCD1602

Programa de ensamblaje de termómetro digital y diagrama de circuito basado en el microcontrolador AT89C51, el sensor de temperatura DS18B20 y la pantalla de cristal líquido LCD1602

Solo el código de LCD1602

; Placa de desarrollo de microcontrolador multifuncional 51

Programa de prueba LCD1602

RS EQU P2.0 p>

RW EQU P2.1

E EQU P2.2

LDATA EQU P1

ORG 0000H

AJMP MAIN

ORG 0030H

MAIN: MOV R0, #00H; R0: el número de caracteres mostrados en cada línea

MOV R1, #80H; dirección

p>

MOV A, #38H; configurar pantalla (16×2)

ACALL WIR

MOV A, #0EH; muestra, muestra el cursor, el cursor no parpadea

ACALL WIR

MOV A, #06H Muestra toda la pantalla sin moverse

ACALL WIR

;

MOV A, #01H; Mostrar pantalla clara

ACALL WIR

MOV DPTR, #LCD

LOOP0: MOV A, R1; /p>

ACALL WIR

INC R1; Agregar uno a la dirección

CJNE R1, #90H, TT Determinar si la primera línea ha sido escrita o no

p>

MOV R1, #0C0H; si está escrito, R1 = Dirección de segunda línea

TT: MOV A, R0

MOVC A, @A DPTR

ACALL WDR

INC R0; Cuente R0 más 1

LCALL DELAY1

CJNE R0, #20H, LOOP0 si R1 no es igual a 32, continúa

RE: AJMP RE

WIR: ACALL BUSY; escribir subrutina de registro de instrucciones

CLR E; inicialización

CLR RS

CLR RW

SETB E

p>

MOV LDATA, A

CLR E

RET

WDR: ACALL BUSY subrutina de registro de datos

CLR E

SETB RS

CLR RW

SETB E

MOV LDATA, A

CLR E

RET

BUSY: PUSH ACC; subrutina de detección de señal de ocupado

ISBUSY: CLR E

CLR RS

SETB RW

SETB E

MOV A, LDATA

JB ACC.7, ISBUSY ACC.7=1, indica ocupado

POP ACC

ACALL DELAY1

RET

DELAY1: MOV R6, #5; subrutina de retardo

D0: MOV R7, # 248

DJNZ R7, $

DJNZ R6, D0

RET

DELAY2: MOV R5, #2

D1: MOV R3, #245

D2: MOV R4, #245

DJNZ R4, $

DJNZ R3, D2

DJNZ R5, D1

RET

LCD: DB 'MCS-51 TEST'

DB ' Xu Rui Feng '

FIN