TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A diferença entre assembly e arduino

Por:   •  13/6/2015  •  Monografia  •  411 Palavras (2 Páginas)  •  275 Visualizações

Página 1 de 2

Assembly v.s. c++

Qual a diferença entre as duas formas de programação para a criação do programa na qual liga um LED ao pressionar um botão.

C++

// constantes não vai mudar. Eles são usados aqui para

// definir números de pinos :

const int buttonPin = 2; // o número do pino botão

const int ledPin = 13; // o número do pino de LED

// variáveis vai mudar:

int buttonState = 0; // variável para a leitura do estado de botão

void setup() {

// inicializar o pino de LED como uma saída :

pinMode(ledPin, OUTPUT);

// inicializar o pin botão como entrada :

pinMode(buttonPin, INPUT);

}

void loop() {

// ler o estado do botão de valor :

buttonState = digitalRead(buttonPin);

// verificar se o botão está pressionado .

// Se for, o buttonState é alto:

if (buttonState == HIGH) {

// transformar LED ligado:

digitalWrite(ledPin, HIGH);

}

else {

// transformar LED desligado:

digitalWrite(ledPin, LOW);

}

}

Assembly

;Função JB (Condição se)

org 00h ;Aponta para o endereço inicial da memória

;Cria o endereço "start" (label)

start: JB P1.0, LigaLed ;Testa se o botão P1.0 (Normal acionado) esta acionado, então vai para LigaLed

mov P0, #11111110b ;Caso Negativo move 0 para P0.0 acendendo o led 0.

sjmp start ;Pulo Incondicional para o endereço "Start"

LigaLed: mov P0, #0ffh ;Escreve #11111111b na porta 0 (apaga todos os leds)

sjmp start ;Salta para o endereço Start

end ;fim de programa

Assembly C++

1º cria o endereço inicial da memória.

2º Cria a condição referente o valor da porta e define a saída para outra porta.

3º finaliza o programa. 1º

...

Baixar como (para membros premium)  txt (2.3 Kb)   pdf (43.2 Kb)   docx (11.7 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com