Experimento PWM de salida del temporizador (lenguaje ensamblador 51)
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 p>
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