Zombie Attack! Lätt att bygga! (23 / 25 steg)

Steg 23: Programmera MSP430




Installera CCS (kod kompositör Studio) här
Efter installerande, öppna CCS användning när den frågar dig om arbetsytan, gör det möjligt att göra ett med namnet den genererat.
Tryck sedan på Arkiv -> Ny -> CCSProject
Ett fönster kommer att dyka upp, namnge ditt projekt, Zombie spel.
Sedan Välj MSP430 serien
Sedan i söktyp i: MSP430G2553 (eller tycker att det är)
Välj mallen blinkar LED och på öppnandet av programmet blink, ta bort allt.
Klistra in koden postat här och tryck på den lilla buggen. Om du har inga problem, då du kommer ha ett litet verktygsfält efter det program det chip, som är en Felsökningskonsolen, och det kommer att finnas en >-knappen, tryck och MSP430 startfönstret kommer att sända tillbaka data via UART, så du kan kolla data på terminal.

#include "msp430g2553.h"
#include < intrinsics.h > / / inneboende funktioner
#include < stdint.h > / / Standard heltal typer

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

unsigned char BitCnt; Bitars räknare, används när du överför byte
unsigned int TXByte; Värdet som skickas över UART när Transmit() anropas

unsigned int i, j, h;
unsigned int ADCVal;
Funktionsdefinitioner
void Transmit(void);
void Single_Measure(unsigned int);
#define NSAMPLES 16 / / antal prover i varje block

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

unsigned int uartUpdateTimer = 10; Loopar tills byte skickas

uint32_t medelvärde = 0; Medelvärdet av block

BCSCTL1 = CALBC1_1MHZ; Ange intervall
DCOCTL = CALDCO_1MHZ; SMCLK = DCO = 1MHz

P1DIR | = 0X01; Ange P1.0 till utgång riktning
P1SEL | = TXD; //
P1DIR | = TXD; //

__bis_SR_register(GIE); avbryter enabled\

/ * Huvudprogrammet ögla * /
While(1)
{
om ((--uartUpdateTimer == 0))
{
__bis_SR_register (CPUOFF + GIE); LPM0, ADC10_ISR kommer att tvinga exit

IF(0x08 & P1IN) {
för (jag = 0; jag < 1000; i ++); Dummy fördröjning för debounce
IF(0x08 & P1IN) {
P1OUT & = ~ 0x01; styrelsen leds av
}
}
annat {
för (jag = 0; jag < NSAMPLES; ++ jag) {
Single_Measure(INCH_4);
ADCVal = ADC10MEM;
genomsnittliga += ADCVal; Ackumulera summan
}
i genomsnitt / = NSAMPLES; Aritmetiska medelvärdet av prover
P1OUT | = 0x01, //board ledde ON
genomsnittliga = genomsnitt & 0xFF;
TXByte = genomsnittet.
}
Transmit();
genomsnittliga = 0; //reset Snittade
uartUpdateTimer = 10;
för (h = 0; h < 10000; h ++); Dummy fördröjning mellan kommunikation cykler
}
}
}

Funktionen överför karaktär från TXByte
void Transmit()
{
CCTL0 = UT; TXD Idle som Mark
TACTL = TASSEL_2 + MC_2; SMCLK, kontinuerligt läge

BitCnt = 0xA; Ladda bitars räknare, 8 bitar + ST/SP
CCR0 = TJÄRA;

CCR0 += Bitime; Ställ in tid till första biten
TXByte | = 0x100; Lägga till stoppbit i TXByte (vilket är logiskt 1)
TXByte = TXByte << 1. Lägg till startbit (vilket är logiskt 0)

CCTL0 = CCIS0 + OUTMOD0 + CCIE; Ställa in signal, ursprungliga värde, aktivera avbrott
samtidigt (CCTL0 & CCIE); Vänta TX slutförandet
TACTL = TASSEL_2; SMCLK, timer off (för energiförbrukning)
}

Timer A0 avbrottstjänstens rutin
#pragma vektor = TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
CCR0 += Bitime; Lägga till Offset till CCR0
om (BitCnt == 0) / / om alla bitar TXed, inaktivera avbrott
CCTL0 & = ~ CCIE;
annat
{
CCTL0 | = OUTMOD2; TX utrymme
om (TXByte & 0x01)
CCTL0 & = ~ OUTMOD2; TX Mark
TXByte = TXByte >> 1.
BitCnt--;
}
}

/********************************************************
ADC10 avbrottstjänstens rutin
********************************************************/

#pragma vektor = ADC10_VECTOR
__interrupt ogiltiga ADC10_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF); Tydlig CPUOFF lite från 0(SR)
}

void Single_Measure (unsigned int chan)
{
ADC10CTL0 & = ~ ENC; Inaktivera ADC
ADC10CTL0 = ADC10SHT_3 + ADC10ON + ADC10IE; 16 klockan tickar, ADC på, aktiverar ADC avbrott
ADC10CTL1 = ADC10SSEL_3 + chan; Ange "chan", SMCLK
ADC10CTL0 | = ENC + ADC10SC; Aktivera och starta konvertering
}

Se Steg
Relaterade Ämnen

Hur man parera upp kommande zombie attack

deras ingen stoppa kommande apokalyps som är känt om u-dag Arvidsson odöda dagen. nu kan du gå ombord upp ditt hus en vänta tills dess över, eller du kan få upp och döda dessa zombies, så kommer ni att dölja eller ta en 10 mätare och spränga några sk...

Hur att bygga din egen bur för hamster.

