Ir ao conteúdo
  • Cadastre-se

Tutorial : Introdução ao uso de PIC´s em BASIC com o PIC Simulator IDE - Parte 1/2


Posts recomendados

bom amigos do forum, e saldaçoes.

gente por favor estou precisando do manual, não sei se posso falar assim

mais é algo do tipo todas essas palavras que usamos para programar tipo

dim as abit, e outras deve existir uma relação desses comandos, para que

possamos escrever nossos programas, por enquanto estou muito limitado, quero conhecer mais comandos. por favor me ajudem.

Link para o comentário
Compartilhar em outros sites

Hum. isso seria um manual da linguagem Basic, ja tentou o help do PSI?

la tem todos os comandos da linguagem basic bem como suas funções,

http://www.oshonsoft.com/picbasiccompilerreferencemanual.html

aqui nesse link cai direto no manual com tudo o que você precisa saber, veja se ajuda.

abs.

Link para o comentário
Compartilhar em outros sites

obrigado e saldaçoes a todos.

vou comesar a escrever meu programa, sei que terei muitos erros, pois é errando que se aprende. pois a todos me dirijo essa palavra parabens para todos amigos do forum, como é bom sentir que temos pessoas interesadas em nosso aprendizado, legal

estarei escrevendo o meu códico, e estarei postando aqui,continuo pedindo a juda de todos, o nosso lema é: . todos por um?.

ola galera, tudo tranquilo beleza.

vou comesar o meu novo progeto usando alem do pic 16f877a um ci cd4028

alguem tem um exemplo como esse ci funciona, por exemplo acionando led, outra coisa. por gentileza, estou no aguarde. obrigado

Link para o comentário
Compartilhar em outros sites

Saldações a todos.

Claro que sim, me desculpe esqueci do mais importante.

Meu novo projeto consiste em um CI decodificador de tons, que

é o mt8870, um CI CD 4028 e outro que é o PIC 16f877a.

Bom o seu funcionamento é o seguinte:

quando feita uma ligação para um celular que será um receptor,

esse por sua vês, quando recebido o tom do outro celular que será usado como transmissor, codifica o tom no CI MT8870 (TDMF) esse codificador por sua vês, me da uma sequência de quarto números,

0 ou 1, essa sequência de números por exemplo posso acionar um display de sete segmentos usando um outro CI o CD 4511 (ABCD), conforme a tecla pressionada do celular transmissor, é apresentado o numero correspondente, exemplo:

aciono a tecla do celular transmissor numero dois, é apresentado o numero dois no celular receptor pelo display de sete segmentos e assim por diante, esse é um exemplo.

Mais porém que eu estou fazendo é quase isso, aplico o mesmo sistema só que usando o pic16f877a.

O PIC pega essa sequência de quatro números, e transforma numa sequência de números em sua saída (0 ou 1) com isso eu posso fazer o robô ir para frente, parar. Virar a direita, virar a esquerda, não tão somente isso, posso por qual qualquer sistema elétrico para funcionar em qualquer parte do mundo.

Claro sim desde que tenha o sinal para funcionar, porém sei que isso não é novidade para vocês do fórum mais para mim é e significa muito, não sei se me fiz entender, não sou muito bom de explicar as coisas já deu pra todos perceberem, como também sou péssimo em português, mais fazer o que né em nossos braços ao invés de veias temos fios, com isso ao invés de sangue frui elétrons (brincadeira) o nosso criador nos fez perfeito, nos e que somos ingratos com o senhor deus. Obrigado já comecei com o projeto

o decodificador mt8870 já esta reconhecendo os tons no protoboard, ta chegando a hora de escrever o código, sei que não será fácil, mais peço a ajuda do fórum. Por enquanto é só até mais.

Link para o comentário
Compartilhar em outros sites

  • Coordenador

ma2008, uma forma simples de colocar uma foto aqui no fórum, é você clicar em "Modo Avançado" (abaixo da caixa de mensagem) e anexar (clique no simbolo de um clips) a foto em seu post... ou então, hospedar a foto no host: http://img512.imageshack.us/ , e copiar o link para o tópico..., para isso siga as instruções do tópico abaixo:

http://forum.clubedohardware.com.br/showpost.php?p=3854743&postcount=19

Espero que ajude!...

