manual PICAXE

87
PICAXE Tradução livre e parcial por João Carlos Lazaro Adaptação para o PIC 20M (16F677) www.picaxe.co.uk BRASIL -2010- V. 1.1

description

MANUAL PICAXE BY JOÃO CARLOS

Transcript of manual PICAXE

Page 1: manual PICAXE

PICAXE

Tradução livre e parcial por João Carlos Lazaro

Adaptação para o PIC 20M (16F677)

www.picaxe.co.uk

BRASIL -2010- V. 1.1

Page 2: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

1

INDICE

O que é um microcontrolador? 1

Microcontroladores, input e outputs 2

O que é um sistema PICAXE? 3

Construindo o próprio circuito / PCI 4

Utilizando o sistema PICAXE 5

Instalação do Software 5

Fonte de alimentação para o PICAXE 6

Considerações tecnicas do Project Board PICAXE 20M 8

PICAXE-20X2 Pinout e Circuito 8

ULN 2803 - Oito drives de Corrente - Relação de pinagem 9 Diagrama eletrônico do project Board do 20M 10

Conhecendo a PCI - project Board PICAXE 11

Circuito série para transferência de dados (download) (Cabos) 12

Clock frequência – Ressonador 14 Consideraçõs especiais sobre a familia X2 15 Mensagem de erro 17

Procedimento Hard-reset 17

Compreendendo a memória do PICAXE 18

Variáveis de Usos Gerais (GPR – General Purpose Registers) 19

Resumo dos Circuitos para Interface 20

BASIC Commands Summary 22 TUTORIAL 1 – relacionando entradas (INPUTS) e saídas (OUTPUTS) 23

TUTORIAL 2 - Usando Símbolos, Comentários e Espaços 26 LABEL - sintaxe 26 Comentários -sintaxe 26 Espaços em branco Whitespace - sintaxe 27 GOTO - Sintaxe 28

Tutorial 3 - Temporizações 29 PAUSE - Sintaxe 29 NAP - Sintaxe 30 SLEEP - Sintaxe 31 SYMBOL - Sintaxe 31 TUTORIAL 4 - Uso das Constantes e variáveis 34 CONSTANTES - Sintaxe 34 VARIAVEIS - Sintaxe 34 Quadro de resumo sobre variáveis 36 TUTORIAL 5 - Trabalhando com as saídas (OUTPUT) 38 LOW – Sintaxe 38 HIGH – Sintaxe 38 LET PINS=” – Sintaxe 39 TOGGLE 40 TUTORIAL 6 – Compreendendo e usando o sistema PICAXE 41 Experimento 1: Acionamento de um LED 42 Experimento 2: Sinalizador para saída de veículos 44 Experiência 3: Seqüencial de 6 canais 45

Page 3: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

2

TUTORIAL 7 – Ciclos For…Next 48

FOR…NEXT 48

TUTORIAL 8 – Usando Entradas Digitais 50

IF ...THEN 50

PULSIN 52

BUTTON 52

Aplicação em interruptores (microswitch) 54

Aplicação em teclados - Keypads 55

TUTORIAL 9 – Usando Sensores Analógicos 56

READADC 56

LDR – uso do resistor LDR 57

TUTORIAL 10 - Utilização da instrução Debug 58

DEBUG 58

Page 4: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

3

CAPITULO – 1

O que é um microcontrolador?

Trata-se de um circuito integrado de baixo custo

que contém memória, unidade de

processamento e circuitos de entradas/saídas

num mesmo circuito integrado.

Os microcontroladores são adquiridos “limpos” e

programados pelo utilizador com software

específico para uma dada tarefa.

Uma vez programado, o microcontrolador é

inserido num produto para o tornar mais inteligente e fácil de usar.

Tome-se, como exemplo, o forno de micro-ondas, onde um microcontrolador trata a

informação proveniente do teclado, mostra as informações no display e controla os

dispositivos de saída (motor do prato-rotativo, luz, sonorizador, atuadores

eletromagneticos). Um microcontrolador pode freqüentemente substituir uma quantidade de

componentes separados, ou mesmo um circuito eletrônico completo.

Algumas das vantagens de utilizar microcontroladores no design de um produto são:

Elevada facilidade.

Níveis de armazenamento reduzidos, pois um microcontrolador substitui vários

componentes.

Montagem simplificada do produto e redução do tempo de produção.

Maior flexibilidade de produtos e adaptabilidade pois as características do produto

são programadas no microcontrolador e não embutidas no hardware eletrônico.

Modificações rápidas no produto e seu desenvolvimento por alteração do programa e

não do hardware eletrônico.

Algumas aplicações dos microcontroladores são na aparelhagem doméstica, nos sistemas de

alarme, nos equipamentos médicos, nos subsistemas dos veículos automóveis,

instrumentação eletrônica, telecomunicações, etc.

Alguns dos modernos automóveis utilizam mais de trinta microcontroladores – em

subsistemas como sistema de injeção, ar condicionado, alarme, sinalização, air-bags, ABS,

etc.

Na indústria os microcontroladores são usualmente programados em linguagens assembly ou

C.

Contudo, face à complexidade destas linguagens, não é realista o seu uso com jovens

estudantes no ensino, ou por curiosos sem treino formal.

O sistema PICAXE ultrapassa este problema pelo uso de uma linguagem com uma curva de

aprendizagem mais rápida, a linguagem BASIC. Os programas podem ainda ser especificados

graficamente utilizando um editor de fluxogramas.

Page 5: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

4

Microcontroladores, input e outputs

Na imagem seguinte é mostrado um brinquedo popular de alguns anos, o Furby. Trata-se de

um excelente exemplo de um sistema mecatrônico, pois utiliza um circuito de controle

eletrônico para controlar um elevado número de mecanismos. Contém ainda um elevado

número de sensores pelo que pode reagir a mudanças quando é movido (por exemplo,

quando é colocado num local escuro ou virado de cabeça-para-baixo).

Os transdutores de Input (entrada) são dispositivos eletrônicos que detectam alterações no

“mundo real” e enviam sinais para o bloco de processamento do sistema eletrônico.

Alguns dos transdutores de entrada deste brinquedo são:

Interruptores de pressão à frente e a trás para detectar se o brinquedo é “acariciado”

e um interruptor na boca para detectar quando é “alimentado”.

Uma resistência dependente da luz (LDR) entre os olhos para detectar se é dia ou

noite,

Um microfone para detectar sons.

Um interruptor de inclinação para detectar quando o brinquedo é deitado ou virado.

Um detector de infra-vermelhos para detectar sinais enviados por outros brinquedos.

Os transdutores de Output (saída) são dispositivos eletrônicos que podem ser acionados

(ligados) pelo bloco de processamento do sistema eletrônico. Alguns dos transdutores de

saída neste brinquedo são:

Um motor para fazer mover os olhos e a boca.

Um altofalante para produzir sons.

Um LED de infra-vermelhos para enviar sinais para outros brinquedos.

O microcontrolador utiliza a informação dos transdutores de entrada para tomar decisões

sobre como controlar os dispositivos de saída. Estas decisões são tomadas pelo programa de

controle, que é transferido (download) para o microcontrolador. Para modificar o

Page 6: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

5

“comportamento” do brinquedo basta proceder a alterações no programa e voltar a enviá-lo

para o microcontrolador.

O que é um sistema PICAXE?

O sistema PICAXE explora as características singulares da nova geração de

microcontroladores de baixo custo com memória FLASH. Estes microcontroladores podem ser

programados uma vez e outra (tipicamente 100.000 vezes) sem a necessidade de

programadores caros.

O PICAXE utiliza uma linguagem BASIC simples (ou fluxogramas gráficos) que podem ser

usados por jovens estudantes para se iniciarem na criação de programas uma hora depois de

começarem. É muito mais fácil aprender e detectar erros do que com linguagens de

programação como o C ou o assembly.

Ao contrário de outros sistemas baseados em “módulos” BASIC, toda a programação do

PICAXE é realizada ao nível do “chip”. Assim, ao contrário de comprar um módulo caro pré-

assemblado (de difícil reparação), com um sistema PICAXE pode simplesmente adquirir um

chip standard e usá-lo diretamente na placa do seu projeto.

A potência do sistema PICAXE reside na sua simplicidade. Não é necessário programador,

apagador ou sistemas eletrônicos complicados – o microcontrolador é programado através de

um cabo série com três condutores ligado a um PC. Um sistema funcional PICAXE é

constituído por 3 componentes e pode ser construído num breadboard, stripborad ou placa

de circuito impresso.

O software PICAXE „Programming Editor‟ é gratuito pelo que o único custo reside no cabo de

download. Num ambiente educativo isto facilita a possibilidade de os estudantes comprarem

o seu próprio material e às escolas equiparem cada computador com um cabo. Outros

sistemas que exigem programadores ou “módulos” caros são normalmente excessivamente

caros de implementar.

Page 7: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

6

Finalmente, como o chip PICAXE nunca é retirado da placa de projeto, não existem danos

nos pinos (que ocorrem facilmente cada vez que se retira um microcontrolador da placa para

o programador).

Construindo o próprio circuito / PCI

O sistema PICAXE foi desenhado para permitir que estudantes/curiosos construam os seus

próprios circuitos. Contudo, se não quiser construir o seu próprio circuito, existe uma enorme

variedade de placas em PCI disponíveis - ver catálogo on-line para mais detalhes.

Se quiser fazer o seu próprio circuito, siga as indicações disponíveis no sítio na Internet

www.picaxe.co.uk.

O que é um microcontrolador PICAXE?

Um microcontrolador PICAXE é um microcontrolador standard da Microchip PICmicro™ que

foi previamente pré-programado com código bootstrap.

O código bootstrap possibilita que o microcontrolador possa ser programado através de uma

ligação série ao PC. Isto elimina a necessidade de um programador convencional (e caro),

tornando todo o sistema muito barato.

O código bootstrap pré-programado contem ainda rotinas comuns (como a que gera atrasos

ou saídas para som), pelo que cada transferência de programa não necessita de perder

tempo a carregar esse código. Isso torna a transferência de programas para o

microcontrolador muito rápida.

Como os microcontroladores não-programados comprados para fazer microcontroladores

PICAXE são adquiridos em grandes quantidades, é possível aos fabricantes vender os PICAXE

a preços próximos do microcontrolador não-programado. O código bootstrap PICAXE não é

disponibilizado para programação de microcontroladores virgens.

Page 8: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

7

Utilizando o sistema PICAXE

Para usar o sistema PICAXE é necessário possuir:

• Um microcontrolador PICAXE;

• Uma placa de circuito impresso PICAXE ou uma breadborad/stripboard;

• Uma fonte de alimentação (i.e.. 4 baterias recarregáveis AA (4.8V) ou 3 pilhas

alcalinas AA (4.5V);

• Um cabo série para download;

• O software gratuito „Programming Editor‟.

Todos estes itens estão contidos nos packs para iniciação da PICAXE.

Para correr o software é necessário possuir um computador com sistema operativo Windows

95 ou posterior. Qualquer sistema que possua o S.O. Windows funcionará no modo BASIC,

embora para programação no modo gráfico (fluxogramas) seja aconselhado um Pentium 4

ou superior.

O computador deve possuir uma saída de comunicação série de 9 pinos para ligar o cabo de

transferência de dados.

No caso dos novos portáteis que não possuem porto série, é necessário adquirir um cabo de

conversão USB/série. Veja também a seção referente à definição do porto série para mais

informações.

Para comparação entre as características dos diferentes chips PICAXE e para

informação sobre as várias placas C.I. disponíveis para iniciação, veja o original da

Revolution em picaxe_manual1.pdf.

Instalação do Software

Características do computador

Para instalar o software é necessário um computador com sistema operativo Windows 95 ou

superior com aproximadamente 20MB de espaço livre em disco. Qualquer computador que

corra o sistema operativo Windows funcionará no modo „BASIC‟. Contudo para programação

no modo fluxograma, é necessário no mínimo um Pentium 4.

Instalação

1) Ligue o computador e autentique-se (alguns sistemas operativos exigem autorização

do administrador para instalação do software – contate o administrador do sistema).

2) Insira o CD, ou faça download do sítio Internet da PICAXE em www.picaxe.co.uk e

execute o ficheiro de instalação do software.

3) Siga as instruções na tela para instalar o software. Nos computadores mais antigos

pode ser necessário reiniciar o computador para completar a instalação.

Page 9: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

8

4) Insira o cabo série no conector série de 9 pinos do computador. Se o computador for

portátil e recente poderá não possuir esse conector. Nesse caso terá que instalar

previamente o cabo de conversão USB/série com o software que o acompanha (veja

a seção Instalação do conversor USB/série). Anote qual o número do porto série

utilizado „COM‟ (geralmente COM1 ou COM2).

5) Clique em Start>Programs>Revolution Education>Programming Editor para

executar o software. Se a tela de Options não aparecer automaticamente, clique no

menu View>Options. No separador „Mode‟ selecione o tipo e versão de

microcontrolador (neste caso PICAXE 28X a 4MHz). No separador „Port‟ selecione o

porto série COM apropriado e selecione OK.

Está pronto para usar o PICAXE.

Instalação do conversor USB/série

A maior parte dos computadores desktop possuem um conector série de 9 pinos para ligação

do cabo de transferência de ficheiros (download) do PICAXE. Contudo, a maior parte dos

atuais computadores portáteis não possuem esse conector, mas sim conectores USB. O

sistema de interface USB é um sistema inteligente em que o dispositivo que é ligado se

configura quando ligado ao porto USB. Embora seja teoricamente possível fabricar uma

versão USB do PICAXE, a memória extra necessária iria encarecer o custo do integrado em

cerca de £3 ($5).

Assim, utiliza-se um sistema alternativo. O utilizador deverá adquirir um cabo conversor

USB/série. Este cabo custa aproximadamente £15 ($20) e pode ser usado para quaisquer

outros dispositivos.

Fonte de alimentação para o PICAXE

Todos os chips PICAXE podem funcionar com tensões de alimentação entre 3 e 5.5V CC.

Contudo, alguns computadores podem exigir uma alimentação do PICAXE entre 4.5V e 5.5V

para que as comunicações se façam corretamente na transferência de arquivos (download).

Recomenda-se assim que a fonte de alimentação seja uma das seguintes:

• 3xAA pilhas alcalinas AA (4.5V)

• 4xbaterias recarregáveis AA (NiCad ou NiMh) (4.8V)

• fonte de alimentação regulada de 5V a partir de 9V CC.

Não deve utilizar baterias ou pilhas de 9V PP3, pois estão muito acima do máximo admitido e

podem provocar danos permanentes no PICAXE. As baterias PP3 9V são projetadas para

aplicações de baixo consumo de corrente e longa duração (por ex. alarmes ou multímetros).

Embora uma bateria PP3 9V regulada para 5V possa funcionar por curtos períodos na

alimentação do microcontrolador, assim que forem ligados dispositivos às saídas (por ex.

leds, motores, buzzer, etc.) irá rapidamente descarregar. Deverá portanto utilizar packs de

baterias e não pilhas 9V PP3 em projetos de microcontroladores.

Tenha cuidado na inserção dos integrados PICAXE nos circuitos assegurando-se de que estão

