13.07.2015 Views

Manual de Utilização do SMART PIC - Iris.sel.eesc.sc.usp.br

Manual de Utilização do SMART PIC - Iris.sel.eesc.sc.usp.br

Manual de Utilização do SMART PIC - Iris.sel.eesc.sc.usp.br

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Capítulo 11-Instalan<strong>do</strong> o MPLAB1.1 – A<strong>br</strong>a a CD no diretório MPLAB, e clique no arquivo MPLAB66000.EXE.3


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.3 - Selecione I AGREE, e clique em NEXT5


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.5 – Se você <strong>de</strong>sejar criar atalhos para o MPLAB <strong>sel</strong>ecione YES.7


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.6 – Caso você <strong>de</strong>seje que o ícone <strong>do</strong> MPLAB apareça no <strong>de</strong>sktop <strong>sel</strong>ecione YES.8


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.7 – Se você estiver pronto para instalar clique em Next, caso contrário <strong>de</strong> Back e altere asopções pré <strong>sel</strong>ecionadas.9


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.8 – Se você tiver outras instalações <strong>do</strong> MPLAB,e quiser que esta instalação seja a padrãoclique em YES até o update <strong>de</strong> register.10


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.9 – Se você quiser ler os readme files clique em YES, caso contrário <strong>sel</strong>ecione NO.11


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.10. – Clique em YES.12


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.11 Clique em NEXT.13


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.12 – Clique em NEXT, clique em NEXT.14


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>1.13 – Instalação OK, clique em FINISH.15


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>2 - Instalan<strong>do</strong> o Programa<strong>do</strong>r SmartPic software <strong>de</strong> gravação <strong>do</strong> <strong>PIC</strong>.Copie to<strong>do</strong>s os arquivos <strong>do</strong> CD no diretório Programa<strong>do</strong>rSmartPic para seu hard disk (<strong>de</strong>ve ter 4arquivos). Se você não visualizar o arquivos mu<strong>de</strong> as opções <strong>de</strong> visualização <strong>do</strong>s arquivos <strong>do</strong>EXPLORER.Dê duplo clique no arquivo Programa<strong>do</strong>rsmartpic.exe <strong>de</strong>ve aparecer a imagem abaixo.Não esqueça <strong>de</strong> <strong>sel</strong>ecionar o dispositivo coerente.16


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Capítulo 33.1. A<strong>br</strong>in<strong>do</strong> um novo projeto para linguagem assembler.Copie o arquivo comp_ass.asm para o diretório on<strong>de</strong> foi instala<strong>do</strong> o MPLAB.Caso você instalou nodiretório recoman<strong>do</strong> c:\arquivos <strong>de</strong> programas\MPLAB.3.1.1 - Ro<strong>de</strong> o programa MPLAB, clique no Project e sem seguida em New Project....17


3.1.2 – Clique em Next.<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>18


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.1.3 – Selecione o <strong>PIC</strong> correto para o seu projeto clique em Next.3.1.4 – Clique em Next.19


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>20


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.1.5 – Dê um nome ao seu projeto, <strong>sel</strong>ecione a pasta e clique em Next.21


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.1.6 – Selecione um arquivo.asm somente se quiser usar um já existente senão clique em Next como noexemplo.22


3.1.7 – Clique em Finish.<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>23


