¡Programación PWM del microcontrolador STC!
Mire esto, el microcontrolador usa ADUC848 y la conversión AD genera una onda sinusoidal, que es similar al principio PWM.
Experimento 8? Experimento de conversión D/A
1. Comprenda el método de configuración del módulo de conversión D/A dentro del chip.
2. Comprender los principios de la conversión D/A.
3. Comprender cómo utilizar el analizador lógico en el software Keil.
4. Comprender el método básico de utilización de un microcontrolador para generar señales sinusoidales.
2. Principio experimental
ADuC848 contiene un módulo DAC de salida de voltaje de 12 bits. La configuración del registro en el módulo DAC es la siguiente:
Registro de control DAC. : DACCON
NC significa indefinido;
DACPIN es la selección del pin de salida del DAC;
1?=?Establezca el pin de salida del DAC en el Pin?13? AINCOM) ;?
0?=?Establezca el pin de salida del DAC en el pin?14? (DAC);
DAC8 es el bit de selección del modo de bit de conversión del DAC;
1?=?Configura el DAC para conversión de 8 bits;
0?=?Configura el DAC para conversión de 12 bits;
DACRN es la selección de rango de salida del DAC bit;
1?=?Establezca el rango de salida del DAC en ?0?V?-?AVDD;
0?=?Establezca el rango de salida del DAC en ?0?V? -?2.5?V?( VREF);
DACCLR es el bit de borrado del DAC;
1?=? Configure el DAC en modo de funcionamiento normal;
0?=?Restablecer el registro de datos DAC DACL /H?to?0;
DACEN es el bit de habilitación de DAC
1?=?Habilitar conversión de DAC;
0?=?Desactivar conversión DAC;
Registro de datos DAC: DACH/L
DACH es un registro de datos de alto orden para conversión de 12 bits
IV. Diagrama de flujo del programa y programa fuente
p>1. Diagrama de flujo del programa principal
2. Lista de programas fuente DACCON?EQU?0xfD?; controlador de conversión DACHEQU?0xfc?; Definir los 8 bits superiores del registro de datos de conversión analógico a digital DACLEQU?0xfb?; Definir los 8 bits inferiores del registro de datos de conversión analógico a digital ORG?0000H LJMP?MAIN ORG? 0200H MAIN:MOV?DACCON?,?#0fH;DAC?operación CLR?A; MOV?DACH?,?A;Módulo Borra los ocho bits superiores de la conversión digital
PRG3:MOVR0,#09H; onda sinusoidal
MOVR4,#40H
LP11:MOV?A,R0
p>MOVCA,@A+PC
MOV ?DACL,A;2
ACALL?DELAY?;2
INCR0;1 p>
DJNZR4,LP11?;2 SJMP?PRG3;2
DATOS0:
DB?80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H, 0DAH,0E2H,0EAH
DB?0F0H,0F6H,0FAH ,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H
DB0EAH,0E2H,0DAH,?0D1H,0C7H ,0BCH,0B0H,0A5H,98H,8CH
DB80H, ?7FH,73H,67H,5AH,4FH,43H,38H,2EH,?25H,1DH,15H
DB ?0FH,09H,05H,02H,00H,?00H,02H,05H,09H ,0FH,15H
DB1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH
RET
RETARDO:?MOV? R6,#10H
MOV?R7,#0A1H
DELAYLOOP:?; Programa de retardo
DJNZ?R6,DELAYLOOP
DJNZ ?R7,DELAYLOOP
RET END
4. Configuración de pines de la placa experimental:?
No se requiere configuración de pines. Tenga en cuenta que el DAC sale del CONDACOUT1. Terminal.
Utilice un osciloscopio para observar la forma de onda de salida del DAC. Si se produce distorsión, verifique el factor de amplificación del amplificador operacional LM358 en el extremo de salida DA de la placa de desarrollo y cambie adecuadamente el rango de la tabla de funciones que se está verificando.
5. Preguntas para pensar
1. Cambie el programa para agregar una onda de diente de sierra a la salida.
2. onda a la salida;
3. Cambie el programa para agregar una onda cuadrada a la salida
4. Cambie el programa y cree un generador de funciones simple.