jag tror att burar för djur är för liten för att satisify deras behov av utrymme. Naturligtvis, vill jag bäst för mitt lilla husdjur... så jag bestämde mig att göra en plats där hon kan ha lite kul och också vara säkra.I detta instructable, jag komme...

Att bygga upp en förståelse av elektriska kretsar

detta instructable är enhet jag gör med min heder fysikstudenter att hjälpa dem att bygga sig en förståelse för hur varje del av en elektrisk krets fungerar och varför den gör vad den gör. Jag har brutit ner enheten i en rad mål med en förklaring av...

Del ett, en bra grund att bygga ett fack bil spår -

Slot car racing har varit i mitt blod i nästan sextio år. Det är väldigt roligt, Billigt och säkert. Det har också klimatpåverkan av mygg. Alla åldrar kan tävla, så det är bra för fäder och söner att göra något tillsammans och lära sig en mängd kunsk...

3 olika sätt att bygga en brand

För detta instructable jag ska visa dig 3 olika sätt att bygga en eld. Innan vi börjar gå vidare och samla några kvistar, torra löv, barr, och små pinnar, och några stockar för när elden kommer igång. Bryta upp kvistar att göra tändved. Nu kan komma...

Att bygga Anubis

börja med att skapa en papper mall av mask och montera den på en sport ansikte mask som bas.Ta mallen isär, överföra huvud och öron till kartong (Matt styrelsen.)Bygga ut funktioner med Styrofoam; smidig med ljus hobby kitt.Måla.Skär 200 varv (Ja, 60...

Att bygga Bastet

som utlovat, här är den antika egyptiska gudinnan Bastet, kamrat kostym till Anubis kostym (bilden) som du hittar här:Att bygga Anubis InstructableVarning: skapandet av denna kostym använder vassa verktyg och material som är känd i delstaten Kaliforn...

Att bygga laserskurna fällbara ukulele

denna vikning ukulele är en sopran-storlek instrument som kan vikas upp till ett paket som mäter cirka 9 inches lång max. Jag tar mig överallt! Här är en kort video på hur det fungerar:http://www.youtube.com/watch?v=8gaFRbOb6lw&feature=channel_video_...

Kite flygfotografering Picavet System - roligt, enkelt och lätt att bygga!

i detta Instructable jag kommer att lära dig hur man bygger ett picavet och kamera fäste för kite aerial photography/video så att du kan fånga fantastiska Bird's eye syn på världen omkring dig. Syftet med picavet är att hålla och stabilisera kameran...

Med Littlebits HDK för att bygga en Tilt känsliga modul

Littlebits HDK är en bra samling av moduler som hjälper du prototyp och testa en modul i din alldeles egna. I denna tutorial, vi kommer att använda det för att skapa en modul som känner av lutning och gest kit är ganska okomplicerad.Material:Littlebi...

Att bygga Lego helikopter

följande är en stegvis process för att bygga en Lego helikopter.Steg 1: Benen Ta den platta (2 x 4) gul bit och fäst två platta (1 x 4) svarta bitar till botten. Dessa svarta bitar är benen på helikoptern.Steg 2: Bas Bildar basen av helikoptern genom...

Lätt att bygga Lego roboten

Steg 1: Delar krävsSteg 2: Alla steg illustreras i bilder Steg 3: Och Bam! Lätt att bygga Lego Robot Färger behöver inte matchen...

3 enkla steg för att bygga ett Alarm som Blowdryer

Oavsett om du är en collegestudent, arbetar professional eller den genomsnittliga Joe, finns det dagar när sömnen är så knappa att ljudet av ett genomsnittligt larm inte kan vakna du upp. Detta är motivationen bakom att bygga en fön som växlar på och...

Guide till att bygga en inverterad bokhylla

Om du är typen av person som älskar att läsa och samla böcker, måste du vara beredd att ta itu med ett problem: förr eller senare kommer du till slut på tillgängligt utrymme för dina böcker. När du har nått gränserna för bokhyllan, kommer du att behö...

En steg för steg Guide till att bygga en industriell stil pall soffbord

Jag skrev detta Instructable eftersom jag tror på att göra saker själv. För mig är det mer givande för att göra något själv än att köpa något redan gjort. Massa tillverkade varor kan vara dyrt och har mindre karaktär. Jag tror det finns fler stolthet...

Hur du använder gratis pallar att bygga en grillrestaurang

detta Instructable kommer att gå igenom processen att utforma och bygga en BBQ temarestaurang med en mycket liten budget. Vi förlitat sig på vår egen påhittighet, vår scrounging förmåga och vår kreativitet för att göra en restaurang som såg ut som vi...

GNU/Linux-distributionen för Raspberry Pi med Yocto projektet att bygga

Raspberry Pi är förmodligen den mest populära låga kostnader enkel bräde computern på marknaden. Det används skall erbjuda för Internet av saker och andra inbäddade projekt. Flera GNU/Linuxdistributioner har utmärkt stöd för Raspberry Pi och det finn...

Komplett Guide till att bygga ditt första RC Foamboard plan

Den tredje videon jag har på den plan som flyger var en mycket gammal video jag tog med min riktigt dålig kamera. Så fort min nya kamera kommer med posten kommer att jag göra en bättre video av plan som flugan. Även kommer att de fullständiga video i...

En Wide Body Quadrotor - mönster och idéer för att bygga din egen.

Multirotors--hur coola de är!En quadrotor är en typ av multirotor flygplan. Dessa flygplan är enklare än någonsin att bygga. Du kan börja med denna maskin och öka dess kapacitet (och komplicerade) som du lära dig mer. Din erfarenhet, kunskap och resp...