Link para o comentário
Compartilhar em outros sites

Ola amigos do forum

Depois de muito pesquisar, ufaaaa achei vocês que falam a minha lingua PSI.

Necessito de ajuda, tento desenvolver um contador regressivo com 02 digitos, este armazena o tempo que o painel fica ligado em segundos.

Ao ser ligado novamente o mesmo mostra o ultimo tempo decrementando em segundos e ao mesmo tempo armazena o tempo ligado, sempre armazenando o tempo atual e apresentando quando ligado o ultimo tempo.

Espero que consegui explicar, segue programa que ainda não consegui resolver.

Symbol dd = PORTA.0

Symbol du = PORTA.1

Symbol cc = PORTA.2

' 76543210

TRISB = %00000000

TRISA = %11100000

Dim b1 As Word

Dim b2 As Word

Dim b3 As Word

Dim b4 As Word

Dim b5 As Bit

Dim b6 As Word

Dim b7 As Word

Dim b8 As Word

Dim b9 As Word

Dim ***** As Bit

Dim cd As Bit

Dim contu As Word ' contador de centena dow

Dim contd As Word

b1 = 0

b2 = 0

b3 = 0

b4 = 0

b8 = 0

contu = 0

in:

b1 = 0 ' contador unidade DOW

b2 = 0 ' contador dezena Dow

b3 = 8 ' contador unidade up

b4 = 9 ' contador dezena up

b8 = 0 ' contador centena up

b9 = 0

contu = 2

contd = 0

dd = 1

du = 1

cc = 1

Low PORTA.3

If PORTA.4 = 1 Then

Goto trans

Endif

Goto in

trans:

If PORTA.4 = 0 Then

Goto trans

Endif

b1 = b3

b2 = b4

contd = contu

b3 = 0

b4 = 0

contu = 0

Goto vari

vari:

'b3 = b3 + 1

'If b3 > 9 Then

'b4 = b4 + 1

' If b4 > 9 Then

' b3 = 0

' b4 = 0

' contu = contu + 1

' Endif

'b3 = 0

'Endif

If contd > 0 Then

cd = 1

***** = 1

Goto p2

Endif

cd = 0

***** = 0

p2: If b1 = 0 Then

If b2 = 0 Then

If contd = 0 Then

cd = 1

***** = 1

Goto p1

Endif

contd = contd - 1

b1 = 9

b2 = 9

Goto p1

Endif

b2 = b2 - 1

b1 = 9

Goto p1

Endif

b1 = b1 - 1

p1: If contd = 0 And b2 = 0 Then

cd = 1

Endif

Gosub disp

If PORTA.4 = 0 Then

Goto trans

Endif

Goto vari

End

disp:

For b7 = 0 To 1

b6 = b1

Gosub adisp

du = *****

WaitMs 5

du = 1

b6 = b2

dd = cd

Gosub adisp

WaitMs 5

dd = 1

b6 = contd

cc = 0

Gosub adisp

WaitMs 5

cc = 1

Next b7

Return

adisp:

If b6 = 0 Then

PORTB = 0x3f

Endif

If b6 = 1 Then

PORTB = 0x06

Endif

If b6 = 2 Then

PORTB = 0x5b

Endif

If b6 = 3 Then

PORTB = 0x4f

Endif

If b6 = 4 Then

PORTB = 0x66

Endif

If b6 = 5 Then

PORTB = 0x6d

Endif

If b6 = 6 Then

PORTB = 0x7d

Endif

If b6 = 7 Then

PORTB = 0x07

Endif

If b6 = 8 Then

PORTB = 0x7f

Endif

If b6 = 9 Then

PORTB = 0x6f

Endif

Return

Link para o comentário
Compartilhar em outros sites

Ola amigos do forum

Depois de muito pesquisar, ufaaaa achei vocês que falam a minha lingua PSI.

Necessito de ajuda, tento desenvolver um contador regressivo com 02 digitos, este armazena o tempo que o painel fica ligado em segundos.

Ao ser ligado novamente o mesmo mostra o ultimo tempo decrementando em segundos e ao mesmo tempo armazena o tempo ligado, sempre armazenando o tempo atual e apresentando quando ligado o ultimo tempo.

Espero que consegui explicar, segue programa que ainda não consegui resolver.