na posição correta, pois a inversão dos pinos pode provocar danos permanentes.

Page 10: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

9

Packs de bateria AA

As pilhas Alcalinas AA possuem uma tensão nominal de 1.5V, pelo que bastam 3 unidades

para obter os 4.5V mínimos da alimentação. Se utilizar 4 unidades (4 x 1,5V=6V) já terá que

inserir um díodo 1N4001 em série para reduzir a tensão. O díodo além de proteger de

inversão de polaridade provoca uma queda de tensão de 0,7V, logo obterá uns aceitáveis

5.3V (6V-0.7V).

As baterias recarregáveis AA (NiCad e NiMh) possuem uma tensão nominal de 1.2V, pelo que

4 unidades produzem 4.8V.

Tenha cuidado em não curto-circuitar os terminais dos packs de baterias, pois a enorme

corrente de curto-circuito pode danificá-los produzindo aquecimento ou mesmo o início de

um incêndio.

Fontes de alimentação reguladas

Alguns utilizadores podem desejar utilizar fontes de alimentação fixas. É essencial que se

utilize uma fonte de qualidade de 9V CC com um regulador de tensão de 5V. As fontes não-

reguladas (com cargas reduzidas) produzem tensões excessivas e podem danificar o

microcontrolador.

A fonte de alimentação 9V CC deve ser regulada para 5V utilizando um regulador de tensão

como o 7805

(1A corrente) ou 78L05 (100mA corrente). O circuito completo do regulador é o apresentado

na figura junta.

O díodo1N4001 garante proteção contra a inversão de polaridade e os condensadores

ajudam a estabilizar a tensão de 5V. Note que estes reguladores de tensão não funcionam

adequadamente senão quando a tensão de entrada é 8V ou superior.

Nota do tradutor: Caso queira pode usar o LM2940 CT-05 que apenas precisa de 6V para

fornecer uma tensão regulada de 5V. Isto é, possibilita o uso de packs 6x1,2V=7,2V sem

problemas.

Page 11: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

10

Considerações tecnicas do Project Board PICAXE 20M

PICAXE-20M Pinout e Circuito

Diagrama de pinos do PICAXE20M

(PIC16F677)

Circuito eletrônico mínimo para

utilizar o PICAXE20M :

Notas:

1) As resistências 10k/22k são essenciais.

Não deixe o pino (19) serial flutuar, o

programa não sera executado!

2) não é necessário um ressonador

cerâmico externo.

3) Veja mais detalhes para o circuito

USB/serial download na seção de cabos

para download de programas.

4) Este manual descreve o uso standart do

chip, (3-5V). Para os Chips X2 existem

alimentação especial para os low power (1,8

– 3V). Use somente fontes de alimentação

de 5V para o 20M e 3,3 para o X2, pois o uso de outras tensões pode danificar

permanentemente o PICAXE.

PICAXE-20X2 Pinout e

Circuito

Diagrama de pinos do

PICAXE20X2 (18F14K22)

Veja o anexo para mais detalhes

sobre o 20 X2.

Nota: O circuito eletrônico mínimo para o PICAXE 20X2 é o mesmo do 20M.

Page 12: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

11

ULN 2803 - Oito drives de Corrente - Relação de pinagem

ULN2803 - é composto de oito drives tipo

transistores NPN Darlington interligados. São ideais

para fazer interfaces entre o nível lógico baixo de

circuitos digitais (como TTL, CMOS ou PMOS /

NMOS) e maiores corrente. É possivel a ligações de

dispositivos como lâmpadas, relés, valvulas

solenoides, motores, ou outras cargas similares para

ampla gama de aplicações em computadores, area

industrial e de aplicações de consumo. Todos os

dispositivos

tem característica de coletor aberto e diodos de

proteção para supressão de transientes. O ULN2803

é projetado para ser compatível com as famílias

padrão TTL, enquanto o ULN2804 é otimizado para 6

a 15 volts CMOS para nivel alto.

Pinos de 1 à 8 são ENTRADAS, 9 é GND, de 18 à 11

são saidas e pino 10 é ligado ao controle (ligado ao

Vcc 5 V).

Page 13: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

12

Diagrama eletrônico do project Board do 20M

Page 14: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

13

Conhecendo a PCI - project Board PICAXE

O project Board PICAXE-20M fornece um sistema de desenvolvimento rápido para

montagens utilizando o microcontrolador PICAXE-20M. Ele fornece o circuito de download,

pontos de conexão para entradas / saídas, e um driver darlington buffered opcional para o

circuito de saída, ou seja, cada saída é assistida pelo driver darlington ULN2803A). O

PICAXE requer uma fonte de 4.5V ou 5V. Nunca utilize tensões superiores a esta.

Descrição da placa:

A- A7 à A0 - Entradas de sinais digital e analógicos, de cima para baixo respectivamente,

IN 7 até IN 0.

B- B0 à B7 – Saídas para acionamento de dispositivos, estas saídas estão assistidas pelo

driver ULN 2803. Note que essas saídas assistidas pelo driver darlington, são

de coletor aberto e devem ser conectadas entre V + e a saída, não 0V e a

Page 15: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

14

saída).

C- Pontos de alimentação positiva (V+).

D- Pontos de alimentação NEGATIVA ( GND).

E- Ponto de ligação do Buzzer piezo (PZ). Este ponto esta ligado com a saída OUT 1

(pino 17). O outro pino do Buzzer deve ser ligado ao ponto de GND (D) ao lado.

F- Drive ULN 2803

G- JUMP LK1 - O Drive de saída ULN2803A pode usar sua própria fonte de alimentação

separada (ligada à direita) ou o a mesma alimentação fornecida ao do chip PICAXE.

Para usar a mesma alimentação um jump deve ser soldado na posição LK1.

H- PIC 16F677 (PICAXE 20M)

I- Jack de download. Conector para P2.

J- Saídas auxiliares para acionamento de dispositivos, estas saídas não são assistidas

pelo drive, isto é, não passam pelo drive ULN 2803. Alguns dispositivos de saída (por

exemplo, LCD Serial) exigem uma conexão direta com a saída do PICAXE e não

através do drive darlington buffer de saída). Cada entrada / saída do chip PICAXE

tem um ponto de conexão direta junto ao pino do o chip.

K- Entradas auxiliares de sinais digital e analógicos, de cima para baixo respectivamente,

IN 7 ate IN 0.

L- Resistor RPD ou RPU. A entrada 0 (INPUT 0) pode ser opcionalmente preparada para

receber níveis baixos (use resistor de 10k na posição RPU), isto é, o resistor que

define o nível da entrada poderá ser um “PULL-UP” RPU, mas somente essa entrada

pode ser modificada, as outras por default são “PULL-DOWN” RPD, isto significa que

as entradas estão definidas em nível baixo, aguardando a mudança de nível para

nova interpretação..

Circuito série para transferência de dados (download) (Cabos)

O circuito série para transferência de dados (download) é idêntico para todos os chips

PICAXE. É constituído por 3 condutores que vão do PICAXE para o porto série do

computador. Um dos condutores transmite dados do computador para o microcontrolador,

outro transmite dados da saída de dados do microcontrolador para o computador e o terceiro

é a massa comum (referência).

O circuito mínimo é apresentado na próxima figura. Este circuito é adequado para a maior

parte das aplicações educativas.

Note que as duas resistências constituem um divisor de tensão. A resistência de 22k,

juntamente com os diodos internos do microcontrolador, adaptam a tensão de saída série à

alimentação do PICAXE, limitando a corrente a valores aceitáveis. A resistência de 10k

bloqueia a flutuação da entrada série enquanto o cabo série não é ligado.

As duas resistências devem ser incluídas em qualquer projeto com circuitos PICAXE (não

estão incluídas no cabo série).

A entrada série não deve ficar desligada. Caso fique desligada a entrada série irá flutuar

entre alto e baixo, provocando mau funcionamento – o PICAXE vai interpretar essa flutuação

como transferência de dados.

Page 16: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

15

Circuito série melhorado para transferência de dados

O díodo Shottky BAT85 funciona com tensão mais reduzida do que os díodos internos do

microcontrolador, estabelecendo uma tensão de referência mais precisa. A resistência

adicional de180R garante uma proteção adicional contra curto-circuitos no pino de saída

série.

Page 17: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

16

Cabos para transferência de dados (download)

O cabo série de transferência de dados é constituído por um cabo de 4 condutores (TVHV ou

equivalente), possui uma ficha standard 3 pinos Molex 0.1" (2.54 mm) num dos terminais e

uma ficha série D 9 pinos macho na outra extremidade. São apenas ligados os pinos 2, 3 e 5

da ficha D. Veja na figura anterior.

Esquema de ligações

Ficha Molex Ficha D série

Pino do PICAXE

Saída série (7) pino 2

Entrada série (6) pino 3

Massa (8) pino 5

No caso de o computador não possuir porto série deve usar um adaptador USB/série.

Para computadores mais antigos com ficha série de 25 pinos, vai precisar de um adaptador

25-9 pinos.

Circuito de Reset

Todos os PICAXE de 18, 28 e 40 pinos possuem um pino de „reset‟. Este pino deve estar no

estado alto para que o microcontrolador funcione. Se o pino ficar desligado o

microcontrolador não funciona. Para ligá-lo basta inserir uma resistência de 4k7 entre o pino

e a alimentação de +5V. Opcionalmente pode incluir um microswitch entre o pino e a massa

(0V) – isso permite-lhe reinicializar o microcontrolador.

Todos os PICAXE DE 8, 14 E 20 não possuem pino de reset. Todavia o reset pode ser

conseguido desconectando a alimentação do chip. Observe que em todas as fontes são

utilizados capacitores para os filtros, assim existe um tempo de descarga (alguns segundos )

que deve ser observado para conseguirmos o efeito de reset.

Clock frequência – Ressonador

Todos os PICAXE de 28 e 40 pinos necessitam de um ressonador (ou cristal de quartzo)

externo.

Recomenda-se o uso de um ressonador cerâmico 4MHz 3 pinos (referência RES035).

Este dispositivo é constituído por um ressonador e dois condensadores num único invólucro

de 3 pinos (N.T - caso opte por um cristal de quartzo, mais caro mas mais preciso, terá que

incluir os dois condensadores de 22pF entre os pinos terminais e a massa). O pino central é

ligado à massa (0V) e os outros dois pinos, indiferentemente, aos pinos respectivos do

PICAXE (9 e 10 no PICAXE28X).

Caso necessário pode fazer overclock no PICAXE usando ressonadores de 8MHz ou

16MHz.Veja a seção „Over-clocking‟ para mais detalhes.

Page 18: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

17

Veja a tabela comparativa abaixo:

Todos Chips 08, 14, 20 e 18 pinos PICAXE não requerem cristal ressonador externo. Alguns

projetos que requeiram mais precisão podem requerer o cristal ressonador externo.

Todos os chips por default tem freqüência de operação em 4 MHZ. Os chips com códigos

terminados em X2 tem por default operação interna em 8MHZ.

Se desejar o PICAXE pode ser "over-clocked 'pelo uso de um 8MHz ou 16MHz. Consulte a

seção 'Over-clocking' para mais detalhes.

O 28x2 e 40X2 contem um circuito interno 4xPLL. Isto significa que a freqüência de operação

interna é 4x a frequência do cristal ressonador externo. A máxima Frequencia desses

dispositivos é, portanto, 64MHz (utilizando um ressonador de 16MHz). Se desejar um

ressonador de 2 pinos ou 2 pinos à cristal, pode ser usado com codigos X, X1 ou X2. Neste

caso dois capacitores de carga com valores adequados também devem ser usados com o

ressonador / cristal. Veja folha de dados do fabricante do ressonador cristal para mais

informações.

Consideraçõs especiais sobre a familia X2

Nessa familia de PICAXE as taxas de clock são maiores. Isso melhora consideravelmente a

velocidade de processamento do PICAXE. O padrão de freqüência de operação é 8MHz,

usando o ressonador interno. Assim os comandos de pausa agora estão calibrados em

8MHz, não 4MHz. Isto também significa que o padrão sertxd e serrxd taxa de

transmissão é agora 9600, n, 8,1.

Page 19: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

18

O chip 20X2 tem opções de clock interno de freqüência de até 64MHz - 16x mais rápido do

que 4MHz!. O 28X2/40X2 tem opções de freqüência de clock externo de até 40MHz (8MHz

interno). O 28X2-3V/40X2-3V tem opções de freqüência de clock externo de até 64MHz

(16MHz interno).

As freqüências de clock externo fazem uso de um ressonador interno 4x Phased Lock Loop

(PLL). Isto significa que o valor do ressonador externo é 25% da velocidade de operação

final, por exemplo, um ressonador 8MHz externo da uma velocidade de operação de 32MHz

(4 x 8MHZ = 32MHZ). Portanto, se um projeto usa um ressonador 8MHz, a velocidade de

funcionamento no PICAXE X2 será instantaneamente de 32MHz sem qualquer modificação de

hardware. Veja o anexo especial sobre o 20X2.

Testando o sistema

Este primeiro e simples programa pode ser utilizado para testar o sistema. Requer a ligação

de um LED (e uma resistência de 330R em série) ao pino 4 (assegure-se da polaridade

correta do LED).

1. Ligue o cabo do PICAXE ao porto série do computador. Registre qual o número do porto a

que está ligado (normalmente designado por COM1 ou COM2).

2. Execute o software Programming.

3. Selecione View>Options para visualizar a janela Options (em princípio aparece

automaticamente).

4.Click no separador „Mode‟ e selecione o tipo de PICAXE correto.

5.Click no separador „Serial Port‟ e selecione o porto série onde o cabo do PICAXE está

ligado.

6.Click em „OK‟

7. Escreva o programa seguinte:

main:

high 4

pause 1000

low 4

pause 1000

goto main

(NOTA: repare no sinal (:) a seguir à label „main‟ e nos espaços entre as instruções e os

números operados).

8. Verifique se o circuito do PICAXE está ligado ao cabo série, e de que as baterias estão

ligadas. Verifique se o LED e a resistência 330R estão ligadas à saída 4.

9. Selecione PICAXE>Run

Page 20: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

19

Deverá aparecer na tela uma barra de download enquanto o programa é transferido. Quando

a transferência terminar o programa deverá começar a executar-se no PICAXE

imediatamente – o LED da saída 4 deverá piscar on e off segundo a segundo.

Se a transferência de dados não tiver sido concluída verifique a lista de causas possíveis e

efetue um hard-reset como indicado na seção seguinte

MENSAGEM DE ERRO

Caso surja uma mensagem de erro, após o clique no ícone compile, dê ok na tela de

mensagem e revise todo o texto. O compilador está lhe dizendo que existe um erro no

código fonte, um “Bug”. Por isso “Debugar” um programa é fundamental antes da

compilação final.

Agora pressione novamente o ícone compile, ele irá compilar o programa. Agora faça o

download para o μC. Verifique o cabo de gravação.

Aguarde, o compilador está estabelecendo comunicação com o μC.

Procedimento Hard-reset

O processo de transferência de dados (download) chama o PICAXE permanentemente

