Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

ASIGNACION DE MEMORIA PERIFERICA

Enviado por   •  16 de Diciembre de 2017  •  2.905 Palabras (12 Páginas)  •  400 Visitas

Página 1 de 12

...

#endif

void main(void)

{

// code goes here

}

Se desactiva el WACTCHDOG TIMER

WDTCTL = WDTPW + WDTHOLD;

Configurando el led del puerto 1, bit 6:

P1DIR = 0x40 ;

P1OUT = 0,

La configuración del reloj del sistema se hace mediante:

BCSCTLS3 | = LFXT1S_2;

Luciendo de la siguiente forma el código:

#include "msp430g2553.h"

#ifndef TIMER0_A1_VECTOR

#define TIMER0_A1_VECTOR TIMERA1_VECTOR

#define TIMER0_A0_VECTOR TIMERA0_VECTOR

#endif

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // watchdog timer setup

P1DIR = 0x40; // I/O setup

P1OUT = 0;

BCSCTL3 |= LFXT1S_2; // clock system setup

IFG1 &= ~OFIFG;

_bis_SR_register(SCG1 + SCG0);

BCSCTL2 |= SELM_3 + DIVM_3;

Este programa, hará que el led parpadee, una vez cada segundo, usando un reloj interno de 12KHz, que es el más lento con el que cuenta el sistema.

El ciclo que hace que el led se encienda y apague es el siguiente:

while(1)

{

P1OUT = 0x40; // LED on

_delay_cycles(100);

P1OUT = 0; // LED off

_delay_cycles(5000);

}

Concluyendo de la forma:

#include "msp430g2553.h"

#ifndef TIMER0_A1_VECTOR

#define TIMER0_A1_VECTOR TIMERA1_VECTOR

#define TIMER0_A0_VECTOR TIMERA0_VECTOR

#endif

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // watchdog timer setup

P1DIR = 0x40; // I/O setup

P1OUT = 0;

BCSCTL3 |= LFXT1S_2; // clock system setup

IFG1 &= ~OFIFG;

_bis_SR_register(SCG1 + SCG0);

BCSCTL2 |= SELM_3 + DIVM_3;

while(1)

{

P1OUT = 0x40; // LED on

_delay_cycles(100);

P1OUT = 0; // LED off

_delay_cycles(5000);

}

}

Quedando solo por compilar y verificar el correcto funcionamiento del led verde parpadeando una vez cada tres segundos.

LAB 4

Convertidor Analógico Digital

Como objetivo tenemos aprender el funcionamiento del convertidor en el chip, siguiendo los pasos:

File → New → CCS Project

File → Open File…

C:\MSP430_LaunchPad\Labs\Lab3\Files\OPT_VLO.txt

C:\MSP430_LaunchPad\Labs\Lab2\Files\Temperature_Sense_Demo.txt

Se elimina el texto de main.c y se pega.

#include

#ifndef TIMER0_A1_VECTOR

#define TIMER0_A1_VECTOR TIMERA1_VECTOR

#define TIMER0_A0_VECTOR TIMERA0_VECTOR

#endif

volatile long tempRaw;

void FaultRoutine(void);

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

P1DIR = 0x41; // P1.0&6 outputs

P1OUT = 0; // LEDs off

if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)

FaultRoutine(); // If cal data is erased

// run FaultRoutine()

BCSCTL1 = CALBC1_1MHZ; // Set range

DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation

BCSCTL3 |= LFXT1S_2; // LFXT1 = VLO

IFG1 &= ~OFIFG; // Clear OSCFault flag

BCSCTL2 |= SELM_0 + DIVM_3 + DIVS_3; // MCLK = DCO/8

while(1)

{

ADC10CTL1 = INCH_10 + ADC10DIV_0; // Temp Sensor ADC10CLK

ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON;

_delay_cycles(5); // Wait for ADC Ref to settle

ADC10CTL0 |= ENC + ADC10SC; // Sampling & conversion start

P1OUT

...

Descargar como  txt (20.8 Kb)   pdf (90.5 Kb)   docx (587.4 Kb)  
Leer 11 páginas más »
Disponible sólo en Essays.club