Symbol dd = PORTA.0

Symbol du = PORTA.1

Symbol cc = PORTA.2

' 76543210

TRISB = %00000000

TRISA = %11100000

Dim b1 As Word

Dim b2 As Word

Dim b3 As Word

Dim b4 As Word

Dim b5 As Bit

Dim b6 As Word

Dim b7 As Word

Dim b8 As Word

Dim b9 As Word

Dim ***** As Bit

Dim cd As Bit

Dim contu As Word ' contador de centena dow

Dim contd As Word

b1 = 0

b2 = 0

b3 = 0

b4 = 0

b8 = 0

contu = 0

in:

b1 = 0 ' contador unidade DOW

b2 = 0 ' contador dezena Dow

b3 = 8 ' contador unidade up

b4 = 9 ' contador dezena up

b8 = 0 ' contador centena up

b9 = 0

contu = 2

contd = 0

dd = 1

du = 1

cc = 1

Low PORTA.3

If PORTA.4 = 1 Then

Goto trans

Endif

Goto in

trans:

If PORTA.4 = 0 Then

Goto trans

Endif

b1 = b3

b2 = b4

contd = contu

b3 = 0

b4 = 0

contu = 0

Goto vari

vari:

'b3 = b3 + 1

'If b3 > 9 Then

'b4 = b4 + 1

' If b4 > 9 Then

' b3 = 0

' b4 = 0

' contu = contu + 1

' Endif

'b3 = 0

'Endif

If contd > 0 Then

cd = 1

***** = 1

Goto p2

Endif

cd = 0

***** = 0

p2: If b1 = 0 Then

If b2 = 0 Then

If contd = 0 Then

cd = 1

***** = 1

Goto p1

Endif

contd = contd - 1

b1 = 9

b2 = 9

Goto p1

Endif

b2 = b2 - 1

b1 = 9

Goto p1

Endif

b1 = b1 - 1

p1: If contd = 0 And b2 = 0 Then

cd = 1

Endif

Gosub disp

If PORTA.4 = 0 Then

Goto trans

Endif

Goto vari

End

disp:

For b7 = 0 To 1

b6 = b1

Gosub adisp

du = *****

WaitMs 5

du = 1

b6 = b2

dd = cd

Gosub adisp

WaitMs 5

dd = 1

b6 = contd

cc = 0

Gosub adisp

WaitMs 5

cc = 1

Next b7

Return

adisp:

If b6 = 0 Then

PORTB = 0x3f

Endif

If b6 = 1 Then

PORTB = 0x06

Endif

If b6 = 2 Then

PORTB = 0x5b

Endif

If b6 = 3 Then

PORTB = 0x4f

Endif

If b6 = 4 Then

PORTB = 0x66

Endif

If b6 = 5 Then

PORTB = 0x6d

Endif

If b6 = 6 Then

PORTB = 0x7d

Endif

If b6 = 7 Then

PORTB = 0x07

Endif

If b6 = 8 Then

PORTB = 0x7f

Endif

If b6 = 9 Then

PORTB = 0x6f

Endif

Return

Esqueci de mensionar PIC 16F628

Link para o comentário
Compartilhar em outros sites

Ola pessoal

Para fazer uma função fade em um led, necessito usar o PWM?

Pic 16F628 saida para o led RB0

Falo isso pois não consegui fazer o programa em PWM.

Tenho um software exemplo da Oshonsoft mais não consegui fazer funcionar no PIC 16F628 erro na linha Adcon1

Define CONF_WORD = 0x3f72

Define CLOCK_FREQUENCY = 12

AllDigital

ADCON1 = 0x0e

Dim duty As Byte

PWMon 1, 9

loop:

Adcin 0, duty

WaitMs 50

PWMduty 1, duty

Goto loop

Desculpe se o erro é banal, mais sou novo com PIC - PSI

:confused:

Link para o comentário
Compartilhar em outros sites

cara ,como vai funcionar se ta configurando todos os pinos como digital(alldigital).

Retire esta instruçao all digital,para testa lo tem q por um potenciometro no pino ad do pic.

Qto ao contador ,você tem q escrever na memoria interna do pic o tempo do seu contador,e le la quando o pic for ligado.

Link para o comentário
Compartilhar em outros sites

Jorge

valeu pela resposta...:D