testando a linha de entrada série em busca de um novo sinal vindo do computador. Isto

processa-se automaticamente e não é notado pelo utilizador. Contudo, em raras ocasiões

pode o PICAXE não ler com rapidez suficiente a linha série enquanto executa um programa.

Estas situações verificam-se quando:

Existe um programa corrompido no PICAXE (remoção da alimentação ou do cabo

durante a transferência);

Instruções pause ou wait mais longas que 5 segundos usadas no programa;

Utilização das instruções serin, infrain ou keyin no programa.

Mesmo assim, é muito simples resolver este problema, pois a primeira coisa que qualquer

PICAXE executa quando há um reset é verificar se se trata de uma nova transferência de

dados (download). Portanto, se fizer reset ao PICAXE enquanto uma transferência se inicia, a

nova transferência é sempre reconhecida. Este processo designa-se por hard-reset.

Para realizar um hard-reset utilizando o interruptor de reset.

1) Pressione o interruptor e mantenha-o pressionado.

2) Selecione o menu PICAXE>Run para se iniciar o download.

3) Aguarde até que a barra de progressão apareça na tela.

4) Largue o interruptor de reset.

Para realizar um hard reset utilizando a fonte de alimentação:

1) Desligue a fonte de alimentação.

2) Aguarde até que os capacitores da fonte de alimentação descarreguem (pode

demorar até 30 segundos, conforme o circuito).

3) Selecione o menu PICAXE>Run para iniciar a transferência.

4) Aguarde até que a barra de progressão apareça na tela.

5) Ligue a fonte de alimentação.

Lista de controle (Download CheckList)

Page 21: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

20

Se não conseguir fazer download, verifique cada um dos itens da lista abaixo.

Se o programa falhar a seguir a um download isso deve-se geralmente a falha de

alimentação (ou falha de ligação do cabo). Experimente com uma bateria nova.

Microcontrolador PICAXE

• O integrado PICAXE está corretamente inserido no suporte.

• Está a usar um integrado PICAXE (e não um PIC não programado).

• Está a usar um PICAXE avariado (por ex. o chip sofreu uma sobre-tensão ou

inversão de polaridade).

• A alimentação provem de uma fonte CC 4.5V a 5.5V DC regulada.

• O pino reset está ligado a V+ através de uma resistência 4.7k.

• O ressonador de 3 pinos está corretamente ligado.

• As resistências10k/22k para o circuito série de download estão corretamente ligadas.

Software

• Instalou a última versão do software Programming Editor (v4.1.0 ou posterior, veja a

página sobre software em “www.picaxe.co.uk” para informação atualizada);

• O porto série está corretamente selecionado (menu View>Options>Port);

• A velocidade do ressonador está corretamente selecionada (menu

View>Options>Mode)

• Não existe software em execução no computador em conflito com o porto série

utilizado.

Cabo de transferência (Download)

• O cabo está corretamente ligado.

• O suporte está corretamente ligado às resistências 10k/22k.

• Os pinos do suporte estão corretamente soldadas à placa de circuito impresso.

• O cabo está corretamente inserido na ficha série do computador.

• O cabo está devidamente inserido no suporte da placa.

Adaptador USB

• O adaptador USB/série está corretamente configurado para um porto série.

• O adaptador USB/série utiliza o driver correto (procure no sítio www.picaxe.co.uk

o driver para o efeito).

Compreendendo a memória do PICAXE

A memória do PICAXE é constituída por três áreas diferentes. A quantidade de memória varia

conforme o tipo de PICAXE.

Memória de Programa (FLASH)

A memória de programa é onde o programa é guardado após uma transferência (download).

Trata-se de uma memória rápida tipo FLASH, que se pode reprogramar até cerca de 100.000

vezes. O programa não se perde quando se desliga a alimentação, pelo que é executado

assim que esta é ligada de novo. Não é normalmente necessário apagar um programa, pois

cada novo download reprograma toda a memória. No entanto se quiser parar um programa

pode utilizar o menu PICAXE>Clear Hardware Memory para efetuar o download de um

programa “vazio” para o PICAXE.

Page 22: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

21

Num PICAXE28X pode carregar cerca de 600 linhas de programa. Este valor é aproximado,

pois cada instrução ocupa espaços diferentes em memória.

Para verificar a memória livre basta selecionar o menu PICAXE>Check Syntax.

Memória de Dados (EEPROM)

A memória de dados é um espaço adicional de memória do microcontrolador. Os dados

também não são perdidos quando se desliga a alimentação. Em cada transferência de dados

(download) esta memória é posta a “0”, a não ser no caso de ser usada a instrução EEPROM

para carregar dados na memória.

Veja mais detalhes nas descrições das instruções EEPROM, read e write.

Memória para as variáveis (RAM)

A memória RAM é usada para guardar dados temporários em variáveis durante a execução

do programa. Esta memória perde toda a informação quando se desliga a alimentação.

Existem três tipos de variáveis – usos gerais, armazenamento e funções especiais.

Para informações sobre as variáveis matemáticas veja a informação contida na descrição da

instrução let do Manual de Instruções BASIC.

Variáveis de Usos Gerais (GPR – General Purpose Registers)

Existem 14 variáveis tipo byte de usos gerais. Estas variáveis byte são designadas b0 a b13.

As variáveis tipo byte (8 bits) podem guardar números inteiros entre 0 e 255. As variáveis

tipo byte não podem representar números negativos nem fracionários e, no caso de ser

excedido o referido intervalo 0-255 darão „overflow‟ sem aviso (por ex.. 254 + 3 = 1) (2 - 3

= 255).

Para números maiores podem combinar-se duas variáveis byte de modo a criar uma variável

word (16 bits), que é capaz de guardar números inteiros entre 0 e 65535.

Estas variáveis word são designadas w0 a w6, e são construídas do seguinte modo:

w0 = b1 : b0

w1 = b3 : b2

w2 = b5 : b4

w3 = b7 : b6

w4 = b9 : b8

w5 = b11 : b10

w6 = b13 : b12

Portanto, o byte mais significativo de w0 é b1, e o byte menos significativo de w0 é b0.

Para além disso os bytes b0 e b1 (w0) podem ser divididos em variáveis bit.

As variáveis bit podem ser utilizadas onde for necessário guardar um único bit (0 ou 1) numa

variável

b0 = bit7: bit6: bit5: bit4: bit3: bit2: bit1: bit0

b1 = bit15: bit14: bit13: bit12: bit11: bit10: bit9: bit8

Pode-se utilizar qualquer variável word, byte ou bit numa expressão matemática ou

instrução que utilize variáveis. Deve contudo precaver-se para a possibilidade de

acidentalmente usar a mesma variável „byte‟ ou „bit‟ que está a ser usada como parte de

uma variável „word‟ noutra variável.

Todas as variáveis de uso geral são inicializadas a 0 quando é feito reset.

Page 23: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

22

Variáveis para armazenamento

As variáveis de armazenamento são localizações de memória adicional atribuídas para

armazenamento temporário de dados tipo byte. Não podem ser usadas em cálculos

matemáticos, mas podem ser usadas para armazenar temporariamente valores byte através

das instruções peek e poke.

O número de localizações de memória disponíveis varia conforme o tipo de PICAXE.

Para o PICAXE28X são:

112 do endereço 80 ao 127 ($50 to $7F) e ainda do endereço 192 ao 255 ($C0 to $FF)

Estes endereços variam de acordo com as especificações técnicas do microcontrolador.

Para informações sobre as instruções poke e peek veja a informação contida na descrição da

instrução let do Manual de Instruções PBASIC.

RESUMO DOS CIRCUITOS PARA INTERFACE

Esta seção apresenta um breve resumo das interfaces de

entrada/saída com o microcontrolador PICAXE. Para explicações

mais detalhadas, veja a seção 3 do Manual de Circuitos de

Interface. Nessa seção são fornecidos esquemas de ligação

detalhados e programas para a maioria dos dispositivos correntes.

Saídas Digitais (Digital Outputs)

O microcontrolador pode deixar passar (sink) ou fornecer

(source) correntes de 20 mA nos pinos de saída. Assim

dispositivos de baixa corrente, como os LEDs, podem ser

diretamente ligados aos pinos de saída. Dispositivos que exijam

mais corrente podem ser interfaceados através de um transistor

(p.ex. BC548B9, um FET ou um Darlington).

Entradas Digitais (Digital Inputs)

Os interruptores podem ser ligados como entradas digitais através de

uma simples resistência de 10k. A resistência é essencial pois impede

que a entrada fique a “flutuar” quando o interruptor estiver aberto.

Isso levaria a um funcionamento imprevisível.

Page 24: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

23

Entradas Analógicas (Analogue Inputs)

As entradas analógicas podem ser ligadas a um divisor

potenciométrico entre V+ e 0V. A tensão de referência é a tensão de

alimentação, e o sinal analógico não deve exceder a tensão de

alimentação.

Fluxogramas ou BASIC?

O software possui dois tipos de programação, a programação por instruções escritas BASIC e

a programação gráfica por fluxogramas. Ambos os métodos utilizam as mesmas instruções e

sintaxe. O fluxograma constitui um método gráfico simples de juntar as instruções BASIC,

prescindindo-se da escrita. Os fluxogramas usam um subconjunto das instruções BASIC e é

particularmente destinado ao uso por alunos mais jovens em ambientes escolares.

Uma vantagem da programação por fluxogramas é o ambiente gráfico de simulação. Isso

permite que os alunos “vejam” o seu programa ser executado antes de o transferirem para o

microcontrolador. Contudo, apenas algumas instruções são suportadas pelo editor.

A maioria dos iniciados e utilizadores educativos preferem as instruções BASIC como método

de programação. Trata-se de um sistema mais potente do que o método dos fluxogramas,

que se tornam complexos para programas de certa dimensão.

Os fluxogramas são automaticamente convertidos para instruções BASIC antes do programa

ser transferido para o microcontrolador. Assim, a principal preocupação deste manual vai ser

na programação por instruções BASIC.

Para mais informações sobre o método de programação por fluxogramas, veja o apêndice F,

sobre fluxogramas.

main:

high 0

wait 1

low 0

wait 1

goto main

Anotações

Page 25: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

24

BASIC Commands Summary

Esta tabela fornece uma visão geral dos comandos disponíveis. Consulte a seção 2 do

o manual para informações mais específicas e exemplos para cada Comando BASIC

Necessidade Possíveis Instruções (PICAXE-08 / 08M/14M/20M

Commands)

Output high, low, toggle, pulsout, let pins =

ADC Readadc

I/O Config. input, output, reverse, let dirs =

PWM Pwm

Sound Sound

Input if...then, readadc, pulsin, button

Serial serin, serout

Program Flow goto, gosub, return, branch

Loops for...next

Mathematics let (+, -, *, **, /, //, max, min, &, |, ^, &/, |/, ^/ )

Variables if...then, random, lookdown, lookup

Data memory eeprom, write, read

Delays pause, wait, nap, sleep, end

Miscellaneous symbol, debug

Anotações

Page 26: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

25

CAPITULO – 2 TUTORIAIS

Tutorial 1 – relacionando entradas (INPUTS) e saídas (OUTPUTS)

Os componentes abaixo podem ser considerados como componentes de entradas e

saídas ligados ao microcontroladores PIC. Observe cada um dos componentes e pesquise

cada um dos seu simbolos correspondente, faça o desenho ao lado da figura. Lembre-se,

eles são componentes que servem às entradas ou saídas do microcontrolador.

Se estiver usando cores, os fios vermelhos são positivos e os fios negativos são negros.

Page 27: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

26

2) Relacionar o desenho anterior com este. Escolher quais componentes estão

relacionados com entrada (INPUT) e saída (OUTPUT). Faça o desenho de conecção

respeitanto a polaridade do componente.

Page 28: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

27

3) Nesta tabela relacionar os desenhos com os respectivos simbolos, preenchendo a

primeira coluna com o nome do componente escolhido, a segunda coluna com o

desenho do componente correspondente à saídas (OUTPUT) ou entrada (INPUT) e a

terceira coluna com o símbolo do componente escolhido.

Page 29: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

28

Tutorial 2 - Usando Rotulos (labels), Comentários e Espaços

Sintaxe:

As labels (etiquetas) são usadas como marcadores em todo o programa. As labels são

usadas para marcar uma posição para onde “saltar” no programa através de uma instrução

goto, gosub ou outra instrução. Uma label pode ser qualquer palavra (não reservada) e pode

conter dígitos e o carácter underscore ( _ ). As labels devem ter como carácter inicial uma

letra (não um dígito), e são definidas com o sinal dois-pontos (:) a seguir ao nome. O sinal

não é necessário quando a label faz parte integrante de instruções.

O compilador não é case-sensitive (sensível a maiúsculas), pelo que podem ser usadas

indiscriminadamente maiúsculas e minúsculas.

Exemplo:

repete: „ Rotulo - Label “repete”

high 1 „ liga a saída 1

pause 1000 „ espera de 1000 milisegundos

low 1 „ desliga a saída 1

pause 500 „ espera de 0,5 segundo

goto repete „ salto para o início

Os comentários começam por um apóstrofe („) ou ponto e vírgula (;) e continuam até ao fim da linha. A instrução REM pode também ser utilizada para inserir comentários. Exemplos:

high 0 „coloca pin0 alto high 0 ;coloca pin0 alto

REM coloca pin0 alto

Lembre-se que os comentários (uma explicação inserida após o sinal („)) podem tornar

cada linha do programa mais fácil de entender. Os comentários são ignorados pelo

computador quando é feita a transferência do programa para o PICAXE.

É também uma boa técnica de programação o uso de tabulações no início das linhas sem

labels, de modo a que as instruções fiquem alinhadas. O termo „whitespace‟ (espaço em

branco) é usado pelos programadores para se referirem a tabulações, espaços e linhas em

branco nos programas, que podem tornar a leitura mais fácil.

Nota:

Output

instruções PBasic – Comandos e Sintaxe

Rótulos (labels)/comentários/espaços

Goto

Labels, Comentarios e Espaços

Comentarios

Page 30: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

29

Algumas linguagens BASIC mais antigas utilizavam „números de linha em vez de labels

nas instruções „goto‟.

Este sistema é inconveniente pois alterações posteriores no programa, obrigam a alterar a

numeração. O sistema de labels (etiquetas) é usado na maioria das linguagens modernas.

Cuidado para não rotular palavras que são comandos suportados pelo programa, isso gera

conflito. Veja o exemplo abaixo:

LOOP: ' define endereço de programa

' um símbolo endereço termina por dois pontos

high 7 ' liga a saída 7

pause 200 'espera 0,2 segundos (200 milisegundos)

low 7 ' desliga a saída 7

pause 200 ' espera 0,2 segundos (200 milisegundos)

goto LOOP ' efetua um salto para o início LOOP (ciclo)

A palavra LOOP é considerada uma instrução pelo compilador e gera um erro na

linha de programação.

Whitespace (espaço em branco) é o termo utilizado pelos programadores para definirem a

área branca na impressão de um programa. Nela se incluem os espaços, as tabulações e as

linhas vazias. Qualquer uma delas pode ser utilizada no programa para o tornar mais

compreensível e facilitar a leitura.

