Attaque de zombies ! Facile à construire ! (23 / 25 étapes)

Etape 23 : Programmer le MSP430

Installer CCS (Code compositeur Studio) ici
Après avoir installé, ouvrez utilisation CCS quand il vous demande sur l’espace de travail, lui permettre de faire un avec le nom qu'il a généré.
Appuyez sur fichier -> Nouveau -> CCSProject
Une fenêtre pop-up, nommez votre projet, jeu de Zombie.
Puis sélectionnez MSP430 série
Ensuite, dans le type de recherche à: MSP430G2553 (ou juste le trouver)
Sélectionnez le modèle LED clignotent et l’ouverture du programme clin, supprimer tout cela.
Collez le code affiché ici et appuyez sur le petit bug. Si vous n’avez pas de problèmes, alors vous aurez une petite barre d’outils après il programmes la puce, qui est une console de débogage, et il y aura un > bouton, appuyez dessus et le Launchpad MSP430 enverra des données rétrospectives par UART, afin de pouvoir vérifier les données sur le terminal.

#include « msp430g2553.h »
#include < intrinsics.h > / / intrinsèque des fonctions
#include < stdint.h > / / Standard types entiers

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

unsigned char BitCnt ; Nombre d’octets, utilisée lors de la transmission d’octets
unsigned int TXByte ; Valeur envoyée sur UART lorsque Transmit() est appelé

unsigned int i, j, h ;
unsigned int ADCVal ;
Définition de fonction
void Transmit(void) ;
void Single_Measure(unsigned int) ;
#define NSAMPLES 16 / / nombre d’échantillons dans chaque bloc

void main (void)
{
WDTCTL = WDTPW + WDTHOLD ; Arrêter de WDT

unsigned int uartUpdateTimer = 10 ; Boucle jusqu'à ce que les octets est envoyé

uint32_t moyenne = 0 ; Valeur moyenne du bloc

BCSCTL1 = CALBC1_1MHZ ; Plage définie
DCOCTL = CALDCO_1MHZ ; SMCLK = DCO = 1MHz

P1DIR | = 0 X 01 ;                            Sortie direction la valeur P1.0
P1SEL | = TXD ; //
P1DIR | = TXD ; //

__bis_SR_register(GIE) ; enabled\ interruptions

/ * Boucle principale Application * /
while(1)
{
Si ((--uartUpdateTimer == 0))
{
__bis_SR_register (CPUOFF + GIE) ;        LPM0, ADC10_ISR forcera sortie

if(0x08 & P1IN) {}
pour (i = 0; i < 1000; i ++) ;        Retard factice pour debounce
if(0x08 & P1IN) {}
P1OUT & = ~ 0 x 01 ;  Conseil d’administration a conduit OFF
}
}
else {}
pour (i = 0; i < NSAMPLES; ++ j’ai) {
Single_Measure(INCH_4) ;
ADCVal = ADC10MEM ;
moyenne += ADCVal ; Accumuler la somme
}
moyenne / = NSAMPLES ; Moyenne arithmétique des échantillons
P1OUT | = 0 x 01 ; //board conduit ON
moyenne = moyenne & 0xFF ;
TXByte = moyenne ;
}
Transmit() ;
moyenne = 0; //reset avarage
uartUpdateTimer = 10 ;
pour (h = 0; h < 10000; h ++) ;        Factice délai entre les cycles de la communication
}
}
}

Fonction transmet le personnage de TXByte
Sub Transmit()
{
CCTL0 = ; TXD Idle comme marque
TACTL = TASSEL_2 + MC_2 ; SMCLK, mode continu

BitCnt = 0xA ; Charger le compteur bits, 8 bits + ST/SP
CCR0 = TAR ;

CCR0 += Bitime ; Temps jusqu’au premier bit
TXByte | = 0 x 100 ; Ajouter le bit d’arrêt à TXByte (ce qui est logique 1)
TXByte = TXByte << 1 ; Ajouter le bit de départ (ce qui est logique 0)

CCTL0 = CCIS0 + OUTMOD0 + CCIE ; Ajuster le signal, valeur intial, interruptions
tandis que (CCTL0 & CCIE) ; Attendre la fin de la TX
TACTL = TASSEL_2 ; SMCLK, timer off (pour une consommation)
}

Routine de service de minuteur A0 interruption
#pragma vecteur = TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
CCR0 += Bitime ; Ajouter l’Offset à CCR0
Si (BitCnt == 0) / / si tous les bits TXed, désactiver l’interruption
CCTL0 & = ~ CCIE ;
d’autre
{
CCTL0 | = OUTMOD2 ; Espace TX
Si (TXByte & 0 x 01)
CCTL0 & = ~ OUTMOD2 ; Marque de TX
TXByte = TXByte >> 1 ;
BitCnt--;
}
}

/********************************************************
Routine d’interruption du service ADC10
********************************************************/

#pragma vecteur = ADC10_VECTOR
__interrupt Sub ADC10_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF) ;        Claire CPUOFF peu de 0(SR)
}

void Single_Measure (int unsigned chan)
{
ADC10CTL0 & = ~ ENC ; Désactiver l’ADC
ADC10CTL0 = ADC10SHT_3 + ADC10ON + ADC10IE ; 16 graduations, ADC sur, activer interruption ADC
ADC10CTL1 = ADC10SSEL_3 + chan ; Ensemble « chan », SMCLK
ADC10CTL0 | = ENC + ADC10SC ; Activer et démarrer la conversion
}