3.2 – Crian<strong>do</strong> um Novo Programa.Clique em File e em New.<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>24


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.2.1– Digite aqui o seu programa.25


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.2.2 – Após digitar o programa <strong>sel</strong>ecione salvar como, <strong>sel</strong>ecione a pasta correta e dê um nome aoprograma.26


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.2.3 – Adicionan<strong>do</strong> o programa ao seu projeto.Clique com o botão direito no mouse em SORCE FILES e <strong>de</strong>pois com o botão esquer<strong>do</strong> clique em ADDFILES .27


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.2.4 – Adicionan<strong>do</strong> um programa ao projeto.Selecione o arquivo e clique em Open.28


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>3.3 – Compilan<strong>do</strong> o programa.Após a conclusão <strong>do</strong> programa clique em PROJECT e em BUILD ALL para compilar o programa.29


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Capítulo 4Pinagem <strong>do</strong> 16F873/APinagem <strong>do</strong> 16F84/A30


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Capítulo 55. Conhecen<strong>do</strong> os mneumônicos <strong>do</strong> <strong>PIC</strong> – Apenas 35 instruções para apren<strong>de</strong>rVamos começar apresentan<strong>do</strong> uma tabela <strong>de</strong> acesso rápi<strong>do</strong> as instruções <strong>do</strong> <strong>PIC</strong>, nas próximas páginasiremos <strong>de</strong>talhar uma a uma.31


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução adiciona (soma) uma literal aoregistra<strong>do</strong>r W, o valor em W antes da instrução éperdi<strong>do</strong>, pois o resulta<strong>do</strong> é so<strong>br</strong>e<strong>sc</strong>rito em W.Vamos supor que o valor <strong>de</strong> W no momento seja0x10.Exemplo:Antes da instruçãoW=0x10ADDLW 0x15Após a instruçãoW=0x25Nota: a nomenclatura “0x15” indica que o valor seráforneci<strong>do</strong> em hexa<strong>de</strong>cimal ou também po<strong>de</strong>ria sere<strong>sc</strong>rito 15H. Para fornecer o valor em <strong>de</strong>cimalcoloque um ponto na frente. Exemplo .15.O valor 0x15 é diferente <strong>do</strong> .15.Esta instrução adiciona (soma) o conteú<strong>do</strong> <strong>do</strong>registra<strong>do</strong>r W com o registra<strong>do</strong>r ´f´. Se ´d´ for 0, oresulta<strong>do</strong> é envia<strong>do</strong> para W. Se ´d´for 1, o resulta<strong>do</strong>é envia<strong>do</strong> para ´f ´.Vamos supor que o valor <strong>de</strong> W no momento seja0x17 e a variável CONTA <strong>de</strong>clarada anteriormenteno programa seja 0xC2.Exemplo com ´d´ =0:Antes da instruçãoW=0x17, CONTA=0xC2ADDWF CONTA ,0


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução efetua a operação lógica AND (E)entre uma literal o valor no registra<strong>do</strong>r W.Vamos supor que o valor <strong>de</strong> W no momento seja0xA3Antes da instruçãoW=0xA3ANDLW 0x5FApós a instruçãoW=0x03Vamos fazer a operação em binárioW =A3 = 101000115F = 01011111 AND-------------------W =03 = 00000011Esta instrução efetua a operação lógica AND (E)entre uma variável (registra<strong>do</strong>r ´f´) e o registra<strong>do</strong>rW. Se ´d´ for 0, o resulta<strong>do</strong> é envia<strong>do</strong> para W. Se´d´for 1, o resulta<strong>do</strong> é envia<strong>do</strong> para ´f ´.Vamos supor que o valor <strong>de</strong> W no momento seja0x17 e a variável CONTA <strong>de</strong>clarada anteriormenteno programa seja 0xC2.Exemplo com ´d´ =0:Antes da instruçãoW=0x17 , CONTA=0xC2ANDWF CONTA ,0


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução é uma das mais importantes, pois elapo<strong>de</strong> atuar diretamente nos PORTS no <strong>PIC</strong>, portantoela po<strong>de</strong> ligar ou <strong>de</strong>sligar algo que esteja liga<strong>do</strong> nopino <strong>do</strong> <strong>PIC</strong>.Esta instrução po<strong>de</strong> ainda atuar em uma variável<strong>de</strong>clarada anteriormente no programa CONTA,supon<strong>do</strong> CONTA 0x08.Exemplo ligan<strong>do</strong> um led


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>BTFSC, Testa um Bit <strong>de</strong> um PORT ou <strong>de</strong> umavariável e pula a instrução imediatamente abaixocaso o bit esteja em 0, muito utilizada para testar seum botão esta aperta<strong>do</strong> ou não.Exemplo testan<strong>do</strong> um botão


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>BTFSS, Testa um Bit <strong>de</strong> um PORT ou <strong>de</strong> umavariável e pula a instrução imediatamente abaixocaso o bit esteja em 1, muito utilizada para testar seum botão esta aperta<strong>do</strong> ou não.Exemplo testan<strong>do</strong> um botão


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução efetua chamada <strong>de</strong> su<strong>br</strong>otinaEx: O programa é <strong>de</strong>svia<strong>do</strong> para o en<strong>de</strong>reço indica<strong>do</strong>e é soma<strong>do</strong> 1 ao Aponta<strong>do</strong>r para o retorno dasu<strong>br</strong>otina.Call LER_EEPROM ; supon<strong>do</strong> que esteja noen<strong>de</strong>reço 19H então será salvo no Aponta<strong>do</strong>r 20Hque será a linha <strong>de</strong> retorno da su<strong>br</strong>otina.LER_EEPROMReturn; Su<strong>br</strong>otina chamada; retorno da su<strong>br</strong>otina.OBS: O retorno <strong>de</strong> su<strong>br</strong>otina será estuda<strong>do</strong> adiante.Esta instrução zera o registro f.Ex : Temos um ´f ´<strong>de</strong>clara<strong>do</strong> como, VALORAntes da instruçãoVALOR=FAHCLRFVALORDepois da instrução VALOR ficará igual a Zero e obit Z <strong>de</strong> STATUS, ficará igual a 1.37


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução zera o registra<strong>do</strong>r W.Ex : Temos com exemplo antes W estava igual a02HAntes da instruçãoW=02HCLRWDepois da instrução W ficará igual a Zero e o bit Z<strong>de</strong> STATUS, ficará igual a 1.Esta instrução reseta o Watch Dog.Ex : O registro <strong>de</strong> Watch Dog será zera<strong>do</strong>, assimcomo o registro <strong>do</strong> pre<strong>sc</strong>aler ( se estiver direciona<strong>do</strong>ao Watch Dog). BITS TO\ e PD\ são seta<strong>do</strong>s.CLRWDTApós a instrução o registro <strong>de</strong> Watch Dog queestava contan<strong>do</strong> volta a zero 0, e se estiver usan<strong>do</strong>pre<strong>sc</strong>aler, seu registro também será zera<strong>do</strong>.Importante: Se o Watch Dog estiver habilita<strong>do</strong>, estainstrução <strong>de</strong>verá ser executada <strong>de</strong> tempos em tempospelo programa, para evitar o Time_Out <strong>do</strong> registro<strong>do</strong> Watch Dog e conseqüentemente o reset <strong>do</strong>sistema.38


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução Inverte os bits <strong>de</strong> “f”.Ex : To<strong>do</strong>s os bits <strong>de</strong> “f” um a um serão inverti<strong>do</strong>s,O que era 0 ficará 1 e vice versa.CLRWDTApós a instrução o registro <strong>de</strong> Watch Dog queestava contan<strong>do</strong> volta a zero 0, e se estiver usan<strong>do</strong>pre<strong>sc</strong>aler, seu registro também será zera<strong>do</strong>.Importante: Se o Watch Dog estiver habilita<strong>do</strong>, estainstrução <strong>de</strong>verá ser executada <strong>de</strong> tempos em tempospelo programa, para evitar o Time_Out <strong>do</strong> registro<strong>do</strong> Watch Dog e conseqüentemente o reset <strong>do</strong>sistema.Esta instrução diminui em 1 a quantida<strong>de</strong>armazenada em f.Ex : Temos com exemplo antes f estava igual a 04HSe d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.f= VALORVALOR=04HAntes da instrução<strong>de</strong>cfVALOR,1Depois da instrução “f” ficará igual a 03H.39


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução diminui em 1 a quantida<strong>de</strong>armazenada em f. E se f = 0 pula a próximainstrução se não executa a próxima instrução.Ex : Temos com exemplo antes f estava igual a 01HSe d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.f= VALORVALOR=01HAntes da instrução<strong>de</strong>cfsz VALOR,1 ; valor=valor-1goto Mais ; como valor=0 pulagoto Menos ; executa esta instruçãoSe usarmos <strong>de</strong>cfsz VALOR,0 a operação será W=VALOR – 1 e o resulta<strong>do</strong> será salvo em W.40


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução <strong>de</strong>svia para o en<strong>de</strong>reço K.Este é um <strong>de</strong>svio incondicional indica<strong>do</strong> por K ouseja não <strong>de</strong>pen<strong>de</strong> <strong>de</strong> nenhuma condição.Ex : Temos o trecho <strong>de</strong> programa abaixoInicio..................LimpaMOVLW 10H ; move 10h para WGOTO Limpa ; <strong>de</strong>svia para LimpaCLRW; limpa WGOTO Inicio ; <strong>de</strong>svia para InicioEsta instrução soma 1 a quantida<strong>de</strong> armazenada emf.Ex : “f”=(‘f’+1)Temos com exemplo antes f estava igual a 04HSe d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.f= VALORVALOR=04HAntes da instruçãoINCFVALOR,1Depois da instrução “f” ficará igual a 05H.41


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução soma 1 a quantida<strong>de</strong> armazenada emf. E se f = 0 pula a próxima instrução se não executaa próxima instrução.Ex : Temos com exemplo antes f estava igual a FFHSe d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.f= VALORVALOR=FFHAntes da instruçãoincfsz VALOR,1 ; valor=valor-1goto Mais ; como valor=0 pulagoto Menos ; executa esta instruçãoSe usarmos <strong>de</strong>cfsz VALOR,0 a operação será W=VALOR + 1 e o resulta<strong>do</strong> será salvo em W.42


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução realiza a operação OR entre oconteú<strong>do</strong> <strong>de</strong> W e uma constante K.Ex : Temos W=96HA intrução IORLW 17H resultará em W=97HW=96H= 100100110OR 17H= 0001011110010111Esta instrução realiza a operação OR entre oconteú<strong>do</strong> <strong>de</strong> W e o conteú<strong>do</strong> <strong>de</strong> “f” .Se d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.Ex : Temos W=96HVALOR=16HA intrução IORLW VALOR,1 resultará em W=9EHW=96H= 100100110OR 18H= 000110001001111043


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução move o conteú<strong>do</strong> da constante K paraW.Ex : Temos 16H como constante.MOVLW16HResultará em W=16HEsta instrução move o conteú<strong>do</strong> <strong>de</strong> “f” para o<strong>de</strong>stino d.Se d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.Ex : Temos W=96HVALOR=16HMOVFVALOR,0Resultará em W=16H44


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução move o conteú<strong>do</strong> <strong>de</strong> W para “f”.“f”=WEx : Temos 16H em W.MOVWFVALORResultará em VALOR=16HEsta instrução é <strong>de</strong> nenhuma operação, apenas per<strong>de</strong>um ciclo <strong>de</strong> máquina.Ex :MOVLW 16H ; move 34h para WNOP; per<strong>de</strong> 1 ciclo.MOVF VALOR,0 ; W = VALOR45


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução é usada para fazer um retorno <strong>de</strong>interrupção. O en<strong>de</strong>reço <strong>de</strong> retorno é recupera<strong>do</strong> noSTACK e o bit GIE é seta<strong>do</strong>.Ex :MOVLW 16H ; move 34h para WNOP; per<strong>de</strong> 1 ciclo.RETFIE; Retorno <strong>de</strong> Interrupção46


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução é usada para retorno <strong>de</strong> su<strong>br</strong>otina comW=K (constante).O en<strong>de</strong>reço <strong>de</strong> retorno é recupera<strong>do</strong> no STACK.Ex :MOVLW 16H ; move 16H para WNOP; per<strong>de</strong> 1 ciclo.RETLW 01H ; W = 1 e retorna47


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução é usada para retorno <strong>de</strong> su<strong>br</strong>otina.O en<strong>de</strong>reço <strong>de</strong> retorno é recupera<strong>do</strong> no STACK.Ex :MOVLW 16H ; move 16H para WNOP; per<strong>de</strong> 1 ciclo.RETURN; retorna da su<strong>br</strong>otina.Importante Stack total <strong>de</strong> oito níveis.Esta instrução rotaciona à esquerda pelo carry. Ovalor no registro <strong>de</strong> “f” é rotaciona<strong>do</strong> em um bit paraa esquerda, passan<strong>do</strong> pelo carry.OBS: Bit afeta<strong>do</strong> C.Se d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.Ex :VALOR=00110011 e C=1RLFVALOR,1Após a instruçãoVALOR = 01100111 e C=048


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução rotaciona à direita pelo carry. O valorno registro <strong>de</strong> “f” é rotaciona<strong>do</strong> em um bit para adireita, passan<strong>do</strong> pelo carry.OBS: Bit afeta<strong>do</strong> C.Se d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.Ex :VALOR=00110011 e C=1RLFVALOR,1Após a instruçãoVALOR = 10011001 e C=1Esta instrução SLEEP o o<strong>sc</strong>ila<strong>do</strong>r para e o WatchDog e o Pre<strong>sc</strong>aler são zera<strong>do</strong>s.Ex :SLEEPEsta instrução é muito utilizada quan<strong>do</strong> se necessita<strong>de</strong> baixo consumo <strong>do</strong> sistema pois nessa condição omicro consume na or<strong>de</strong>m <strong>de</strong> micro ampéres.49


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução é utilizada quan<strong>do</strong> se <strong>de</strong>seja SubtrairW <strong>de</strong> uma constante K.W=K-WRegistros afeta<strong>do</strong>s: C, DC, Z.Ex 1:Temos W =1HSUBLW 2H ; resultará W=2-1 = 1 C=1 (+)Ex 2:Temos W =3HSUBLW 2H ; resultará W=2-3 = -1 C=0 (-)50


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução é utilizada quan<strong>do</strong> se <strong>de</strong>seja SubtrairW <strong>de</strong> um regitro “f”.W = f - WRegistros afeta<strong>do</strong>s: C, DC, Z.Ex 1:Temos W =1H e VALOR=0SUBWF VALOR,1 ; resultará W=0-1 = -1C=0 (-)Ex 2:Temos W = 0H e VALOR=FFHSUBWF VALOR,1 ; resultará W=ff-0 = ffC=1 (+)51


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução troca os nibles <strong>de</strong> f. O registro <strong>de</strong> ftem seus bits troca<strong>do</strong>s <strong>do</strong> 7 ao 4 troca<strong>do</strong>s pelos <strong>do</strong> 3ao 0.Se d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.Ex:Temos VALOR = 25HSWAPF VALOR,0 ; resultará VALOR =52HEsta instrução XOR entre o conteú<strong>do</strong> <strong>de</strong> W e “f”.Se d= 1 o resulta<strong>do</strong> será salvo em f.Se d= 0 o resulta<strong>do</strong> será salvo em W.Ex:Temos VALOR = 52HW= 52HXORWF VALOR,0 ; resultará em W = 052


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Esta instrução XOR entre o conteú<strong>do</strong> <strong>de</strong> W e oconteú<strong>do</strong> <strong>de</strong> uma constante K.Ex:Temos W= 10101101XORLW 3AH ; resultará em W = 97H53


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Capítulo 66 – Ao a<strong>br</strong>ir o Programa<strong>do</strong>r Smart <strong>PIC</strong> <strong>sel</strong>ecione o <strong>PIC</strong> correto para a gravação em Dispositivo na telaprincipal.54


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>6.2 – A<strong>br</strong>in<strong>do</strong> um . HEX para a gravação.Clique em Arquivo-> A<strong>br</strong>ir e <strong>sel</strong>ecione o diretório que contenha o arquivo que <strong>de</strong>verá ser grava<strong>do</strong> no<strong>PIC</strong>. Após isto clique em OPEN.55


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>6.2 – Após o programa ter si<strong>do</strong> carrega<strong>do</strong> clique em Opções e em gravar o <strong>PIC</strong> ou use a tecla <strong>de</strong> atalho.AAAApós a gravação aparecerá a mensagem <strong>de</strong> “<strong>PIC</strong> programa<strong>do</strong> com sucesso”56


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Capítulo 77 . Conhecen<strong>do</strong> a placa.Ao ligar a chave principal o LED D1 <strong>de</strong>verá permanecer aceso.• Quan<strong>do</strong> estiver programan<strong>do</strong> o LED D8 <strong>de</strong>verá estar aceso.• Os <strong>PIC</strong>s 16F84, 16F84A, 16F628, <strong>de</strong>vem ser conecta<strong>do</strong>s ao ponto MIC3.• Os <strong>PIC</strong>s 16F873 e 16F873A, <strong>de</strong>vem ser conecta<strong>do</strong>s ao ponto MIC2.• Os <strong>PIC</strong>s 16F877 e 16F877A, <strong>de</strong>vem ser conecta<strong>do</strong>s ao ponto MIC1.• NUNCA LIGUE DOIS UMA MAIS <strong>PIC</strong>s SIMULTANEAMENTE.• Os <strong>PIC</strong>s 16F84, 16F877 e 16F877A apenas gravam, as entradas e saídas nãofuncionam com estes <strong>PIC</strong>s.57


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>7.1 - Configuração das PORTAS <strong>de</strong> entrada e saída para o <strong>PIC</strong> 16F84/A.PORT PINO ConfiguraçãoRA0 17 Entrada Digital BT2 (CH2)RA1 18 Entrada Digital BT1 (CH1)RA2 01 Entrada Digital BT3 (CH3)RA3 02 Entrada Digital BT4 (CH4)RA4 03 Saída Digital LED1 (D9)RB0 06 Entrada Digital BT5 (CH5)está no INT (interrupção)<strong>do</strong> 16F84/ARB1 07 Saída Digital LED4 (D12)RB2 08 Saída Digital LED3 (D11)RB3 09 Saída Digital LED2 (D10)RB4 10 Saída Digital LED5 (D13)RB5 11 Saída Digital LED6 (D14)RB6 12 Saída Digital LED7 (D15)RB7 13 Saída Digital LED8 (D16)7.2 - Configuração das PORTAS <strong>de</strong> entrada e saída para o <strong>PIC</strong> 16F873/A.PORT PINO ConfiguraçãoRA0 02 Entrada AnalógicaRA1 03 Entrada Digital BT1 (CH1)RA2 04 Entrada Digital BT2 (CH2)RA3 05 Entrada Digital BT3 (CH3)RA4 06 Entrada Digital BT4 (CH4)RA5 07 Entrada Digital BT5 (CH5)RB0 21 Saída <strong>sel</strong>eção display 1RB1 22 Saída <strong>sel</strong>eção display 2RB2 23 Saída <strong>sel</strong>eção display 3RB3 24 Saída <strong>sel</strong>eção display 4RB4 25 Saída BCD para DisplayRB5 26 Saída BCD para DisplayRB6 27 Saída BCD para DisplayRB7 28 Saída BCD para DisplayRC0 11 Saída Digital LED8 (D16)RC1 12 Saída Digital LED7 (D15)RC2 13 Saída Digital LED6 (D14)RC3 14 Saída Digital LED5 (D13)RC4 15 Saída Digital LED4 (D12)RC5 16 Saída Digital LED3 (D11)RC6 17 Saída Digital LED2 (D10)RC7 18 Saída Digital LED1 (D9)Se você quer enviar para o display1 o valor 2 em <strong>de</strong>cimal,<strong>sel</strong>ecione o display através <strong>do</strong>s bits RB0 até RB3 (0001), eenvie o valor 2 em binário através <strong>do</strong>s bits RB4 até RB7 (0010).Resumo(RB0 ....RB3):0001 – <strong>sel</strong>eciona display 10010 – <strong>sel</strong>eciona display 20100 – <strong>sel</strong>eciona display 31000 – <strong>sel</strong>eciona display 4RB4 ... RB70000 – envia 0 <strong>de</strong>cimal para o display <strong>sel</strong>ecciona<strong>do</strong>0001 – envia 1 <strong>de</strong>cimal para o display <strong>sel</strong>ecciona<strong>do</strong>0010 – envia 2 <strong>de</strong>cimal para o display <strong>sel</strong>ecciona<strong>do</strong>0011 – envia 3 <strong>de</strong>cimal para o display <strong>sel</strong>ecciona<strong>do</strong>e assim sucessivamente.58


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>7.3 - Conector CN2 (conector <strong>de</strong> entradas remotas)Nota importante: Quan<strong>do</strong> for utilizar as entradas pelo conector DB9 retirar o jumper J1. Parautilizar as entradas remotas basta colocar uma chave NA (normal aberta) fechan<strong>do</strong> GND com aentrada <strong>de</strong>sejada.Pin Out DB9 Função1 GND2 CH53 CH44 CH35 CH26 +5Vcc7 Entrada Analógica (RA0 pino 2 <strong>do</strong> <strong>PIC</strong> 16F873/A)Importante: nunca coloque neste pino uma tensão maiorque +5Vcc.8 CCP (capture compare) pino 13 <strong>do</strong>16F873/A.Quan<strong>do</strong> utilizar este pino retirar o jumper (J4),e então este pino se tornará uma entrada.Importante: não se esqueça <strong>de</strong> configurar corretamenteo PORT para entrada.9 CH17.4 - Conector CN3 (conector <strong>de</strong> saídas remotas e comunicação serial)Pin Out DB25 <strong>PIC</strong> 16F84/A <strong>PIC</strong> 16F873/A1 RB0 pino 222 RB4 pino 253 RB0 pino 214 RB3 pino 245 RB2 pino 236 RA4 pino 3 RC0 pino 117 RB3 pino 9 RC1 pino 128 RB2 pino 8 RC2 pino 139 RB1 pino 7 RC3 pino 1410 RB4 pino 10 RC4 pino 1511 RB5 pino 11 RC5 pino 1612 RB6 pino 12 RC6 pino 1713 RB7 pino 13 RC7 pino 1814 RB5 pino 2615 RB6 pino 2716 RB7 pino 2817,18 e19 +5Vcc20, 21,22 e 23 GND24 RX – Comunicação serial RS23225 TX – Comunicação serial RS23259


