Leí en la documentación de AT89C51RC2, que puedo crear uno de los 5 puertos para generar la señal PWM si configuro correctamente algunos registros. Algunas cosas que no entiendo. No sé qué es el contador de PCA y cómo se comporta. Hay lo que se me ocurrió de acuerdo con la documentación.
CEX0 equ P1.3
CCAPM0 equ 0DAh
CCAP0L equ 0EAh
CCAP0H equ 0FAh
CL equ 0E9h
CCON equ 0D8h
DSEG at 30h
CSEG
ORG 0000h
AJMP START
START:
MOV CCAPM0,#10000010B
MOV CCAP0H,#0FFh
MOV CCAP0L,#0FFh
ORL CCON,#01000000B
MAIN:
MOV R6,#0FFh
DJNZ R6,$
MOV A,01000000B
XRL A,CCON
JNZ null
LJMP MAIN
null:
MOV CL,#0
MOV CCON,#01000000B
LJMP MAIN
END
No sé en qué dirección cuenta el contador de CPA, si es necesario para restablecerlo, no sé si olvidé establecer algunos registros. Este código no funciona. Parece que el contador ni siquiera cuenta.
¿Alguna sugerencia?