Zombie Attack! Gemakkelijk op te bouwen! (23 / 25 stap)

Stap 23: Program de MSP430


CCS (Code componist Studio) hier installeren
Na het installeren, open CCS gebruiken wanneer het u vraagt over de werkruimte, te maken met de naam die het gegenereerd.
Druk vervolgens op Bestand -> Nieuw -> CCSProject
Een venster zal knal opwaarts, naam van uw project, Zombie-spel.
Vervolgens Selecteer MSP430 serie
Klik vervolgens in het zoektype in: MSP430G2553 (of vind het)
Selecteer de sjabloon LED knipperen en verwijderen op de opening van het Knipoogje programma, allemaal.
Plak de code gepost hier en druk op de kleine bug. Als je geen problemen, hebt dan zul je een kleine werkbalk nadat je de chip, die een debug console is, programma's en zal er een > knop, druk op het en de MSP430 Launchpad zal sturen retrospectieve gegevens via UART, zodat u de gegevens op de terminal controleren kunt.

#include "msp430g2553.h"
#include < intrinsics.h > / / intrinsieke functies
#include < stdint.h > / / standaard geheel getal typen

#define TXD BIT1 / / TXD op P1.1
#define Bitime 104 //9600 Baud, SMCLK = 1MHz (1MHz/9600) = 104

unsigned char BitCnt; Bits-telling, gebruikt bij het verzenden van byte
unsigned int TXByte; Waarde via UART verzonden wanneer Transmit() wordt aangeroepen

unsigned int i, j, h;
unsigned int ADCVal;
Functiedefinities
nietig Transmit(void);
nietig Single_Measure(unsigned int);
#define NSAMPLES 16 / / aantal monsters in elk blok

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; WDT stoppen

unsigned int uartUpdateTimer = 10; Lussen totdat byte wordt verzonden

uint32_t gemiddelde = 0; Gemiddelde waarde van blok

BCSCTL1 = CALBC1_1MHZ; Stel bereik
DCOCTL = CALDCO_1MHZ; SMCLK = DCO = 1MHz

P1DIR | = 0X01;                            P1.0 ingesteld op uitgang richting
P1SEL | = TXD; //
P1DIR | = TXD; //

__bis_SR_register(gie); onderbreekt enabled\

/ * Hoofdtoepassing lus * /
while(1)
{
Als ((--uartUpdateTimer == 0))
{
__bis_SR_register (CPUOFF + GIE);        LPM0, ADC10_ISR zal dwingen afsluiten

if(0x08 & P1IN) {}
voor (ik = 0; ik < 1000; i ++);        Dummy vertraging voor ontdendering
if(0x08 & P1IN) {}
P1OUT & = ~ 0x01;  bestuur leidde OFF
}
}
else {}
voor (ik = 0; ik < NSAMPLES; ++ ik) {}
Single_Measure(INCH_4);
ADCVal = ADC10MEM;
gemiddelde += ADCVal; Accumuleren som
}
gemiddelde / = NSAMPLES; Rekenkundig gemiddelde van de monsters
P1OUT | = 0x01; //board leidde ON
gemiddelde = gemiddelde & 0xFF;
TXByte = gemiddelde;
}
Transmit();
gemiddelde = 0; //reset avarage
uartUpdateTimer = 10;
voor (h = 0; h < 10000; h ++);        Dummy vertraging tussen communicatie cycli
}
}
}

Functie verzendt personage uit TXByte
VOID Transmit()
{
CCTL0 = UIT; TXD Idle als Mark
TACTL = TASSEL_2 + MC_2; SMCLK, continu-modus

BitCnt = 0xA; Laden van bits teller, 8 bits + ST/SP
CCR0 = TEER;

CCR0 += Bitime; Ingestelde tijd tot eerste stukje
TXByte | = 0x100; Stopbit toevoegen aan TXByte (dat is logisch 1)
TXByte = TXByte << 1; Toevoegen van startbit (dat is logische 0)

CCTL0 = CCIS0 + OUTMOD0 + CCIE; Signaal, eerste waarde instellen, inschakelen interrupts
terwijl (CCTL0 & CCIE); Wachten op beeindiging van de TX
TACTL = TASSEL_2; SMCLK, timer uitschakelen (voor stroomverbruik)
}