Convencionou-se colocar as labels encostadas à esquerda. Todas as outras instruções

devem ser espaçadas através da tecla de tabulação. Esta convenção torna o programa mais

fácil de ler e de seguir. Exemplo:

novamente: ‘novamente: é um label, uma posição

low 0 ‘pino 0 está em nível baixo

high 1 ‘pino 1 está em nível alto

pause 1000 ‘pausa a saída por 1000ms = 1seg.

high 0 ‘pino 0 está em nível alto

low 1 ‘pino 1 está em nível baixo

pause 1000 ‘pausa a saída por 1000ms = 1seg.

goto novamente ‘goto manda saltar para label novamente,entra em

ciclo

Espaço em branco - Whitespace

Page 31: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

30

Sintaxe:

GOTO endereço

Endereço é uma label (etiqueta) que especifica para onde saltar.

Função:

O programa passa a ser executado a partir do endereço especificado (salto

incondicional).

Informação:

A instrução goto é um salto permanente para uma nova seção do programa. O local de

salto é assinalado por uma label.

Exemplo1:

ciclo: „ LABEL

high 1 „ liga a saída 1

pause 500 „ espera 0,5 segundos

low 1 „ desliga a saída 1

pause 500 „ espera 0,5 segundos

goto ciclo

Exemplo2:

ledflash: ' LED flash rate & mark/space experiment

high 2 ' turn on output pin 2- LED lights up

high 5 ' turn on output pin 5- LED lights up

pause 5 ' keep it on for 5 milliseconds

low 2 ' turn off pin 2 - LED goes out

pause 50 ' keep it off for 50 ms

low 5 ' turn off pin 2 - LED goes out

goto ledflash ' repeat routine

GOTO

Page 32: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

31

Tutorial 3 - Temporizações

Sintaxe:

PAUSE milisegundos

Milisegundos é uma variável/constante (0-65535) que especifica quantos

milisegundos dura a pausa.

Função:

Pausa com a duração especificada em milisegundos. A duração da pausa na execução do

programa possui a precisão do relógio do microcontrolador – neste caso um ressoador

cerâmico a 4 MHz.

Informação:

A instrução pause cria um atraso de tempo (em milisegundos a 4 MHz). O maior atraso

possível é de cerca de 65 segundos

Durante a pausa o único modo de reagir às entradas é através de interrupts (veja a

informação sobre a instrução setint). Não inclua longas pausas em ciclos que se

destinam a detectar alterações nas entradas.

Para criar um atraso de maior duração (por ex. 5 minutos) deverá utilizar um ciclo

for…next (os detalhes desse comando será visto em outro tutorial ).

for b1 = 1 to 5 „ 5 ciclos

Pause 60000 „ espera de 60 segundos

next b1

Exemplo1:

ciclo:

high 1 „ liga a saída 1

pause 500 „ espera 0,5 segundos

low 1 „ desliga a saída 1

pause 500 „ espera 0,5 segundos

goto ciclo

Exemplo 2:

repete: „ Rotulo - Label “repete”

high 1 „ liga a saída 1

wait 1 „ espera de 1 segundo

low 1 „ desliga a saída 1

pause 500 „ espera de 0,5 segundo

goto repete „ salto para o início

Output

Temporizadores/ Controle de consumo

instruções PBasic – Comandos e Sintaxe

Pause, nap, Sleep, Wait, Symbol

PAUSE

Page 33: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

32

Este programa usa a instrução wait. As instruções wait e pause criam ambas atrasos.

Contudo a instrução wait só pode ser usada para segundos, enquanto a instrução pause

pode ser usada para atrasos mais pequenos (medida em milisegundos (1/1000 do segundo)).

Wait pode ser seguida por um número entre 1 e 65.

Pause pode ser seguida por um número entre 1 e 65535.

Sintaxe:

NAP período

Período é uma variável/constante que determina a duração da suspensão de funcionamento a consumo reduzido. A duração é calculada como 2^período * 18 ms (aproximadamente). O período pode variar entre 0 e 7.

Função: Suspende a operação do microcontrolador durante o período indicado. O consumo é

reduzido em função do valor do período.

Informação:

A instrução nap coloca o microcontrolador no modo de consumo reduzido durante um

curto período de tempo. Quando está no modo de consumo reduzido, todos os

temporizadores são desligados, pelo que as instruções servo e pwmout deixam de

funcionar. O período de tempo nominal é dado pela tabela junta. Devido a tolerâncias

nos temporizadores, a duração está sujeita a -50 a +100% de tolerância. A temperatura

ambiente também afta esta tolerância, pelo que em nenhum projeto que necessite de

uma base de tempo precisa se deve usar esta instrução.

Período Tempo de

atraso

0 18 ms

1 36 ms

2 72 ms

3 144 ms

4 288 ms

5 576 ms

6 1,152 s

7 2,304 s

A instrução nap usa o temporizador do watchdog interno, que não é alterado por

alteração na frequência do relógio do sistema.

Exemplo:

ciclo: high 1 „ liga a saída 1

nap 4 „ suspende durante 2^4 x 18ms low 1 „ desliga a saída 1 nap 7 „ suspende durante 2^7 x 18ms goto ciclo „ salta para o início

NAP

Page 34: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

33

Sintaxe:

SLEEP período

Período é uma variável/constante (0-65535) que especifica a duração da instrução em múltiplos de 2,3 segundos.

Função: Fica em estado sleep durante o período especificado (período x 2,3 s).

Informação: A instrução sleep coloca o microcontrolador no modo de baixo consumo durante um

certo tempo. Neste estado de baixo consumo, os temporizadores internos são

desligados, pelo que as instruções pwmout e servo deixam de funcionar. O período

nominal é de 2,3 s, pelo que um sleep 10 corresponde a 23 segundos. A instrução sleep

não é precisa, pelo que devido a tolerâncias de fabricação dos temporizadores internos,

existe uma tolerância de -50% a +100%. A temperatura ambiente também influencia

esta tolerância, pelo que não deve ser utilizada esta instrução como base de tempo, em

programas que exijam precisão.

Para “sonos” mais curtos pode usar-se a instrução nap.

Exemplo:

ciclo: high 1 „ liga (on) a saída 1 sleep 10 „ dorme durante 23 segundos low 1 „ desliga (off) a saída 1

sleep 100 „ dorme durante 230 segundos goto ciclo „ volta ao início

Sintaxe:

Symbol nome símbolo = valor

Symbol nome símbolo = valor ?? constante

Nome símbolo é uma cadeia de caracteres (string) que deve começar com um

caractere alfabético ou um “_”. Após o primeiro caractere, pode conter também

caracteres numéricos (“0” – “9”).

Valor é uma variável ou constante a que se atribui um nome simbólico

alternativo.

?? pode ser qualquer uma das funções matemáticas suportadas.

Função:

Atribui um valor a um novo nome simbólico. Os operadores matemáticos podem também

ser usados em constantes (não variáveis).

SYMBOL

SLEEP

Page 35: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

34

Informação:

Os símbolos são utilizados para renomear constantes ou variáveis para torná-las mais fáceis

de lembrar na programação. Os símbolos não produzem qualquer alteração ao tamanho dos

programas pois são convertidos para “números” antes do download, portanto, o uso dos

símbolos não aumenta a dimensão do programa e torna-o mais legível. Os valores

constantes e os nomes de variáveis são atribuídos fazendo seguir ao nome do símbolo o sinal

de igual (=), seguido da variável ou constante.

Os nomes dos símbolos podem conter letras e números (flash1, led3, etc.), mas o primeiro

caractere é obrigatoriamente uma letra. Naturalmente os nomes dos símbolos não podem

ser palavras reservadas como input, step, pause, etc.

Quando utilizar definições de pinos de entrada ou saída tenha cuidado em usar o termo

“pin0” e não “0” para descrever as variáveis de entrada nas instruções if…then.

Veja os exemplos 1 e 2.

Exemplo 1:

symbol LED = 4 „ renomeia output4 „LED‟

symbol buzzer = 2 „ renomeia output2 „buzzer‟

principal: „ cria uma label „principal‟

high LED „ liga o LED (on)

low buzzer „ desliga o buzzer (off)

pause 1000 „ espera 1 segundo (1000 ms)

low LED „ desliga o LED (off)

high buzzer „ liga o buzzer (on)

wait 1 „ espera 1 segundo

goto principal „ salta para o início

Exemplo 2:

symbol RED_LED = 7 „ define um pino de saída

symbol CONTA = B0 „ define o símbolo de uma variável

let CONTA = 200 „ carrega a variável com o valor 200

repete: „ define endereço de programa:

„ um símbolo endereço termina por dois pontos

high RED_LED „ liga a saída 7

pause CONTA „ espera 0,2 segundos (200 milisegundos)

low RED_LED „ desliga a saída 7

pause CONTA „ espera 0,2 segundos (200 milisegundos)

goto repete „ efetua um salto para o início repete (ciclo)

Page 36: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

35

Exercicios:

1) Acione a seqüência de leds pausando 1s em cada led. Use o comando Symbol para

nomear cada saída conforme os nomes : - Vermelho1, amarelo1, verde1,

vermelho2, amarelo2, verde2.

Solução: symbol VERMELHO1 = 0 ' renomeia output0

symbol AMARELO1 = 1 'renomeia output1

symbol VERDE1 = 2 ' renomeia output2

symbol VERMELHO2 = 3 ' renomeia output3

symbol AMARELO2 = 4 ' renomeia output4

symbol VERDE2 = 5 ' renomeia output5

principal: ' cria uma label „principal‟

high VERMELHO1 ' liga o LED (on) VERMELHO1

wait 1 'espera 1 segundo

low VERMELHO1 ' desliga o VERMELHO1 (off)

wait 1 ' espera 1 segundo (1000 ms)

high AMARELO1 ' liga o LED (on) AMARELO1

wait 1 'espera 1 segundo

low AMARELO1 ' desliga o AMARELO1 (off)

wait 1 ' espera 1 segundo (1000 ms)

high VERDE1 ' liga o LED (on) VERDE1

wait 1 'espera 1 segundo

low VERDE1 ' desliga o VERDE1(off)

wait 1

high VERMELHO2 ' liga o LED (on) VERMELHO2

wait 1 'espera 1 segundo

low VERMELHO2 ' desliga o VERMELHO2 (off)

wait 1 ' espera 1 segundo (1000 ms)

high AMARELO2 ' liga o LED (on) AMARELO2

wait 1 'espera 1 segundo

low AMARELO2 ' desliga o AMARELO2 (off)

wait 1 ' espera 1 segundo (1000 ms)

high VERDE2 ' liga o LED (on) VERDE2

wait 1 'espera 1 segundo

low VERDE2 ' desliga o VERDE2(off)

goto principal ' salta para o início

2) Programar a saida output 4 para temporizar por 7,5 s. Usar a variavel b1 e nomear a palavra LED para a saida 4 (symbol).

3) Projetar um simulador de presença para uma residencia com 5 itens para serem

acionados. Temporizar para o periodo noturno de 6 horas. Cada item deve ser

acionado de forma sequencial e repetindo alguns, isto é, distribua os equipamentos numa linha de tempo acionando um de cada vez. Acionar: - Luz da frente da casa 6hX1(FRcasa), Luz da sala 4hX1 (Lsala), TV 2hX1 (TV), Liquidificador 30sX10 (Lq), Radio 1hX3 (radio). Fazer o exercicio para uma temporização real parao periodo de 6 horas.

Page 37: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

36

TUTORIAL 4 - Uso das Constantes e variáveis

SINTAXES:

As constantes podem ser declaradas de quatro modos diferentes:

decimais, hexadecimais, binárias e ASCII.

Os números decimais são escritos diretamente sem qualquer prefixo.

Os números hexadecimais (hex) são precedidos pelo sinal dólar ($).

Os números binários são precedidos pelo sinal de percentagem (%).

Os valores ASCII são colocados entre aspas (“).

Exemplos:

100 „ 100 em decimal

$64 „ 64 hex

%01100100 „ 01100100 binário

“A” „ “A” ascii (65)

“Hello” „ “Hello” – equivalente a “H”, “e”, “l”, “l”, “o”.

B1 = B0 ^ $AA „ ou exclusivo da variável B0 com AA hex

SINTAXES:

A memória RAM é utilizada para armazenar dados temporários em variáveis durante a

execução do programa. A memória perde todos os dados quando é feito reset

(reinicialização) ou quando se desliga a alimentação. Existem três tipos de variáveis – de

usos gerais, de armazenamento e para fins especiais.

Veja a instrução let para mais pormenores sobre as variáveis matemáticas.

Variáveis de usos gerais

Existem 14 variáveis de usos gerais tipo byte. Estas variáveis byte são designadas b0

a b13. As variáveis byte podem guardar números inteiros entre 0 e 255. As variáveis

byte não podem guardar números negativos ou fracionários, e produzem “overflow”

(transbordo) sem qualquer aviso, se o valor guardado exceder a gama 0-255. Por

exemplo, 254 + 3 = 1 ou 2 – 3 = 255.

Output

Instruções PBasic – Comandos e Sintaxe

CONSTANTES e VARIAVEIS

VARIAVEIS

CONSTANTES

Page 38: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

37

É possível guardar números grandes em duas variáveis byte combinadas para constituir

uma variável tipo word, que é capaz de guardar números inteiros de 0 a 65535. Estas

variáveis word são designadas de w0 a w6 e são construídas de seguinte modo:

w0 = b1:b0

w1 = b3:b2

w2 = b5:b4

w3 = b7:b6

w4 = b9:b8

w5 = b11:b10

w6 = b13:b12

Portanto o byte mais significativo de w0 é b1, e o menos significativo é b0. Por outro

lado, os bytes b0 e b1 (w0) estão separados em variáveis bit. Estas variáveis bit podem

ser usadas sempre que se pretender guardar um dado de 1 bit.

b0 = bit7:bit6:bit5:bit4:bit3:bit2:bit1:bit0

b1 = bit15:bit14:bit13:bit12:bit11:bit10:bit9:bit8

Pode usar-se uma variável byte, word ou bit em qualquer expressão matemática ou

instrução que utilize variáveis. Deve-se contudo ter cuidado com a possível repetição da

mesma variável usada individualmente e como parte de outra. Por exemplo, não usar b0

e w0 separadamente no mesmo programa.

Todas as variáveis de usos gerais são postas a 0, quando há uma reinicialização do

programa.

Variáveis de armazenamento

As variáveis de armazenamento são localizações de memória adicionais destinadas ao

armazenamento temporário de dados byte. Estas variáveis não podem ser utilizadas

diretamente em operações matemáticas, mas podem guardar temporariamente valores

tipo byte através das instruções peek e poke.

Veja as instruções peek e poke para mais informações.

Variáveis para funções especiais (SFRs)

o PICAXE-14M/20M SFR

o

As informações a seguir serão abordadas no tutorial 5

pins = o porto de entrada quando se faz leitura do porto

pins = o porto de saída quando se escreve no porto

Repare que pins é uma “pseudo” variável que pode ser utilizada quer na leitura quer na

escrita do porto.

Quando usada à esquerda de uma declaração, pins aplica-se ao porto de “saída”,