Quanto ao questionamento do PWM acho que entendi, mais como criar uma rotina para executar o FADE no led quando aperta um botão ou desliga ?

Tentei fazer uma rotina com (loop's for next) mais o problema que consigo ver o led piscando.

No problema do contador, estou com dificuldade na logica , ou seja quando display é ligado tenho que pegar a ultima contagem (ligado) e jogar este numero no display e ir decrementado ate contagem (0 0) ou quando desernegizado.

Enquanto decrementa tenho que incrementar um contador (segundos) contando o tempo de ligado para apresentar no próximo display ligado... meio confuso acho que tenho um exemplo do funcionamento.

O exemplo é parecido com aqueles contadores de tempo que tem nos semáforos em São Caetano / São Bernardo que vão decrementando o tempo de VERDE ou VERMELHO ou até mesmo o tempo do verde de pedestres.

O funcionamento é parecido no meu caso quero monitorar o tempo de uma minuteira em um laboratório clínico.

A dificuldade que encontrei foi justamente manusear estes contadores e converte-los em segundos, pois enquanto decremento um contador eu incremento outro.

Se puder me ajudar vou procurar a simulação que fiz uma vez no PROTEUS

O pic utilizado é o 16F628A

Abraços

:)

Pessoal

:confused:

Achei um programa na Saber Eletrônica LED RGB com PWM para PIC 16F628.

O problema que esta escrito em C

Como posso converter para PSI.

Segue:

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* PROJETO PWM PARA RGB *

* *

* DESENVOLVIDO POR EDUARDO DE SOUZA RAMOS *

* *

* *

* VERSÃO 1.0 14/07/2007 *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* *

* Projeto para controlar o brilho de um LED RGB (4 terminais) utilizando *

* PWM gerado via software. *

* *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#include <16F628a.h> //Microcontrolador utilizado

#fuses hs,nowdt,noprotect,put,brownout,mclr,nolvp,nocpd

#use delay(clock=8000000,RESTART_WDT)

// Constante para o uso dos botões

#define t_filtro 400

#define min 0

#define max 10

// Variáveis globais

long int filtro1 = t_filtro; // Filtro do botão 1 (Incremento Vermelho)

long int filtro2 = t_filtro; // Filtro do botão 2 (Decremento Vermelho)

long int filtro3 = t_filtro; // Filtro do botão 3 (Incremento Verde)

long int filtro4 = t_filtro; // Filtro do botão 4 (Decremento Verde)

long int filtro5 = t_filtro; // Filtro do botão 5 (Incremento Azul)

long int filtro6 = t_filtro; // Filtro do botão 6 (Decremento Azul)

int flags = 0; // Flags de controle dos botões

int contador_red = 0; // Contador do perÃ*odo para o LED vermelho

int contador_green = 0; // Contador do perÃ*odo para o LED verde

int contador_blue = 0; // Contador do perÃ*odo para o LED azul

int pwm_red = 0; // Duty Cicle para o LED Vermelho

int pwm_green = 0; // Duty Cicle para o LED Verde

int pwm_blue = 0; // Duty Cicle para o LED Azul

// Definição dos flags de software

#bit botao_red_up_press = flags.0 // Marca se o botão 1 está pressionado

#bit botao_red_down_press = flags.1 // Marca se o botão 2 está pressionado

#bit botao_green_up_press = flags.2 // Marca se o botão 3 está pressionado

#bit botao_green_down_press = flags.3 // Marca se o botão 4 está pressionado

#bit botao_blue_up_press = flags.4 // Marca se o botão 5 está pressionado

#bit botao_blue_down_press = flags.5 // Marca se o botão 6 está pressionado

//Definição e inicialização dos port's

#use fast_io(a)

#use fast_io(B)

#byte porta = 0x05

#byte portb = 0x06

// Entradas para o microcontrolador

#bit botao1 = porta.2

#bit botao2 = porta.3

#bit botao3 = porta.0

#bit botao4 = porta.1

#bit botao5 = portb.4

#bit botao6 = portb.5

void main()

{

// Inicialização dos pinos de I/O

set_tris_a(0b11101111); //Configuração dos pinos de I/O para o PORTA

set_tris_b(0b11111000); //Configuração dos pinos de I/O para o PORTB

// Inicialização do TIMER0

setup_timer_0(RTCC_INTERNAL);

setup_wdt(WDT_2304MS);

// Inicialização do timer1

// Ele servirá para gerar o "passo" do PWM

setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);