Timer A0 interrupt service routine
#pragma vector = TIMER0_A0_VECTOR
void Timer_A (void) __interrupt
{
CCR0 += Bitime; Offset toevoegen aan CCR0
Als (BitCnt == 0) / / als alle bits TXed, uitschakelt interrupt
CCTL0 & = ~ CCIE;
anders
{
CCTL0 | = OUTMOD2; TX ruimte
Als (TXByte & 0x01)
CCTL0 & = ~ OUTMOD2; TX-Mark
TXByte = TXByte >> 1;
BitCnt--;
}
}

/********************************************************
ADC10 interrupt service routine
********************************************************/

#pragma vector = ADC10_VECTOR
ongeldig ADC10_ISR(void) __interrupt
{
__bic_SR_register_on_exit(CPUOFF);        Duidelijk CPUOFF bits van 0(SR)
}

VOID Single_Measure (unsigned int chan)
{
ADC10CTL0 & = ~ ENC; Uitschakelen van ADC
ADC10CTL0 = ADC10SHT_3 + ADC10ON + ADC10IE; 16 klok teken, ADC op, inschakelen ADC interrupt
ADC10CTL1 = ADC10SSEL_3 + chan; Set 'chan', SMCLK
ADC10CTL0 | = ENC + ADC10SC; Schakelen en conversie te starten
}

Gerelateerde Artikelen

Gemakkelijk om te bouwen van WIFI 2,4 GHz Yagi antenne

Gemakkelijk om te bouwen van WIFI 2,4 GHz Yagi antenne

Deze antenne zal breiden het bereik van uw WiFi of 2.4GHz apparaten (zoals bewakingscamera's) in vele mijlen en kilometer. Een yagi antenne is in feite een telescoop voor de radiogolven. Mij vermoeid de pringle kan antenne en de Yagi verslaat het han
DIY Super Cool spelen Tent voor kinderen - gemakkelijk om te bouwen!

DIY Super Cool spelen Tent voor kinderen - gemakkelijk om te bouwen!

Zeer gemakkelijk op te bouwen en jonge geitjes zullen love it! Gegarandeerd!Open de foto's en beweeg uw muiscursor over de aantekeningen voor info.Stap 1: De structuur en maatregelen (voorbereiding en tips) Idee voor de structuur was dat het gemakkel
Gemakkelijk om te bouwen van hoofdtelefoon versterker met behulp van Mosfets

Gemakkelijk om te bouwen van hoofdtelefoon versterker met behulp van Mosfets

dit instructable is over het bouwen van een eenvoudige hoofdtelefoon versterker met eenvoudig te verkrijgen onderdelen :)De versterker is gebaseerd op een standaard N-kanaal Mosfet (IRF740 in mijn geval) en is snel en gemakkelijk op te bouwen met vri
Gemakkelijk om te bouwen van Lego Robot

Gemakkelijk om te bouwen van Lego Robot

Stap 1: Onderdelen die nodig zijnStap 2: Alle stappen geïllustreerd In foto 's Stap 3: En Bam! Een gemakkelijk op te bouwen Lego Robot Kleuren hoeft niet wedstrijd
LED Rainbow - RGB LED PWM Controller constructie - gemakkelijk om te bouwen

LED Rainbow - RGB LED PWM Controller constructie - gemakkelijk om te bouwen

stap voor stap, makkelijk te volgen instructies over de opbouw van een LED Rainbow RGB LED PWM Controller. Slechts een minimale hoeveelheid onderdelen nodig zijn, samen met een PIC processor, en kunt u een van de meest verbazingwekkende LED controlle
Gemakkelijk om te bouwen van zuurstof Analyzer met behulp van een Arduino compatibele Micro Controller