exemplo:

let pins = %11000011

vai ligar as saídas 7,6,1 e 0 deixando as outras desligadas.

Quando se usa pins à direita de uma declaração, estamos a referir-nos ao porto de

entrada, ex:

let b1 = pins

vai guardar em b1 a leitura do porto de entrada.

Acrescenta-se que a declaração

Page 39: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

38

let pins = pins

é válida e significa fazer o porto de saída igual ao porto de entrada.

Para evitar esta confusão, entre porto de entrada e saída, recomenda-se que o nome

'outpins " seja utilizada na instrução, por exemplo,

let outpins = pins

A variável pins pode ser subdividida em variáveis bit individuais para leitura dos pinos

individualmente, através da instrução if … then. (Tutorial 8)

pins = pin7:pin6:pin5:pin4:pin3:pin2:pin1:pin0. (20M)

pins = x : x : x : pin4 : pin3 : pin2 : pin1 : pin0 (14M) (x = não existe)

infra = Variavel usada em separado quando utilizada dentro do comando infrain

keyValue = Outro nome para infra, usada no comando keyin.

Quadro de resumo:

Informações sobre variáveis

Variáveis são muito utilizadas em programação, elas podem assumir valores numéricos e

podem mudar seu valor ao longo do programa. Se houver necessidade de realizar cálculos

num programa, o resultado sempre deve ser dado à uma variável. Para declarar variáveis

devemos utilizar o comando “symbol”.

Os nomes das variáveis podem ser de três tipos: 1bit, 1byte (8bits) ou 1word(16bits).

Sempre devemos declarar as variáveis no menor tamanho possível para o dado que ela irá

armazenar.

O PICAXE tem um número limitado de variáveis. Elas são organizadas em 7 variáveis

words (w0 até w6), 14 variáveis bytes (b0 até b13) e 16 variáveis bits (bit0 até bit15).

- 1 byte pode guardar valores de 0 até 255

- 1 word pode guardar valores de 0 até 65.535

Exemplos de atribuição de números nos sistemas: decimal, hexadecimal e binário

a = 15 „atribuição no sistema decimal (a = 15)

a = $f „atribuição no sistema hexadecimal - $ (a = 15)

a = %00001111 „atribuição no sistema binário - % (a = 15)

a = % 11111111 (a= 255)

Anotações

Page 40: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

39

Exemplos:

1) Acionamento de um led na saída 7 com pausa de 200 milisegundos.

symbol RED_LED = 7 ' define um pino de saída

symbol CONTA = b0 ' define o símbolo de uma variável

let CONTA = 200 ' carrega a variável com o valor 200

repete: ' define endereço de programa

' um símbolo endereço termina por dois pontos

high RED_LED ' liga a saída 7

pause CONTA 'espera 0,2 segundos (200 milisegundos)

low RED_LED ' desliga a saída 7

pause CONTA ' espera 0,2 segundos (200 milisegundos)

goto repete ' efetua um salto para o início LOOP (ciclo)

2) Faça um seqüencial de 5 leds, acionando um de cada vez pausados de 100

milisegundos cada. Utlize a instrução ” let pins=” para isso.

'*************************************

'*PROGRAMA: Seqüencial de 5 canais *

'*PROGRAMADOR: João Carlos *

'*DATA: 18/03/10 *

'*VERSÃO: 1.0 *

'*************************************

novamente: 'label

Let pins= %00000001 'põe nível alto na porta 0

PAUSE 100 'aguarda 100ms

Let pins = %00000010 'põe nível alto na porta 1

PAUSE 100 'aguarda 100ms

Let pins = %00000100 'põe nível alto na porta 2

PAUSE 100 'aguarda 100ms

Let pins = %00001000 'põe nível alto na porta 3

PAUSE 100 'aguarda 100ms

Let pins = %00010000 'põe nível alto na porta 4

PAUSE 100 'aguarda 100ms

Let pins = %00100000 'põe nível alto na porta 5

PAUSE 100 'aguarda 100ms

GOTO novamente 'retorna para o início do programa

3) Faça o mesmo seqüencial utilizando decimal para as atribuições “let pins =”

4) Faça o mesmo seqüencial utilizando hexadecimal para as atribuições “let pins =”

Page 41: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

40

Tutorial 5 - Tabalhando com as saidas (OUTPUT)

Os camando mais utilizados para controle de saidas são:

high, low, toggle, pulsout, let pins =

Sintaxe:

LOW pino

Pino é uma variável/constante (0-7) que especifica o pino de E/S a usar.

Função:

Coloca o pino no nível lógico baixo.

Informação:

A instrução low desliga uma saída, colocando-a no nível lógico baixo.

Exemplo:

ciclo:

high 1 „ liga a saída 1

pause 500 „ espera 0,5 segundos

low 1 „ desliga a saída 1

pause 500 „ espera 0,5 segundos

goto ciclo

Sintaxe:

HIGH pino

Pino é uma variável/constante (0-7) que especifica o pino E/S a usar.

Função:

Coloca o pino no nível lógico alto.

Informação:

A instrução high coloca um pino de saída alto (ligado).

Exemplo:

ciclo:

high 1 „ liga a saída 1

pause 500 „ espera 0,5 segundos

low 1 „ desliga a saída 1

pause 500 „ espera 0,5 segundos

goto ciclo

Output

Instruções PBasic – Comandos e Sintaxe

Low, High, “let pins =”, toggle

HIGH

LOW

Page 42: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

41

Um microcontrolador funciona executando uma enorme quantidade de instruções, no mais

curto intervalo de tempo, processando sinais digitais. Estes sinais são codificados no sistema

binário – o sinal pode ser high (1) ou low (0).

Por comparação, lembre-se que o sistema de numeração corrente é o sistema decimal. Este

sistema de numeração usa dez dígitos, de 0 a 9 para representar valores maiores ou

menores.

Contudo, quando se trabalha com microcontroladores é mais fácil pensar em código binário.

Isto é particularmente verdade quando se tenta controlar múltiplas saídas ao mesmo tempo.

Um dígito binário é designado por bit (binary digit). O sistema PICAXE utiliza 8 bits (1 byte),

com o bit menos significativo ao lado direito e o mais significativo ao lado esquerdo.

Assim, o número binário %11001000 significa que os bits 7,6,3 estão altos (high=1) e os

outros baixos (low=0). O sinal % indica ao compilador que se está a trabalhar em binário,

em vez de decimal.

Isso significa que todas as 8 saídas podem ser controladas ao mesmo tempo, em vez de

utilizar múltiplas instruções high ou low. O programa seguinte mostra como apresentar num

display de 7 segmentos uma contagem de 0 to 9.

Exemplo1:

Cada instrução „let pins=‟ modifica o número de segmentos que é ligado no display.

Isto é mais rápido, e mais eficiente em termos de memória, do que utilizar muitas instruções

high e low.

main:

let pins = %00111111 „ dígito 0

pause 250 „ espera 0.25 segundos

let pins = %00000110 „ dígito 1

pause 250 „ espera 0.25 segundos

let pins = %01011011 „ dígito 2

pause 250 „ espera 0.25 segundos

let pins = %01001111 „ dígito 3

pause 250 „ espera 0.25 segundos

let pins = %01100110 „ dígito 4

pause 250 „ espera 0.25 segundos

let pins = %01101101 „ dígito 5

pause 250 „ espera 0.25 segundos

let pins = %01111101 „ dígito 6

pause 250 „ espera 0.25 segundos

let pins = %00000111 „ dígito 7

pause 250 „ espera 0.25 segundos

let pins = %01111111 „ dígito 8

pause 250 „ espera 0.25 segundos

let pins = %01101111 „ dígito 9

pause 250 „ espera 0.25 segundos

goto main

“Let pins =”

Page 43: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

42

Sintaxe:

TOGGLE pino

Pino é uma variável/constante (0-7) que especifica o pino E/S a usar.

Função:

Configura o pino como saída e muda-lhe o estado (de 1 para 0, ou de 0 para 1)

Informação:

A instrução toggle inverte uma saída (se estiver baixa passa a alta e vice-versa).

Exemplo:

inicio:

toggle 7 „ faz toggle à saída 7

pause 1000 „ espera de 1 segundo

goto inicio „ volta para início

Exercicios:

1) Explicar as diferenças no acionamento das saídas por:

High 7, Let pins = 1000000, Toggle 7, Let pins = 128

2) No exercício 1 todas as aplicações estão levando o sinal do port de saída para o

“nível alto”. Fazer o inverso, isto é, faça o nível da saída ir ao “nível baixo”

3) Projetar um programa para a execução das seguintes maquinas:

a) Maquina de lavar (não utilizar o sensor de nível d‟água para esse exemplo).

b) Maquina de fazer pão.

c) Maquina de lavar louças.

TOGGLE

Page 44: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

43

Tutorial 6 – Compreendendo e usando o sistema PICAXE.

Objetivo:

Conhecimento de HARDWARE

Pinos do 20 M

Alimentação,

Saidas

Entradas

Serial in

Serial out

Uso do cabo de tranferencia de programas

Conhecimento de software

Uso do programa editor

Aplicação das instruções abordadas nos tutoriais anteriores

O chip PICAXE, o „cérebro‟ do sistema PICAXE, quando comprado sem programa de controle,

não faz absolutamente nada!

O utilizador tem que escrever o programa de controle no computador e transferi-lo para o

microcontrolador PICAXE.

Assim, um sistema PICAXE é constituído por três componentes principais:

O software „Programming Editor‟

Este software é executado num computador e permite-lhe utilizar o teclado deste para

escrever programas numa linguagem BASIC simplificada.

Os programas podem ainda ser gerados através do desenho de fluxogramas.

O cabo série

Este é o cabo que liga o computador ao sistema PICAXE. O cabo apenas precisa de ser ligado

durante a transferência do programa. Não precisa de estar ligado durante a execução do

programa pois o programa fica permanentemente guardado no microcontrolador – mesmo

quando se desliga a alimentação!

O chip PICAXE numa placa

O microcontrolador PICAXE executa um programa que tenha sido para ele transferido.

Contudo, o integrado precisa de estar montado numa placa que lhe forneça alimentação e

possua os outros componentes, a saber, as resistências para comunicação série, a

resistência de reset e o ressonador.

Esta placa pode ser adquirida ou construída pelo utilizador em stripboard ou placa de circuito

impresso.

Output

Instruções mais utilizadas neste tutorial:

Experimento 1

Page 45: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

44

Resumo – procedimentos de programação

1. Escreva o programa no computador utilizando o software Programming Editor.

2. Ligue o cabo de transferência entre o computador e a placa PICAXE.

3. Ligue a fonte de alimentação à placa do PICAXE.

4. Use o software Programming Editor para fazer download do programa. O cabo pode ser

retirado após a transferência.

O programa começa imediatamente a ser executado no PICAXE. No entanto, o programa

pode ser inicializado em qualquer altura premindo o botão de reset (caso exista, ou

desligando e ligando a alimentação).

Instruções detalhadas para a transferência e montagem do hardware.

Antes de transferir o programa para o PICAXE, verifique se o programa esta correto,

verifique a sintaxe atraves do botão Syntax e após essa verificação, simule o programa

verificando seus detalhes.

1. Ligue o cabo PICAXE à saida sérial do computador. Anote em que porto está ligado

(normalmente designado COM1 ou COM2).

2. Execute o software Programming Editor.

3. Selecione o menu View>Options para poder escolher as Opções (deverá aparecer

automaticamente).

4. selecione no separador „Mode‟ e o chip PICAXE apropriado.

5. Selecione no separador „Serial Port‟ e selecione o porto série onde está ligado o cabo.

Selecione „OK‟.

6. Escreva o seguinte programa:

inicio:

high 4

pause 1000

low 4

pause 1000

goto inicio

(NB repare no sinal (:) a seguir à label „inicio‟ e os espaços entre as

instruções e os números.)

7. Ligue um LED (com uma resistência 330R em série) entre o pino de saida

4 e o terra (0V) FIGURA A. Observe que output 4 não se refere ao

pino 4 do CI, mas sim ao numero da saida output 4 que esta no pino

14. (Assegure-se de que o LED é ligado com a polaridade correta!).

Depois faça o mesmo para a figura B. Observe que o led somente será aceso

quando low 4 for acionado.

8. Verifique se o circuito com o PICAXE está ligado ao cabo série, e que a

alimentação está ligada.

Experiência 1:

Acionamento de um LED

A

B

Page 46: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

45

9. Selecione PICAXE>Run. Uma barra de download deve aparecer à medida que o programa

é transferido.

Assim que tiver terminado a transferência, o programa entra em execução imediatamente –

o LED começa a piscar segundo a segundo.

10-Veja o resultado! Caso o led não tenha piscado, revise o hardware e seu software.

11- Digite o mesmo texto da figura em seu compilador, alterando os valores de tempo e

observe o resultado.

12- Depois de digitado cada tempo, clique com mouse sobre o ícone “compile” para

transformar seu programa em linguagem de máquina e ser transferido para o PICAXE.

LOCALIZAÇÃO DAS SAIDAS NO PICAXE 20M

Os pinos do PICAXE quando estiverem trabalhando como saída drenam no máximo 25mA

em sua saída, para cargas que necessitem de uma capacidade maior de corrente há a

necessidade de ser adicionado um amplificador de corrente na saída (transistor, driver,

tiristor, relé, contatora). Abaixo observa-se um driver – ULM 2803. O C.I. possui 7

transistores darlington NPN. O C.I. 2803 pode ser utilizado com o PICAXE sempre que

houver necessidade de elevação da corrente dos pinos. Não esqueça que o 2004 inverte o

sinal (lógica invertida). Para acionar cargas de baixa potência, como diodos emissores de luz,

não se faz necessário utilizar o driver. Desde que não ultrapasse 25mA por pino.

Pin refere-se à cada output, assim pin 0 será a saida “output” 0, pin 1 será output 1 e assim

por diante até output 7.

Tempos [ms]: 100, 500, 1000, 3000, 10000

Page 47: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

46

Hardware:

Projetar um sinalizador de saída e entrada para

veículos. Faça um programa que cumpra essa função.

OBS.: Os pinos 0 e 1 referem-se às saídas (pinos 17 e

18 do CI ).

Programa:

„***********************************

„*PROGRAMA: Sinalizador de saída de „veículos *

„*PROGRAMADOR: João Carlos *

„*DATA: 17/03/10 *

„*VERSÃO: 1.0 *

„***********************************

novamente: „novamente: é um label, uma posição de memória

pin0 = 0 „ estamos atribuindo a saída 0 o binário 0 – o led liga

pin1 = 1 „estamos atribuindo a saída 1 o binário 1 – o led desl.

pause 1000 „pausa a saída por 1000ms = 1seg.

pin0 = 1 „estamos atribuindo a saída 0 o binário 1 – led desl.

pin1 = 0 „estamos atribuindo a saída 1 o binário 1 – led liga

pause 1000 „pausa a saída por 1000ms = 1seg.

goto novamente „goto manda saltar para label novamente

O resultado no compilador deve ficar igual à tela a baixo:

Note que agora foi usado o comando pin para se referir à saida. Agora revise o