// Inicialização do TIMER2

// Ele deve estourar a cada 10ms para gerar um PWM de 100Hz Para efeito de visualização do LED,

// esta freqüência é suficiente para garantir o efeito de persistência da visão.

setup_timer_2(T2_DIV_BY_16,78,16);

// Inicialização das interrupções

enable_interrupts(INT_TIMER1); //Habilita a interrupção de overflow do timer1

enable_interrupts(INT_TIMER2); //Habilita a interrupção de overflow do timer2

enable_interrupts(GLOBAL); //Habilita as interrupções globais (GIE)

#priority timer1, timer2 // Define a prioridade das interrupções

// Limpeza dos PORTs

porta=0x00; //Limpa porta

portb=0x00; //Limpa portb

while(true) //Loop infinito que garante a funcionalidade do uC

{

RESTART_WDT(); // Limpa o Watch Dog timer

//Comandos para o PWM

// Assim que o valor do contador para um LEDs se equiparar ao estabelecido para o seu perÃ*odo,

// desligue o LED (nÃ*vel lógico 0)

if (contador_red >= pwm_red) output_low(pin_B0);

if (contador_green >= pwm_green) output_low(pin_B1);

if (contador_blue >= pwm_blue) output_low(pin_B2);

// Comandos para o botão 1 (RED_UP)

if (!botao1)

{

if (!botao_red_up_press)

{

if (filtro1 != 0) filtro1--;

else

{

botao_red_up_press = 1;

if (pwm_red != max) pwm_red++;

}

}

}

else

{

filtro1 = t_filtro;

botao_red_up_press = 0;

}

// Comandos para o botão 2 (RED_DOWN)

if (!botao2)

{

if (!botao_red_down_press)

{

if (filtro2 != 0) filtro2--;

else

{

botao_red_down_press = 1;

if (pwm_red != min) pwm_red--;

}

}

}

else

{

filtro2 = t_filtro;

botao_red_down_press = 0;

}

// Comandos para o botão 3 (GREEN_UP)

if (!botao3)

{

if (!botao_green_up_press)

{

if (filtro3 != 0) filtro3--;

else

{

botao_green_up_press = 1;

if (pwm_green != max) pwm_green++;

}

}

}

else

{

filtro3 = t_filtro;

botao_green_up_press = 0;

}

// Comandos para o botão 4 (GREEN_DOWN)

if (!botao4)

{

if (!botao_green_down_press)

{

if (filtro4 != 0) filtro4--;

else

{

botao_green_down_press = 1;

if (pwm_green != min) pwm_green--;

}

}

}

else

{

filtro4 = t_filtro;

botao_green_down_press = 0;

}

// Comandos para o botão 5 (BLUE_UP)

if (!botao5)

{

if (!botao_blue_up_press)

{

if (filtro5 != 0) filtro5--;

else

{

botao_blue_up_press = 1;

if (pwm_blue != max) pwm_blue++;

}

}

}

else

{

filtro5 = t_filtro;

botao_blue_up_press = 0;

}

// Comandos para o botão 6 (BLUE_DOWN)

if (!botao6)

{

if (!botao_blue_down_press)

{

if (filtro6 != 0) filtro6--;

else

{

botao_blue_down_press = 1;

if (pwm_blue != min) pwm_blue--;

}

}

}

else

{

filtro6 = t_filtro;

botao_blue_down_press = 0;

}

} // Fim do while(true)

} // Fim do programa

// Aqui entra a configuração da função de interrupção do TIMER1 (quando ele "estoura").

#int_TIMER1

void TIMER1_isr()

{

contador_red++;

contador_green++;

contador_blue++;

set_timer1(63535); // O TIMER1 vai estourar a cada 1,0ms

}

//Aqui entra a configuração da função de interrupção do TIMER2 (quando ele "estoura").

#int_TIMER2

void TIMER2_isr()

