DAC interno del pic 18F45K50

Buenas compañeros del foro, tengo unas dudas y de verdad quisiera alguna sugerencia para desarrollar esta programación.

Estoy usando un pic 18f45k50, de los cuales quiero aprender a generar una señal señoidal con el DAC interno, he leído en algunos post, que se necesita generar como una tabla de valores del seno, pero no se como funciona este DAC, he leído el datasheet pero no logré descifrarlo.

Además, debe ser programado en ensamblador.

El DAC es de 5 bits, de 32 niveles. Maneja dos registros importantes: el VREFCON1 y el VREFCON2 .

Pero estoy algo confundido de como generar esa tabla de valores y como ingresarlos al DAC interno. Gracias de antemano.
 
Esto es lo que llevo, pero no tiene nada de la tabla del seno, y no se si he definido bien el valor en los registros.

Código:
LIST P = 18f45K50
#include<p18f45K50.inc>
    
;************FUSES****************
    
CONFIG WDTEN = OFF ; Disables the Watchdog
CONFIG MCLRE = OFF ; Disables MCLEAR
CONFIG DEBUG = OFF ; Disables Debug mode
CONFIG LVP = OFF ; Disables Low-Voltage programming
CONFIG FOSC = INTOSCIO ; Enables the internal oscillator
org 0 ; Sets first instruction in address 00
Aux1 EQU 0x00 ; Reserves register 0
Aux2 EQU 0x01 ; Reserves register 1

 ;********CONFIGURATION**********
 
Start:
MOVLB 0x0F; se carga en el BSR(Bank Select Register)
;este valor escoge el banco en la memoria de data  
MOVLW b'00000100'
MOVWF TRISA;
CLRF ANSELB
CLRF PORTB
CLRF TRISB
CLRF ANSELC
CLRF PORTC
CLRF TRISC
MOVLW b'01010011' ; Configures OSCCON register
;4 Mhz, Oscilador Interno, HFINTOSC frecuency no es estable, 
;Bloque de Oscilador Interno
    
Main:
MOVLW b'11100000' ;
MOVWF VREFCON1
MOVLW b'00011111' ; 
MOVWF VREFCON2
GOTO Main
END
 
Última edición por un moderador:
yo opino que si quieres probar el DAC para ver que tanto rifa

puedes leer con el ADC una señal de audio.

y enviar el registro leido en el ADC al DAC.

o en lugar de audio mete una señal senoidal.

antes de hacerte bolas primero con dibujar un seno con una tabla.
 
Atrás
Arriba