Kill the bit game for Real Time Assignment

Dependencies:   mbed C12832 mbed-rtos

Committer:
4180_1
Date:
Tue Nov 26 03:10:05 2013 +0000
Revision:
0:ecbcef1609d9
Child:
1:617a3879630b
ver1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:ecbcef1609d9 1 #include "mbed.h"
4180_1 0:ecbcef1609d9 2 // Retro version of kill the bit
4180_1 0:ecbcef1609d9 3 // For application board
4180_1 0:ecbcef1609d9 4 // Joystick push kills LED bit on left, if it is on
4180_1 0:ecbcef1609d9 5 // If bit is not on, another is created
4180_1 0:ecbcef1609d9 6 // Goal is to kill off all of the bits
4180_1 0:ecbcef1609d9 7 // LEDs flash and speaker beeps on a win
4180_1 0:ecbcef1609d9 8
4180_1 0:ecbcef1609d9 9 DigitalOut myled1(LED1);
4180_1 0:ecbcef1609d9 10 DigitalOut myled2(LED2);
4180_1 0:ecbcef1609d9 11 DigitalOut myled3(LED3);
4180_1 0:ecbcef1609d9 12 DigitalOut myled4(LED4);
4180_1 0:ecbcef1609d9 13 DigitalIn pb(p14);
4180_1 0:ecbcef1609d9 14 PwmOut spkr(p26);
4180_1 0:ecbcef1609d9 15
4180_1 0:ecbcef1609d9 16 void display(int number)
4180_1 0:ecbcef1609d9 17 {
4180_1 0:ecbcef1609d9 18 myled1 = (number) & 0x01;
4180_1 0:ecbcef1609d9 19 myled2 = (number>>1) & 0x01;
4180_1 0:ecbcef1609d9 20 myled3 = (number>>2) & 0x01;
4180_1 0:ecbcef1609d9 21 myled4 = (number>>3) & 0x01;
4180_1 0:ecbcef1609d9 22 }
4180_1 0:ecbcef1609d9 23 int main()
4180_1 0:ecbcef1609d9 24 {
4180_1 0:ecbcef1609d9 25 unsigned int value = 0x12;
4180_1 0:ecbcef1609d9 26 spkr.period(1.0/2000.0);
4180_1 0:ecbcef1609d9 27 while(1) {
4180_1 0:ecbcef1609d9 28 value = value ^ pb;
4180_1 0:ecbcef1609d9 29 if (value == 0) {
4180_1 0:ecbcef1609d9 30 for (int i=0; i<5; ++i) {
4180_1 0:ecbcef1609d9 31 spkr = 0.5;
4180_1 0:ecbcef1609d9 32 display(0x0F);
4180_1 0:ecbcef1609d9 33 wait(.5);
4180_1 0:ecbcef1609d9 34 display(0);
4180_1 0:ecbcef1609d9 35 spkr = 0.0;
4180_1 0:ecbcef1609d9 36 wait(.25);
4180_1 0:ecbcef1609d9 37 }
4180_1 0:ecbcef1609d9 38 value = 0x012;
4180_1 0:ecbcef1609d9 39 }
4180_1 0:ecbcef1609d9 40 value = ((value & 0x01)<<3) | value >> 1;
4180_1 0:ecbcef1609d9 41 display(value);
4180_1 0:ecbcef1609d9 42 wait(.25);
4180_1 0:ecbcef1609d9 43 }
4180_1 0:ecbcef1609d9 44 }