AVR programming cu Arduino

Mai jos e primul program scris pe Arduino fara bootloaderul si functiile oferite de Arduino.

E un convertor de cod  binar-zecimal -> binar, in circuit sunt 5 butoane la intrare si 3 leduri pentru a afisa rezultatul.

/*
 * main.c
 *
 *  Created on: Dec 8, 2012
 *      Author: daniftodi
 */

#include <avr/io.h>
#include <util/delay.h>

void allOff()
{
	PORTD &= ~(1<<PD2 | 1<<PD3 | 1<<PD4);
}

int main(void)
{
	//Output pentru leduri
	DDRD |= 1<<PD2 | 1<<PD3 | 1<<PD4;

	DDRB &= ~(1<<PB1 | 1<<PB2 | 1<<PB3 | 1<<PB4 | 1<<PB5); // input pentru buton

	while(1)
	{

		if ( (PINB >> PB5) &1 == 1)
		{
			PORTD |= 1<<PD2;
		}
		else if( (PINB >> PB4) &1 == 1)
		{
			PORTD |= 1<<PD3;
		}
		else if ( (PINB >> PB3) &1 == 1)
		{
			PORTD |= 1<<PD2 | 1<<PD3;
		} else if( (PINB >> PB2) &1 == 1)
		{
			PORTD |= 1<<PD4;
		} else if( (PINB >> PB0) &1 == 1)
		{
			PORTD |= 1<<PD2 | 1<<PD4;
		}else
		{
			allOff();
		}
	}
	return 0;
}

 

Pentru a programa in acest stil cu Arduino aveti nevoie de asa un programator:

 

 

 

 

 

 

 

 

 

 

Eu inca nu am unul a meu, l-am imprumutat de la cineva de la universitate dar sper sa imi fac unul.

Faci un comentariu sau dai un răspuns?

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.