Gemakkelijk om te bouwen van zuurstof Analyzer met behulp van een Arduino compatibele Micro Controller

Als een bouwer van gadgets en een scuba diver heb ik geprobeerd om te bouwen van een zuurstof-analyzer voor een beetje nu. Het grote probleem is dat de meest micro controllers de mv dat de sensor steekt niet kunnen lezen. Ik speelde met opamps, maar
Snel en gemakkelijk op te bouwen van hondenhok

Snel en gemakkelijk op te bouwen van hondenhok

Dit is een eenvoudige, makkelijk te bouwen hondenhok. Het fundamentele vak bestaat uit vijf stukken hout van gelijke grootte, gesneden uit een standaard vel half shutterply (goedkoop, lage kwaliteit pine multiplex). Het is zeer gemakkelijk en snel aa
Gemakkelijk om te bouwen en vliegen van indoor en outdoor vliegtuig

Gemakkelijk om te bouwen en vliegen van indoor en outdoor vliegtuig

Een vrij kleine overdekte vliegtuig, ontworpen voor karton. Er is een heleboel karton op de markt, ik gebruik 5mm karton met papier aan beide zijden. Ik beveel aan hetzelfde anders u zult worden met een harde tijd om vlakke oppervlakken en goede krak
Goedkoop, gemakkelijk op te bouwen, peristaltische pomp

Goedkoop, gemakkelijk op te bouwen, peristaltische pomp

Waarom peristaltische pompen? Peristaltische pompen zijn geweldig! Ze vereisen geen priming, zij omhoog kunnen pompen, zij kunnen pompen viskeuze vloeistoffen of vocht dat 'stukjes' hebben, vereisen geen speciale materialen en kunnen worden gereinigd
Gemakkelijk om te bouwen van hoge aangedreven zonneboiler van C-band schotel

Gemakkelijk om te bouwen van hoge aangedreven zonneboiler van C-band schotel

deze build kan worden onderverdeeld in een paar eenvoudige stappen of subonderdelen. De schotel, de tracking-systeem en de warmtewisselaar/verzamelaar.Dit zijn de dingen die je zal nodig voor deze bouwstijl1. een oude C-Band satteliet schotel. Deze z
Gemakkelijk om te bouwen van Glow potten en toren!

Gemakkelijk om te bouwen van Glow potten en toren!

Het project dat ik heb voor deze website gemaakt was zeer eenvoudig, gemakkelijk en helder. Het was een snel en eenvoudig project, maar het diende het doel als een decoratie echt goed. Hoewel het project bleek echt goed, heb ik besloten om dit kleine
PCB etsen machine vanaf nul--zeer zeer zeer gemakkelijk op te bouwen

PCB etsen machine vanaf nul--zeer zeer zeer gemakkelijk op te bouwen

dit is de eenvoudige manieren en goedkoopste manier om je eigen machine voor PCB / elektronische etsen hobby's, veel van DIY machine ik heb bouwen voor mijn zelfgemaakte project maar ik ding dit is de EASYest en de goedkoopste manier, of zelfs zal ko
Gemakkelijk om te bouwen van oneindigheid spiegel.

Gemakkelijk om te bouwen van oneindigheid spiegel.

Dit is een weergave van dit instructable1.we gaan bouwen van een echt eenvoudig oneindigheid spiegel.2.alles wat u nodig hebt is een spiegel elke grootte, een LED string, een kartonnen koker, een boor of snij-inrichting en een plaat van kunststof, sc
Gemakkelijk om te bouwen van walnoot eettafel

Gemakkelijk om te bouwen van walnoot eettafel

Je ben moe van lokale meubilairopslag gaat en niet het vinden van een echte massief houten meubelen.Vandaag, we doen elke snel en wij vaak op dit versnelde tempo te kopen. Probleem met dit is de algemene kwaliteit van de meubels. Hoewel zeer aantrekk