programa e corrija erros se houver. Salve o programa. Depois compile o programa.

Por último, transfira o programa para o PICAXE, clicando no ícone Download.

Aguarde a transferência! Se seu programa estiver funcionando você deve ter observado que

somente um led está oscilando, é necessário terminar o programa. Acrescente os comandos

para fazer o segundo led piscar.

Experiência 2: Sinalizador para saída de veículos

Page 48: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

47

Uma outra forma de escrever o programa anterior é utilizando os comandos

“high” e “low”.

Veja:

novamente: „novamente: é um label, uma posição

low 0 „pino 0 está em nível baixo

high 1 „pino 1 está em nível alto

pause 1000 „pausa a saída por 1000ms = 1seg.

high 0 „pino 0 está em nível baixo

low 1 „pino 1 está em nível alto

pause 1000 „pausa a saída por 1000ms = 1seg.

goto novamente „goto manda saltar para label

novamente,entra em ciclo

Os comandos low e high atribuem nível lógico às saídas e ao mesmo tempo

configura o pin0 declarado como uma saída. Para conhecer detalhadamente todos

os comandos neste texto ou na apostila especifica de comandos.

Monte o circuito abaixo no protobard. Vamos construir um seqüencial de 6 canais, lembra do

C.I. 4017...

HARDWARE:

Os “pino” 0 a 5 referem-se aos pinos de saída do PICAXE 20M (pinos 10 à 18 no CI)

Experiência 3:

Seqüencial de 6 canais

Page 49: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

48

PROGRAMA:

„******************************

„*PROGRAMA: Seqüencial de 6 canais *

„*PROGRAMADOR: João Carlos *

„*DATA: 18/03/10 *

„*VERSÃO: 1.0 *

„*******************************

REPITA: „label

LOW 0 „põe nível baixo na porta 0

HIGH 0 „põe nível alto na porta 0

PAUSE 100 „aguarda 100ms

LOW 0 „põe nível baixo na porta 0

LOW 1 „põe nível baixo na porta 1

HIGH 1 „põe nível alto na porta 1

PAUSE 100 „aguarda 100ms

LOW 1 „põe nível baixo na porta 1

LOW 2 „põe nível baixo na porta 2

HIGH 2 „põe nível alto na porta 2

PAUSE 100 „aguarda 100ms

LOW 2 „põe nível baixo na porta 2

LOW 3 „põe nível baixo na porta 3

HIGH 3 „põe nível alto na porta 3

PAUSE 100 „aguarda 100ms

LOW 3 „põe nível baixo na porta 3

LOW 4 „põe nível baixo na porta 4

HIGH 4 „põe nível alto na porta 4

PAUSE 100 „aguarda 100ms

LOW 4 „põe nível baixo na porta 4

LOW 5 „põe nível baixo na porta 5

HIGH 5 „põe nível alto na porta 5

PAUSE 100 „aguarda 100ms

LOW 5 „põe nível baixo na porta 5

GOTO REPITA „retorna para o início do programa

C) Repetir a experiência acionando agora um seqüencial de 8 canais.

D)Escreva agora um seqüencial de 8 canais usando o comando “LET pins”

E) Execute a seqüência de saídas relacionada abaixo e observe o efeito.

00000001, 00000010, 00000100, 00001000, 00010000, 00100000,

01000000, 10000000

Todas as sequencias pausadas em 100 ms.

F) Execute a seqüência de saídas relacionada abaixo e observe o efeito.

10000001, 01000010, 00100100, 00011000, 00011000, 00100100, 01000010,

10000001 . Todas as sequencias pausadas em 100 ms.

G) Execute a seqüência de saídas relacionada abaixo e observe o efeito.

63, 6, 91, 79, 102, 109, 125, 7, 127, 111. Todas as sequencias pausadas em 500

ms.

Page 50: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

49

EXERCICIOS PROPOSTOS

1) Fazer um LED piscar no pin 7 com um intervalo de tempo de 1 Hz. Desenhar o

esquema de ligação para o circuito.

Solução:

main:

high 7 'make output 7 high

pause 1000 'wait 1 second

low 7 'make output 7 low

pause 1000

goto main

2) Acionar 8 LEDs em linha. Ligar todas as saídas do PICAXE 20M com os LEDs e

utilizar resistores de 180 para uma tensão de 4,5 a 5 V – Esse é um protótipo de

luzes seqüenciais de natal acendendo o LEDs em seqüência pré definida.

3) Fazer um programa que liga a saída 7 (output 7 = ON) e mantenha essa saída ativa

por 10 segundos, depois desligue essa saída por 20 segundos e volte a liga-la na

mesma seqüência. Utilize o comando PAUSE (“pause 500” significa esperar 500mS

(=0.5 second))

main: high 7

pause 500

low 7

pause 500

goto main

4) Agora faça os LEDs 0,2,4,6 piscarem alternadamente com os LEDs 1,3,5,7.

5) Utilize a variável pins para acionar as saidas com um único comando, para isso

repita os exercícios 1, 2 e 3. (Você pode ligar várias saídas e desliga com um único

comando)

6) Construa um gráfico de efeito de barras, fazendo com que os leds se acendam e

depois retornem.

7) Projete um semáforo seqüencial para um cruzamento, levando em consideração que

o tempo de imobilização será de 15 s.

Label comandos descrição

Desafio: Você pode fazer o LED 4 entrar quando o LED 7 se apagar, e apaga quando o LED 7 se acende?

4 7

180R

180R

Page 51: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

50

TUTORIAL 7 – Ciclos For…Next

A utilização de ciclos de repetição é muito útil, a repetição de parte do programa num certo

número de vezes, como, por exemplo, no piscar de LEDs. Nestes casos, pode usar-se um

ciclo for…next.

O programa seguinte pisca um LED ligado ao pino de saída 1, 15 vezes. O número de vezes

que será repetido o código é guardado numa variável de uso geral na memória RAM do

PICAXE, utilizando a variável b1 (o PICAXE possui 14 variáveis para usos gerais designadas

b0 a b13). Estas variáveis podem ser renomeadas usando a instrução symbol para nos

lembrarmos mais facilmente.

Exemplo 1

- Contador até 15

symbol contador = b1 „ define a variável b1 como “contador”

symbol LED = 4 „ define o pin 4 com o nome “LED”

principal:

for contador = 1 to 15 „ inicia um ciclo for...next

high LED „ liga o pino 7 alto

pause 500 „ espera 0.5 segundos

low LED „ liga o pino 7 baixo

pause 500 „ espera 0.5 segundos

next contador „ fim do ciclo for...next, repete 15 vezes

end „ fim do programa

Note ainda como os espaços em branco foram usados para tornar mais clara a seqüência de

instruções contidas entre as instruções for e next.

Exemplo 2

- 8 LEDs in a Line

Utilizar 8 saidas do PICAXE 20M para acionar leds. Os resistores em serie com os leds devem

ser de 180 e a tensão de 4,5 ou 5V. Esses resitores produzem um brilho adequado e

corrente que pode ser suportada pelo PICAXE. Com essa montagem podemos criar flash

luminosos de leds e protótipos de luzes de natal.

Aqui está um programa de “flash” em que todos os LEDs estão em seqüência:

LOOPs Ciclos

Instruções PBasic – Comandos e Sintaxe

For…Next

For…Next

Page 52: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

51

symbol led = b0 'define variable "led"

main: for led=0 to 7 'start a for ... next loop

high led 'switch output high. Carrega led com o valor da variav b0

pause 300 'wait for 0.3 second

low led 'switch output low

pause 300 'wait for 0.3 second

next led 'end of for ... next loop

goto main

Exemplo 3

- Ampliando o tempo de pause para 1 minuto

symbol minuto = b1 ' define a variável b1 como “minuto”

symbol time = 7 ' define o pin 7 com o nome time

inicio:

for minuto = 1 to 60 ' fim do ciclo for...next, repete 60 vezes

high time ' liga o pino 7 alto

wait 1 ' espera 1 segundos

next minuto 'contador

low time ' liga o pino 7 baixo

end ' finaliza o programa

Anotações

label Comandos descrição

Page 53: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

52

Tutorial 8 – Usando Entradas Digitais

Sintaxe:

IF variável ?? valor (AND/OR variável ?? valor ...) THEN endereço

Variável(s) é comparada com o valor(s).

Valor é uma variável/constante.

Endereço é uma label (etiqueta) que especifica o endereço para onde saltar se a

condição se verificar (for verdadeira).

?? pode ser qualquer uma das seguintes condições:

= igual a

<> não igual a (diferente)

!= não igual a (diferente)

> maior que

>= maior que ou igual a

< menor que

<= menor que ou igual a

Função:

Compara e efetua salto condicional para uma nova posição no programa.

Informação:

A instrução if … then é usada para testar variáveis de pinos de entradada (ou variáveis

de uso geral) perante certas condições. Se essas condições se verificam o fluxo do

programa continua numa nova localização indicada pela label. Se a condição não se

verifica, a instrução é ignorada e o programa continua na linha seguinte.

No caso de utilização com entradas, deve usar-se a variável de entrada (pin1, pin2, etc.)

e não o nome do pino (1, 2, etc.), isto é a linha deve ser “if pin1 = 1 then…” e não “if 1

= 1 then…”.

A instrução if … then apenas verifica uma entrada na altura em que a instrução é

executada. É portanto normal colocar a instrução if…then dentro de um ciclo do

Input digital

Instruções PBasic – Comandos e Sintaxe

if...then, pulsin, button

if … then

if … and … then

if … or … then

Page 54: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

53

programa que verifica regularmente a entrada. Para mais detalhes sobre como verificar

permanentemente uma condição usando interrupts, veja a instrução setint.

Exemplo:

Teste de uma entrada em um ciclo.

inicio:

if pin0 = 1 then acende „ salta para acende se o pin0 estiver alto

goto inicio

acende:

high 1 „ põe alta a saída 1

pause 5000 „ espera 5 segundos

low 1 „ põe baixa a saída 1

pause 5000 „ espera 5 segundos

goto inicio „ salto incondicional para o inicio

Podem combinar-se múltiplas comparações usando os operadores lógicos AND e OR.

Porta AND de duas entradas

if pin1 = 1 and pin2 = 1 then label

Porta AND de três entradas

if pin1 = 1 and pin2 = 1 and pin3 = 1 then label

Porta OR de duas entradas

if pin1 = 1 or pin2 = 1 then label

Valor analógico dentro de um intervalo

readadc 1, b1

if b1 >= 100 and b1 <= 200 then label

A instrução readadc sera estudada no tutorial 9.

Leitura de todo o porto de uma só vez usando a variável pins

if pins = %10101010 then label

Para ler o porto de entrada e mascarar entradas individuais (por ex. 6 e 7)

Let b1 = pins %11000000

If b1 = %11000000 then label

As palavras is (=), on (1) e off (0) podem tambem ser usadas.

Page 55: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

54

Sintaxe:

PULSIN pino, estado, variável

Pino é uma variável/constante (0-7) que especifica o pino E/S a usar.

Estado é uma variável/constante (0 ou 1) que especifica que flanco deve ocorrer

para se iniciar a medição do impulso – contagem de unidades de 10s (para um

relógio de 4 MHz).

Variável recebe o resultado (1-65536). Se ocorrer timout (0,65536 s) o

resultado será 0.

Função:

Mede a largura de um impulso no pino e guarda o resultado na variável.

Informação:

A instrução pulsin mede a largura de um impulso. Se não ocorrer nenhum impulso, o

resultado será 0. Se estado = 1 então o início da contagem inicia-se numa transição do

sinal de baixo para alto. Se estado = 0 então o início da contagem inicia-se numa

transição do sinal de alto para baixo. Utilize a instrução count para contar o número de

impulsos num determinado período.

Exemplo:

pulsin 3, 1, w1 „ guarda a duração do impulso no pino 3 em w1

SINTAXE:

BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address

►Pin é uma variável/constante (0-7) que especifica o pino de I/O a ser usado.

►Downstate é uma variável/constante que especifica qual estado lógico é lido quando o

botão é pressionado.

►Delay é uma variável/constante (0-255) que especifica quanto tempo o botão precisa ser

pressionado antes que a repetição automática comece. O tempo é medido em ciclos da

rotina Button. O Delay tem dois valores especiais; 0 e 255. Quando for 0, a rotina retorna o

estado do botão sem debounce ou repetição automática. Quando for 255, a rotina faz

debounce, mas não repetição automática.

►Rate é uma variável/constante (0-255) que especifica a taxa de repetição automática. A

taxa é expressa em ciclos da rotina Button.

►Bytevariable é a área de trabalho da rotina. Ela precisa ser apagada antes de ser usada

pela rotina Button pela primeira vez.

►Targetstate é uma variável/constante (0 ou 1) que especifica qual estado o botão tem

que estar para ocorrer o desvio (0=não pressionada, 1=pressionada).

►Address é um label que especifica para onde desviar se o botão estiver no estado

desejado.

BUTTON

PULSIN

Page 56: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

55

Quando você pressiona um botão ou muda uma chave, os contatos fecham ou abrem a

conexão. Um pulso de ruído elétrico ocorre, já que os contatos repicam um contra o outro. A

função debounce previne estes ruídos de serem interpretados como mais de uma ação do

botão. O comando Button permite ao PICAXE responder ao pressionamento de um botão do

mesmo modo que o teclado do PC faz. Quando você aperta uma tecla, o caractere aparece

no monitor. Se você mantém a tecla apertada por um curto periodo de tempo, uma rápida

seqüência de caracteres aparece no monitor. A função repetição automática pode ser

programada para funcionar do mesmo modo.

O comando Button foi criado para ser usada dentro de um loop. A cada interação do loop, o

comando Button checa o estado do pino especificado. Quando ele encontra pela primeira vez

o estado especificado em downstate, o comando elimina o ruído elétrico. Ele então de acordo

com o valor de targetstate, desvia para address (targetstate=1) ou não (targetstate=0). Se

o botão é mantido em downstate, o comando Button conta o número de vezes que o loop

executa. Quando esta contagem chega a delay, o comando executa novamente a ação

especificada por downstate e address. A partir de então, se o botão permanece em

downstate, o comando espera rate número de ciclos entre as ações.

O mais importante a lembrar sobre o comando Button, é que ele não interrompe a execução

do programa. De modo a função delay repetição automática funcionarem, o comando Button

deve ser executado dentro de um loop.

Exemplo1: Este programa toggles (inverte) o estado de um LED no pin 0 quando

' active-low switch on pin 7 is pressed. When the switch is held down, Button

' waits, then rapidly autorepeats the Toggle instruction, making the LED ' flash rapidly. When the switch is not pressed, Button skips the Toggle ' instruction. Note that b2, the workspace variable for Button, is cleared

' before its first use. Don't clear it within the loop.

let b2 = 0 ' Button workspace cleared.

Loop: BUTTON 7,0,200,100,b2,0,skip ' Go to skip unless pin7=0. Toggle 0 ' Invert LED. ... ' Other instructions.

skip: goto Loop ' Skip toggle and go to Loop.

Examplo2:

main:

button 0,0,200,100,b2,0,cont ' jump to cont unless pin0 = 0

toggle 1 ' else toggle input