{

if(pwm_red != 0) output_high(pin_B0); // LED RED

if(pwm_green != 0) output_high(pin_B1); // LED GREEN

if(pwm_blue != 0) output_high(pin_B2); // LED BLUE

contador_red = 0;

contador_green = 0;

contador_blue = 0;

set_timer1(63535); // O TIMER1 vai estourar a cada 1,0ms

Pessoal

Achei um artigo na Saber Eletronica

LED RGB com PWM para PIC 16F628

Mais o programa esta escrito em C :confused:

Como faço para converter para PSI

segue link:

http://www.sabereletronica.com.br/files/file/led_rgb.txt

Link para o comentário
Compartilhar em outros sites

Olá meus amigos,

Estou postando aqui uma dúvida em relação ao funcionamento do ShiftLeft.

Exemplo: Simplificado

Palavra = 00000001

For col = 1 to 8

If palavra.7 = 0 then ----- bits de 1 a 7 = 0 então

Dado = 1

Else

Dado = 0

Endif

Palavra = ShiftLeft (palavra, 1) --------- coloca um Zero na extrema direita ( 8º bit)

Next col

Fica assim na saída do 74HC595

Entrada 00000001 ---------- saída 00000010

Eu quero isto na saida:

1-00000010

2-00000100

3-00001000

4-00010000

5-00100000

6-01000000

7-10000000

8-00000000

Pergunta:

Como fazer o deslocamento ir de 1 à 8 zeros de maneira que à cada frame ocorra um deslocamento contínuo.

Tentei fazer Palavra = ShiftLeft(palavra, n), onde n iria variar de 1 até 8 mas não funciona, a qualquer valor de n o deslocamento é sempre de um não havendo evolução da imagem ao longo dos frames.

Agradeço qualquer ajuda.

Um abraço.

Link para o comentário
Compartilhar em outros sites

Amigo Tche é ai que está o shift significa deslocar ou seja mover em uma unidade, o principio do shift register é justamente esse, deslocar de uma em uma unidade, por isso que a função não dara certo com mais numeros, apenas um deslocamento por ciclo de instrução, ok.

Abs.

Link para o comentário
Compartilhar em outros sites

Pois é meus amigos eu vi algo parecido com que eu quero implementar onde shiftleft variava de 1 até n casas de avanço e seria em asm, será que não teria nada equivalente em basic. Outra forma seria reinscrever sempre o ultimo byte pois este teria um segundo avanço e assim por diante mas o problema e como obter o valor no caso:

palavra = 00000001

seria escrito no pino de dados 00000010

como capturar para escrever por exemplo

palavra1 = 00000010

ai na reescrita eu teria 00000100

e assim por diante.

Link para o comentário
Compartilhar em outros sites

Pois é parceiro a muito que venho observando que o basic não vai muito longe vira e mexe você cai no asm uma porque é fácil de encontrar informações e outra pouco se fala no basic, é uma linguagem fácil mas me parece restrita e se não é, falta divulgação. como iniciação com certeza é muito boa. O Pic Basic Simulator cria um arquivo asm quem sabe a partir dele eu consiga tirar algumas lições e até implementar isso ai.

Valeu amigo.

Link para o comentário
Compartilhar em outros sites

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

Pois é gurizada o Mestre Paulo vai ficar com os cabelos em pé ao ver esses tópicos falando mal do Basic mas não é querer falar mal mas a coisa já iniciou mal pois os caras deram um nome infame para a linguagem "Basic" se fosse The Easy, qualquer nome que não rotulasse como algo que é basico.

Agora já era falou tá falado.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

Desculpe Professor foi mal. KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

Perdoai esses ignorantes eles não sabem o que falam.

Link para o comentário
Compartilhar em outros sites

A questão é que a linguagem basic é muito poderosa, porém como toda linguagem ela possui seus pontos fracos , equanto o assembly é chato pela dificuldade de conhecimento interno muito grande do MCU, o Basic na hora que precisamos de desempenho e código eficiente ja começa a complicar.

Mas a vantagem de rodar assembly embarcado no Basic faz isso se tornar indiferente, por isso sugiro que leiam um pouco do set de instruções em asm do PIC, pensem comigo, o que é aprender apenas 35 instruções sendo que o pessoal do basic ja usa muita mais comandos que isso hein?

Mas voltando ao foco do assunto, fiquei curioso no fim qual o efeito que o amigo tche quer fazer, se puder detalhar a aplicação eu agradeceria.

Abs.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!