Red de conocimiento informático - Conocimiento informático - Experimento PWM de salida del temporizador (lenguaje ensamblador 51)

Experimento PWM de salida del temporizador (lenguaje ensamblador 51)

EQU 30H

T0HL EQU 31H

T0LH EQU 32H

T0LL EQU 33H

EQU con llave P1.0

EQU 1.1

Pulso EQU P1.2

ORG 0000H

LJMP Maestro

ORG 000BH

LJMP T0ISR

ORG 0030H

Principal:

MOV TMOD, #01H

MOV Toh, #Alto (25000)

p>

MOV T0HL #Bajo(25000)

MOV TH0 #Alto(65536-T0HH)

MOV TL0 #Bajo(65536-T0HL)

SETB TR0

SETB ET0

SETB Electronic Arts

CLR 00H

Bucle:

JB KEYUP, BUCLE1

RETARDO DE LLAMADA LC

JB KEYUP, BUCLE1

JNB·Kew, USD

MOV A, 0HL

Agrega uno, #100

MOV · Thor

MOV A, T0HH

ADDC A, #0

MOV T0HH, A

Bucle SJMP

LOOP1:

JB KEYDN, bucle

Retardo LCALL

JB KEYDN, bucle

JNB·Kidden, USD

MOV A, 0HL

CLR C

SUBB A, #100

p>

MOV · Thor

MOV A, T0HH

SUBB A, #0

MOV T0HH, A

bucle LJMP

Retardo:

MOV·R2, N° 20

Retardo 1:

MOV R3, N° 250

p>

DJNZ R3, USD

DJNZ R2, Delay 1

Remojado en agua para ablandar

T0ISR:

CLR TR0

CPL 00H

MOV T0LL #Bajo (50000-T0HL)

MOV T0LH #Alto (50000-T0HH)

JNB 00H, T01

MOV TH0 #Alto (65536-T0LH)

MOV TL0 #Bajo (65536-T0LL)

Pulso SETB

SETB TR0

Reti

T01:

MOV TH0 #Alto (65536-T0HH)

MOV TL0 #Bajo (65536 -T0HL )

Pulso CLR

SETB TR0

Reti

Fin