pause 10

goto main

cont:

... ' Other instructions.

Page 57: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

56

O sensor digital mais simples é um interruptor (microswitch) que possua duas

posições,

ligado (on) e desligado (off):

Exemplos comuns de sensores digitais são:

• microinterruptores

• interruptores de pressão

• interruptores reed

• Teclados

O programa abaixo mostra como usar botões de pressão. Neste programa a saída 4 pisca

cada vez que a entrada 3 é acionada.

inicio: „ cria a label „inicio‟

if pin3 = 1 then flash „ salta se a entrada estiver ligada

goto inicio „ caso contrário volta para „inicio‟

flash: „ cria a label„flash‟

high 4 „ liga a saída 4 (on)

pause 2000 „ wait 2 seconds

low 4 „ desliga a saída 4 (off)

goto inicio „ salto para o início

No programa as três primeiras linhas ficam em ciclo permanente. Se a entrada estiver

desligada (=0) o programa permanece aqui. Se a entrada ficar alta (=1) o programa salta

para a label de nome „flash‟. Nesse caso, a saída 4 liga durante dois segundos e depois

desliga voltando ao início.

Repare-se na sintaxe da linha if…then: pin3 é uma palavra (sem espaços). Isso resulta de

pin3 ser o nome de uma variável que contem o dado do pino de entrada respectivo. Note-se

ainda que após then apenas se coloca a label (localização do ponto para onde o programa

salta), não são permitidas outras variantes.

Podemos combinar os dados de dois ou mais interruptores através dos operadores lógicos

AND ou OR.

Uma porta AND de duas entradas é programada como:

if pin2 = 1 and pin3 = 1 then flash

Uma porta OR de três entradas é programada como:

if pin1 = 1 or pin2 = 1 or pin3 = 1 then flash

Para ler todo o porto de entrada pode escrever-se:

let b1 = pins

ou

b1 = pins

Para isolar pinos individualmente (por ex. 6 e 7) no porto, temos que mascarar a variável

com o operador lógico AND

let b1 = pins & %11000000

Aplicação em interruptores (microswitch)

Page 58: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

57

4 key input

Para a entrada do PICAXE você pode usar uma matriz de 4 chaves. Ele usa os pinos de

entrada 0,1,6,7 na ordem mostrada no layout do PCB. Entrada pino 2 não é usado, mas

está ligado à entrada do bloco central de modo que você pode usar outro switch ou bloco

sensor. Pin 2 pode ter uma entrada analógica para que você possa usar um bloco sensor de

luz ou bloquear outros sensores analógicos. Há um resistor de 1M pull-up indicado na

entrada 2, mas isso não precisa ser usado em muitos casos.

Aqui está um programa que acende um LED correspondente à tecla pressionada:

symbol key1=input1 'rename input

symbol key2=input0

symbol key3=input7

symbol key4=input6

main: if key1=0 then flash1

if key2=0 then flash2

if key3=0 then flash3

if key4=0 then flash4

goto main

flash1: high 1

goto endloop

flash2: high 2

goto endloop

flash3: high 3

goto endloop

flash4: high 4

endloop:

let pins=%00000000 'reset all LEDs

goto main

Exercicios…

Anotações

label comandos descrição

Aplicação em teclados - Keypads

Page 59: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

58

Tutorial 9 – Usando Sensores Analógicos

Sintaxe:

READADC canal, variávelbyte

Canal é uma variável/constante especificando um endereço (0-3). Variávelbyte é uma variável byte (0-255) que recebe os dados lidos.

Função:

Lê um canal ADC (conversão analógico-digital) de 8 bits de resolução. Para uma

variável.

Informação:

A instrução readadc é utilizada para ler um valor analógico de um pino do

microcontrolador. Note que nem todos os pinos possuem esta funcionalidade. No Picaxe-

28X apenas podem ser utilizados os pinos 0, 1, 2 e 3. O valor calculado pelo conversor

A/D possui 10 bits de resolução mas é arredondado para 8 bits. Deve usar-se a instrução

readadc10 para obter um valor de 10 bits.

Exemplo:

inicio:

readadc 1, b1 „ lê tensão analógica presente no canal 1 e converte-o

para

„ valor de 8 bits em b1

if b1 > 50 then flsh „ salta para a subrotina flsh se b1 for maior que 50

goto inicio „ caso contrário salta para o início e repete

flsh:

high 1 „ liga a saída 1

pause 5000 „ espera 5 segundos

low 1 „ desliga a saída 1

pause 5000 „ espera 5 segundos

goto inicio „ salto para o inicio

Um sensor analógico mede um sinal contínuo como a luz, a temperatura ou a posição. O

sensor analógico fornece uma tensão variável contínua. Esta tensão do sinal pode ser

representada por um número no intervalo de 0 a 255 (por ex. escuro=0, luz=255).

Exemplos comuns de sensores analógicos são:

• LDR (Light Dependent Resistor)

• Termistores (resistências variáveis com a temperatura)

• Resistências variáveis (potenciômetros)

Input

analogical

Instruções PBasic – Comandos e Sintaxe

READADC

readadc

Page 60: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

59

Light Dependent Resistor (LDR)

A LDR é bem exemplo de um sensor analógico. Pode ligar-se a uma entrada

ADC do PICAXE28X (pinos ADC0 a ADC3). Note que apenas estas entradas possuem a capacidade de conversão analógico-digital (ADC). O valor de entrada analógica pode ser guardado numa variável através da instrução readadc. O valor da variável (0 a 1024) pode ser então testado. O programa seguinte liga um LED1 se o valor lido for superior a 512 e um LED2 se o valor

for inferior a 128. Para valores entre 128 e 512 ambos os LEDs ficam apagados

main: „ define uma label chamada main readadc 1,b0 „ lê ADC1 para a variável b0

if b0 > 512 then top „ se b0 > 512 vai para top if b0 < 128 then bot „ if b0 < 128 vai para bot low 0 „ caso contrário desliga a saída 0

low 4 „ e a saída 4 goto main „ salta para o início

top: „ define label top

high 0 „ liga a saída 0 (LED1) low 4 „ desliga a saída 4

goto main „ salta para o início

bot: „ define label bot high 4 „ liga a saída 4 (LED2) low 0 „ desliga a saída 0

goto main „ salta para o início

Exercicios....

Anotações

label comandos descrição

Page 61: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

60

Tutorial 10 - Utilização da instrução Debug

Sintaxe:

DEBUG {var}

Var é um valor de variável opcional (por ex. b1). O seu valor não tem significado e é incluído

apenas para compatibilidade com programas mais antigos.

Função:

Mostra informação na janela debug do PC sobre a execução do programa.

Informação:

A instrução debug faz “upload” dos valores de todas as variáveis através do cabo série de

comunicação com o PC, mostrando esses valores numa janela do ecrã. Isso permite ao

programador a detecção de erros e o ajuste de parâmetros do programa.

Note que a instrução debug faz “upload” de uma grande quantidade de dados pelo que

atrasa bastante a execução do programa. Deve-se portanto retirar esta instrução do

programa após a depuração e ajustes.

Para apresentar no ecrã mensagens de utilizador utilize a instrução sertxd.

Exemplo:

loop: debug b1 „ mostra valor

let b1 = b1 + 1 „ incrementa o valor de b1

pause 500 „ espera 0,5 segundos

goto loop „ volta para o início

Quando se usam sensores analógicos é por vezes necessário calcular um valor de referência

(„threshold‟). Isto é, valores como os 128 e 512 do programa tutorial 6.

A instrução debug fornece um modo simples de visualizar “em tempo real”, o valor do

sensor, pelo que o valor de referência pode ser assim calculado experimentalmente.

main: „ define uma label designada main

readadc 1,b0 „ lê o ADC1 para a variável b0

debug b0 „ transmite o valor para o ecrã do PC

pause 500 „ pequeno atraso

goto main „ salta para o início

Assim que este programa é executado, surge na tela do PC uma janela „debug‟ apresentando

os valores de todas as variáveis.

Uso do Debug

Instruções PBasic – Comandos e Sintaxe

DEBUG

debug

Page 62: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

61

À medida que varia a luz incidente sobre o sensor LDR, o valor da variável

mostra o valor lido.

A janela debug abre automaticamente após a transferência de um programa

que contenha a instrução debug. A janela pode ainda ser aberta no menu

PICAXE>Debug menu.

Tutorial 11 – Uso do Terminal Série com a instrução Sertxd

Sintaxe:

SERTXD ({#}data, {#}data…)

Data são variáveis/contantes (0-255) que fornecem dados para serem enviados para a saída.

Função:

Saída série através do pino de download (4800 baud, 8 data bits, no parity, 1 stop bit).

Informação:

A instrução sertxd é semelhante à instrução serout, mas diz respeito ao pino de saída série e

não a um pino genérico de saída qualquer. Isso permite enviar dados de volta ao computador

através do cabo de programação. A instrução pode ser muito útil durante a fase de testes –

visualização dos dados na janela PICAXE>Terminal window. Existe uma opção em

View>Options para abrir automaticamente a janela Terminal a seguir a um download.

A velocidade de transferência (baud rate) está fixa em 4800, n, 8, 1.

Exemplo:

ciclo:

for b1 = 0 to 63 „ início do ciclo

sertxd (“Valor de b1 “, #b1,13,10)

pause 1000

next b1 „ novo ciclo

SERIAL

Instruções PBasic – Comandos e Sintaxe

SERTXD

sertxt

Page 63: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

62

Todas as versões PICAXE suportam a instrução debug. Contudo, as versões M e X também

suportam mensagens série de debug mais complexas através da instrução sertxd, que envia

uma string definida pelo utilizador em série para o computador (a uma baud rate 4800).

As mensagens podem ser visualizadas através da função Serial Terminal (PICAXE>Terminal

menu). O Serial Terminal pode ainda ser aberto sempre que se realiza um download através

do menu View>Options>Options menu.

main: „define a label main

readtemp 1,b0 „lê o canal 1 para a variável b0

sertxd (“O valor e‟ “,#b0,cr,lf)

pause 500 „pequeno atraso

goto main „volta para o inicio

A instrução sertxd transmite a string “O valor e´” seguida

da string ASCII contendo o valor atual da variável b1 (o

prefixo # da variável indica uma string ASCII que

representa o valor correto transmitido). As constantes CR e

LF são valores pré-definidos. (13 e 10) que fazem com que

o terminal série mostre uma linha nova para cada valor, de

modo a atualizar corretamente a tela.

Este programa usa a instrução readtemp para ir mostrando

na tela a temperatura lida por um sensor de temperatura

digital DS18B20, ligado ao canal 1.

Tutorial 12 – Produzindo sons

Sintaxe:

SOUND pino, (nota, duração, nota, duração, …)

Pino é uma variável/constante (0-7) que especifica o pino E/S a usar.

Nota(s) são variáveis/constantes (0-255) que especificam o tipo e a frequência. Nota 0 é silêncio. Notas 1-127 são tons crescentes. Notas 128-255 são ruídos brancos crescentes.

Sound

Instruções PBasic – Comandos e Sintaxe

SOUND

sound

Page 64: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

63

Duração(s) são variáveis/constantes (0-255) que especificam a duração múltiplos

aproximados de 10ms).

Função: Produz sons e ruídos.

Informação:

Esta instrução é destinada a produzir sons audíveis (bips) para jogos e

teclado. Nota e duração devem ser usados na instrução aos pares.

Exemplo:

ciclo:

let b0 = b0 + 1 „ incrementa b0

sound 7, (b0, 50) „ produz tom b0 de duração 0,5s no pino 7

goto ciclo „ vai para ciclo

Os buzzers produzem uma freqüência fixa quando ligados.

Contudo, o sistema PICAXE pode criar som de freqüências diferentes através

da instrução sound com um altofalante piezoelétrico. Todos os chips PICAXE

suportam a instrução sound, que é destinada a produzir “bips” de aviso.

Recomenda-se o seu uso em vez de besouros, que consomem mais corrente.

Exemplo de programa para som:

inicio:

sound 2,(50,100) „ freq 50, duração 100 ms

sound 2,(100,100) „ freq 100, duração 100 ms

sound 2,(120,100) „ freq 120, duração 100 ms

pause 1000 „ espera 1 segundo

goto inicio „ salta para o início

Para testar este programa deve colocar um altofalante piezoelétrico entre o pino de saída

(neste caso a saída 2) e 0V.

O primeiro número indica o número do pino (neste caso a saída 2). O número seguinte

(entre parêntesis) é o tom, seguido da duração. Quanto mais alto for o tom, mais alto será o

som (os valores válidos vão de 0 a 127).

O programa seguinte usa um ciclo for...next para produzir 120 sons diferentes.

main:

for b0 = 1 to 120 „ início de um ciclo for...next

sound 2,(b0,50) „ produz um som de freq b0

next b0 „ ciclo seguinte

end

O número armazenado na variável b0 aumenta de 1 em cada ciclo (1-2-3 etc.)

Portanto, ao usar a variável b0 como tom, a nota vai ser modificada em cada ciclo.

O programa seguinte produz a mesma tarefa mas, agora de trás para a frente, usando o

como valor de step -1 (em vez do valor +1 por omissão do exemplo acima).

main:

for b0 = 120 to 1 step -1 „ contagem decrescente

sound 2,(b0,50) „ produz um som de freq b0

next b0 „ ciclo seguinte

end

Page 65: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

64

Tutorial 13 – Subrotinas

Sintaxe:

return

Função:

Retorno de uma subrotina (procedimento).

Informação:

A instrução return apenas se usa com a respectiva instrução gosub, para retornar do

fim de uma subrotina ao programa principal. O uso de return sem o correspondente

gosub produz uma falha na execução do programa.

Exemplo:

loop:

let b2 = 15 „ atribui 15 ao valor de b2

pause 2000 „ espera 2 segundos (2000 milisegundos)

gosub flsh „ chama procedimento flsh

let b2 = 5 „ atribui 5 ao valor de b2

pause 2000 „ espera 2 segundos (2000 milisegundos)

gosub flsh „ chama procedimento flsh

end „ impede entrada acidental no procedimento

flsh:

for b0 = 1 to b2 „define b2 como número de ciclos

high 1 „ liga a saída 1

pause 500 „ espera 0,5 segundos

low 1 „ desliga a saída 1

pause 500 „ espera 0,5 segundos

next b0 „ fim do ciclo

return „ retorno do procedimento

Program Flow

Instruções PBasic – Comandos e Sintaxe

RETURN, GOSUB, GOTO

Return

Goto – Essa instrução foi abordada no tutorial 2

Page 66: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

65

Sintaxe:

GOSUB endereço

Endereço é uma label (etiqueta) que especifica o endereço.

Função:

Salta para a subrotina (procedimento) localizado no endereço, regressando quando

encontra a instrução return. São permitidas até 16 GOSUBs, podendo ser aninhadas

até 4 níveis.

Informação:

A instrução gosub (ir para um procedimento), é um salto temporário para uma seção

separada do código, de onde regressará, através da instrução return. Cada instrução

gosub, deve ter uma instrução return correspondente.

Não deve confundir esta instrução com a instrução goto, que é um salto incondicional

para uma nova localização no programa.

Os procedimentos ou sub-rotinas, são largamente utilizados na programação para

reduzir o tamanho dos programas, usando secções de código que se repetem num único

procedimento. A passagem de valores para o procedimento por variáveis, permite repetir

a mesma seção de código a partir de várias localizações do programa.

Exemplo1:

loop:

let b2 = 15 „ atribui 15 ao valor de b2

pause 2000 „ espera 2 segundos (2000 milisegundos)

gosub flsh „ chama procedimento flsh

let b2 = 5 „ atribui 5 ao valor de b2

pause 2000 „ espera 2 segundos (2000 milisegundos)

gosub flsh „ chama procedimento flsh

end „ impede entrada acidental no procedimento

flsh:

for b0 = 1 to b2 „define b2 como número de ciclos

high 1 „ liga a saída 1

pause 500 „ espera 0,5 segundos

low 1 „ desliga a saída 1

pause 500 „ espera 0,5 segundos

next b0 „ fim do ciclo

return „ retorno do procedimento

gosub

Page 67: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

66

Exemplo2:

O programa seguinte utiliza duas subrotinas para implementar as duas seções do programa

( „flash‟ e „noise‟).

symbol LED = 4 „ renomeia output4 como „LED‟

symbol buzzer = 2 „ renomeia output2 como „buzzer‟

symbol counter = b1 „ define um contador na variável b1

main: „ cria uma label designada „main‟

gosub flash „ chama subrotina flash

gosub noise „ chama subrotina noise

goto main „ volta para o início

end „ fim do programa principal

flash: „ subrotina flash

for counter = 1 to 25 „ começa o ciclo for…next

high LED „ LED on

pause 50 „ espera 0.05 s

low LED „ LED off

pause 50 „espera 0.05 s

next counter „ continua o ciclo

return „ retorno da subrotina

noise:

high buzzer „ liga o besouro

pause 2000 „ espera 2 segundos

low buzzer „ desliga o besouro

return „ retorno da subrotina

Exemplo3:

Este segundo programa mostra como uma variável pode ser usada para transferir

informação para dentro da subrotina. Neste caso, a variável b2 é usada para dizer ao

microcontrolador para piscar 5 vezes o LED e depois 15 vezes.

symbol LED = 4 „ renomeia output4 como „LED‟

symbol counter = b1 „ define um contador na variável b1

main: „ cria label designada „main‟

let b2 = 5 „ carrega b2 com 5

gosub flash „ chama subrotina flash

pause 500 „ espera

let b2 = 15 „ carrega b2 com 15

gosub flash „ chama subrotina flash

pause 500 „ espera

goto main „ volta ao início

end „ fim do programa principal

flash: „ cria subrotina flash

for counter = 1 to b2 „ inicio do ciclo for…next

high LED „ LED on

pause 250 „ espera 0.25 segundos

low LED „ LED off

pause 250 „ espera 0.25 segundos

next counter „ ciclo seguinte

return „ retorno da subrotina

Page 68: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

67

Tutorial 14 - Usando Interrupts

Sintaxe:

Um interrupt é um caso especial de sub-rotina. A sub-rotina ocorre imediatamente após

verificar-se uma combinação particular dos sinais nas entradas.

Uma polled interrupt é um modo rápido de reagir a uma combinação particular de entradas.

Trata-se do único tipo de interrupt disponível no PICAXE. O porto de entrada é lido entre a

execução de duas instruções, e durante a execução de uma instrução como pause.

Se a combinação de entradas prevista se verificar (verdade), dá-se um „gosub‟ para a sub-

rotina interrupt, que é executada imediatamente. Quando terminar a execução da sub-rotina

dá-se o regresso ao programa principal, na exata localização onde se deu a interrupção.

A condição das entradas que produzem a interrupção é um padrão de „0‟s e „1‟s no porto de

entrada, mascarados pelo byte mask. Portanto, quaisquer bits mascarados com „0‟ no byte

mask serão ignorados.

Por exemplo:

para se produzir um interrupt quando o input1 está alto (high)

setint %00000010,%00000010

para se produzir um interrupt quando o input1 está baixo (low)

setint %00000000,%00000010

para se produzir um interrupt quando o input0 está alto (high), o input1 alto (high) e o input

2 baixo (low)

setint %00000011,%00000111

etc.

Em cada instante apenas pode haver um padrão de entradas ativo (condição a verificar).

Para desativar o interrupt execute a instrução SETINT com o valor 0 como mask byte.

Notas:

1) Qualquer programa que possua uma instrução SETINT deve ter a correspondente sub-

rotina interrupt: (devidamente terminada pela instrução return).

2) Quando se verifica o interrupt, as interrupções ficam desativadas. Portanto, para voltar a

ativar as interrupções deve usar-se a instrução SETINT no fim da sub-rotina interrupt:. A

interrupção não fica ativa senão depois da execução da instrução return.

Interrupt

Instruções PBasic – Comandos e Sintaxe

setint

setint

Page 69: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

68

3) Se a interrupção for reativada e a condição de interrupção não for reinicializada na sub-