Articles Liés

Praticable Segway Clone - faible coût et facile construire

Praticable Segway Clone - faible coût et facile construire

Cet Instructable va vous montrer comment créer un clone de Segway tour-able. Voici ses caractéristiques :Facile à construire avec aucune soudure, pas compliqué steering linkage et souder un minimum.Utilise un facilement disponible $3 numérique MPU605
Facile à construire des circuits CNC Mill Stepper Motor et pilote

Facile à construire des circuits CNC Mill Stepper Motor et pilote

il s'agit d'un suivi jusqu'à la facile à construire Desk Top 3 Axis CNC fraisage Machine une fois que vous obtenez la machine tous les mettre sur pied son temps à faire aller.Il est donc temps de conduire les moteurs. Et ici j'ai mis en place un circ
Facile à construire à antenne Yagi 2,4 GHz

Facile à construire à antenne Yagi 2,4 GHz

Cette antenne s'étendra la portée de votre WiFi ou 2,4 GHz périphériques (tels que des caméras de surveillance) dans de nombreux miles et kilomètres. Une antenne yagi est fondamentalement un télescope pour les ondes radio. Je me suis lassé de l'anten
DIY Super Cool jouer tente pour les enfants - facile à construire !

DIY Super Cool jouer tente pour les enfants - facile à construire !

Très facile à construire et les enfants vont adorer ! Garanti !Ouvrez les photos et passez le curseur de votre souris sur les annotations pour info.Étape 1: La Structure et les mesures (préparation et conseils) La structure était qu'il serait facile
Facile construire Pipe Box WITH MUSIC + PYROGRAVURE

Facile construire Pipe Box WITH MUSIC + PYROGRAVURE

j'ai voulu faire cette boîte pour 3 raisons.1-pour stocker ma pipe et tabac2-pour avoir une excuse pour creuser à nouveau la plume de pyrogravure3 - pour participer au concours de « faire une boîte »:)(donc si vous avez aimé l'instructable, s'il vous
Simple et facile-à-construire étagère pour livres et d’autres choses

Simple et facile-à-construire étagère pour livres et d’autres choses

je l'ai fait à TechShop (www.techshop.com) !J'ai juste pris la classe bois Boutique sécurité et utilisation de base à la TechShop à Menlo Park et ne pouvait pas attendre pour obtenir mes mains sciure-y.  Ce projet a été très facile à construire/faire
DIY « Street Party vélo Stereo » n’importe qui peut facilement construire avec outils minimaux

DIY « Street Party vélo Stereo » n’importe qui peut facilement construire avec outils minimaux

c'est facile à recréer bricolage système sonore que n'importe qui peut mettre sur pied. La liste des pièces est une paire de sacoches de selle, assez petit pour tenir à l'intérieur, un caoutchouc mousse camping mat, un lecteur CD portable (un iPod et
Facile à construire SWAT team casque

Facile à construire SWAT team casque

Bonjour, ceci est mon facile à construire à casque équipe SWAT les matériaux dont vous avez besoincasque de 1 skate Conseilbande de canard noirune bouteille de Coca de 2 litresquelque chose qui ressemble à une lampe frontalequelques legos de cylindre
Facile à construire à amplificateur de casque à l’aide de transistors MOSFET

Facile à construire à amplificateur de casque à l’aide de transistors MOSFET

cette instructable porte sur la façon de construire un amplificateur de casque simple utilisation facile pour obtenir des composants:)L'amplificateur est basé autour d'un Mosfet à canal N standard (IRF740 dans mon cas) et est rapide et facile à const
Bon marché et facile à construire à support de pneu

Bon marché et facile à construire à support de pneu

Bonjour à tous, ceci est mon premier instructable.Après la construction de ce projet, j'ai réalisé que je pouvais avoir document avec plus de photos. Mais en revanche, c'est une construction assez facile, donc des instructions ne sont pas vraiment in
Facile à construire Lego Robot

Facile à construire Lego Robot

Etape 1: Eléments requisÉtape 2: Toutes les étapes illustrées en images Étape 3: Et Bam ! Un facile à construire Lego Robot Couleurs ne besoin de match
Facile à construire et piloter un avion d’intérieur et extérieur

Facile à construire et piloter un avion d’intérieur et extérieur

Un assez petit avion indoor, conçu pour foamboard. Il y a beaucoup de carton sur le marché, j'ai utiliser 5mm carton avec du papier des deux côtés. Je recommande d'utiliser le même sinon que vous allez avoir un moment difficile d'obtenir des surfaces
Facile construire gravure Laser pour les moins de 20 $

Facile construire gravure Laser pour les moins de 20 $

Dans ce Instructable je vais vous montrer comment j'ai construit ma propre gravure laser, y compris le circuit pilote, le laser est capable de graver par le biais de plastique de Chatterton, noir et feu correspond avec feutre sur eux (je vous ferai f
Kite Aerial Photography Picavet système - amusant, Simple et facile à construire !

Kite Aerial Photography Picavet système - amusant, Simple et facile à construire !

Dans ce Instructable je vais enseigner vous indique comment créer un montage picavet et caméra pour kite aerial photography/vidéo afin que vous pouvez capturer les vues œil de l'oiseau étonnant du monde autour de vous.  Le picavet vise à maintenir et