7.5 - Configuração <strong>do</strong>s Jumpers<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>Jumper FunçãoPosiçãoJ1 Desabilita/ Habilita entradas digitais mo<strong>do</strong> local.CH1 à CH5Se J1 inseri<strong>do</strong> <strong>sel</strong>eciona mo<strong>do</strong> local se não<strong>sel</strong>eciona mo<strong>do</strong> remoto.J2 Seleciona entrada analógica local/ remota Se inseri<strong>do</strong> fechan<strong>do</strong> os pinos mais acimaanalógica mo<strong>do</strong> local. Se inseri<strong>do</strong> fechan<strong>do</strong>os pinos mais abaixo analógica mo<strong>do</strong> remotopelo conector CN2 (pino 7)J3Seleciona entrada para comunicação RS232 ousaída digital.Se inseri<strong>do</strong> mais a direita <strong>sel</strong>eciona entradapara comunicação serial (RC7 pino 18 <strong>PIC</strong>16F873/A). Se inseri<strong>do</strong> mais à esquerda<strong>sel</strong>eciona saída digital.J4 Seleciona entrada capture compare Se inseri<strong>do</strong>, saída digital, senão <strong>sel</strong>ecionacomo entrada para Capture Compare conectorCN2 pino 8 .J5 Desligar/ ligar o display 7 segmentos. Se inseri<strong>do</strong> liga o display 7 segmentos, senãoo mantém <strong>de</strong>sliga<strong>do</strong>.Importante: Sempre que for utilizar assaídas que comandam o display, paracomutar cargas remotas, retire este jumperpara não so<strong>br</strong>ecarregar o circuito.60


<strong>Manual</strong> <strong>de</strong> Utilização <strong>do</strong> <strong>SMART</strong> <strong>PIC</strong>7.6 – Conexão <strong>do</strong> KIT com o computa<strong>do</strong>rO cabo que acompanha o kit <strong>SMART</strong> <strong>PIC</strong> II <strong>de</strong>ve ser conecta<strong>do</strong> ao CN1 e o la<strong>do</strong> DB25 <strong>de</strong>ve serconecta<strong>do</strong> na porta paralela <strong>do</strong> computa<strong>do</strong>r (figura abaixo).61

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!