rotina, verificar-se-á nova interrupção logo após a execução da instrução return.

4) Após a execução do código constante da sub-rotina interrupt, o programa continua a

executar-se na instrução seguinte do programa principal. No caso de a interrupção se ter

verificado quando da execução de instruções como wait ou pause, o tempo restante é

ignorado e o programa continua na instrução seguinte.

Explicações mais detalhadas sobre a instrução SETINT.

A instrução SETINT deve ser seguida por dois números – um número „a comparar com‟

(input) e uma „máscara de entradas‟ (mask).

É habitual apresentar esses números na forma binária, pois torna mais claro quais os pinos

em questão. No formato binário a entrada7 (input7) fica à esquerda da entrada0 (input0).

O segundo número, a „máscara de entradas‟, define quais os pinos que serão testados para

verificar se a interrupção se deve dar …

- %00000001 testa a entrada no pino 0

- %00000010 testa a entrada no pino 1

- %01000000 testa a entrada no pino 6

- %10000000 testa a entrada no pino 7

- etc.

Podem combinar-se várias condições a verificar em diferentes pinos ao mesmo tempo...

- %00000011 testa as entradas nos pinos 1 e 0

- %10000100 testa as entradas nos pinos 7 e 2

Tendo decidido quais os pinos que vão ser usados para produzir o interrupt, o primeiro

número (valor das entradas) define se queremos que a interrupção ocorra quando esses

pinos fiquem altos (1) ou baixos (0).

Uma vez a instrução SETINT ativa, o PICAXE monitoriza os pinos especificados na máscara

de entrada „input mask‟, onde estão presentes „1‟, ignorando os outros pinos.

Uma máscara de entrada %10000100 verificará os pinos 7 e 2 criando um valor %a0000b00

onde o bit „a‟ será 1 se o pino 7 estiver alto (high) e 0 se estiver baixo (low), e o bit „b‟ será

1 se o pino 2 estiver alto (high) e 0 se estiver baixo (low).

O número „a comparar com‟ (inputs), o primeiro operando da instrução SETINT, é o número

com o qual e valor criado vais ser comparado e, se os dois se igualarem, então ocorrerá o

interrupt, caso contrário não haverá interrupt.

Se „máscara de entradas‟ for %10000100, serão os pinos 7 e 2 testados, pelo que podemos

criar valores „a comparar com‟ do tipo...

- %00000000 Pino 7 = 0 e pino 2 = 0

- %00000100 Pino 7 = 0 e pino 2 = 1

- %10000000 Pino 7 = 1 e pino 2 = 0

- %10000100 Pino 7 = 1 e pino 2 = 1

Assim, se se pretender gerar um interrupt quando o pino 7 ficar alto e o pino 2 ficar baixo, a

máscara a usar será %10000100 e o valor „a comparar com‟ deverá ser %10000000, donde

a sintaxe da instrução SETINT...

Page 70: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

69

- SETINT %10000000,%10000100

O interrupt ocorrerá quando, e apenas quando, o pino 7 ficar alto e o pino 2 ficar baixo.

Exemplo:

setint %10000000,%10000000

„ activa o interrupt quando o pin7 fica alto (high)

loop:

low 1 „ desliga a saída 1

pause 2000 „ espera 2 segundos

goto loop „ volta ao início

interrupt:

high 1 „ liga a saída 1

if pin7 = 1 then interrupt „ fica em ciclo aqui até que a

„ condição desapareça

pause 2000 „ espera 2 segundos

setint %10000000,%10000000 „ reactiva o interrupt

return „ retorno da subrotina

Neste exemplo um LED na saída 1 acenderá imediatamente quando a entrada ficar alta.

Com uma instrução if pin7 =1 then.... o programa poderia ter que esperar até dois segundos

para acender o LED pois a instrução if não é executada durante o tempo de espera produzido

pela instrução pause 2000 do programa principal (o programa standard é apresentado a

seguir para termo de comparação).

loop:

low 1 „ desliga a saída 1

pause 2000 „ espera 2 segundos

if pin7 = 1 then sw_on

goto loop „ volta ao início

sw_on:

high 1 „ liga a saída 1

if pin7 = 1 then sw_on

„ fica em ciclo aqui até que a

„ condição desapareça

pause 2000 „ espera 2 segundos

goto loop „ volta ao programa principal

Page 71: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

70

ANEXO A

DATASHEET PIC16F677 MICROCHIP

Page 72: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

71

Page 73: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

72

Page 74: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

73

Page 75: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

74

Page 76: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

75

Page 77: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

76

Page 78: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

77

Page 79: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

78

Page 80: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

79

Page 81: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

80

ANEXO B - SIMBOLOGIA

Page 82: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

81

ANEXO II Exercicios de fixação PRATICANDO 1

LISTA 1 DE EXERCICIOS DE MICROCONTROLADORES

1) Quais são os itens BASICOS necessários para a utilização do sistema PICAXE?

2) Quais as características mínimas para a instalação do software de programação do

PIC?

3) Quais os valores requeridos de tensão de alimentação, adequados para um perfeito

funcionamento do PICAXE e do Project Board.?

4) Porque não se deve utilizar para alimentação do Project Board baterias de 9V PP3?

5) No caso do sistema ser portátil qual a forma mais adequada de alimentação sugerida

pelo manual?

6) Faça um desenho do integrado PIC 16F677 (PICAXE 20M) e relacione cada pino com

sua função, tentando entender a função de cada um.

7) Desenhe o esquema de ligação do circuito mínimo para gravação e leitura de dados

do PICAXE 20M.

8) Qual a função das resistências de 10 Ke 22 k na ligação do pino 2 do CI PIC

16F677 no circuito de programação?

9) Porque o pino 9 do CI PIC 16F677 não pode ficar em flutuação?

10) Existem diferenças nos valores de alimentação do CI PIC18F14K22 (20X2) para o

PICAXE 20M. Quais são elas?

11) Qual a função do CI ULM 2808?

12) Faça um diagrama do CI ULM 2808 relacionando a função de cada pino desse

integrado.

13) Relacionar o diagrama eletrônico da pagina 12 com a figura do Project board da

pagina 11. Inicialmente explique cada item relacionado abaixo:

a) Banco de resistores RA1 de 10K.

b) Resistores de 22Ke 10K.

c) Pontos de ligação V+ de 0 à 7.

d) Resistor RPD.

e) Resistor RPU.

f) Pontos de ligação 0V.

g) Capacitor C1.

h) Ponto de ligação LK1.

Page 83: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

82

i) Ponto de ligação PZ.

j) Pinos 3,4,5,6,7,8,9,10 do CI 1.

k) Pinos 2, 19 do CI 1.

l) Pinos 11 à 18 do CI1.

m) Pino 1 do CI1.

n) Pino 20 do CI1

o) Pinos de 1 à 8 do CI2.

p) Pinos de 11 à 18 do CI2.

q) Pino 10 do CI2.

r) Pino 9 do CI2.

14) A placa do Project board na pagina 11 esta demarcada por letras relacionadas com a

função de cada item nessa placa. Faça uma relação de cada letra e sua função em

ordem alfabética de A até L.

15) Desenhe o circuito referente à confecção do cabo de download, mostrando detalhes

dos pinos do conector DB9 SERIAL e das ligações no P2.

16) Qual a função dos componentes, mostrados no circuito serie melhorado para

transferência de dados mostrado na pagina 15. Explique a função do resistor de 180 W

e do diodo shottky BAT85.

Page 84: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

83

PRATICANDO 2

Laboratório de medições de tensões na placa de treinamento project board 20M. OBJETIVO: estudo da PCB de microntroladores.

Todas as informações

estão contidas na apostila

de microcontroladores

PICAXE.

Todas as medidas serão

feitas sem o circuito

integrado soquetado na

placa, somente será

medido o valor da tensão

diretamente no conector

do socket.

PRATICANDO:

1- Ligar todos os cabos

conforme o esquema ao

lado. Observe as seqüências de A0...A7 (entradas) e B0...B7.(saídas)

2- Medir cada ponto requerido na tabela I com o voltímetro

e anotar no campo correto.

3- Medir o valor da tensão no pino 10 do ULM 2803, com o

jump e sem o jump. Anotar na tabela II

PIC Com o jump LK1

Sem o jump LK1

PIN 10 (v)

PIN 10 (v)

Voltar o jump para o lugar para continuar as medições.

Page 85: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

84

4- O banco de resistores de 10 k garantem que as entradas do PIC assumam

quais valores?

5- Os resistores RPD e RPU estão ligados a qual

pino do PIC?. Qual a função deles?

Pino:_______ A entrada A0 corresponde à imput 0, assim

proceder com os níveis lógicos requeridos na tabela III e anotar os valores observados nos pontos pedidos na tabela.

6- Medir os pontos nos pinos 19 e 2 do socket do PIC

conforme a tabela III. Essa operação deve ser feita com o

cabo de gravação conctado no PC e o pino conector P2

na placa. Todas as medidas são em relação ao terra.

Preencha tabela IV conforme esta sendo requerido

7- Medir o valor da tensão entre os resistores de

22k e 10 Kpto F, referente ao pino 2 do

PIC. Preencha tabela IV conforme o

requerido.

Níveis de tensão em A0

Pto A Pto B Pto C

H – nível alto

L – nível baixo

F L- em flutuação

PIC CCom cabo de download

SSem o cabo de download

PIN 19 D (v)

PIN 2 E (v)

PIC Com cabo de download

Sem o cabo de download

PPonto F (v)

D

F

E

Page 86: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

85

8- Qual são os valores de tensão no cabo de download nos pontos

requeridos. Preencha a tabela V. Medidas em relação ao GND.

TABELA I medidas em Volts [V] . Todas em relação ao terra

Pinos de entradas do PIC in0...in7 medidos diretamente no socket.

En

trad

as

da

pla

ca

de

A7

...A0

10 9 8 7 6 5 4 3 Descrição da situação

A7 H

L

FL

A6 H

L

FL

A5 H

L

FL

A4 H

L

FL

Ponto a (V)

Ponto b (V)

Ponto c (V)

Page 87: manual PICAXE

Sistema PICAXE 2010 Prof. João Carlos Lazaro

86

A3 H

L

FL

A2 H

L

FL

A1 H

L

FL

A0 H

L

FL