Home
        Apostila sobre Introdução ao Projeto com Microcontroladores e
         Contents
1.                16 x BaudeRate      1 seo bit BRGH   0  FPBDIV  UxBRG Rose 4 x BaudeRate  1 bit BRGH  1       _____ x        x FPBDIV   audeRate  se o bi    Ex   Para um PIC de 8MHz  prescaler de 2  se BRGH 0 e desejarmos um Baud rate de 9600bps  temos que configurar  U2BRG   25     BRGH 0     U2BRG    8000000 2   16 9600  1    UxMODE  Esse registrador e respons  vel por    Habilitar  n  vel logico    1     ou desabilitar  nivel l  gico    0     a UART atrav  s do bit  UxMODEbits UARTEN  UART ENable   O bit UxMODEbits UEN serve para habilitar desabilitar  a transmiss  o recep    o da UART separadamente    Ex     U2MODEbits UARTEN   1     Habilita UART2   U2MODEbits UEN   0     TX e RX habilitados  CTS  UART Clear to Send  e RTS  Request to  Send  controlados via hardware  MAX232     Habilitar  n  vel l  gico    1     ou desabilitar  nivel l  gico    0     o Auto Baude Rate atrav  s do  bit UZMODEbits ABAUD   Auto Baud Enable Bit      Configurar o modo de velocidade do baud rate atrav  s do bit UZMODEbits BRGH  N  vel  l  gico    1    define o modo em alta velocidade e n  vel l  gico    0    define o modo de velocidade  padr  o  Esse bit e utilizado pelo registrador UxBRG para configura    o do baud rate     Configurar o modo de transmiss  o de dados na UART atrav  s dos bits PDSEL  Parity and  Data Selection Bits  e STSEL  Stop Selection Bit      Ex   UZMODEbits PDSEL   0     8 bits de dados  sem paridade  U2MODEbits STSEL   0     1 stop bit    UxSTA  Esse registrador e respon
2.         IM   05  pic32 g  ined        if  Botao 3  Led3   1    TESTE BOT  O 3  else Led3   0   if  Botao_4  Led4   TESTE BOTAO 4  else Led4   0        H       pc 0x9d0000Fc 80 MHz Ln 65  Col1 INS WR  Figura 84 Step Into    Basicamente o programa n  o entra na linha else porque as vari  veis Botao 1  Botao 2   Botao 3 e Botao 4 est  o com o valor  0  e  ao se fazer a nega    o  viram  1  na express  o avaliada  pelo ife por isso o programa nunca entra na linha else     Desta forma podemos inferir que os PORTs RD6  RD7  RA7 e RD13  representados pelos  bot  es  est  o com n  vel l  gico zero e os PORT RAO RA3  representados pelos LEDs  est  o em  n  vel l  gico  1  haja visto que o programa sempre entra na linha if     96    Watchpoint    Para comprovar o que foi dito podemos utilizar um recurso oferecido pelo MPLAB   SIM no  qual    poss  vel verificar o estado de todos os registradores do PIC bem como as vari  veis  declaradas no programa  Este recurso    denominado Watchpoint     Para abrir o watch window v   em     View  gt  gt  Watch        Na janela que se abriu existem dois campos  Com o da direita  Add SFR     poss  vel  adicionar os registradores que se queira observar  Com o campo da esquerda  Add Symbol      poss  vel adicionar as vari  veis criadas no programa     Por instante selecione PORTA e PORTD em Add SFR  Add Special Function Registers   para visualizar o estado dos bits correspondentes aos bot  es e LEDs  Clicando com o segundo bot  o  do mouse    poss  vel 
3.      O   ltimo aspecto  apresenta    o do resultado da convers  o  determina quantos bits ser  o  utilizados para a convers  o  para o conversor A D do PIC32MX360F512 podemos escolher entre  16 ou 32 bits   se o resultado ser   sinalizado ou n  o e ainda se ele ser   armazenado nos bits mais  significativos ou nos bits menos significativos do registrador     No PIC32MX360F512 os canais de convers  o AD s  o pinos representados pela sigla ANx   onde x representa o n  mero do canal para convers  o  0 15      importante ressaltar que esses pinos  podem ser utilizados para outras tarefas diferentes que n  o uma convers  o AD  Por exemplo  o pino  25 do PIC32MX360F512 denominado    PGDI EMUDI ANO CN2 RB0    pode ser utilizado como   canal de comunica    o para o debugger in circuit  PGD1   canal de comunica    o para o emulador in  circuit  EMUD1   conversor anal  gico digital  ADO   interrup    o  CN2  ou ainda simplesmentes  como um pino para comunica    o digital  RBO      Compreendido que os canais de convers  o A D est  o associados a pinos espec  ficos do PIC   que a quantidade e localiza    o dos conversores variam conforme o microcontrolador utilizado e   tendo em vista que o PIC32MX360F512 trabalha com o m  todo de aproxima    es sucessivas e  possui 10 bits para convers  o passaremos para a explica    o de como    feita a convers  o do sinal     Quando o sinal anal  gico    inserido no pino correspondente do conversor existe um circuito  denominado Sample and Hold  amost
4.     UNIVERSIDADE FEDERAL DE MINAS GERAIS  AULA 6   COMUNICACAO SERIAL VIA RS232  DIGITE A SENHA      SENHA CORRETA    NUM   Capturar   Eco de impress  o    Figura 66 Senha correta                       Arquivo Editar Exbi Chamar Transferir Ajuda          De eos 025 E          UNIVERSIDADE FEDERAL DE MINAS GERAIS  LA 6   COMUNICACAO SERIAL VIA RS232   DIGITE A SENHA      SENHA INVALIDA   Tentativa 1 de 3   SENHA INVALIDA   Tentativa 2 de 3   SENHA INVALIDA   Tentativa 3 de 3   ALARME                      00 00 11 conectado Detecouto    96008 N 1 SOL  CAPS  Mm   Capturar   Eco de impress  o                Figura 67 Senha incorreta       80    7 7  Aula 7     Configuracao do Perif  rico de Modulacao de Largura  de Pulsos  PWM      Objetivo  Aprender a configurar e programar o perif  rico PWM     Refer  ncias        Datasheet PIC32MX3XX 4XX dispon  vel no CDI em    Datasheets  gt  gt  PIC32     Cap  tulo  16 0  Output Compare       Aula3     Introdu    o    A modula    o PWM possui v  rias aplica    es dentre as quais podemos citar os conversores  est  ticos de pot  ncia nos quais a partir da abertura e fechamento de chaves pode se controlar o  fluxo de pot  ncia entre da fonte    carga  Outra aplica    o tamb  m bastante comum    o controle de  motores de passo utilizados em impressoras como exemplo     Para gerar um sinal PWM precisamos do sinal modulante e do sinal da portadora  A  portadora    uma onda do tipo dente de serra com amplitude e fregii  ncia bem definidas  A onda 
5.    Fa  a um cron  metro de segundos e minutos com contagem de tempo progressiva  Fa  a com que o  usu  rio possa definir um valor qualquer de entrada para os minutos e segundos maior ou igual a  Zero     Dica  Utilize uma temporiza    o de 1 segundo  haja visto que essa    a menor unidade de medida  temporal necess  ria para a atividade     61    7 5  Aula 5     Configura    o de Conversores Anal  gicos Digitais   Conversores A D     Objetivo  Programa    o e uso de conversores anal  gico digitais para aquisi    o de sinais anal  gicos     Refer  ncias        Datasheet PIC32MX3XX 4XX dispon  vel no CDI em    Datasheets  gt  gt  PIC32     Cap  tulo  22 0  Analog Digital Converter       Aula pr  tica 1       Aula pr  tica 2       Aula pratica 3       Aula pratica 4    Introdu    o    A maior parte dos fen  menos f  sicos da natureza s  o representados por grandezas f  sicas que  descrevem quantitativamente a sua varia    o de forma cont  nua em fun    o do tempo  A esses sinais  denominamos sinais cont  nuos ou sinais anal  gicos     Um sinal discreto    uma s  rie temporal que consiste de uma sequ  ncia de quantidades  uma  fun    o sobre o dom  nio de inteiros discretos  Cada valor da sequ  ncia    chamado de amostra   Diferente do sinal cont  nuo  um sinal discreto n  o    uma fun    o de um argumento cont  nuo   Entretanto  a fun    o pode ter sido obtida atrav  s da amostragem de um sinal cont  nuo  Uma forma  de se obter um sinal discreto    a aquisi    o de valores de um
6.    Licensee     and Microchip  Technology Incorporated  a Delaware corporation  with its principal place of  business at 2355 W  Chandler Bivd   Chandler  AZ 85224 6199  and its  subsidiary  Microchip Technology  Barbados  Incorporated  collectively      Company    for the Company s MPLAB C32 C Compiler software  accompanying this Agreement     Software     and accompany documentation         do not accept the terms of the license agreement            Figura 14 MPLAB   IDE     termo de compromisso 3       Revise se o diret  rio bem como os componentes a serem instalados est  o corretos  Caso  esteja tudo ok clique em next para iniciar a instala    o   Figura 15     15    Neuse Tee    Start Copying Files    Review settings before copying files  KX MICROCHIP    Setup has enough information to start copying the program files  If you want to review or    change any settings  click Back  If you are satisfied with the settings  click Next to begin  copying files     Current Settings        Destination Directory   C  Program FilestMicrochip     Setup type selected  Complete  Components selected   Serial Memory Devices  8 bit MCUs and KeeLog devices   16 bit MCUs and DSCs  32 bit MCUs  REAL ICE CMD    4    InstallShield       Figura 15 MPLAB   IDE      revis  o da instala    o          oust Toor DS    Setup Status    KX MICROCHIP       MPLAB Tools v8 40 is configuring your new software installation     C 4    Microchip T hird PartySPICCDrivers internal_eeprom c    ee           Figura
7.    es de n  vel  de sinal l  gico de O para 1 e de 1 para O aplicada ao pino RD6  representado pelo pressionar do  bot  o no kit   enquanto que o LED 3 ainda deve esperar o programa executar os quatro loops for  para acender     42    Atividade 2    Modifique o programa da Atividade 1 b para que a ocorr  ncia de uma transi    o de O para 1  fa  a o LED 1 da placa acender e o LED 2 apagar e que uma transi    o de 1 para O fa  a o LED 2  acender e o LED 1 apagar     Atividade 3    Habilite dois canais de interrup    o  CN15 e CN16   Crie  dentro da rotina de interrup    o   um algoritmo capaz de distinguir qual dos dois canais foi o respons  vel pela chamada de  interrup    o    Seu programa dever   executar uma tarefa  acender LED  diferente para cada um dos canais   CN15 ou CN16  somente na transi    o de n  vel l  gico O para n  vel l  gico 1     43    7 3  Aula 3   Configura    o de Perif  ricos Contadores   Temporizadores ou Timers e Contadores de eventos externos ou  Counters      Objetivo  Aprender a utilizar e configurar timers e contadores de um MCU para sincroniza    o de opera    es     Refer  ncias        Datasheet do MCU PIC32MX3XX 4XX  Cap  tulos 13 0 Timer  e 14 0 Timers 2 3 4 5       Datasheet     PIC32MX Family Reference Manual   consulte a se    o 14 0       Aula 1 e Aula2    Introdu    o    O microcontrolador PIC32MX360F512L possui 5 perif  ricos contadores de 16 bits  que  podem ser configurados independentemente para trabalharem como temporizadores  timers 
8.   3  Each output compare channel can use one of two selectable 16 bit time bases or a single 32 bit timer base              Figura 69 Diagrama em blocos do m  dulo output compare    Para facilitar a compreens  o considere o timer como sendo a dente se serra  portadora  e o  valor armazenado no registrador do output compare como a refer  ncia  modulante      Al  m dos registradores para configura    o do timer mostrados na aula pr  tica 3 devemos  configurar o m  dulo output compare atrav  s dos registradores apresentados na pr  xima se    o     82    Registradores    Os registradores necess  rios para configurar e gerar o sinal PWM em um dos 5 m  dulos  Output Compare presentes no PIC32MX360F512L s  o           PRx  Registrador de Per  odo associado ao contador x   Ver aula 3     OCxRS  Output Compare x Secondary Register      O valor passado a esse registrador representa o  per  odo da portadora do sinal PWM  dente de serra   Esse valor deve ser igual ao valor passado ao  registrador PRx     OCxR  Output Compare x Primary Register      O valor passado a esse registrador  sinal modulante   sera comparado ao valor da portadora  previamente programado pelo usu  rio atrav  s dos  registradores PRx e OCXRS     OCxCON  Output Compare x Control Register    Este registrador    respons  vel por     Habilitar  n  vel l  gico    1     ou desabilitar  nivel l  gico    0     o m  dulo output compare   atrav  s do bit OCxCONbits ON     Definir atrav  s do bit OxCONbits OCTSEL se o timer 2
9.   CNIE    um bit do registrador IEC1 que programado com n  vel l  gico 1 significa que a CPU  atender   interrup    es de mudan  a de estado quando estas acontecerem     IFS1  Interrupt Flag Status Register 1   Registrador que armazena o estado pedido de aten    o de  um evento por mudan  a de estado    CPU  Exemplo  CNIF    um bit do registrador IFS1 que se  estiver em n  vel l  gico 1 significa que um evento externo causado por mudan  a de n  vel em algum  pino de Entrada Sa  da programado para isso aconteceu e pede a aten    o da CPU para realizar  alguma a    o     IPC6  Interrupt Priority Control Register 6   Registrador que armazena o n  vel de prioridade do  tratamento do pedido de aten    o do evento externo por mudan  a de estado    CPU  Exemplo  Se o  conjunto de bits CNIP   1 for programado por voc   no do registrador IPC6  significar   que o  perif  rico  no caso o sinal externo  ser   atendido segundo o n  vel de prioridade 1  em uma escala de  O a 7  sendo 7 a de maior prioridade  pela CPU quando houver um evento externo        Para configurar o perif  rico de interrup    o por mudan  a de estado associado a pinos de  entrada sa  da do MCU PIC32MX360F512L deveremos programar os seguintes passos     1  Desabilitar pedidos de interrup    o    CPU    2  Configurar a entrada de notifica    o de mudan  a de estado correspondente a entrada no  registrador TRISx  Observa    o  Se o pino de E S puder ser configurado com uma entrada  anal  gica ser   necess  rio programa
10.   Crie a fun    o main     Limpe  reset  todas as portas        Configure a dire    o dos pinos I O        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFOO    TRISF   OxFFFF    TRISG   OxFEBF        Insira o c  digo para fazer com que o LEDI permane  a ligado durante 2 segundos ap  s o  bot  o 1 ser pressionado     while 1        Atividade 1  if  Botao 1     Ledl 1   delay Ims x 2000      Led1 0        Fim Atividade 1          Teste o programa e me  a o tempo transcorrido entre o acender e o apagar do LED no  MPLAB   SIM  Analise o resultado observado    Ap  s testar o programa conecte o kit EXPLORERI6BR na placa ICD2BR atrav  s do cabo  RJ12    Conecte a placa ICD2BR ao computador atrav  s da porta USB    Alimente o kit EXPLORERI6BR com a fonte de alimenta    o    Compile o programa  Ctrl F10     Grave o programa  Program Target Device     Teste o programa     Atividade 1 b    Nesta atividade faremos o Timerl habilitar uma interrup    o  assim  ao inv  s de chamar a  fun    o    delay 1 ms x      o timer ir   gerar uma interrup    o a cada 2 segundos fazendo o led piscar     Crie um novo projeto   Crie um arquivo       main e      Adicione os includes  configure o modo de grava    o  adicione os define        INCLUDES   inclu
11.   PY    LED8 R18    270   2    JP1    Loo      Figura 109 Esquema El  trico dos Leds do kit EXPLORER16BR    Perceba que tanto o LED8 quanto a chave S3 est  o ligados ao PORT RA7 e  para que os  leds possam ser usados  o jumper 1 deve ser utilizado  O que resulta em um circuito equivalente  segundo a Figura 110 a seguir     112     5 5V       R18  LEDS 579      Figura 110 Circuito resultante para o PORT RA7    Perceba que sempre haver   um circuito entre a alimenta    o  3 3 V  e o circuito do LEDS   Assim  sempre haver   uma pequena corrente circulando pelo LED8 e este NUNCA ESTAR    TOTALMENTE APAGADO  Isso pode ser confirmado zerando se todas as sa  das para os leds e  verificando que somente o LED8 apresenta um pequeno brilho  devido a esta corrente no circuito  equivalente     Como solu    o iremos manter o jumper para podermos acionar os leds de 1 a 7 e  utilizaremos o PORT RA7 como entrada  ou seja  como chave S3  desconsiderando se assim o uso  do LEDS     113    Errata II   Ffeito de carga do ICD2BR    Ao compilar o programa para acionamento dos leds percebeu se que quando a placa  ICD2 BR estava conectada ao kit EXPLORER16 BR os leds n  o acendiam devido a um efeito de  carga  Para solucionar este problema deve se desconectar co cabo RJ12 que liga a placa ICD2 BR  ao kit EXPLORER16 BR e testar o programa     114    Refer  ncias Bibliograficas    Atmel   Atmel Corporation   Industry Leader in the Design and Manufacture of Advanced Semiconductors   Marco  2010  http   
12.   define E PIN LATDbits LATD4   define RS PIN LATBbits LATBIS   define RW PIN LATDbits LATDS     define TRIS E TRISDbits  TRISD4   define TRIS_RS TRISBbits  TRISB15   define TRIS RW TRISDbits TRISDS    void inicializa LCD void    IINCIALIZA LCD   void limpar_LCD void     LIMPA LCD   void comando_LCD unsigned char   ENVIA COMANDO AO LCD  void dado_LCD unsigned char   ESCREVE BYTE NO LCD  void escreve frase LCD const char         ESCREVE FRASE NO LCD     endif       Em    main c    insira o c  digo para a atividade 1        INCLUDES    include  lt p32xxxx h gt    include para o PIC32MX360F512   include  lt stdio h gt     include  lt stdlib h gt     include      header init_sys h     include    Nheader my timer h        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV 2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_2       DEFINES      BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao   PORTDbits RD6   BOTAO 1   define Botao_2 PORTDbits RD7   BOTAO 2   define Botao_3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4     LED  0 APAGADO 1 ACESO     define Ledl LATAbits LATAO   LED1   define Led2 LATAbits LATAI   LED2   define Led3 LATAbits LATA2   LED3   define Led4 LATAbits LATA3   LED4   define Led5 LATAbits LATA4   LEDS   define Led6 LATAbits LATAS   LED6   define Led7 LATAbits LATA6   LED7          define Led8 LATAbits LATA7   LED8    Utilizar como Botao_3 e nao Led 8  void aula4 atividadel  vo
13.   n  vel l  gico    0     e ou timer 3   nivel l  gico    1     ser  o utilizados para a compara    o     Definir se o pino ir   de n  vel l  gico baixo para n  vel l  gico alto ou vice versa e se a gera    o  de pulsos ser   cont  nua ou n  o  atrav  s dos bit OCxCONbits OCM        83       Atividade 1    Ap  s criar um novo projeto inclua os arquivos    init_sys c    e    init sys h    utilizados nas  praticas anteriores     Em    main c    insira o c  digo para a atividade 1     1   INCLUDES  2  include  lt p32xxxx h gt    include para o PIC32MX360F5 12  3  include  lt plib h gt   4  5    CONFIGURACAO PARA GRAVACAO  6  pragma config FPLLMUL   MUL 16  FPLLIDIV   DIV 2  FPLLODIV   DIV_8  FWDTEN   OFF  7  pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_4    PBCLK is SYSCLK divided by 8 4 2 1   8  9  10  11 void init_TMR2 void   12    13 T2CONbits TON   0     Timer2 desligado  TMR2   0     Zera o timer para in  cio de contagem       Timer2 Prescaler      TCKPS   gt  Prescaler  10  gt 1 1   M1   gt 1 2   12  gt 1 4   113   gt  1 8   14  gt  1 16   15   gt  1 32   116   gt  1 64   HT   gt  1 256  T2CONbits TCKPS   6     Prescaler 1 256       Configura o registrador de per  odo      PR2    Fosc   Tempo   FPBDIV   PS      PR2    8000000   0 1   4   64    3125  PR2   3125     T2CONbits TCS   0     Modo timer  clock interno   T2CONbits TGATE   0     IFSObits T2IF   0     Limpa o flag    T2CONbits TON   1     Timer2 ligado    init sys          Configura Timer 2  100ms   init_TM
14.   o termine sua  execucao     configura timerl       while 1          Teste o programa com o MPLAB   SIM  Volte a mensurar o tempo transcorrido entre o  acender e o apagar do led  Analise o resultado mensurado  Compare com o que voc   observou na  atividade la     51    Ap  s testar o programa conecte o kit EXPLORERI6BR na placa ICD2BR atrav  s do cabo  RJ12    Conecte a placa ICD2BR ao computador atrav  s da porta USB    Alimente o kit EXPLORERI6BR com a fonte de alimenta    o    Compile o programa  Ctrl F10     Grave o programa  Program Target Device     Teste o programa     Atividade 2    Fa  a o timer  contar at   8 segundos   Perceba que se voc   fizer        Configura o registrador de per  odo     PR1    Fosc   Tempo   FPBDIV   PS        PR1    8000000   8   8   64    125000  PRI   125000     Configura o registrador de per  odo       O programa n  o contar   corretamente  pois PR1    um registrador de 16 bits  logo o valor  que lhe ser   atribu  do    59464  Fazendo com que o timerl opere com 59464  8000000 8 64    3 8  segundos   Figura 43     125000       ESSE BIT NAO SERA COMPUTADO  Figura 43 Overload do registrador PR1    Em outras palavras  sendo PRI um registrador de 16 bits o valor m  ximo que podemos  atribu   lo    2     1   65535    Desta forma  altere o prescaler do timerl  TICONbits TCKPS  e o contador  PR1  para  obter os 8 segundos desejados     Atividade 3  O LEDI deve piscar com velocidades que variam de 1 a 5 segundos com incrementos de 1    segundo  Pa
15.   rico  abaixo segue a Equa    o 1 apresentada anteriormente     SYS FREQ 8000000Hz   Frequencia do Sistema   PBDIV  8     Definido no modo de grava    o como  FPBDIV  DIV 8   PRESCALER 8  Definido pelo usuario   Assimtemos    T  a O  8000000 8 8  O tempo desejado parao timer  ex  Ims    dado por   t PR T  Logo   PR 0 001 8000000 8 8  125     Inclua a rotina de temporiza    o de Ims     void delay Ims x unsigned int x        TSCONbits TON   0     Timer5 desligado  TMRS   0     Zera o timer para in  cio de contagem       Configura o registrador de per  odo     PR5    Fosc   Tempo   FPBDIV   PS        PRS    8000000   0 001   8   8    125  PRS   125     TSCONbits TCS   0     Modo timer  clock interno   TSCONbits TGATE   0        TSCONbits TSIDL   0     Timer ligado em modo Idle       Timer5 Prescaler      TCKPS   gt  Prescaler  10  gt 1 1   1   gt 1 2   12  gt 1 4   113   gt 1 8   14   gt  1 16   15   gt  1 32   1 6  gt  1 64   HT   gt  1 256  T5CONbits TCKPS   3     Prescaler 1 8    IFSObits  TSIF   0     Limpa o flag  TSCONbits TON   1     Timer5 ligado    while x    0       while IFSObits  TSIF    0      Aguarda o tempo de 1 ms  IFSObits  TSIF   0     Limpa o flag  x       Decrementa x         TSCONbits TON   0     Desliga o Timer5       A vari  vel IFSObits T5IF no c  digo acima    um flag que sinaliza o fim da temporiza    o de  Ims  Ou seja  quando a contagem termina esse flag vai para n  vel l  gico alto  Ao reset   lo   IFSObits  TSIF 0  o timer reinicia sua contagem   
16.  0     1 stop bit    1STAbits  UTXISELO   0     gera interrupcao a cada Tx  1STAbits UTXISEL    0     1STAbits  URXISEL   1     gera interrupcao a cada Rx    1STAbits UTXEN   1     Habilita pino TX  1STAbits URXEN   1     Habilita pino RX            unsigned int RXUARTI  void     L   UART       if UIMODEbits PDSEL    3  return  UIRXREG      else return  UIRXREG  amp  OxFF         void TxUART  unsigned int data     Escreve UART    if UIMODEbits PDSEL    3  U1ITXREG   data   else UITXREG   data  amp  OxFF          int main void          char caractere        104    init sys       Inicializa o sistema    inicializa_UART1       putsUART1  UFMG r n       putsUART1  COMUNICACAO RS232 r n       while 1         A UART foi configurada com uma taxa de 19200 bps para aumentar a velocidade de  simula    o do c  digo  Caso tiv  ssemos usado uma taxa de 9200 bps a simula    o iria se tornar muito  lenta     Para visualizar a sa  da do programa v   em    Debugger  gt  gt  Settings       e na aba    Uartl TO     selecione a op    o    Enable Uartl IO    e no campo    Output    selecione    Window     Assim os dados  enviados para a UART pelo seu programa ir  o aparecer na janela    Output      Figura 100              Simulator Settings LO  e    Code Coverage   Animation   Realtime Updates   Limitations      Osc Trace   Break Options   Stimulus Uat O           Debug Options   7  Enable Uartt 10    Input File    7  Rewind Input   Output     Window   5 File                A Figura 100 Op    o U
17.  1 Read Data RAM  DD RAM E    VD   1  Increment VD   0  Decrement DD RAM  Display data RAM Execution times  S  1  Accompanies display shift  CG RAM  Character generator are typical  If  S C  1  Display shift S C   0  cursor move RAM transfers are  R L  1  Shift to the right  R L  0  Shift to the left  Ace  CG RAM Address timed by soft   DL   1  8 bits DL 0  4 bits   DD RAM Address ware and the  N  1  2lines N  0  1 line Corresponds to cur  busy fiag is not  RE   1  Ext  Reg  Ena  F  0  5x7 dots sor address  used  add 10   BF   1  Busy BF  0  Can accept data   Address counter to the above    Setto 1 on 24x4 modules Used for both DD times     With KS0072 is Address Mode  and CG RAM   address        HFINTROH     ERRA       Figura 46 Comandos do LCD    Outra informa    o relevante para a correta utiliza    o do display    saber o endere  o da  posi    o de cada caractere        Figura 47 Endere  o das c  lulas do LCD 16x2    Registradores    Nessa pr  tica n  o h   nenhum registrador espec  fico do MCU para programar o LCD al  m  do que os registradores que voc   usou nas pr  ticas anteriores     55    Atividade 1    Como os programas tendem a aumentar muito de tamanho a medida que vamos  acrescentando ou programando mais perif  ricos  por exemplo  nesta aula iremos usar bot  es  timers  e o LCD  o c  digo ficaria muito confuso se programassemos todos eles em um s   m  dulo  arquivo  fonte   Por isso  uma boa pr  tica de programa    o no projeto de microcontroladores ser   adotad
18.  16 MPLAB   IDE   Status da instala    o    16    No final da instala    o aparecer   uma mensagem  Figura 17  solicitando se voc   deseja  instalar o compilador HI TECH C  clique em n  o haja visto que iremos utilizar o MPLAB   C32        r    Question       AA 1 The HI TECH C installer is in an external executable      It is not controlled by this installer   It will not be uninstalled if you uninstall MPLAB IDE   Do you want to run the HI TECH C installer now  If not  you can find it  at  C  Program Files Microchip HCPIC pro 9 65PL1 exe    Figura 17 MPLAB   IDE     compilador HI TECH C          Reinicie o computador para atualizar as configura    es   Figura 18   E  MPLAB   Tools          InstallShield Wizard Complete    The InstallShield Wizard has successfully installed MPLAB  Tools v8 40  Before you can use the program  you must restart  your computer     O No    will restart my computer later     Remove any disks from their drives  and then click Finish to  complete setup         lt  Back Cance    Figura 18 MPLABO IDE   fim da instala    o          17    Pronto  com o MPLAB   IDE instalado voc   poder   acess   lo clicando no   cone que se  encontra na   rea de trabalho ou indo at   o diret  rio no qual ele foi instalado   C  Program  Files Microchip MPLAB IDENCoreMPLAB exe    Figura 19                             r   E e Sox  So E    Microchip    MPLABIDE    Core    SFA    p  By  Organizar         Mo ee o   bri 3 Gravar    Links  Favoritos Nome i Modificado em Tipo Ta
19.  4     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16  1 856V  No caso ela    superior  Dessa forma o quarto bit recebe o valor  1    5     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16   3 3 32  1 959V  No caso ela    superior  Dessa forma o quinto bit recebe o valor  1    6     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16   3 3 32   3 3 64  2 011V  No caso ela    superior  Dessa forma o sexto bit recebe o valor  Ee  7     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16   3 3 32   3 3 64   3 3 128  2 0367V  No caso ela    inferior  Dessa forma o s  timo bit  recebe o valor  0    8     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16   3 3 64   3 3 128   3 3 256  2 0238V  No caso ela    superior  Dessa forma o oitavo bit  recebe o valor  0    9     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16   3 3 64   3 3 128   3 3 256   3 3 512  2 0303V  No caso ela    superior  Dessa forma o  nono bit recebe o valor  1    10     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4   3 3 8     3 3 16   3 3 64   3 3 128   3 3 256   3 3 5 12   3 3 1024  2 0334V  No caso ela    superior   
20.  58     EXAMPLE 19 1  BAUD RATE ERROR CALCULATION  BRGH   0     d Rate    UxBRG value     Desired Baud       Figura 58 Exemplo de calculo do Baud Rate    Em    main c    insira o c  digo para a atividade 1        INCLUDES   include  init_sys h    include  my_timer h    include  my_Icd h    include  my_rs232 h        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV_2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_2        DEFINES      BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao   PORTDbits RD6   BOTAO 1   define Botao_2 PORTDbits RD7   BOTAO 2   define Botao 3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4     LED  0 APAGADO 1 ACESO     define Ledl LATAbits  LATAO   LED1   define Led2 LATAbits  LATA    LED2   define Led3 LAT Abits  LATA    LED3   define Led4 LAT Abits  LATA3   LED4   define LedS LAT Abits  LATA4   LEDS   define Led6 LAT Abits  LATAS   LED6   define Led7 LATAbits  LATA6   LED7     define Led8 LATAbits LATA7   LED8    Utilizar como Botao_3 e nao Led 8    int main void        char caractere   init sys       Inicializa o sistema    inicializa LCD       INICIALIZA LCD  limpar LCD       LIMPA O LCD    inicializa_UART2      comando_LCD 0x80    escreve_frase_LCD  COMUNICACAORS232     comando_LCD 0xC0    escreve_frase_LCD  Caractere        putsUART2  UNIVERSIDADE FEDERAL DE MINAS GERAIS r n     putsUART2  AULA 6   COMUNICACAO SERIAL VIA RS232 r n     putsUART2  Digite algo no te
21.  AS Data da cria    o  09 10 2009 11 23                Figura 19 MPLAB   IDE   execut  vel    18    4 2  Instala    o MPLAB   C32    Para instalar o compilador C para PICs de 32 bits insira o CD Explorer16BR fornecido com    o kit  V   em     Ambiente de Desenvolvimento  gt  gt  C32  gt  gt  MPLAB C32  Academic v105           Clique em next na tela de boas vindas   Figura 20        MPLAB C32 v1 05   InstallShield Wizard    Welcome to the InstallShield Wizard for MPLAB  C32   1 05    The InstallShield Wizard will install MPLAB C32 v1 05 on  your computer  To continue  click Next           Figura 20 MPLAB   C32   boas vindas       Leia o termo de compromisso  clique em    J accept the terms of the license agreement    e    posteriormente em next   Figura 21        a  MPLAB C32 v1 05   InstallShield Wizard    License   greement  Please read the following license agreement carefully        IMPORTANT    MICROCHIP IS WILLING TO LICENSE THE MPLAB   C32 C COMPILER  SOFTWARE AND ACCOMPANYING DOCUMENTATION OFFERED TO  YOU ONLY ON THE CONDITION THAT YOU ACCEPT ALL OF THE  FOLLOWING TERMS  TO ACCEPT THE TERMS OF THIS LICENSE  CLICK   I ACCEPT  AND PROCEED WITH THE DOWNLOAD OR INSTALL  IF  YOU DO NOT ACCEPT THESE LICENSE TERMS  CLICK  I DO NOT  ACCEPT   AND DO NOT DOWNLOAD OR INSTALL THIS SOFTWARE     NON EXCLUSIVE SOFTWARE LICENSE AGREEMENT  FOR MICROCHIP MPT AR   C32 C COMPTLFR SOFTWARF Z          do not accept the terms of the license agreement    InstallShield       Figura 21 MPLAB   
22.  DE DADOS  DISPLAY COM 2 LINHAS  CARACTER 7x5 PONTOS  comando LCD 0x0c     DISPLAY ON  SEM CURSOR  SEM BLINK   comando LCD 0x01     LIMPA DISPLAY   comando LCD 0x06     DESLOCAMENTO DO CURSOR P  DIREITA       Os comandos a seguir foram extra  dos do manual do display  Hantronix  Inc 2010      54    COMMANDS FOR CHARACTER MODULES    Oh ee fuckin a   Rs  Rw  087  DB6 DB5 084 0B3  082  081  DBO     Clear Clears the display and returns  Display the cursor to the home position 82us 1 64ms   address 0      Returns the cursor to the home   Return position  address 0   Also returns   Home a shifted display to the home 40us 1 64ms  position  DD RAM contents  remain unchanged     Sets the cursor move direction  and enables disables the display     Turns the display ON OFF  D   or  the cursor ON OFF  C   and blink  of the character at the cursor  position  B      Moves the cursor and shifts the  display without changing the DD  RAM contents     Sets the data width  DL   the   number of lines in the display  L   40us  and the character font  F     Sets the CG RAM address  CG   RAM data can be read or altered 40us  after making this setting     Sets the DD RAM address  Data  may be written or read after mak  40us  ing this setting   Reads the BUSY flag  BF  indi   cating that an intemal operation  is being performed and reads the 1ps  address counter contents   Write Data   Writes data into DD RAM or CG  to CG or Write Data RAM  DD RAM E  Read Data Reads data from DD RAM or CG  from CG of
23.  Figura 70 Anexo I   Cria    o de Pasta sas E A ates 87  Figura 71 Anexo I   Cria    o dos Arquivos cs   aiccsesise se atessvnassaidangsvasdeasduaicassodeaduaecsaasaceasaoseqraenianeeaaate 87  Figura 72 Anexo I   Adi    o de ATQUIVOS  e sic cesiucsgeacsdvedscaseunsadonteesdatayanvoadaanacdacoeduedacadanvebdandeceacddeevens 88  Figura  3 Anexo L  Workspace s    c  305 uid c en a ee Lada saias eee 88  Figura 74 Anexo I   Modifica    o dos Arquivos            sscccessceceseeeceseeecesececsceecsceecsseeecseeeeseeeenaeeenas 89  Figura 75 Anexo I   Arquivos da Pasta myProject1 Alterados                    a 89  Figura 76 Anexo I   Somente o Arquivo do Tipo  C     Criado    90  Figura 77 Anexo I   Tipos de Arquivos cesicisuvscerdaesgnacadion voeacusets acadaedneay Q0o arma DEgR ADO Qua aham nda ques onte 90  Figura 78 Utiliza    o do Socket para PIC tipo DIP 3 2 44  ued ie esquiar Gs 92  Figur   79 MPLAB SIM saco a ec a Sa a es RS ee aes A Se aad ae 93  Figura 80 Menu debug para o MPLAB   SIM 0 0    ceeeeceenceceseeecsseeeceeceececeecseeecsaeeecseeeesaeeesnaeeeenas 94  Figura 81 Programa em CXeCUGHO    iecic2istedesstensscteiied nc acka cused Enaadanoduqasf saco ielabudehiepenueen 95  Figura 82 Fim de execu    o da simula    o  sessenta semen aEni ae dade Ja ISLAS qa ees 95  Figura 83 Breakpoimts saan e cadet tates  e AA E E E N 95  Figura 84 Step Into    nodes tek al ea ie EEEo A ANES AEA eerie 96  Fig  ra 85 Watch WV IAW siste areata Sout Sees a ceeded ovat gc eae ano eh unheeded 
24.  LATC   0   LATD   0   LATF   0   LATG   0        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   0xFF00    TRISF   OxFFFF    TRISG   OxFEBF     while 1     delay_1ms_x 2000         Perceba  na linha 6 do c  digo acima  que o clock que alimenta os perif  ricos    dado pelo  clock do PIC dividido por 8  FPBDIV   DIV 8  Como o PIC em quest  o possui um cristal de  8MHz o clock do perif  rico ser   8MHz 8 1MHz  dessa forma o valor passado para a configura    o  do clock    1MHz  100Khz   observe a Figura 102     Insira um Breakpoint na linha 71   Figura 103     TRLSU   UxXEFCH     1110111111 UUL111 Hotoe  TRISE   OxFFOO  TRISE 0OxFFFE  TRISG   0xFEBF    H    while    3 delay ims x 2000       Figura 103 Breakpoint   Stopwatch    107    Agora v   em    Debugger  gt  gt  Stopwatch    para abrir o recurso Stopwatch  Observe no  par  metro    Processor Frequency    que a freqii  ncia de 1MHz setada anteriormente esta  selecionada   Figura 104     Stopwatch Total Simulated  Instruction Cycles 0 0    Time  uSecs   0 000000 0 000000    Processor Frequency  KHz  1000 000000       3 delay Ims x 2000      Figura 104 Stopwatch    Quando voc   iniciar a simula    o  Figura 80  o cron  metro ir   come  ar a contagem at   parar  no Breakpoint    Os v
25.  LED8    Utilizar como Botao_3 e nao Led 8       47    O clock do timer    dado pela linha que sai do Prescaler e chega ao registrador que realemnet  faza a contagem  o registrador TMR 1   Observe a  Figura 42   retirada do datasheet do MCU  A  figura se refere ao perif  rico contador 1          16 bit Comparator       Postscaler Peripherals Prescaler       CLK me  div x 1  8  64  256 Reset  PBDIV lt 2 0 gt  to  TCKPS lt 1 0 gt      TICON 5 4 gt    Figura 42 Circuito de Clock do Timer    O clock do perif  rico contador pode ser gerado de v  rias formas combinado se a  configura    o de FPBDIV  o valor do Prescaler  o valor de contagem inicial TMR1  e o valor de  parada de contagem PR1  A placa EXPLORER 16 BR cont  m um oscilador de 8MHz ligado como  clock externo SYSCLK ao pino de clock externo do MCU  A frequencia de opera    o do contador  interno ao MCU recebe o sinal externo da placa de 8MHz  passa em seguida pelo circuito divisor  PBDIV e por um segundo divisor de frequencias  ou multiplicador de per  odos  PRESCALER   divisor de frequ  ncia   Esses tr  s par  metros s  o program  veis pelo usu  rio do MCU  O inverso da  freqii  ncia obtida  ou seja  o per  odo     comparado com o per  odo desejado  PRx     PRI se usarmos  o contador 1 e PRS se usarmos o contador 5  e quando o contador do timer chega a esse valor ele  gera uma interrup    o  sinalizando que o tempo desejado foi atingido     O exemplo num  rico abaixo ajuda a entender melhor o funcionamento  O exemplo num
26.  MPLAB  e crie um novo projeto de acordo com as diretrizes do capitulo 5 e  salve o na pasta    myProject2     Quando a janela para adi    o de arquivos aparecer inclua os arquivos     ArgA   c        ArqU c        ArgS c    e    ArgC c    que est  o na pasta    myProjectT        87    Na coluna da direita tome cuidado para a letra corresponder ao tipo de arquivo   Figura 72     CONCURSOS  0  CURRICULO     Users MARCONISDocuments     Curso PIC32F REUNI E      Users MARCONISDocuments      Anexol       Figura 72 Anexo     Adi    o de Arquivos    Finalizada a cria    o do projeto  a seguinte tela dever   aparecer indicando que os arquivos  foram inclusos   Figura 73                                Figura 73 Anexo     Workspace    88    Agora clique em cada um dos arquivos e modifique a frase    Arquivo do tipo  X  contido na  pasta myProjectI    para    Arquivo do tipo  X  contido na pasta myProject2     onde  X  deve ser  substitu  do por    A        U        S    ou    C    de acordo com o nome do arquivo   Figura 74     Salve o projeto  Ctrl Shift S      E Yew P Debugger Programmer Tools Configure Window Help    DEH eM SAVAR     Deda  FSO SHAR Checksum  0x174839b9                  Arquivo do tipe     contido na pasta myProject2    Arquivo do tipo   contido na pasta myProject2                          Figura 74 Anexo     Modifica    o dos Arquivos    Agora  para ver o que ocorreu  v   na pasta    myProjectI    e olhe o conte  do de cada um dos  4 arquivos   Figura 75     Bim   
27.  PORT RD7     98    Al  m disso o estado do PORT RD7  Bot  o 2  foi alterado de zero para um e o estado do  PORT RAI  LED 2  foi alterado de um para zero   Figura 89       E  Watch fe tees       Add SFR  al v  Add Symbol  __exfun_mx X    Symbol Name    BF88_6010 PORTA 0x0000000D 9x0000000D 00000000 00000000 00000000 00001101       BF88_60D0 PORTD 0x00000080 9x00000080 00000000 00000000 00000000 10000000                Watch 1   Watch 2   watch 3   Watch 4   Figura 89 Altera    o do estado dos PORTs RD7 e RA1     Agora lance v  rios est  mulos utilizando os PORTS RD6  RD7  RA7 e RD13 e verifique o  valor dos bits nos PORTs  D  e  A    Figura 90        Leds           TRISA   OxFF 0     1111121110000000                                  TRISB   OxFFFF    Add Symbol  __exfun_mx    TRISC   OxFFFE    TRIS   OxEFCF     1110111111001111 Boros Update   vireua2   Symbol Name   value        TRISE   0xFF00  BF66_6010 PORTA 000000006 0x00000006 09000000 00000000 00000000 00009110  TRISE   OxEFEE  BFse_60D0 PORTD 0x00002040 0x00002040 00000000 00000000 00100000 01000000         TRISG   OxFEBF           while  i       if  Botao_1  Led   1  TESTE  else Ledi   0    Watch 1   Walch2   Watch 3   Watch 4                        l   if  Botao 2  Led2   1  TESTE  else Led    0     if lBocao 3  Leda   1  rast Asymch  Pin  Register Actons   Advanced Pin   Register   Cock Stimulus   Registo Inecton   Register Tiace    else Led3   0  Pin SFR Acton Width Unts Comments   Message  ifi Botao 4  Leds   1  TE
28.  a  CN15  Esse tipo de interrup    o est   associada a ISR  Interrupt Service Routine  chamada pela  fun    o  void _ ISR  CHANGE NOTICE VECTOR  ipl5  CN Interrupt ISR void   Quando uma  borda de subida ou de descida  transi    o de n  vel l  gico O para 1 ou n  vel l  gico 1 para 0   respectivamente     percebida no pino RD6  CN15  uma interrup    o    gerada e a fun    o  CN Interrupt ISR    chamada  Nessa fun    o deve ser inserida toda a sequ  ncia de a    es a ser  executada quando a interrup    o externa for gerada  No nosso caso temos somente uma a    o   mostrada na linha 33  que troca o valor do LED 1 a cada chamada da interrup    o     O c  digo das linhas 31 e 61  value   PORTD      um artif  cio para poder resetar o flag de pedido de  interrup    o do m  dulo change notification  Em outras palavras  sempre antes de limpar o flag a  porta correspondente deve ser resetada para evitar erros de leitura do MCU durante as transi    es   Para maiores informa    es veja o texto explicativo na p  gina 327 do datasheet     1  Teste o programa com o MPLAB SIM       Ap  s testar o programa conecte o kit EXPLORER 16 BR na placa ICD2 BR atrav  s do  cabo RJ12    Conecte a placa ICD2 BR ao computador atrav  s da porta USB    Alimente o kit EXPLORER 16 BR com a fonte de alimenta    o    Compile o programa  Ctrl F10     Grave o programa  Program Target Device     Teste o programa      gt     SON o SS    Perceba neste caso que o LED 1 altera seu valor imediatamente ap  s as transi 
29.  amp part S  W007002           National Instruments   National Instruments   Test and Measurement     Marco 2010   http   www nationalinstruments com     Texas Instruments   Analog  Embedded Processing  Semiconductor Company  Texas Instruments   Mar  o 2010   http   www ti com     115    
30.  criar uma c  pia  real do arquivo para dentro da pasta do projeto escolha a op    o  C    Figura 777     Arquivos do tipo  A    U  ou  S  criam apenas uma  referencia para o local original do arquivo               AU sers AMAR COND ocuments  AU sers MARCONI Documents    AU sers MARCONINDocuments      ArgC c   C  Users MARCONISDoc      Arquivos do tipo  C  criam uma copia real do arquivo  para o diretorio do projeto       nai aa 1    Figura 77 Anexo     Tipos de Arquivos    90    Anexo II   Adicionando arquivos depois da cria    o do projeto    Para melhor compreens  o da adi    o de arquivos leia o Anexo I   Adicionando arquivos  durante a cria    o do projeto     A adi    o de arquivos durante a cria    o do projeto pode ser feita criando se uma c  pia do  arquivo para dentro da pasta na qual o projeto se encontra ou apenas uma refer  ncia para o arquivo     Por  m  a adi    o de arquivos    c     h    lib   etc  depois que o projeto foi criado s   pode ser  feita de uma maneira  que    atrav  s da refer  ncia do arquivo  Ou seja  se fizermos     Project  gt  gt   Add Files To Project    somente a refer  ncia do arquivo ser   criada     Caso desejamos um   h  que fizemos em um projeto anterior mas precisamos fazer algumas  altera    es no c  digo recomenda se fazer uma c  pia deste arquivo para dentro da pasta do projeto   Ctrl C  Ctrl V  e ai sim adicion   lo ao projeto     91    Anexo III   Utiliza    o do Socket para Grava    o Depura    o    O Socket deve ser utilizado 
31.  estar ligado ao TX do PC   Figura 55     2 Rx    ORx 2  3 Ix        Tx 3  Gnd  j  G 5  EXPLORER16BR  DB9 FEMEA DB9 MACHO    Figura 55 Conex  o cabo DB9    Existem alguns cabos do tipo DB9 USB que possuem um driver para emular uma porta  serial virtual atrav  s da conex  o USB  Assim poderia se utilizar um cabo DB9Macho USB  lado  direito da figura  ao inv  s de um cabo DB9Macho DB9Femea  lado esquerdo    Figura 56     r        3   a    SAS    Conector DBS Macho Femea Conector DB9 Macho USB       Figura 56 Conector DB9Macho DB9Femea  esquerda   DB9MAcho USB  direita      71    O RS232    um protocolo de comunica    o serial estabelecido pela EIA  Electronic Industries  Association  que especifica a temporiza    o dos sinais  tipos de sinais  tens  es  conex  es e  conectores  para a comunica    o serial     As caracter  sticas principais do protocolo RS232 s  o     a  Tens  o de Opera    o  No protocolo RS232 o n  vel l  gico  0   zero  vai de  12V a  3V e o nivel  l  gico  1   um  vai de  3V a  12V  Tens  es entre  3V e  3V s  o indeterminadas  Como usamos  um MCU cujo n  vel de opera    o vai de O V a 3 3 V um driver para adequar os n  veis de tens  o  se faz necess  rio  Na placa EXPLORERI6 BR quem faz essa convers  o    o CI MAX232    Figura 57         5V    RFS PMAB U2TX  gt                                      DB9 MACHO       RS232    Figura 57 Esquema el  trico do conector DB9 e Driver MAX232 do kit EXPLORER16BR para comunica    o RS232              b  Baud Rate  ou ta
32.  gua c   70  Figura 55 Conexao cabo DBO Secad tk tee Bie ia Rn Bas 71  Figura 56 Conector DB9Macho DB9Femea  esquerda   DB9MAcho USB  direita                         71  Figura 57 Esquema el  trico do conector DB9 e Driver MAX232 do kit EXPLORERIO6BR para  comunica    o R 232  nnes i ean a Goa vival sata fede nia da aaa a E Sos atra nen panuesuenacsassneddan Se 12  Figura 58 Exemplo de c  lculo do Baud Rate    ais iscas ada Ra dns d a NA DAS qa caga 76  Figura oO Hyperterminal nenese ene weed ae Bu i Ra a a T11  Figura 60 Hyperterminal 3 33   ssccavnd shcaei nnn a a a r e i a 11  Figura 61 Par  metros da comunica    o RS232   esesssesesseseeserssesrrestesrsersstessesersstessesstesteesessresreeseeseee 78  Figura 62 Finalizar comunica    o RS232  ois teed aie ek ate ati tha ae ea idee ew 78  Figura 63 Comunica    o RS232  Aula 6   Atividade 1  oo  eeseeseeeeeeeeeeceseceseeeseeesaeecsaeenseensees 78  Figura 64 Tela inicial programa de senha              cessecessceceeececesececesececeeeeceececseeecsceeeseeeeseeeenaeeeenas 79  Figura 65 Tela LCD programa de Senha  sua scsisisvssaccssacetasdcsannvaeseaces sntianes desocdnasdsbdesvanscaevenecsaasecesead 79  Figura GO Senha correta cmi tias i a  cael atas ET ue ced an cch ates E EE Ra aTe 80  Figura 67 Semlaimecoreta ss as ase EE aetna aaa ae eS ee eat 80  Figura 68 Gera    o do Sinal PWM  si saseaitas eck taieecetsleeeth eden eed eee led eee ede 81  Figura 69 Diagrama em blocos do m  dulo output compare                    errar 82 
33.  meros OV  1 1V  2 2V e 3 3V com cada passo  equivalente a 1 1V  Se tivermos um conversor de 3 bits teremos 8 estados e podemos representar os  n  meros OV  0 47V  0 94V  1 41V  1 88V  2 35V  2 82V e 3 29V com cada passo equivalente a  0 47V  Ou seja  quanto maior o n  mero de bits do conversor menor o passo e portanto maior a  possibilidade de n  meros que podem ser representados corretamente em rela    o    tens  o de  refer  ncia  No caso do conversor A D existente no PIC32MX360F512 temos 10 bits de resolu    o   portanto 2    1024 passos  O valor de cada passo    dado por  Vren 2 0   Vrer 1024  Nesta pratica  iremos utilizar Vrgr   3 3V  que    a tens  o de referencia interna do PIC32MX360F5 12      Em uma representa    o bin  ria o bit mais significativo  MSB     Most Significant Bit   representa metade do valor m  ximo represent  vel  O segundo bit mais significativo representa  metade da metade  ou seja  um quarto do valor m  ximo represent  vel  O terceiro bit mais  significativo representa um oitavo e assim sucessivamente  Como exemplo considere um n  mero de  4 bits  O valor m  ximo que podemos representar    2  16  quando todos os bits est  o em  1   Agora   se somente o bit mais significativo estiver em  1  o resultado ser    1000  o que equivale a 8  metade  do valor m  ximo   Se somente o segundo bit mais significativo estiver em  1  o resultado ser    0100   o que equivale a 4  um quarto do valor m  ximo          Embora seja utilizado nessa pratica a tens  o de
34.  modulante    um sinal constante cuja amplitude vai deste o valor m  nimo da portadora at   seu valor  m  ximo     O sinal PWM    gerado fazendo se a compara    o da onda modulante com a portadora  Caso  a onda modulante seja maior que a portadora a sa  da vai para n  vel l  gico baixo  caso a modulante  seja menor que a portadora a sa  da vai para n  vel l  gico alto     Como exemplo considere uma portadora com valor m  nimo  0   zero   valor m  ximo  1   um   e cuja fregii  ncia seja 2 KHz  Considere ainda uma modulante cuja amplitude seja  0 7   Observe na  Figura 68 que nos instantes de tempo em que a modulante    superior a dente de serra a sa  da est    em n  vel l  gico baixo e quando a modulante    menor a sa  da est   em n  vel l  gico alto     Dente de Serra x Modulante                Sinal PWM                                     Figura 68 Gera    o do sinal PWM    81    Para caracterizar o sinal PWM precisamos de duas grandezas  a frequ  ncia de opera    o   dada pela freqii  ncia da dente se serra e o ciclo de trabalho  duty cycle     O ciclo de trabalho    a percentagem do tempo em que o sinal PWM permanece em estado  ativo  No exemplo apresentado anteriormente a sa  da permaneceu em n  vel l  gico alto durante  1 5 10 s 0 que representa 30  dos 5  10    s do per  odo da dente se serra  Assim o ciclo de trabalho   ou duty cycle     representado por    Ton  T    Onde Ton    o tempo em que o sinal PWM permanece em n  vel l  gico alto    T    o per  odo da  portador
35.  o de 9600 bps para 19200 bps  Dica  A  f  rmula do c  lculo para U2BRG  considerando se U2ZMODEbits BRGH 1  pode ser obtida no  datasheet     Al  m de modificar a taxa de transmiss  o altere a transmiss  o para 8 bits de dados com bit de  paridade par     Atividade 3    Fa  a um programa de controle por acesso a senha composta por 3 d  gitos    A senha dever   ser armazenada em uma vari  vel interna ao PIC32MX360F512    A cada caractere digitado um asterisco dever   aparecer na tela do LCD    O usu  rio ter   3 chances para inserir a senha correta que esta gravada no programa  Caso ele  acerte a mensagem  SENHA CORRETA   dever   aparecer na tela do computador  Para cada  tentativa mal sucedida a mensagem  SENHA INCORRETA      Tentativa x de 3  dever   aparecer   Caso a senha seja inserida incorretamente 3 vezes um alarme deve ser acionado  obs  o alarme ser    a mensagem  ALARME     na tela do computador     As Figura 64  65  66 e Figura 677 ilustram o funcionamento do programa            amp  comunicacao R 232   HyperTerminal Joi  arquvo Edtar Exbr Chamar Trensferr Ajuda  Oe ag DB ES                      HATERS TOADE FEDERAL DE MINAS GERAIS  AULA COMUNICI AERO SERTAL VIA RS232  DIGITE A SENHA                      00 00 39 conectado Detec auto  9600 8 N 1    Figura 64 Tela inicial programa de senha                                   H   ECT Agr e E       Figura 65 Tela LCD programa ES senha     79           arquivo Editor Exibir Chamar Transferir Ajuda       Ose 3 DB         
36.  o e utilizando o resultado do canal 4 assim como foi feito para o canal 5 nas atividades  anteriores         3 3V            MCP9700    di DE TEMPERATU RA    Figura 54 Esquema sige do sensor de temperatura do kit EXPLORER16BR para utilizacao do conversor AD    70    7 6  Aula 6     Configura    o de Interface para Comunica    o serial  UART com RS 232    Objetivo  Aprender a configurar e programar a interface UART para realiza    o de comunica    o serial   Refer  ncias        Datasheet PIC32MX3XX 4XX dispon  vel no CDI em    Datasheets  gt  gt  PIC32     Cap  tulo  19 0  Universal Asynchronous Receiver Transmitter  UART     Introdu    o    A UART  Universal Asynchronous Receiver Transmitter     um m  dulo para comunica    o  serial full duplex via protocolos do tipo RS232  RS422  RS423  RS485  Nesta pr  tica iremos  utilizar o RS232     A comunica    o duplex  ou bidirecional  ocorre quando se t  m dois n  s  pontos  de  comunica    o  no caso o PIC e um microcomputador  ex   PC   Caso a transmiss  o de dados seja  feita somente em um sentido diz se que a comunica    o    simplex  um sistema transmite e o outro  recebe   Caso a transmiss  o seja feita em ambos os sentidos a comunica    o    denominada half   duplex  enquanto um dispositivo transmite o outro recebe e vice versa  ou full duplex  ambos  dispositivos enviam e recebem dados simultaneamente      Para a comunica    o full duplex o TX  transmissor  do PIC deve estar ligado ao RX   receptor  do PC e o RX do PIC deve
37.  o termo temporizador ou  Timer   Para contagem de eventos adotaremos o  termo contador  Counter   Para medir larguras de pulsos adotaremos o termo acumulador   Accumulator      Ainda como carater  stica desse MCU os contadores 2 e 3 ou 4 e 5 podem ser agrupados de  dois em dois para formar um contador maior de 32 bits     44    Registradores    Para configurar esse perif  rico do microcontrolador PIC32MX360F512L necessitaremos  programar os seguintes registradores           TxCON  Registrador de CONtrole ou CONfigura    o associado ao contador x     TMRx  Registrador que armazena a contagem     um registrador de 16 bits  Ele    associado ao  contador x     PRx  Registrador de Periodo associado ao contador x        Vamos agora detalhar cada um dos tr  s registradores citados acima     O perif  rico contador pode operar de tr  s modos diferentes  como dito anteriormente  modo  de opera    o Timer  modo de opera    o Counter  modo de opera    o Accumulator  Para escolher o  modo de opera    o devemos configurar os bits TCS e TGATE do registrador TxCON conforme a  tabela I retirada do datasheet do MCU     Tabela I     Modo de Opera    o do Perif  rico Contador                   Modo de opera    o   TxCON lt TCS gt    TxCON lt TGATE gt   Timer 0 0  Counter 1 X  Accumulator 0 1                Para ligar ou desligar o perif  rico contador tenho que programar o bit TON do registrador  TxCON  Se fa  o TON   1 ligo o perif  rico para contar  se fa  o TON   0 o desligo     O modo de op
38.  ou  contadores de tempo   como contadores  contadores de eventos externos  i e   n  mero de vezes que  um bot  o for pressionado   ou ainda como acumuladores  medidores de larguras de pulsos   dependendo da aplica    o que se quer desenvolver  Nessa aula configuraremos o perif  rico somente  como contador de tempo  modo de opera    o como temporizador ou timer      Os cinco perif  ricos contadores do PIC32MX360F512L s  o agrupados em duas categorias   perif  ricos contadores da categoria A e perif  ricos contadores da categoria B  Cada categoria A e B  possuem caracter  sticas pr  prias de funcionamento  consulte a se    o 14 0 do datasheet     Family  Reference Manual para observar mais informa    es sobre as caracter  sticas de cada categoria    Alguns dos contadores pertencem a categoria A os demais pertencem a categoria B  Cada categoria  de contadores possuem caracter  sticas pr  prias  tais como  modo de opera    o  contador   temporizador ou acumulador   limite de contagem  funcionamento com clocks de diferentes  frequencias  opera    o em modo ass  ncrono com uma fonte de clock externa  funcionamento com ou  sem interrup    o  entre outras  Todas essas funcionalidades devem ser consultadas e estudadas no  datasheet do MCU  mais especificamente nos cap  tulos 13 0 e 14 0     Para contagem de tempo consideraremos que o contador ser   configurado no modo de  contagem de tempo  temporizador ou timer   Quando o perif  rico estiver configurado para contar  tempo adotaremos
39.  r  MPLAB   Tools  MPLAB IDE License   greement    KX MICROCHIP    IMPORTANT  A  MICROCHIP IS WILLING TO LICENSE THE MPLAB   IDE SOFTWARE AND       ACCOMPANYING DOCUMENTATION OFFERED TO YOU ONLY ON THE il  CONDITION THAT YOU ACCEPT ALL OF THE FOLLOWING TERMS  TO  ACCEPT THE TERMS OF THIS LICENSE  CLICK    I ACCEPT    AND   PROCEED WITH THE DOWNLOAD OR INSTALL  IF YOU DO NOT ACCEPT  THESE LICENSE TERMS  CLICK    I DO NOT ACCEPT     AND DO NOT OPEN  DOWNLOAD OR INSTALL THIS SOFTWARE     MPLAB   IDE LICENSE         D   do not accept the terms of the license agreement       Figura 10 MPLAB   IDE     termo de compromisso          Selecione o modo de instala    o    Complete    para instalar todas as ferramentas ou o modo     Custom    para selecionar aqueles de seu interesse caso voc   seja um usu  rio avan  ado   No nosso caso iremos fazer a instala    o    Complete      Figura 11     13       E  MPLAB   Tools    Setup Type    Select the setup type to install  KX MICROCHIP       Please select a setup type     f  All program features will be installed   Requires the most disk space          Custom    Select which program features you want installed  Recommended for  advanced users     Figura 11 MPLAB   IDE   modo de instala    o          Para que n  o ocorra problemas futuros quando precisarmos referenciar a pasta de instala    o       do MPLAB   deixe a como est       c  Program FilesMicrochipV      Figura 12   E  MPLAB   Tools          Choose Destination Location    Select folde
40.  referencia interna    poss  vel utilizar referencias externas de tens  o atrav  s da configura    o correta  do m  dulo ADC     O m  todo de convers  o por aproxima    es sucessivas realiza a convers  o baseado nesse  princ  pio  Primeiro ele verifica se a tens  o a ser convertida    maior ou menor que metade da tens  o  de refer  ncia  no nosso caso  3 3V   Caso a tens  o seja maior o MSB recebe  1   caso a tens  o seja  menor o MSB recebe  0   Depois o conversor considera um quarto da tens  o de refer  ncia  Caso o  MSB tenha sido  1  o conversor compara a tens  o de entrada com metade mais um quarto da tens  o  de refer  ncia  Caso o MSB tenha sido  0  o conversor compara a tens  o de entrada com metade  menos um quarto da tens  o de refer  ncia  Este processo de compara    o prossegue at   o d  cimo bit  ser preenchido  momento no qual a convers  o    finalizada     Como exemplo considere uma tens  o de entrada de 2 0365V e a tens  o de refer  ncia de  3 3V   1     o conversor verifica de a tens  o de entrada    superior ou inferior a 3 3 2 1 65V  No caso ela     superior  Dessa forma o MSB recebe o valor  1    2     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4  2 475V   No caso ela    inferior  Dessa forma o segundo bit recebe o valor  0    3     o conversor verifica se a tens  o de refer  ncia    superior ou inferior a  3 3 2   3 3 4     3 3 8  2 0625V  No caso ela    inferior  Dessa forma o terceiro bit recebe o valor  0   
41.  respectivamente a pinos correspondentes de acordo com o Esquema El  trico do kit  Explorer 16 BR  vide refer  ncias dadas      Dessa forma temos  fdefine nome endere  o    Assim  ao inv  s de    PORTDbits RD6    podemos utilizar  por exemplo     Botao 1    para  facilitar a compreens  o do c  digo e o torn   lo mais leg  vel  O mesmo    v  lido para todos os outros  defines listados a seguir        0 Pressionado   1 Liberado   define Botao   PORTDbits RD6   BOTAO 1   define Botao 2 PORTDbits RD7   BOTAO 2   define Botao 3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4      0 Apagado   1 Aceso     define Ledl LATAbits LATAO   LED1   define Led2 LATAbits LATA1   LED2   define Led3 LATAbits LATA2   LED3   define Led4 LATAbits LATA3   LED4   define LedS LATAbits LATA4   LEDS   define Led6 LATAbits LATAS   LED6   define Led7 LATAbits LATA6   LED7          Esta configura    o indica a frequ  ncia de opera    o do seu microcontrolador  Por ora n  o se preocupe com o entendimento do c  digo nas duas linhas  abaixo  Mais detalhes ser  o dados em uma atividade futura     33    Crie a fun    o int main void      Limpe  d   um reset  todas os pinos dos PORTOS  Isso    necess  rio  pois outro programa  pode estar gravado na mem  ria do MCU e isto evita poss  veis comportamentos n  o previstos        Conforme dito anteriormente o registrador TRIS    respons  vel por configurar se um pino ir    operar como entrada  1  ou sa  da  0   Cada um dos 7 registradores TRIS  TRIS
42.  s a transmiss  o do pacote de dados  para verifica    o de erros     Stop Bit Sinaliza o fim da transmiss  o     Perceba que os perif  ricos conhecem a dura    o de cada bit devido a configura    o do baud  rate  Por exemplo  seja um baud rate de 9600  ent  o um bit ter   dura    o de 104uS  Assim que o  transmissor sinaliza o bit RTS e recebe de volta a confirma    o do bit CTS enviada pelo receptor a  temporiza    o de inicia  Os primeiros 140 uS determinam a dura    o do start bit  os 104 uS seguintes  determinam o primeiro bit de dado  ap  s mais 104 uS o segundo bit de dado    transmitido e assim  ocorre at   que o stop bit seja transmitido     Paridade O bit de paridade serve para checar se a informa    o recebida est    O ou 1  correta  Haja visto que a transmiss  o via cabos     pode apresentar  dist  rbios  ru  dos  e modificar o n  vel l  gico de algum bit de       12 O protocolo RS232 limita o tamanho m  ximo do cabo em 15 metros     73    Registradores    Os registradores necess  rios para configurar a UART no MCU PIC32MX360F512L s  o           UxBRG  UART Baud Rate Generator    Registrador de configura    o da velocidade de transmiss  o  da UARTx  No PIC32MX360F512L existem dois canais de comunica    o UARTI e UART2  O  valor do registrador UXBRG depende da freqii  ncia de oscila    o externa do MCU  Fosc   prescaler  do PIC  FPBDiv   o baud rate desejado  BaudRate  e do valor do bit BRGH do registrador  U2MODE de acordo com a equa    o a seguir     Fosc  UxBRG 
43.  s do cabo    RJ12   40    Conecte a placa ICD2 BR ao computador atrav  s da porta USB    Alimente o kit EXPLORER 16 BR com a fonte de alimenta    o    Compile o programa  Ctrl F10     Grave o programa no MCU do kit EXPLORER 16 BR  Program Target Device    Teste o programa     Sy Ge BD    Perceba que o LED 3 n  o acende no momento em que o bot  o 3    pressionado     Atividade 1 b    OMADNHPWNH    Em    main c    insira o c  digo para a atividade 1b        INCLUDES   include  lt p32xxxx h gt   linclude para o PIC32MX360F5 12   include  lt plib h gt        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV 2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_8    PBCLK is SYSCLK divided by 8 4 2 1        DEFINES     Ver Errata   Esquematico Leds e Botoes       BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao_1 PORTDbits RD6  IBOTAO 1   define Botao_2 PORTDbits RD7  IBOTAO 2   define Botao_3 PORTAbits RA7  IBOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4       LED  0 APAGADO 1 ACESO     define Ledl LATAbits LATAO   LEDI    define Led  LATAbits LATA     LED2    define Led3 LATAbits LATA2   LED3    define Led4 LATAbits LATA3   LED4    define LedS LATAbits LATA4   LEDS    define Led6 LATAbits LATAS   LED6    define Led7 LATAbits LATA6   LED7      define Led8 LATAbits LATA7   LED8    Utilizar como Botao_3 e nao Led_8    void ISR  CHANGE NOTICE VECTOR  ipl5  CN Interrupt ISR void        unsigned int value   value   PORT
44.  sinal anal  gico numa determinada taxa  de tempo  a esse processo chamamos de amostragem de sinal     Os sinais anal  gicos s  o muitas vezes processados por circuitos digitais  por exemplo  por  um microcontrolador ou por um microcomputador  Para processar sinais anal  gicos usando  circuitos digitais  deve se efetuar uma convers  o para essa   ltima forma  a digital  Tal convers  o     efetuada por um Conversor Anal  gico Digital  O conversor anal  gico digital  frequentemente  abreviado por conversor A D     um dispositivo eletr  nico capaz de gerar uma representa    o digital   discreta  de uma grandeza anal  gica  cont  nua      Por exemplo  um conversor A D de 10 bits  preparado para um sinal de entrada anal  gica de  tens  o vari  vel de OV a 5V pode gerar n  meros bin  rios de O  0000000000  a 1023  1111111111    ou seja  capturar 1024 pontos do sinal   dependendo do sinal de entrada  Se o sinal de entrada do  suposto conversor A D estiver em 2 5V  o valor bin  rio gerado ser   511 ou 512     Dessa forma  conversores anal  gico digitais s  o importantes para se fazer a amostragem de  sinais reais afim de discretiz   los para serem manipulados pelos sistemas digitais  ex   microcontroladores      Existem ainda os conversores digitais anal  gicos os quais fazem a convers  o de sinais  discretos no tempo  provenientes do controlador  para sinais cont  nuos afim de gerar uma  refer  ncia comando para os sistemas reais  A interface entre sistemas digitais e anal  gicos es
45.  vel de prioridade do  tratamento do pedido de aten    o de um perif  rico contador x    CPU  Exemplo  Se o conjunto de  bits TIIP   1 for programado por voc   no do registrador IPCx  significar   que o perif  rico ser    atendido segundo o n  vel de prioridade 1  em uma escala de O a 7  sendo 7 a de maior prioridade   pela CPU quando houver um evento de fim de contagem        10 O registrador pode ser configurado com 16 bits ou utilizar a combina    o de dois contadores  timers  de 16 bits cada um para formar um contador   timer  de 32 bits   46       Atividade l a    Nessa atividade programaremos o perif  rico contador 5 do PIC32MX360F512L no modo de  opera    o de um Timer  De in  cio  vamos escrever uma fun    o que chamaremos de  delay Ims int x  que tem por objetivo produzir um atraso preciso de 1 ms para o desenvolvimento  de qualquer aplica    o com esse MCU que exija precis  o de tempo da ordem de milisegundos  Essa  fun    o n  o retorna nenhum valor  void   s   provoca a ocorr  ncia de uma interrup    o na CPU  quando a contagem programada    atingida  Essa fun    o demanda a passagem de um par  metro  inteiro x que representa o n  mero de milisegundos que desejaremos que o perif  rico timer conte at    gerar a interrup    o     Nesta atividade iremos fazer o LED1 acender a durante 2 segundos toda vez que o Botao 1  for pressionado utilizando o contador do TimerS     Crie um novo projeto   Crie um arquivo    main e        Adicione os includes        INCLUDES     in
46. 0 Starter Kits            StopWatch  Stimulus  Profile  Clear Code Coverage                       Settings       MPLAB SIM       Figura 79 MPLAB SIM      5 P    x P Bak 14  Agora crie um projeto e no arquivo    main c    inclua o seguinte c  digo    Perceba que esse  c  digo    o mesmo apresentado na atividade 1 da primeira aula        INCLUDES   include  lt p32xxxx h gt    include para o PIC32MX360F512L       CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV_2  FPLLODIV   DIV_8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_2       0 Pressionado   1 Liberado    define Botao_1 PORTDbits RD6   BOTAO 1   define Botao_2 PORTDbits RD7   BOTAO 2   define Botao_3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4      0 Apagado   1 Aceso    define Ledl LATAbits LATAO   LED1   define Led2 LATAbits LATA1   LED2   define Led3 LAT Abits  LATA    LED3   define Led4 LAT Abits LATA3   LED4   define Led5 LAT Abits  LATAS   LEDS       14 Considerou se que o aluno j   possui conhecimento sobre o procedimento de cria    o de projetos no ambiente MPLAB    Item abordado no cap  tulo    5   93     define Led6 LATAbits LATA6   LED6   define Led7 LATAbits LATA7   LED7    main          Reset   LATA   0   LATB   0   LATC   0   LATD   0   LATF   0   LATG   0        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   0xFF80     1111 1111 1000 0000 Leds  PORT A0 A6  Output   Botao 3  PORT A
47. 00  A cada ciclo do loop while o valor da vari  vel  1     incrementado e o valor da vari  vel  j     decrementado     Para visualizar o programa compile o  Build All   abra o watch window e acrescente as  vari  veis 1  e 7 atrav  s do campo Add Symbol   Figura 91     nit check     Init data  _init_ramfune  _libe_data  _no_nmi  _tamfune_check  _tamfune_done     errno       Decimal       Watch 1   Watch 2   Watch 3   Watch 4           Figura 91 Visualizando variaveis atrav  s do Watch Window    A mensagem  Out of scope    dever   aparecer   Figura 92  Isso    normal haja visto que n  o  rodamos o programa ainda e dessa forma as vari  veis 1  e  j  ainda n  o foram declaradas     v  Add Symbol      TT symboa name    i Out of Scope Out of Scope  j Qut of Scope Out of Scope    Figura 92 Mensagem devido a n  o inicializa    o das vari  veis    100    Insira um breakpoint acima da linha do loop while e rode o programa  Run   Assim que o  programa parar no breakpoint as vari  veis j   ter  o sido declaradas e dessa forma seu valor de  inicializa    o poder   ser visto no watch window   Figura 93     OxFFFE     OxEFCE            Eras ha v  Add Symbol      exftun my    OxFFFE    OxFEBE            A000 7FF4 j 0x00002710            Watch   Watch 2   Watch 3   Watch 4        Figura 93 Visualiza    o das vari  veis inicializadas no watch window    Agora rode o programa passo a passo  Step Into  e veja o incremento da vari  vel  i   decremento da vari  vel 7   Figura 94     OxFFFE    OxFFF
48. 6 Localiza    o MPLA B   gees ca ccscsns cuca ain aaa E AEE E R Ei 22  Figura  MPLAB   IDE   oseni iee aniei ncaa cnc a a a a aa a 22  Figura 28 Cria    o de Projetos   Tela de Boas Vindas oc  ossaasapadica  asaguessandigadagespnedsapadicaia dustuasasatadans 23  Figura 29 Cria    o de Projetos   Sele    o do Dispositivo         sssseseseessesressieeresrrssrseresressrseresreesessresres 23  Figura 30 Cria    o de Projetos   Sele    o do Compilador                    eres 24  Figura 31 Cria    o de Projetos   Nome e Localiza    o do Projeto                     24  Figura 32 Cria    o de Projetos   Adi    o de Arquivos          cei ceeceesceesceesseceseeeeeeesseecaecnseessneesaeeesaeenes 25  Figura 33 Cria    o de Projetos   Resumo      ssssseesesereesersrrsseereesesserstertessttstesresttsttserestesstseresresseseresres 26  Figura 34 Cria    o de Projetos   Workspace         sesesesessessesersseseeesressrserssressessrerresseestesttnsersteereeseeseee 26  Fisura 33 COCO PIO gages stare a DS REE EE R E E RT 28  Fig  ra 36 Conex  o ICDs iaeiei aei ane 60006 a a Las 28  Figura 37 Warning ICD2 cass cepecets ceress Gi endecey seeds vensne ta licuin ta bendscdia dua eke S na EE a EESE eiiiai 29  Prema SS IC 2 C  nectado sabias aa paso regard asia ng GUESS e aaa an aa roads 29  Figura 39 Compila    o correta do programa isccvcerieeensteeetessteee eerie enis eee sede 35  Figura 40 ICD2BR Corretamente conectado i iieasussidsiadentedssoboneasiseidieonsenadeaneaedsiounncassaadpeadusmpadienanpe
49. 7  Input   TRISB   0xFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110 1111 1100 1111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFOO    TRISF   0xFFFF    TRISG   OxFEBF     while 1     if  Botao 1  Led1   1    TESTE BOT  O 1  else Led1   0   if  Botao_2  Led2   1     TESTE BOT  O 2  else Led2   0     if IBotao 3  Led3   1     TESTE BOT  O 3  else Led3   0     if  Botao_4  Led4   1    TESTE BOT  O 4  else Led4   0        Compile o programa  Ctrl F10      Perceba que ao abrir o MPLAB   SIM apareceu um menu  denominado debug  com 8 bot  es  a saber  Run  Halt  Animate  Step Into  Step Over  Step Out  Reset e Breakpoints   Figura 80     DEP Her EO  Figura 80 Menu debug para o MPLAB   SIM    Por instante vamos analisar 0 botao de Breakpoint     Breakpoints s  o paradas intencionais inseridas ao longo da seqii  ncia de execu    o do  programa cuja finalidade    verificar se o programa esta passando por determinada linha de c  digo  ou simplesmente fazer uma pausa em algum ponto para verifica    o do estado de flags  vari  veis   registradores  etc     No MPLAB   existem 3 formas de se adicionar um breakpoint  Clicando duas vezes com o  bot  o da esquerda sobre a linha na qual se queira inserir o breakpoint  Clicando com o bot  o direito  sobre a linha e selecionando o item  Set Breakpoint  ou ainda colocando o cursor do mouse sobre a  linha e clicando no   cone de Breakpoint no menu mostrado na Figura 80     Para verificar seu funcionamento fa  a duas simula    es  Na primeira sim
50. A  TRISB    TRISG   possui 32 bits por  m  somente os 16 bits menos significativos  bits de O a 15  est  o dispon  veis para  configura    o do usu  rio conforme pode ser observado no cap  tulo 12 do datasheet do PIC     Usualmente os registradores s  o configurados atrav  s de n  meros hexadecimais por raz  es  de clareza do c  digo escrito  No c  digo abaixo o coment  rio mostra o valor dos 16 bits menos  significativos  equivalente a escrita hexadecimal do respectivo registrador  a t  tulo de melhor  visualiza    o de quais pinos s  o entradas  1  e quais s  o sa  das  0      Para configurar a dire    o dos pinos de E S insira o c  digo abaixo        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111 1111 1000 0000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxFFFF     1111 1111 1111 1111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFOO    TRISF   OxFFFF    TRISG   OxFEBF        Pronto  A configura    o dos bot  es e LEDs esta feita     Para testar crie um loop infinito e fa  a com que o Botao 1 acenda o LEDI  o Botao 2  acenda o LED2  o Botao 3 o LED3 e 0 Botao 4 o LED4     while 1     if  Botao_1  Ledl   1    TESTE BOT  O 1  else Led1   0     if  Botao 2  Led2   1    TESTE BOT  O 2  else Led2   0     if  Botao_3  Led3   1    TESTE BOT  O 3  else Led3   0     if  Botao_4  Led4   1    TESTE BOT  O 4  else Led4   0        8 No final do material existe um ca
51. AD funciona em modo Idle  ADICONIbits  FORM   0     Resultado da convers  o em 16bits  ADICONIbits SSRC   7     Convers  o automatica apos amostragem  ADICONIbits ASAM   1     Amostragem autom  tica Habilitada    ADICON2bits VCFG   0     Referencia interna de tens  o  AVdd e AVss   ADICON2bits CSCNA   0     Auto scan desabilitado    ADICON2bits SMPI   0     Interrup    o a cada convers  o  ADICON2bits BUFM   0     Resultado armazenado em   buffer de 16bits  ADICON2bits ALTS   0     Nao alterna MUX A com MUXB    ADICONBbits ADRC   0     Clock proveniente do clock de perifericos do PIC  TPB   ADICONBbits SAMC   31     Tempo de amostragem 31 Tad  ADICONBbits ADCS   128     Tad   128 x TPB       AD1PCFG   0xFFDF     RB5 ANS5 como entrada anal  gica  ADICSSL   0x0000     Auto scan desabilitado    ADICONIbits ADON   1     Habilita o m  dulo AD       Para entender a configura    o do c  digo acima considere a Figura 51  Ela mostra que a  entrada RB5 ANS do PIC est   conectada a um divisor de tens  o montado na placa Explorer 16 BR  que ser   utilizado como entrada do nosso sinal anal  gico  Por isso a entrada RB5 ANS deve ser    67    configurada como entrada anal  gica conforme mostrado na linha 24 do c  digo acima  ADIPCFG    O0xFFDF  1 indica entrada digital e O indica entrada anal  gica            TRIMPOT   3 3V  P3 So ano aas  10k R23  470                Figura 51 Esquema el  trico do trimpot do kit EXPLORER16BR para utilizac  o do conversor AD    O diagrama em blocos do conver
52. Botao 3  Led3   1    TESTE BOT  O 3  else Led3   0     if  Botao 4  Led4   1    TESTE BOT  O 4  else Led4   0               end Main       Figura 83 Breakpoints  95    Pressione o bot  o Run e  cada vez que o programa parar sua execu    o  pressione novamente  o bot  o Run  Perceba que  sempre que o programa para a execu    o  uma seta verde aparece  indicando o ponto a partir do qual o programa ir   recome  ar     Compreendido o funcionamento de um breakpoint passaremos    an  lise do bot  o Step Into  com o qual    poss  vel percorrer cada linha de c  digo  Coloque um breakpoint na primeira linha do  programa  clique no bot  o Run e assim que o programa parar sua execu    o  seta verde  pressione o  bot  o Step Into continuamente   Figura 84     Perceba que depois de entrar no loop while o programa sempre entra na linha if mas nunca  entra na linha else  a explica    o desse fato ser   dada a seguir            ae EEN ES    int main  void             Reset  LATA  LATB  LATC  LATE  LATE  LATE        RR RR   sans s o       Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA  TRISB  TRISC  TRISL  TRISE  TRISE  TRISG    OxFF80     1111111110000000 Leds  PORT AO A     Output   Botao 3  OxFFFE    OxFFFE    OxEFCE     1110111111001111 Botoes  PORT D   D7 D13  Input   OxFFOO    OxFFFE    OxFEBE     Nnnn    while  1       if  Botao_1  Ledl   1    TESTE BOTAO 1  else Ledi   0     Nn    if  Botao 2  Led2   1    TESTE BOT  O  else Led2   0
53. C32   termo de compromisso          19    Para que n  o ocorra problemas futuros quando precisarmos referenciar a pasta de instala    o  do MPLABC32 deixe a como est       C  Program Files Microchip MPLAB C32      Figura 22     Choose Destination Location    Select folder where setup will install files        a Install MPLAB C32 41 05 to   C  Program Files Microchip MPLAB C32    HnstallShield       Figura 22 MPLAB   C32   local de instala    o       Clique    install    para iniciar a instala    o   Figura 23     Ready to Install the Program  The wizard is ready to begin installation        Click Install to begin the installation     If you want to review or change any of your installation settings  click Back  Click Cancel to exit  the wizard     InstallShield       Figura 23 MPLAB   C32     instala    o       20          MPLAB C32 v1 05   InstallShield Wizard    Setup Status       MPLAB C32 v1 05 is configuring your new software installation     Installing    CA  AMPLAB C32 pic32mx libvibmchp_peripheral_32M gt 340F128L a       InstallShield       Cancel          Figura 24 MPLAB   C32   progresso da instala    o    Clique em    finish    para terminar a instala    o   Figura 29        eo  MPLAB C32 v1 05   InstallShield Wizard  InstallShield Wizard Complete    The InstallShield Wizard has successfully installed MPLAB C32    1 05  Click Finish to exit the wizard           lt Back  e Finishes   Cancel      Figura 25 MPLAB   C32   fim da instala    o          2     5  Criacao d
54. Central Processing Unit     um circuito integrado respons  vel  por processar dados e executar instru    es  Ele    composto basicamente por  Caminho de dados   ULA   Registradores   Multiplexadores  respons  vel por executar ou processar as instru    es e  Unidade de controle  respons  vel por gerenciar o tr  fego de informa    o nos barramentos     Os microprocessadores n  o possuem perif  ricos tais como interfaces program  veis de  entradas e sa  das de dados  conversores Anal  gicos Digitais  A D   Temporizadores  timers    M  dulos para comunica    o e transmiss  o de dados program  veis e M  dulos PWM  Modula    o de  Largura de Pulsos     Pulse Width Modulation  integrados     O microcontrolador por sua vez    constitu  do por uma CPU mais simples e uma diversidade  de perif  ricos program  veis em um   nico chip     Mesmo n  o possuindo os perif  ricos integrados em um   nico chip os microprocessadores  s  o amplamente utilizados em aplica    es que demandam processamento de dados intenso e  diversificado  haja visto que sua capacidade de processamento de dados    muito superior a dos  microcontroladores        importante compreender que existe no mercado um grande n  mero de fabricantes de  microcontroladores tais como   Microchip    Texas Instruments    Atmel   dentre outras     Os microcontroladores s  o muito usados no projeto de Sistemas Embutidos  ou Sistemas  Embarcados      Um Sistema Embarcado  ou Sistema Embutido     um sistema microprocessado no qual a  un
55. Compiler Toolsuite     Clique    Avan  ar      Figura 30     23       Project Wizard    Step Two   Select a language toolsuite       Active Toolsuite  Microchip PIC32 C Compiler T oolsuite X    Toolsuite Contents       MPLAB oD E fe  pic32 gec exe    1 05    MPLAB LINK32 Object Linker  pic32 Id exe  v1 05    Bim AM ee  Se See ee See ee eee ei NE       Location       Proar am Files    Microchi MPLAB C32 binsp 12 95  EM       Store tool locations in project    Help  My Suite Isn t Listed     Show all installed toolsuites       Figura 30 Cria    o de Projetos   Sele    o do Compilador          Escolha o diret  rio  d   um nome para seu projeto   ex     cA   ynyProject      e clique em     Avan  ar      Figura 31     A extens  o do projeto    do tipo     mep    que significa Microchip  Project     a       Project Wizard    Step Three   Create a new project  or reconfigure the active project           Create New Project File       Reconfigure Active Project  Make changes without saving    Save changes to existing project file    Save    sala  al to another project file    Browse             Figura 31 Cria    o de Projetos   Nome e Localiza    o do Projeto         Aten    o   N  o crie pastas com nomes separados por espa  o  por exemplo     c  meu projetounyProject     pois seu programa poder   n  o compilar   Esta dica    valida para uma grande variedade de compiladores  Al  m do MPLAB   podemos citar o Code Composer da Texas Instruments     24       A po s          2       Na jan
56. D     ver datasheet pg 327       Led1l  Led1     IFS 1 bits CNIF   0     clear the interrupt flag       int main     int i   unsigned int value        Reset   LATA   0   LATB   0   LATC   0   LATD   0   LATF   0   LATG   0        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFO0    TRISF   OxFFFF    TRISG   OxFEBF     value   PORTD     ver datasheet pg 327       41       CHANGE NOTIFICATION  CN    CNCON   0x8000     Enable Change Notification Module  Continue Operation in Idle Mode  CNEN   0x8000    CN15  RD6  enabled   CNPUE   0x8000    CN15  RD6  pull up Enabled       Change Notification Interrupt  IEC Ibits CNIE  0      CN Interrupt Disabled  IFS Ibits CNIF   0       CN Interrupt Request Flag    IPC6bits CNIP   7    Priority 7  0 1    7   IPC6bits CNIS   0    SubPriority O  0 1 2 3     IEC bits CNIE  1      CN Interrupt Enabled  INTEnableS ystemMultiVectoredInt       while 1        for  i 0  i lt 50000  i      for  1 0  i lt 50000  i      for  i 0  i lt 50000  i      for  i 0  i lt 50000  i      if  Botao_3   Led3  Led3        O programa da atividade la foi mantido para facilitar a compara    o do efeito do atendimento a  interrup    o externa  Perceba  na linha 65 do c  digo acima  que a interrup    o que iremos utilizar   
57. D Explorerl6 BR fornecido com o kit  Figura 7   ou  ent  o baixe uma vers  o mais atualizada do MPLAB   IDE do site da Microchip   http   www microchip com  conforme o Sistema Operacional instalado em seu computador           Figura 7 CD Explorer 16BR    No CD voc   encontrar   as pastas mostradas na Figura 8 a seguir           Je  gt  Computador  gt  Unidade de DVD RW  D   Explorerl6BR SEA EEE P  to  GN a    L       Ens Eavoritas Nome Tamanho Tipo Modificado em Local     Di carers Arquivos no Disco  8  a     HE Ambiente de   iy  EE  Imagens pa Data Sheets  Pasta de Arquivo   IB M  sicas Pasta de Arquivos   erados Recent  IR R   u   esquisas os   E P  blico J         Softwares para suporte  Pasta de Arquivos       b  AUTORUN  Inf       ICONE  gar   Informa    es de configura    o Icon  2 27 bytes 4 42 KB    Pastas a      8 itens                Figura 8 Pastas CD Explorer16BR  12    Por instante iremos nos preocupar somente com a pasta    Ambiente de Desenvolvimento      V   em     Ambiente de Desenvolvimento  gt  gt  MPLAB  gt  gt  MPLAB 8 40  gt  gt  Setup           r  InstallShield Wizard    44 MPLAB Tools v8 40 Setup is preparing the InstallShield Wizard   which will guide you through the program setup process  Please  wait     Preparing to Install         Cancel          Figura 9 MPLAB   IDE   instala    o    Na janela que se abriu clique next  leia o termo de compromisso e clique em    J accept the  terms of the license agreement    e novamente em next   Figura 10       
58. DB4 DB3 DB2 D81 DBO       RS R W DB7 DB6 DB5 DB4  To SW Cas          00 0 0 1 Gu    DA A                     Function set 8 bit   Wait 4 1ms or more    Busy flag can not be checked      Ti RS R W DB7 DB6 DB5 DB4  000 0 1 1         Wait 4 1ms or more              RS R W DB7 DB6 DB5 DB4 DB3 DB2 D81 DBO  o 0 Goa    amp  BS         Wait 100us or more                      Function set  8 bit c  Wal 100yss or more    Busy flag can not be checked           RS R W DB7 DB6 DES DB4  Ooo 0 4 4                          RS R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DBO  000 0 1   We ARE OM                    Function set 4 bit              RS RAW DB7 DB6 DB5 DB4  sm 68       RS R W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DBO  O08 8    4A WN ae PA                Function Set  gt                       a ge eee  Entry Mode Set   0 0 N F  00000 0 0 1 ID S 0 0 0 0 0 0  J oo 41   oO O  End of Initialization oo p Gwg             y    End of Initialization    Figura 45 Inicializa    o do display HDM16216H B  obtida no datasheet do LSD     void inicializa LCD void      TRIS_E   0   TRIS_RS   0     RS 0  TRIS_RW   0     R W 0    RW_PIN   0    delay_1ms 20      Wait 20ms or more after VDD reaches 4 5V   comando_LCD 0x30      COMANDO 0x30   Envia Comando para Inicializar o Display  delay_1ms 4      my_timer c   comando_LCD 0x30    COMANDO 0x30   Envia Comando para Inicializar o Display  delay 10us 10      my_timer c   comando LCD 0x30    COMANDO 0x30   Envia Comando para Inicializar o Display    comando LCD 0x38     8 BITS
59. Dal a pads Saga 97  Figura 86 Mudan  a no estado dos LEDs  PORTA  bits AO A3  de zero para um                             97  Figura 8 Estimulo ASSINCIONO aeasasmedris ed tah ce cans a A Sa palj Sica AA Seta ls secede Sate hd EERTE  98  Figura 88 Est  mulo para troca de estado do bot  o 2 representado pelo PORT RDT                          98  Figura 89 Altera    o do estado dos PORTs RD7 e RAL    era 99  Figura 90 Seqii  ncia de est  mulos para alterar o estado dos PORTS                      99  Figura 91 Visualizando vari  veis atrav  s do Watch Window    100  Figura 92 Mensagem devido a n  o inicializa    o das vari  veis    100  Figura 93 Visualiza    o das vari  veis inicializadas no watch window                   101  Figura 94 Visualiza    o da varia    o dos valores das vari  veis no watch window                             101  Figura 95 Altera    o manual do valor das vari  veis                  rr ereeereeaneeeraanea 101  Figura 96 Op    o Trace All para utiliza    o do Logic Analyzer    irereeeereraneeeraanea 102  Figura 97 Logic Analyzer cosse nunai Raia ass Saad AAA DE UA MS RASA aden vs oa E AA ita da 102  Figura 98 Sele    o dos Registradores para o Logic Analyzer    rreereeereeaneeeraaneaa 103  Figura 99 Visualiza    o da altera    o do valor dos PORTs com o Logic Analyzer              103  Figura 100 Op    o Uart  IO para visualiza    o da Sa  da UART                    105    Figura 101 Sa  da do programa de simula    o da UART                errar 105    P
60. Delete Row Save Exit Help             Advanced     Amy           e   Figura 99 Visualiza    o da altera    o do valor dos PORTs com o Logic Analyzer       103    Para testar a UART insira o seguinte programa        INCLUDES   include  lt p32xxxx h gt    include para o PIC32MX360F512       CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL 16  FPLLIDIV   DIV_2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_2       INICIA SISTEMA  void init_sys        Reset  LATA   0   LATB   0   LATC   0   LATD   0   LATF   0   LATG   0        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFO0    TRISF   0xFFFF    TRISG   OxFEBF             FUNCOES UART    void inicializa_UART1  void         Se BRGH 0   gt  U2BRG    Fosc FPBDIV   16 BaudRate    1     Se BRGH 1   gt  U2BRG    Fosc FPBDIV   4 BaudRate    1     BaudRate   19200bps  U2BRG   51     BRGH 1   gt  U2BRG    8000000 2   4  19200    1    UIMODEDbits  UARTEN   1     Habilita UART2   UIMODEbits UEN   0     TX e RX habilitados  CTS e RTS controlados via hardware  MAX232   UIMODEbits  ABAUD   0     Desabilita o autobaudrate   U1MODEbits BRGH   1     Configura    o do BRGH   UIMODEbits PDSEL   0     8 bits de dados  sem paridade    IMODEbits STSEL  
61. Dessa forma o d  cimo bit  LSB     Less Significant Bit  recebe o valor  1      Assim o resultado bin  rio da convers  o     1001110011    Perceba que s  o necess  rias 10 itera    es para se converter os 10 bits que representam o  resultado da convers  o  Em geral  para um conversor de n bits s  o necess  rias n itera    es com o  m  todo de aproxima    es sucessivas     Uma maneira simples de transformar o valor da convers  o  valor entre O e 1023  no nosso  caso  em um valor real  valor entre O e Vrgr     multiplicar o resultado da convers  o pela resolu    o  do conversor  Para o nosso caso teremos     V pp  3 3V  N  10 Bits   niveis 2    1024   Resolu    o  3 3 1024 0 00322265625  Logo    valor         resultado   0 00322265625     65    Registradores    O PIC32MX360F512L possui 16 pinos  RBO     RB15  que podem ser programados como  entrada anal  gica  ANO     AN15  para convers  o anal  gico digital    Vale ressaltar que apesar de o PIC possuir 16 canais configur  veis como entrada anal  gica   internamente existe somente um conversor  Dessa forma as entradas devem ser multiplexadas de  forma a se fazer a leitura de cada canal individualmente    Os registradores envolvidos na programa    o do modulo A D s  o           TRISx     Configura o pino como entrada   ver 7 1  Aula 1     Configura    o de Pinos de Entrada e  Sa  da     ADIPCFG   Esse registrador    utilizado para informar se o pino correspondente ser   setado como  digital ou anal  gico  uma vez que ele j   ten
62. E    LATE amp OxFFFFFF00 ldado     Escreve Dados na Port   E PIN   1     Envia Dado   delay 10us 1     E PIN 0    delay 10us 4     LATE    TRISEIOx000000FF      Configura pinos LCD como entrada            Envia Comando  void comando LCD unsigned char dado        LATE    TRISE amp OxFFFFFFO00      Configura pino como sa  da   RS PIN   0     SELECIONA PARA DADOS   LATE    LATE amp OxFFFFFF00 ldado     Escreve Dados na Port   E PIN   1     Envia Dado   delay_10us 1     E PIN 0    delay 10us 4     LATE    TRISEIOx000000FF      Configura pinos LCD como entrada            Escreve Led  void escreve_frase_LCD const char  frase        do    dado LCD  frase     while    frase              58    Em    my Icd h    inclua o seguinte c  digo      ifndef MY LCD H   define MY LCD H     include  lt p32xxxx h gt    include para o PIC32MX360F512       PINOS LCD  CONTROLE E DADOS    define DATA PIN 7 LATEbits LATE7   define DATA PIN 6 LATEbits LATE6   define DATA PIN 5 LATEbits LATES   define DATA PIN 4 LATEbits LATE4   define DATA PIN 3 LATEbits LATE3   define DATA PIN 2 LATEbits LATE2   define DATA PIN 1 LATEbits LATE1   define DATA PIN O LATEbits LATEO     define TRIS DATA PIN 7 TRISEbits  TRISE7   define TRIS DATA PIN 6 TRISEbits  TRISE6   define TRIS DATA PIN 5 TRISEbits TRISES   define TRIS DATA PIN 4 TRISEbits  TRISE4   define TRIS DATA PIN 3 TRISEbits  TRISE3   define TRIS DATA PIN 2 TRISEbits  TRISE2   define TRIS DATA PIN 1 TRISEbits TRISEI   define TRIS DATA PIN O TRISEbits  TRISEO   
63. E   OxEFCE   OxFFOO     OxFFFE     Add Symbol  __exfun_mx  OxFEBE      A000   m l j 0x00002709       Figura 94 Visualiza    o da varia    o dos valores das vari  veis no watch window    Experimente alterar o valor das vari  veis atrav  s do teclado  Clique duas vezes sobre o valor  decimal da vari  vel desejada e coloque algum n  mero  Por exemplo vamos colocar o valor 2000 na  vari  vel  i    Figura 95     0xEFCE    OxFFOO            OxFFFE    Add Symbol _exfun_mx  OxFEBF  la    A000 7FFO i 0x00000067       A000 7FF4 5 0x00002707         watch  watch 2   watcha   Watch 4        Figura 95 Altera    o manual do valor das vari  veis    101    Logic Analyzer    Al  m do Watch Window podemos visualizar os registradores do PIC utilizando uma  ferramenta denominada Logic Analyzer  Diferentemente do Watch Window que apresenta somente o  valor das vari  veis o Logic Analyzer mostra a respectiva forma de onda    Antes de abrir o Logic Analyzer v   em     Debugger  gt  gt  Settings       e na aba    Osc Trace     selecione a op    o    Trace All      Figura 96  Esta op    o permite termos acesso a lista de pinos do    PIC     Processor Frequency    Units        80  o  MHz     KHz    Trace esis  Buffer Size  1K   30840K   F 64 O K lines  a T on Trace Buffer Full    M lines  Stepping Operation      Instruction    Cycle       Figura 96 Op    o Trace All para utiliza    o do Logic Analyzer    Para abrir o Logic Analyzer v   em     View  gt  gt  Simulator Logic Analyzer      Figura 97     T
64. FO00    TRISF   OxFFFF    TRISG   OxFEBF        Inclua a refer  ncia do arquivo em    main c        Isso far   com que as fun    es e vari  veis do arquivo    init sys h    possam ser interpretadas  dentro do arquivo    main c       Agora fa  a o mesmo para    my timer c    e    my timer h     Esses arquivos conter  o as  temporiza    es necess  rias para o MCU se comunicar corretamente com a controladora do LCD     56    Em    my timer c    inclua o seguinte c  digo      include  init_sys h     void delay  int PR  unsigned int x     TSCONbits TON   0     TMR OFF  TMRS   0     ZERA CONTADOR    PR5   PR   TS5CONbits TCKPS   3     Prescaler 1 8    TSCONbits TCS   0     CLK INTERNO  TSCONbits  TGATE   0     IFSObits  TSIF   0     Limpa flag  TSCONbits TON   1     TMR ON       while x    0       Temporizacao  while IFSObits  T5IF    0    IFSObits  TSIF   0   X            T5CONbits TON   0     TMR OFF          Delay   Ims X   void delay Ims unsigned int x         Periodo TMR    Fosc   Tempo   FPBDIV   PS      PRS    8000000   0 001   2   8    500   PRS   500    delay 500 x             Delay   10us X  void delay_10us unsigned int x         Periodo TMR    Fosc   Tempo   FPBDIV   PS      PRS    8000000   0 000010   2   8   5  PR5  5   delay 5 x         Esse c  digo contem o c  lculo do per  odo do timer e do prescaler necess  rios para se obter o  tempo desejado  Caso voc   n  o entenda o c  digo acima  retorne a aula 3 e estude como configurar  os registradores necess  rios ao uso d
65. Integer 16 bit  DOUT   0000 0000 0000 0000  111   Signed Fractional 32 bit  DOUT   sa d        110   Fractional 32 bit  DOUT   a  dddd dd00 0000  101   Signed Integer 32 bit  DOUT  ssss ssss ssss ssss ssss sssd  100   Integer 32 bit  DOUT   0000 0000 0000 0000 0000 00dd dddd       Figura 53 Formato do dado convertido    Em       main c    insira o c  digo para a atividade 1        INCLUDES   include  init_sys h    include  my_timer h    include  my_Icd h    include  my_adc h        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV_2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_2        DEFINES      BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao   PORTDbits RD6   BOTAO 1   define Botao_2 PORTDbits RD7   BOTAO 2   define Botao 3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4     LED  0 APAGADO 1 ACESO     define Led1 LATAbits  LATAO   LED1   define Led2 LAT Abits  LATA    LED2   define Led3 LAT Abits  LATA    LED3   define Led4 LATAbits LATA3   LED4   define LedS LATAbits  LATA4   LEDS   define Led6 LAT Abits  LATAS   LED6  Hdefine Led7 LAT Abits  LATA6   LED7     define Led8 LAT Abits  LATAY   LEDS    Utilizar como Botao 3 e nao Led 8    int main void       char buffer_Icd 17    float resultado     init sys       Inicializa o sistema    inicializa LCD       INICIALIZA LCD   limpar LCD       LIMPA O LCD   comando LCD 0x80     escreve frase LCD  AULAS MULTIMETRO       inicializa_adc       I
66. MCU           6  x  representa a letra do PORTO em quest  o  Exemplo  TRISA  TRISB  TRISC       TRISG   O n  mero de PORTOS varia de um microcontrolador PIC para outro     32       Atividade 1  Nesta atividade iremos configurar pinos de Entrada e Saida  E S  de um MCU para  utiliza    o dos bot  es e leds  Apresentaremos um pequeno programa para acionamento de um led    atrav  s de um bot  o da placa de desenvolvimento Explorer 16 BR     Crie um novo projeto no ambiente MPLAB   Crie um arquivo       main e        Adicione o s  cabe  alho s   includes  m  nimos necess  rios a todo o projeto        INCLUDES   include  lt p32xxxx h gt    include para o PIC32MX360F512L    i ae i ati T  Em seguida  no mesmo c  digo em C  configure o modo de grava    o        CONFIGURACAO PARA GRAVACAO     pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV 2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_2       Cada registrador do PIC possui um endere  o de mem  ria espec  fico e um espa  o de 32bits   Para o PIC32MX360F512L esses endere  os est  o mapeados no arquivo header    MPLAB   C32  gt  gt   pic32 libs  gt  gt  include  gt  gt  proc  gt  gt  p32mx360f5121 h        Cada linha da cl  usula    fdefine    no c  digo abaixo define um nome para cada endere  o de  registrador do microcontrolador que pode ser configurado pelo programador  Para melhor  entendimento do c  digo  atribuimos nomes representativos as entradas  bot  es  e sa  das  leds  e  atribu  mos
67. R2          Configura modulo Output Compare   OCSCONbits ON   1     Habilita PWM 5   OCSCONbits OC32   0     Timer 1 6bits   OCS5CONbits OCTSEL   0     Selecao do Timer2 como referencia  OCSCON I  0x5     Pulsos Continuos   OCS5CON  amp   0xFFFFFFFS     Pulsos Continuos   OCSRS   3125     Periodo   PRx   OCSR   2500     Duty Cycle 20     while 1      return  0         O c  digo acima possui uma frequ  ncia de opera    o de 100 ms devido a configura    o do  timer 2  Perceba  na linha 31  que o per  odo equivale a 3125  Desta forma para obtermos um ciclo    84    de trabalho de 20  precisamos inicializar o registrador OCSPR  linha 57  com o valor  0 8 3125    2500  Onde 0 8 representa o complemento do ciclo de trabalho desejado  0 2   Caso voc   altere a  configura    o do m  dulo output compare para transi    o de n  vel l  gico alto para baixo  ao inv  s de  baixo para alto  o valor do registrador OCSR dever   ser 0 2 3125 625     Teste o programa com o MPLAB   SIM     Ap  s testar o programa conecte o kit EXPLORER 16 BR na placa ICD2 BR atrav  s do cabo  RJ12     Conecte a placa ICD2BR ao computador atrav  s da porta USB   Alimente o kit EXPLORER16 BR com a fonte de alimenta    o   Compile o programa  Ctrl F10      Grave o programa  Program Target Device    Atividade 2   Altere o c  digo da atividade anterior para uma frequ  ncia de opera    o de 0 25 Hz com ciclo  de trabalho de 70   Ateste o funcionamento do m  dulo PWM com o aux  lio do oscilosc  pio  Para  isso configur
68. STE ADE Toggle Botao 1  else Led     0     RD7 Toggle Botao 2    Toggle Botao 3             Buid   Version Control   Find in Files   MPLAB SIM   17877  SIM N0001 Note  Asynchronous Stimulus RD7  Botao 2 fired    18006  SIM N0001 Note  Asynchronous Stimulus RD   Botao 2 fired   18094  SIM N0001 Note  Asynchronous Stimulus RD6  Botao 1 fired   18137  SIM N0001 Note  Asynchronous Stimulus RD13  Botao 4 fired                                       Figura 90 Sequ  ncia de est  mulos para alterar o estado dos PORTs     Caso queira voc   poder   salvar os est  mulos pr   definidos  Figura 87  e utiliz   los em  aplica    es futuras     Como dito anteriormente com o Watch Window  Figura 85     poss  vel visualizar tanto os  registradores do PIC quanto o valor das vari  veis declaradas no programa  Para compreender como    isso funciona altere o c  digo da fun    o main anterior por     int main void       int i 0   int j 10000        Reset   LATA   0   LATB   0   LATC   0   LATD   0   LATF   0   LATG   0           Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   0xFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFO0    TRISF   OxFFFF    TRISG   OxFEBF     while 1             end Main       Perceba que o c  digo inicializa a vari  vel  i  com o valor  0  e a vari  vel  j  com o valor    100
69. UNIVERSIDADE FEDERAL DE MINAS GERAIS X mE  DEPARTAMENTO DE ENGENHARIA ELETR  NICA i       Apostila sobre Introdu    o ao Projeto com  Microcontroladores e Programa    o de Perif  ricos    Disciplina de Laborat  rio de Sistemas  Processadores e Perif  ricos    baseado no microcontrolador PIC32MX360F512L  e no kit de desenvolvimento EXPLORERI6BR da Labtools     Autores     Marconi de Oliveira J  nior  marconioliveirajr  gmail com  Engenheiro Eletricista   Universidade Federal de Minas Gerais    Professor Ricardo de Oliveira Duarte  ricardoduarte  ufmg br   Departamento de Engenharia Eletr  nica  Universidade Federal de Minas Gerais    Vers  o  Dezembro de 2010    Sumario    ls PPO GUC AG doce Naa e e SIRER I SEDE ead ee eee 6  2  Microcontroladores  microprocessadores e sistemas embarcados                      e 9  3  Material utilizado NO CUISO ascii  i ceoeieth ceed ropdoal Peiaaal asd caeed sede toed su ccatatesteeed Shade tasisi anoei ikisine erkis 10  A  MPLAB IDE MPL ABRA  creio maps od SO qi 12  4 1  Instala    o MPLAB   IDE    meneame eritema 12  4 2  Instala    o MPLAB   COD sines O ITS SS 19   5  Cacao de Projeto secesie Da TS OD Sd 22  GO  Grava    o d   Progeny no PICA ii ai aiii sda Ab a 27  T Atyidad  s AMS sossen ea Gu a dA ci ad 30  7 1  Aula 1     Configura    o de Pinos de Entrada e Sa  da                 rrenan 31  7 2  Aula 2     Configura    o do Perif  rico de Interrup    es de Eventos Externos por Notifica    o de  Mudan  a de Estado  semsinsas ici hasobb
70. a     D         O m  dulo output compare dispon  vel no perif  rico PWM do PIC nos permite gerar at   cinco  sinais PWM diferentes  informando apenas a freqii  ncia de opera    o e o ciclo de trabalho     O modo de funcionamento    basicamente o seguinte  O usu  rio configura o timer com um  valor desejado para o per  odo no registrador PRx  Este mesmo valor    passado ao registrador  OCxRS do m  dulo output compare e representa o per  odo da onda portadora  dente de serra   Em  seguida o valor do sinal modulante    inicializado no registrador OCxR  O m  dulo output compare  faz a compara    o entre o valor programado pelo usu  rio  OCxR  e o valor do timer  Quando o valor  do timer torna se maior que o valor armazenado no registrador  OCxR  o modulo output compare  gera um evento baseado no modo de opera    o pr   definido e leva a sa  da do PWM para n  vel l  gico  alto  Observe o diagrama em blocos do m  dulo output compare na Figura 69 a seguir        Set Flag bit  OCxIF                                OCxR              Output Enable  x OCM lt 2 0 gt         gt  4 OCFA or OCFB  Comparator Mode Select  see Note 2     OCTSEL    Ao    TMR register inputs Period match signals    from time bases from time bases   see Note 3    see Note 3                        Note 1  Where    x    is shown  reference is made to the registers associated with the respective output compare  channels 1 through 5  2  The OCFA pin controls the OC1 OC4 channels  The OCFB pin controls the OC5 channel 
71. a a  partir de agora  Trata se da modulariza    o do c  digo  onde criaremos arquivos fonte com extens  o    c  e arquivos de cabe  alho  headers  com extens  o   h  a fim de tornar o c  digo mais leg  vel e  organizado     Primeiramente crie um arquivo chamado    init sys c    e    init sys h     Salve os na pasta do  seu projeto      File New        File Save as         Nesse arquivo programaremos a inicializa    o do  sistema  Inclua os arquivos no seu projeto  Na aba    Source Files    da   rea de trabalho clique com o  bot  o direito do mouse e escolha    Add Files        na janela que se abre selecione o arquivo     init sys c     Na aba    Header Files    da   rea de trabalho clique com o bot  o direito do mouse e  escolha    Add Files       na janela que se abre selecione o arquivo    init sys h        No arquivo    init sys h    insira o seguinte c  digo      ifndef INIT SYS H   define INIT SYS H   include  lt p32xxxx h gt    include para o PIC32MX360F512    void init sys void     endif       No arquivo    init sys c    Insira o seguinte c  digo      include  init_sys h     void init_sys         Reset   LATA   0   LATB   0   LATC   0   LATD   0   LATF   0   LATG   0        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   OxF
72. a interrup    o do perif  rico que pediu  a aten    o da CPU     Em muitas aplica    es de sistemas embarcados necessita se de uma interrup    o externa para  informar a CPU do microcontrolador que algum perif  rico acabou de fazer sua tarefa e est   pedindo  a aten    o dela ou que algum evento externo atrav  s de um pino de entrada ocorreu     O perif  rico ou interface respons  vel pelo uso das interrup    es externas est   diretamente  relacionado a certos pinos do MCU e pode ser configurado para gerar interrup    es por mudan  a de  estado  Ex   de um n  vel l  gico de O para 1 ou o contr  rio  dentre v  rias outras formas que s  o  descritas no datasheet do MCU  Esse recurso    muito usado quando queremos ler se um bot  o foi  pressionado  ler teclados  dar aten    o a uma chegada de dados de um dispositivo externo ou  qualquer outro evento ass  ncrono a qualquer momento que eles ocorrerem e ainda sincronizar  eventos com a rede el  trica  entre outros exemplos     Na aula 1 um evento ocorrido em uma porta digital  ex   pressionar de um bot  o  s   era  tratado quando o programa chegasse na linha que fazia a leitura do pino digital  Com a configura    o  37    do perif  rico ou interface que d   aten    o as interrup    es externas  a ocorr  ncia de alguma mudan  a  de n  vel em um pino digital provocar   um pedido de interrup    o a CPU e gerar   um salto  incondicional para a rotina de tratamento de interrup    o espec  fica     Registradores    Para configurar a inte
73. a no PIC com o ICD2 BR v   em     Programmer  gt  gt  Select  Programmer  gt  gt  MPLAB   ICD 2       Na barra de tarefas clique em     Reset and Connect to ICD     Se a placa estiver corretamente  instalada a seguinte mensagem ir   aparecer   Figura 40     2  Output  a    Build   Version Control   Find in Files   MPLAB ICD 2    Target Device PICS2MX360F512L found  revision   Rev 0x40900053    Reading ICD Product ID   Running ICD Self Test     Passed    MPLAB ICD 2 ready for next operation  5i                      4 ull p       Figura 40 ICD2BR Corretamente conectado    35    Para gravar o programa clique em     Program Target Device        Se a grava    o foi bem sucedida a seguinte mensagem ir   aparecer   Figura 41     oupa k e    Build   Version Control   Find in Files   MPLAB ICD 2       verifying Config memory    Programming succeeded  17 Apr 2010  17 23 33                    MPLAB ICD 2 ready for next operation    4 EE j         Figura 41 Grava    o concluida com sucesso    Para testar o programa desconecte a placa ICD2 BR do kit EXPLORER 16 BR  pressione os  bot  es e veja o que acontece        Atividade 2    Modifique o programa 1 para que o Botao 1 acenda o LED 1 e este se apague somente se o  bot  o 2 for pressionado     Atividade 3    Quando o Botao_1 for pressionado os LEDS dever  o acender na seguinte seq    ncia  LED7   LED6  LEDS  LED4  LED3 LED2  LED1  LED7  LED6      ou seja  da direita para esquerda    Quando o Botao_2 for pressionado os LEDS dever  o acend
74. ador teremos tamb  m bits relativos ao controle de interrup    o  pois o  contador    um perif  rico que trabalha independentemente da CPU  Uma interrup    o de timer   contador de tempo  ou do contador de eventos sempre ocorrer   na CPU do microcontrolador  toda  vez que uma contagem chegar ao fim  o fim de contagem depender   da forma como os par  metros  da Equa    o I estiverem configurados       Os registradores envolvidos no controle de interrup    es do  perif  rico contador s  o           IECO  Interrupt Enable Control Register 0   Registrador que armazena o estado da aten    o da CPU  para a ocorr  ncia de uma interrup    o em qualquer contador x  Exemplo  TIIE   1  TLE    um bit  do registrador IECO que programado com n  vel l  gico 1 significa que a CPU atender   interrup    es  do Timer 1  T1  quando esse tipo de interrup    o acontecer     IFSO  Interrupt Flag Status Register 0   Registrador que armazena o estado pedido de aten    o de  um perif  rico contador x    CPU  Exemplo  Suponha que o bit TIIF   1 do registrador IFSO  TIIF     um bit do registrador IFSO que se estiver em n  vel l  gico 1 significa que o perif  rico atingiu o fim  da contagem para qual foi programado e pede a aten    o da CPU para o evento de fim de contagem   Portanto IFSO    um registrador que a CPU deve consultar ao final de cada ciclo de instru    o para  verificar se algum perif  rico lhe pediu a aten    o     IPCx  Interrupt Priority Control Register x   Registrador que armazena o n 
75. alores da janela do Stopwatch ser  o modificados conforme mostra a Figura 105   Observe queforam executadas 705 instru    es at   o breakpoint durante um intervalo de tempo de         ng    E GRE nd a  705uS  O que resulta em uma instru    o por micro segundo  ou ainda  uma fregii  ncia de Mm    IM Hz  que    exatamente a frequ  ncia pr   ajustada     TRISC   OxFFFE   TRISE   OxEFCE     11101111  TRISE   OxFFOO   TRISE   OxFFFF   TRISG   0xFEBE     Stopwatch Total Simulated  Instruction Cycles 705 705  while  i E  Time  uSecs  705 000000 705 000000      delay_1ms_x  2000      Processor Frequency  KHz  1000 000000       Figura 105 Stopwatch 2    Antes de prosseguir com a execu    o do programa limpe o contador selecionando a op    o     Zero     Perceba que ele ir   zerar somente a coluna correspondente ao Stopwatch  mantendo o  tempo total simulado  Total Simulated    Figura 106     108    TRISE   OxEFCEF     11101111  TRISE   OxFFOO   TRISE   OxFFFE   TRISG   0xFEBE     Stopwatch Total Simulated  Instruction Cycles 0 705  while 1 x  Time  uSecs  0 000000 705 000000     delay 1ms_x  2000      Processor Frequency  KHz  1000 000000       Figura 106 Stopwatch 3    Agora prossiga com a execu    o do programa  Observe no c  digo que o programa ir   gerar  um delay de 2segundos  Ap  s o fim dos 2 segundos o programa volta ao mesmo ponto e para  novamente no breakpoint  Neste instante a janela do Stopwatch apresenta os valores mostrados na  Figura 107    Observe que o tempo decorrid
76. ao computador  atrav  s da porta USB  Caso a vers  o do MPLAB   seja igual ou superior a 7 31 o driver do ICD2  BR pode ser pr   instalado durante a instala    o do MPLAB    Caso voc   tenha seguido os passos  indicados no capitulo 4 basta conectar a placa ICD2BR e esperar que o Windows reconhe  a o  driver  Para vers  es do MPLAB   seja inferior a 7 31 uma janela de instala    o do dispositivo USB   placa ICD2 BR  ir   aparecer  Se isso ocorrer localize o driver na pasta de instala    o do MPLAB     ICD2 Drivers ou Driversnn ICD2_USB   Onde nn    a vers  o do sistema operacional     Com a placa conectada    USB e devidamente instalada  abra o ambiente de desenvolvimento  MPLAB   IDE  V   em     Configure  gt  gt  Select Device    e selecione o PIC a ser utilizado  no nosso  caso o PIC32MX360F512L  Perceba que na   rea    Programmers    o ICD2 aparece na cor verde   indicando que o mesmo pode ser utilizado para o PIC em quest  o  O mesmo    valido para     Debuggers     Ou seja  a placa ICD2 BR pode ser utilizada tanto para programa    o quanto  depura    o de programas para o PIC32MX360F512L   Figura 35     O MPLAB   IDE fornece ainda um simulador  MPLAB   SIM  que    utilizado para testar o  programa antes de grav   lo no microcontrolador  Desta forma o usu  rio pode testar o programa  mesmo na aus  ncia da placa ICD2BR  Mais detalhes do MPLAB   SIM ser  o dados no Anexo IV    MPLAB   SIM  Perceba pela Figura 35 que a utiliza    o deste componente    apenas parcial  bola  a
77. art1 IO para visualiza    o da Sa  da UART          A sa  da do programa    mostrada na Figura 101        ee int main void  87  88 char caractere   e9  so init_sys       Inicializa o sistema  91  inicializa UARTI  93  94 putsUART1   UFMG r n      95 putsUART1   COMUNICACAO RS232 r n                100   Buig _  Version Control   Findin Files   MPLAB SIM   SIM Uart    101 UFMG          COMUNICACAO R5232             Figura 101 Sa  da do programa de simula    o da UART    105    Stopwatch    Para finalizar a apresenta    o dos recursos oferecidos pelo MPLAB   SIM vamos analisar o  Stopwatch  Com esse recurso    poss  vel mensurar o tempo real gasto pelo PIC para executar algum  comando     Primeiramente    preciso configurar o clock do perif  rico que ser   utilizado  Para isso v   em     Debugger  gt  gt  Settings        aba    Osc  Trace     campo    Processor Frequency    e insira o clock de  opera    o dos perif  ricos do PIC   Figura 102     ATEN    O  O clock de opera    o dos perif  ricos    diferente do clock real do PIC pois   devido   s configura    es do projeto  o clock do cristal pode ser dividivo por  8  4 2 ou 1 vezes        E  Simulator Settings                      Code Coverage     Animation   Realtime Updates Limitations  Osc Trace   Break Options   Simuus   Uart  10      Processor Frequency       Units     1000 MHz  o KHz    Trace Options       Buffer Size  1K   30840K     o K lines  M lines       Break on Trace Buffer Full 64    Stepping Operation  O Instruc
78. asg pia dniigo bia inti ade eons i iai e dee Dis daCb aaa ariei aani dna dad decada dad 37  7 3  Aula 3   Configura    o de Perif  ricos Contadores  Temporizadores ou Timers e Contadores  de eventos externos ou Counters  sssirssiininisiiis sikisi ii sins rie i Ess as ss siea saries 44  7 4  Aula 4     Configura    o de Interface para Comunica    o com Displays de Cristal L  quido   LCDS  alfa iim   no Siene r EE AA A REAT E EE 53  7 5  Aula 5     Configura    o de Conversores Anal  gicos Digitais  Conversores A D                    62  7 6  Aula 6     Configura    o de Interface para Comunica    o serial UART com R  232                71  7 7  Aula 7     Configura    o do Perif  rico de Modula    o de Largura de Pulsos  PWM                 81  ANEXOS GMR DRT TND ERR cts owes RE RR sande de RO E DRE RR AR RE essence APT 86  Anexo I  Adicionando arquivos durante a cria    o do projeto        eeeeeeseeceseeecssececsteeeeneeeenteeeenaees 87  Anexo II  Adicionando arquivos depois da cria    o do projeto                    91  Anexo III   Utiliza    o do Socket para Grava    o Depura    o                    ea 92  An  xo IV  MPLAB    SIM sidan cea nenesinin enaa OR ORNE DRE 93  WY BEC LOIN  sisciesoiaiicece iair i ae aE EERE EEE Eaa aaa a E a Ea aE aaa 97  EStiMUlO sorisa ese es eee E E IE EEEE T 98  Logic PATA yc ns cides saccade iee aa aaa a a Ada a a a UERN RS Ea A ERR 102   OU Py UC saias Gt cca ee eee aera O eae E ddr 106  ERRATAS acces sae cca tp saps a avon ia na a ce aeia a
79. ate 110  Errata 1  Esquem  tico Leds e BOLDES siccssicsicasssuscccsasescecsashedadsshasccasaantcecsasageasssausdad evanssecvenedoudsianns 111  Errata I  Efeito de cargado ICD 2 OR cs cvcsiaccsocdedeaacdactsmeaspeedenydudens duauaadvsurasenaeaeeesetuiadten senadeesteusd 114  Refer  ncias  BiDINGErANCAS ssion sena ri eaaa a a EE E I TA aai 115    Ilustra    es    Figura   Explorer 16 BR sacadas gas ipba der Pasacs dad Na Nag dd EE a PA pa 10  Figura 2 ICD2 BR vais ccero tees ARDOR GER RN ESSE CARR ANS SU cesarean eed eee E 10  Figura 3 Plugin PIC32MX360F512L ua EG IC a seda ess 10  Fig  ra 4 Conector RJ  2 siepata haste dace Se DS GS gn aE eiaeia 11  Figura 5 Conector USB   ssssisresiririiionsiisiantesei nieee i iia Mth isse ESEE EA EETA EEEE REES aE E EESE 11  Figura Fonte Alimenta    O siissiissenisrianiienssssr tessaa ae ai aaaea a Sr ada ade 11  Fisura 7 CD Explorer TOBR wexccitentier wie einige RT E eee 12  Figura 8 Pastas CD Explorer  GBR sicccccecessesecadcezevccedanncicdidcaccpea iis cdaeni decades nbd cc bartaindc idvaeacned tn liced 12  Figura 9 MPLAB   IDE   instala    o sretcecassncadscetadatonideeuesnocdacs 6 S   RA pg 13  Figura 10 MPLAB   IDE     termo de compromisso       2   cccece ceeseececseeadensaesesccenssncaccesseedecensacescuesseces 13  Figura 11 MPLAB   IDE   modo de instala    o                   re ereeeeaneeernanereaeeada 14  Figura 12 MPLA B  IDE   local de instala    o x1 cscccaccnsvedesscentinte oviiedacasactadeddecanecedeattehenysecenuseshaleauare
80. clado para ver o caractere escrito na tela e no Icd r n       while 1       if U2STAbits  URXDA      Espera dado    caractere   RxUART2       Recebe dado do pc  TxUART2 caractere      Envia dado para pc       comando_LCD 0xCD    dado_LCD caractere      Escreve dado no LCD       Conecte o kit EXPLORER16 BR na placa ICD2 BR atrav  s do cabo RJ12   Conecte a placa ICD2 BR ao computador atrav  s da porta USB   Alimente o kit EXPLORER 16 BR com a fonte de alimenta    o     Compile o programa  Ctrl F10    Grave o programa  Program Target Device      Para testar o programa desconecte a placa ICD2 BR  Em seguida conecte o cabo DB9  Macho na placa EXPLORER16 BR e a outra extremidade  DB9 ou USB  no computador     Abra o Hyperterminal   Figura 59        Descri    o da conex  o       o Nova conex  o    Nome   Comunicacao R5232      cone     Digite um nome e selecione um icone para a conex  o         amp        Ss Be      A             2             Figura 59 Hyperterminal    D   um nome para sua conex  o e clique OK   Na tela que se segue escolha a porta serial  COMx  em    que a placa EXPLORER 16 BR est      conectada   Figura 60  Para cada computador a porta em quest  o poder   variar  Quando se usa um  conector USB para emular a porta serial poder   aparecer diferentes numera    es das portas como    COM4  COM7  COMS  etc        Conectar se       3    a Comunicacao RS232       Digite os detalhes do telefone que deseja discar   Pais regiao    C  digo de   rea    Telefone     Conectar 
81. clude  lt p32xxxx h gt    include para o PIC32MX360F512L   include  lt pblib h gt        Configure o modo de grava    o  O trecho da linha destacado no coment  rio do c  digo  abaixo  indica que os perif  ricos contadores contar  o de um em um seguindo a frequencia de clock   FBDIV  calculada pela frequencia do clock externa  SYSCLK  da placa Explorer 16 BR dividida  por 8  DIV 8   Essa linha de c  dico iniciada por  pragma com o par  metro FPBDIV  dividor do  clcok externo para uso interno do MCU  s   tem efeito para programa    o do MCU  Se o usu  rio  desejar simular esse comportamento no MPLAB SIM dever   configur   lo para usar esse par  metro   pois por default no MPLAB SIM n  o o considera        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV_2  FPLLODIV   DIV_8  FWDTEN   OFF        pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_8    PBCLK is SYSCLK divided by 8 4 2 1     Adicione os defines dos bot  es e LEDs        DEFINES       BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao   PORTDbits RD6   BOTAO 1   define Botao_2 PORTDbits RD7   BOTAO 2   define Botao_3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4     LED  0 APAGADO 1 ACESO     define Ledl LATAbits LATAO   LED1   define Led2 LATAbits LATAI   LED2   define Led3 LATAbits LATA2   LED3   define Led4 LATAbits LATA3   LED4   define Led5 LATAbits LATA4   LEDS   define Led6 LATAbits LATAS   LED6   define Led7 LATAbits LATA6   LED7     define Led8 LATAbits LATA7  
82. de  lt p32xxxx h gt    include para o PIC32MX360F512L   include  lt pblib h gt        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL 16  FPLLIDIV   DIV 2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV 8    PBCLK is SYSCLK divided by 8 4 2 1        DEFINES       BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao   PORTDbits RD6   BOTAO 1     define Botao_2 PORTDbits RD7   BOTAO 2   define Botao_3 PORTAbits RA7   BOTAO 3   define Botao_4 PORTDbits RD13   BOTAO 4     LED  0 APAGADO 1 ACESO     define Led1 LATAbits  LATAO   LED1   define Led2 LATAbits LATA1   LED2   define Led3 LAT Abits  LATA    LED3   define Led4 LATAbits LATA3   LED4   define LedS LATAbits  LATA4   LEDS   define Led6 LAT Abits  LATAS   LED6   define Led7 LATAbits  LATA6   LED7     define Led8 LATAbits LATA7   LEDS    Utilizar como Botao_3 e nao Led 8       Adicione a rotina que ser   executada quando a interrup    o do Timer  ocorrer     void _ ISR  TIMER 1 VECTOR  ipl2  Timer  Handler void     Ledl  Ledl     IFSObits T1IF   0     Limpa o flag          Sempre que ocorre o estouro do contador do Timer  o flag TIIF vai para nivel l  gico 1   sinalizando a ocorr  ncia de uma interrup    o  Ao terminar a rotina de tratamento de interrup    o do  Timer o usu  rio deve reset   lo via software  por isso a linha  IFSObits T1IF   0     Limpa o flag  no  c  digo acima     Inclua uma fun    o para configura    o do Timer  Perceba que uma fun    o semelhante poderia  ter si
83. de 35  Figura 41 Grava    o conclu  da COM SUCESSO  cs suis d asa ds sunsenoianeoiandewnsssavinciuivudsamidduaremaundssatuenebwientendss 36  Figura 42 Circuito de Clock do Timer iscissi eaii E EE EE EEE sl salas 48  Figura 43 Overload do registrador PR 1 sseyncczacedeshesad eed dead soceadgansuednadenecdsarnstcuasoedandssesvesdacusiatdgoeteaieaces 52  Figura 44 LCD alfa num  rico  OKZ asnosi senais ode anne enisi ssaa re iati esii E isesi E 53  Figura 45 Inicializa    o do display HDM16216H B  obtida no datasheet do LSD                            54  Figura 40 Comandos do LED ssis paee raaa R AE AS Sia ER 55  Figura 47 Endere  o das c  lulas do LCD 16x2     essesseseesessiesissesressrserrsressessrsrresseesresenserssesreesreseee 55  Figura 48 Convers  o A D   D A   seeesessesssssissiessesresstssrerresstseresresserstettessttsteseissttstestestesseserestesseseresres 63  Figura 49 Circuito de amostragem do sinal  lt 21s  2dciisecsedseautncedtgezeadspcsadeonsonnadasesadcespiesaaeanaeendecedoseeureseds 64  Figura 50 Sequencia de amostragem e convers  o do ADC                   era 64    Figura 51 Esquema el  trico do trimpot do kit EXPLORER16BR para utilizac  o do conversor AD 68    Figura 52 Diagrama em blocos m  dulo AD aaa css ecentccess toatl denis eth ieee acetal ecslaks 68  Figura 53 Formato do dado convertidG  c dwdied ola detect en alae Saque eae 69  Figura 54 Esquema el  trico do sensor de temperatura do kit EXPLORERI6BR para utilizac  o do  CONV ETSOR A Dee roda a SA Sr pl
84. do utilizada na atividade 1 a     50    void configura_timer1       TICONbits TON   0     Timer  Desligado  TMR    0     Zera o timer para inicio de contagem       Timer  Prescaler      TCKPS   gt  Prescaler   10  gt 1 1   11   gt  1 8   1 2   gt  1 64     3   gt  1 256   T1CONbits TCKPS   2     Prescaler 1 64       Configura o registrador de per  odo      PRI    Fosc   Tempo   FPBDIV   PS       PR1    8000000   2   8   64    31250   PRI   31250     Configura o registrador de per  odo    TICONbits TCS   0     Modo timer  clock interno   TICONbits TGATE   0     IFSObits T1IF   0     Limpa o flag      Configura Inetrrupcao   IPC 1bits T1IP   7    Priority 7  0 1    7   IPC 1bits T1IS   0    SubPriority O  0 1 2 3   IECObits T1IE   1     TMR1 Enable Bit       Habilita Interrup    o global  INTEnableSystemMultiVectoredInt       TICONbits TON   1     TMRI ligado       Crie a fun    o Main     Dentro da fun    o Main    limpe  reset  todas as portas e configure a dire    o dos pinos I O        Reset   LATA   0   LATB   0   LATC   0   LATD   0   LATF   0   LATG   0        Configura    o da dire    o dos pinos de I O s   0 Output 1 Input   DDPCONbits JTAGEN   0     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   OxFFFF    TRISC   OxFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   0xFF00    TRISF   OxFFFF    TRISG   OxFEBF        Configure o Timer  e insira um loop while infinito para que o programa n
85. dos os arquivos utilizados no seu projeto  Como ainda n  o adicionamos nenhum arquivo ela deve  estar vazia   Figura 34    A diferen  a entre  mcp e  mcw    que o project    o projeto em si     ele que cont  m todas as  informa    es na hora da compila    o  O workspace    uma   rea de trabalho que carrega seu projeto e  a disposi    o das janelas da maneira que voc   salvou pela ultima vez  Pode se dizer  a grosso modo   que o workspace    o layout do projeto        2  myProject mew              D  myProject mcp  ED Source Files  Header Files     object Files   a Library Files  e Linker Script   9 Other Files                 a Fis   28 symbol    Figura 34 Cria    o de Projetos   Workspace          26    6  Gravacao do Projeto no PIC    Para executar a grava    o depura    o do PIC32MX360F512L coloque o na placa  EXPLORER16 BR  que por sua vez deve ser conectada  atrav  s do conector RJ12  Figura 4       placa in circuit debugger  ICD2BR   Erro  Fonte de refer  ncia n  o encontrada      Existem duas formas de utilizar a ICD2 BR  A primeira  que ser   a forma adotada neste  curso     conectando a diretamente na placa de desenvolvimento EXPLORER 16 BR  Erro  Fonte  e refer  ncia n  o encontrada   com o PIC colocado na mesma  A segunda maneira    colocar o PIC  no socket que ser   conectado a placa ICD2 BR  Vale ressaltar que o socket    utilizado somente para  PIC do tipo DIP  Dual In Line Package         A instala    o do driver da placa ICD2 BR    feita conectando se a mesma 
86. e Projeto    Para criar um projeto abra o ambiente de trabalho MPLAB     Figura 26     MPLAB C32 Computador    Ea Documentation Rede    Conectar a      amp  MPLAB IDE Help  oF Setup MPLAB Tools Painel de Controle    ee       Programas Padr  o    Ajuda e Suporte    Iniciar Pesquisa p     4      Figura 26 Localiza    o MPLAB         A seguinte tela dever   aparecer   Figura 27     file Edit View Project Debugger Programmer Tools Configure Window Help   D  n  zmaj sawan     Checksum  Oxf7d839b9                         PIC32MIG60F512L    Figura 27 MPLAB   IDE    Na janela    untitled workspace    aparecer  o todos os arquivos contidos no seu projeto e a  janela    outpuf    mostra o resultado da compila    o    Para criar um novo projeto fa  a     Project  gt  gt  Project Wizard          A janela que se abre    uma tela de boas vindas  Clique    Avan  ar      Figura 28     22       E  Project Wizard       Welcome     This wizard helps you create or configure a new MPLAB IDE  project     To continue  click Next        Cancelar Ajuda    Figura 28 Cria    o de Projetos   Tela de Boas Vindas             Selecione o dispositivo a ser utilizado  No nosso caso selecione    PIC32MX360F51I2L    e  clique    Avan  ar      Figura 29        r  Project Wizard       Step One   Select a device    Device     m  mae     Figura 29 Cria    o de Projetos   Sele    o do Dispositivo             Na aba    Active Toolsuite    selecione o compilador a ser utilizado  No nosso caso o     Microchip PIC32 C 
87. e s  o apresentados os  registradores do MCU que ser  o usados na programa    o     3  Atividade 1     uma atividade pronta  com c  digo fonte completo  completamente  funcional     O que voc   dever   fazer em sua casa  criar um novo projeto com o c  digo da atividade 1 no  ambiente de desenvolvimento de projetos  compil   lo  simul   lo e analisar os resultados da  simula    o  Voc   aprender   nas se    es 4  5 e 6 dessa apostila  como instalar e usar o  ambiente de desenvolvimento de projetos     O que voc   dever   fazer no laborat  rio  tirar d  vidas com o professor sobre a atividade   gravar o c  digo da atividade 1 no kit Explorer 16 BR e test   lo na presen  a do professor     4  Atividade 2     uma atividade simples que demanda uma pequena modifica    o baseado  no c  digo da atividade 1     O que voc   dever   fazer em sua casa  criar um novo projeto com o c  digo da atividade 2 no  ambiente de desenvolvimento  compil   lo  simul   lo e analisar os resultados da simula    o     O que voc   dever   fazer no laborat  rio  tirar d  vidas com o professor  mostrar ao professor  a simula    o da atividade 2 e gravar o c  digo da atividade 2 no kit para test   lo na presen  a  do professor     5  Atividade 3     uma atividade de complexidade m  dia que exige que voc   desenvolva um  novo c  digo para uma situa    o proposta     O que voc   dever   fazer em sua casa  criar um novo projeto e programar um c  digo da  atividade 3 no ambiente de desenvolvimento  compil   lo  
88. e timers e contadores     Em    my timer h    insira o c  digo      ifndef MY TIMER H   define MY TIMER H     include  lt p32xxxx h gt    include para o PIC32MX360F512    void delay int  unsigned int     ATRASO    void delay Ims unsigned int     ATRASO MULTIPLO DE IMS  void delay_10us unsigned int     ATRASO MULTIPLO DE 10US     endif       Por fim crie os arquivos    my_Icd c    e    my_Icd h     Esses arquivos conter  o as fun    es  especificas do lcd     Em    my Icd c    inclua o seguinte c  digo     57     include  my lcd h        LCD Init  void inicializa LCD void        TRIS_E   0   TRIS_RS   0     RS 0  TRIS_RW   0     R W 0    RW_PIN   0   delay_1ms 100      Wait 20ms or more after VDD reaches 4 5V  comando_LCD 0x30      COMANDO 0x30   Envia Comando para Inicializar o Display    delay_1ms 4    comando_LCD 0x30    COMANDO 0x30   Envia Comando para Inicializar o Display    delay 10us 10    comando LCD 0x30    COMANDO 0x30   Envia Comando para Inicializar o Display    comando LCD 0x38    COMANDO DISPLAY DE 8 VIAS  2 LINHAS  E CARACTER 7X5  comando LCD 0x0c    DISPLAY ON  SEM CURSOR  SEM BLINK   comando LCD 0x01     LIMPA DISPLAY   comando LCD 0x06    DESLOCAMENTO DO CURSOR P  DIREITA            Limpa LCD  void limpar_LCD void        comando_LCD 0x01     ENVIA COMANDO 0x01  delay_1ms 2     DELAY DE 2ms            Envia Dado  void dado_LCD unsigned char dado        LATE    TRISE amp OxFFFFFFO00      Configura pinos LCD como saida  RS PIN   1    SELECIONA PARA DADOS   LAT
89. e um pino do PIC para apresentar a sa  da do m  dulo PWM     Atividade 3    Configure o m  dulo PWM para fazer o controle de velocidade  pelo menos 3 velocidades  diferentes  e acionamento de uma ventoinha     85    ANEXOS    86    Anexo I  Adicionando arquivos durante a cria    o do projeto    No cap  tulo 5 foi mostrado que    poss  vel adicionar arquivos durante a cria    o de um  projeto  Ser   mostrado nesta se    o as diferentes maneiras de se adicionar o arquivo  Para isso crie  uma pasta chamada       myProject1    e outra chamada    my Project2              Date de modificati   Type       Figura 70 Anexo     Cria    o de Pasta    Dentro da pasta    myprojectI    crie 4 arquivos chamados     ArgA c        ArqU c        ArgS c    e     ArgC c     Escreva a seguinte mensagem em cada arquivo     Arquivo do tipo  X  contido na pasta  myProjectI     Onde X deve ser substitu  do por  A    U    S  ou  C  de acordo com o nome do arquivo    Figura 71        3  ArgA   Bloc notes       Fichier Edition Format Affichage  Arquivo do tipo    A    contido na pasta myProjectl        3 ArqU   Bloc notes       Fichier Edition Format Affichage  Arquivo do tipo  u  contido na pasta myProjecti          ArgS   Bloc notes       Fichier Edition Format Affichage    Arquivo do tipo  s  contido na pasta myProjecti             Arg   Bloc notes    Fichier Edition Format Affichage    arquivo do tipo  c  contido na pasta myProjectl           Figura 71 Anexo     Cria    o dos Arquivos    Agora abra o
90. eees 14  Figura 13 MPLAB   IDE   termo de compromisso 2 s csicssccsscciaceaccissstsndacenseosds ssobaveanstnyeestaepecdeaneetes 15  Figura 14 MPLAB   IDE     termo de compromisso 3 00    eee eee eeseeeeeeeneeceeeeeeeeeseecaecaeeseneeeaeeesaeenes 15  Figura 15 MPLAB   IDE   revis  o da instala    o ciccisecedctasescghecusnceteneusGhasasedeeasd ive eestedenietedeeevtecs 16  Figura 16 MPLAB   IDE     Status da instala    o      0       escceeseeeeeeseccessceceneecestecceseneoetescenseccensersentenes 16  Figura 17 MPLAB   IDE     compilador HI TECH C                  rrenan 17  Figura 18 MPLAB   IDE   fim da instala    o ccxcivetecesiece cestode ee ese 17  Figura 19 MPLAB   IDE   execut  yel a oscscccuocesenessseccuecessseanneceaciveceateuanancstondenegestentanenincearciacienss 18  Figura 20 MPLAB   C32   boas vindas        eeeeseeseeeeseesesseseresressersrerreesetstrsrreserstseresressesetesresseseresres 19  Figura 21 MPLAB   C32   termo de COMPTOMMNSSO       sccssersienssersoeesoeeswconsnssesonsvisesssunssensusnssonssnessee 19  Figura 22 MPLAB   C32   local de instala    o wesc ycsetccssctancecegeauadanscuedeansgebuccnntsdagsphedaacaneundeasgoseacsueaet 20  Figura 23 MPLAB   C32  Insiala      O aeriene e a i aae 20  Figura 24 MPLAB   C32   progresso da instala    o          eee ceeceseeeescecsseceeeseeeeeseeceaecsaeeseeeesaeessaeenas 21  Figura 25 MPLAB   C32   fim da instala    o acca cacccancnstcdvsecesnedscotiilsccdsedesmewnedd lel uuvbdaantdddssaceduensemunedecs 21  Figura 2
91. ela que se abre voc   poder   inserir arquivos em seu projeto     Neste instante n  o  iremos adicionar nenhum arquivo  Clique    Avan  ar      Figura 32        r    Project Wizard    Step Four   Add existing files to your project                E C  zo  Es E    Remove                          mes   a                    Figura 32 Cria    o de Projetos   Adi    o de Arquivos    A   ltima tela resume as caracter  sticas do projeto a ser criado  dispositivo  compilador e  localiza    o  Clique    Concluir      Figura 33       Posteriormente o aluno poder   verificar no Anexo I   Adicionando arquivos durante a cria    o do projeto as 4 diferentes    maneiras de se adicionar um arquivo na cria    o do projeto  O Erro  Fonte de refer  ncia n  o encontrada  aborda a adi    o de  arquivos depois que o projeto j   foi criado   25       Fr    Project Wizard           Summary    Click    Finish    to create configure the project with these  parameters     Project Parameters  Device    PIC32MX360F512L  Toolsuite  Microchip PIC32 C Compiler Toolsuite       File  C  Users Marconi Documents Myproject   myP    A new workspace will be created  and the new project added  to that workspace      Cores   ae                       Figura 33 Cria    o de Projetos   Resumo    Pronto  Seu projeto est   criado    Na nova   rea de trabalho do MPLAB   voc   ver   uma janela com o nome do seu projeto mas  com a extens  o  mew  Microchip   Workspace   por exemplo    myProject mcw     Esta janela mostra  to
92. ento do resultado  dois buffers de 8bits ou um buffer de  16 bits  atrav  s do bit ADICON2bits BUFM    O PIC possui dois multiplexadores  MUXA e MUXB  ligados ao conversor  O bit  ADICON2Zbits ALTS seleciona se o PIC deve alternar entre os multiplexadores  n  vel l  gico    1      ou deve utilizar sempre o MUXA  n  vel l  gico    0        ADICON3  ADC Control Register 3      Esse registrador e respons  vel por    Selecionar a fonte de clock para o modulo A D atrav  s do bit ADICON3bits ADRC  N  vel  l  gico    1    indica que o clock e interno ao modulo A D  N  vel l  gico    0    indica que o clock e  proveniente do barramento de clock do PIC    Selecionar o tempo de convers  o para o modulo A D atrav  s do bit ADICON3bits  SAMC  com sendo um m  ltiplo do per  odo do clock do barramento do PIC    Selecionar a base de tempo para o modulo A D atrav  s do bit ADICON3bits ADCS     ADICHS  ADC Input Select Register      Este registrador e respons  vel por selecionar os sinais a  serem ligados na entrada positiva e negativa dos MUXA e MUXB    Ex   ADICHSbits CHOSA   5     Conecta o canal 5  RB5 ANS  na entrada positiva do MUXA   AD1CHSbits CHONA   0     Conecta a referencia negativa  selecionada atrav  s do bit VCFG do  registrador ADICON2  na entrada negativa do MUXA        66       Atividade 1    Ap  s criar um novo projeto no MPLAB inclua os arquivos    init sys c        init sys h         my led c        my led h        my timer c    e    my timer h    utilizados na pr  tica a
93. er da esquerda para direita    Quando o Botao_3 for pressionado todos os LEDS dever  o piscar    Quando o Botao_4 for pressionado todos os LEDS dever  o se apagar     Dica  Utilize um loop for de O a 30000 como mostrado no trecho de c  digo abaixo  para  gerar um atraso suficiente  de forma que o usu  rio possa conseguir ver os LEDs piscarem na ordem  proposta  Observe o c  digo a seguir     int main     while 1       AQUI VEM O PROGRAMA    for  tempo 0  tempo lt 20000  tempo        temporiza    o       Fim While       Fim Main         No final do material existe um capitulo denominado erratas cujo capitulo 2  Errata II   Efeito de carga do ICD2BR  demonstra o porqu   de  desconectar a placa ICD2 BR do kit EXPLORER I6BR para testar o programa   36    7 2  Aula 2     Configura    o do Perif  rico de Interrup    es de  Eventos Externos por Notifica    o de Mudan  a de Estado     Objetivo  Aprender o conceito de interrup    o e configurar a interface de tratamento de interrup    es externas  do MCU PIC32MX360F512L     Refer  ncias        Datasheet do MCU PIC32MX3XX 4XX  Pin diagram  p  g  4  e Se    o 12 2 9     Introducao    Uma interrup    o pode ser definida como um sinal ass  ncrono externo a CPU  indicando a  necessidade de aten    o  ou a realiza    o de alguma a    o  da mesma    ocorr  ncia desse evento  Os  pedidos de interrup    o    CPU de um MCU podem ser realizados por algum perif  rico do pr  prio  MCU ou por um sinal el  trico externo gerado por outro sistema digi
94. era    o de contagem de tempo  ou Timer  funciona obedecendo a Equa    o I           Tempo de contagem desejado  segundos    e x FPDIV x PS  Equa    o 1        Na Equa    o I  PRx representa o valor que dever   ser programado no registrador de per  odo  para que o tempo de contagem desejado  em segundos  seja alcan  ado  Fosc    a frequencia do  oscilador externo  da placa Explorer 16 BR  usado como sinal de clock para funcionamento do  MCU  FPDIV    um par  metro de configura    o do MCU que tem efeito somente na grava    o do  programa no MCU  O par  metro FPDIV serve para dividir a frequencia do clock externo  Fosc  por  um valor inteiro  no intuito de gerar um clock de frequencia menor para funcionamento do  contagem  Chameremos esse clock proveniente da divis  o por FPDIV de clock interno  PS    um  recurso do perif  rico contador chamado de Prescaler  O Prescaler nada mais    que um fator de  multiplica    o de contagem de ciclos de clock  Suponha que o prescaler esteja configurado como  fator multiplicativo 1 4  Isso significa que o perif  rico contador x vai contar de um em um  atrav  s  do registrador TMRx  a cada 4 ciclos de clock interno do MCU  O Prescaler ou PS    configurado  atribuindo se um valor inteiro ao conjunto de bits TCKPS do registrador TxCON  Cada valor  inteiro corresponde a um fator multiplicativo de contagem  O valor do Prescaler varia de contador  para contador e sua configura    o tem que ser consultada no datasheet     45          Para cada cont
95. f  rico que se quer usar e na configura    o correta dos registradores  envolvidos na programa    o do mesmo  Tanto a forma de funcionamento de um perif  rico  quanto  as informa    es sobre os registradores envolvidos na sua programa    o s  o detalhamente  encontrados no datasheet do MCU escolhido para o desenvolvimento da aplica    o     Ao terminar de ler as instru    es a seguir voc   saber     1  O que voc   dever   apresentar ao professor no in  cio de cada aula pr  tica   2  O que fazer nos dias das aulas de laborat  rio   3  O material que dever   usar para realizar as atividades     Essa segunda etapa da disciplina de Laborat  rio de Sistemas Processadores e Perif  ricos     composta por 7 aulas  ou 7 atividades   Cada atividade tratar   de um perif  rico de um MCU do  fabricante Microchip  O modelo de MCU que usaremos no curso    o PIC32MX360F512L que     constitu  do por uma CPU de 32 bits e se encontra montado em um soquete na placa de  desenvolvimento de experimentos chamada Explorer 16 BR do fabricante Labtools  Tanto o  datasheet do MCU  quanto o manual do usu  rio da placa Explorer 16 BR ser  o documentos  essenciais para sua consulta no desenvolvimento das atividades propostas     Em cada atividade proposta voc   encontrar   as seguintes partes     1  Introdu    o  onde o perif  rico do MCU lhe ser   apresentado e os princ  pios de  funcionamento e programa    o lhes ser  o explicados     2  Registradores usados na programa    o desse perif  rico  Nessa part
96. ha sido configurado como entrada atrav  s do registrador  TRISx  N  vel l  gico    1    implica que o pino correspondente ser   digital  n  vel l  gico    0    implica em  pino anal  gico    Ex   ADIPCFG   OxFFDF     1111 1111 1101 1111   A configura    o de ADIPCFG no exemplo acima indica que somente o pino RB5 funcionar   como  entrada anal  gica  ANS      ADICONI  ADC Control Register 1      Esse registrador e respons  vel por    Habilitar  n  vel l  gico    1     ou desabilitar  n  vel l  gico    0     o conversor A D atrav  s do bit  ADICONIbits ADON    Configurar o modo em que o resultado da convers  o ser   exibido  sinalizado ou n  o  sinalizado  16 ou 32 bits  atrav  s do bit ADICONTbits FORM    Configurar  atrav  s do bit ADICONIbits SSRC  quando a convers  o devera iniciar ap  s o  sinal ser amostrado    Habilitar  n  vel l  gico    1     ou desabilitar  n  vel l  gico    0     a amostragem autom  tica  Caso  a amostragem autom  tica esteja habilitada a amostragem se inicia logo ap  s a   ltima convers  o   caso contr  rio  ela se iniciar   somente ap  s setar o bit de amostragem ADICON  bits SAMP     ADICON2  ADC Control Register 2      Esse registrador e respons  vel por    Selecionar a referencia de tens  o  referencia externa ou interna  para o conversor atrav  s do  bit ADICON2bits  VCFG    Configurar  atrav  s do bit ADICON2bits SMPI  o numero de convers  es que devem ser  feitas  1 a 16  antes que a interrup    o seja gerada    Configurar o modo de armazenam
97. id      inicializa LCD      INICIALIZA LCD  limpar LCD      LIMPA O LCD    while 1     if  Botao 1       limpar LCD       LIMPA LCD  comando LCD 0x80      POSICIONA CURSOR NA LINHA 0 COLUNA 0  escreve frase LCD  TECLA 1       ESCREVE MENSAGEM  while  Botao 1    limpar LCD          else if  Botao_2      limpar LCD     comando LCD 0xCO0     POSICIONA CURSOR NA LINHA 1 COLUNA 0  escreve frase LCD  TECLA 2     while  Botao 2    limpar LCD          else if  Botao_3      limpar LCD     comando LCD 0x89     POSICIONA CURSOR NA LINHA 0 COLUNA 9  escreve frase LCD  TECLA 3     while  Botao 3    limpar LCD        else if  Botao_4      limpar LCD     comando LCD 0xC9     POSICIONA CURSOR NA LINHA 1 COLUNA 9  escreve frase LCD  TECLA 4     while  Botao 4    limpar LCD        else     comando_LCD 0x80     POSICIONA CURSOR NA LINHA 0 COLUNA 0  escreve_frase_LCD  UFMG   AULA4     comando_LCD 0xC0     POSICIONA CURSOR NA LINHA 1 COLUNA 0  escreve_frase_LCD  Atividade 1     LATA   0     int main void      init sys       Inicializa o sistema  aula4_atividadel       Chamada da funcao para atividade 1       Conecte o kit EXPLORERI6BR na placa ICD2BR atrav  s do cabo RJ12   Conecte a placa ICD2BR ao computador atrav  s da porta USB    Alimente o kit EXPLORERI6BR com a fonte de alimenta    o    Compile o programa  Ctrl F10     Grave o programa  Program Target Device     Teste o programa     60    Atividade 2    Programe o MCU para escrever a seguinte frase  centralizada  no LCD        Atividade 3 
98. idade de processamento  CPU     completamente dedicada ao dispositivo ou sistema que ele  controla  Diferente de computadores de prop  sito geral  como um computador pessoal ou notebook   um sistema embarcado realiza um conjunto de tarefas predefinidas  geralmente com requisitos bem  especificados     Desktops e notebooks possuem processadores  Ex   Intel  Pentium  Athlon  etc   e perif  ricos   monitor  teclado  mouse  impressora  etc  que podem ser utilizados para interface com outros  sistemas ou com o ser humano  Ex   edi    o de texto  acesso a Internet  Banco de dados  entre  outros   ou seja  os computadores n  o s  o concebidos para uma finalidade espec  fica como sistemas  embutidos     Os sistemas embarcados por sua vez possuem um ou mais microcontroladores e executam  tarefas especificas conforme foram projetados segundo seus requisitos de projeto  Como exemplo  de sistema embarcado podemos citar o controle de acesso de uma catraca  celulares  rel  gios  digitais  porta retratos digitais  smart cards  brinquedos  etc     O objetivo principal deste curso    fornecer a base para o projeto com microcontroladores de  forma que o aluno possa construir sistemas embarcados variados tais como   Letreiros luminosos   controladores  sistemas de acionamento de m  quinas  aplica    es de automa    o e dom  tica  etc  No  capitulo 3 e 4 ser  o apresentados o material e o ambiente de desenvolvimento necess  rio para a  realiza    o de projetos com microcontroladores que ser  o u
99. ilizar   para exibir  mensagens na tela  O dispositivo LCD alfa num  rico que usaremos nessa pr  tica possui 8 pinos  para dados  D0 D7   3 pinos para controle e 2 de alimenta    o  Alguns ainda possuem o controle de  luz na parte posterior do visor  back light  para iluminar o LCD em condi    es de pouca  luminosidade    Os pinos de controle  RS  R W e E  servem para a comunica    o do microcontrolador   MCU  com o controlador do LCD e vice versa  O pino de controle RS informa se os bits contidos  no barramento  DO D7  s  o dados  1  ou instru    o  0   O pino de controle R W seleciona entre a  escrita  0  na RAM do LCD ou leitura  1  da RAM do LCD  Por fim  o pino de controle E  enable   habilita ou n  o o envio leitura da informa    o contida em DO D7    Para inicializar o display    necess  rio enviar os comandos corretos e respeitar o tempo  pr   estabelecido pelo fabricante para realizar a pr  xima tarefa  A Figura 45 abaixo mostra a  inicializa    o do display  Hantronix  Inc 2010  que usaremos nessa pr  tica e logo a seguir um    53    pequeno c  digo escrito em C  baseado nos dados da parte esquerda da Figura 45  a t  tulo de  compara    o  A parte direita da figura se refere a inicializa    o do LCD quando programado nibble a  nibble  de 4 em 4 bits                     POWER ON     POWER ON    ai 7   Wait 15ms or more after  Wait 20ms or more after VDD reaches 4 5V     VDD reaches 4 5V   Function set  8 bit          Busy flag can not be checked      R W DB7 DB6 DB5 
100. inserir a visualiza    o em bin  rio   Figura 85     v   Add Symbol j     extun mk    Br8s 6010 PORTA 0x00000001 0x00000001 00000000 00000000 00000000 00000001  BF88_60D0 PORTD 0x00000000 0x00000000 00000000 00000000 00000000 00000000        Figura 85 Watch Window        Agora pressione o bot  o Reset e em seguida Run  Seu programa dever   parar na primeira  linha de c  digo devido ao breakpoint     Pressione o bot  o Step Into at   entrar no loop while     Conforme dito anteriormente os bits 6  7 e 13 do PORTD e o bit 7 do PORTA est  o em  n  vel l  gico zero  Isso faz com que  ao passar pelas l  gicas dos if os bits 0  1  2 e 3 do PORTA  fiquem em n  vel um   Figura 86     while 1l      gt  if  Botao_1  Ledl   1    TESTE BOT  O 1  else Ledi   0        if  Botao 2  Led2   1    TESTE BOT  O 2  else Led2           A    Wate     S     Ad v  Add Symbol  __exfun_mx X   smer meme  vae   a   mm TT  BF88_6010 PORTA 0x0000000F 0x0000000F 00000000 00000000 00000000 00001111  BF88_60D0 PORTD 0x00000000 0x00000000 00000000 00000000 00000000 00000000                   Watch 1  watch2   Watch 3   Watch 4   Figura 86 Mudan  a no estado dos LEDs  PORTA  bits A0 A3  de zero para um     Para mudar o estado de um dos bot  es devemos gerar um est  mulo e alterar seu estado  Por  exemplo  para apagar o LED 1 devemos fazer com que o PORTD6  representado pelo Botao 1   assuma o valor um     97    Estimulo    Existem dois tipos de est  mulo  ass  ncrono ou s  ncrono  O est  mulo ass  ncrono pode se
101. isura 102 Contisura    o  do ClO Ck eiiieaen n lucent poses vO i E aia cn ada dE 106  Figura 103 Break point   SLOpWateh assi wus dete wei Tiga ia Io ease dew R aliadas 107  Figura 104 Stopwatch cs  catarina agaras cash aqaspar tiie ni a dasa asi ie een asas e ganas 108  Figura OS Stopwatch 2 ni iett esineeseen A estos ta gone eaa rh ao fa anda 108  Figura  106 Stopyalch S sata ae ee Bie ie e SD ie e a BER eek 109  Figara 107 StOp Wale Ac tera o Seemed owe eas lesen ded seca coca bdsm come Naa ana an Saad 109  Figura 108 Esquema El  trico dos Botes do kit EXPLORER16 BR    eee eeeeeeseeeereceeeeeeeeeeneees 111  Figura 109 Esquema El  trico dos Leds do kit EXPLORERI6BR 1 0    ee eeecceeceesneeeneeenteeeeeeeeneees 112  Figura 110 Circuito resultante para o PORT RAT ss ice ia 64 en 113    1  Introdu    o    A segunda etapa da disciplina de Laborat  rio de Sistemas  Processadores e Perif  ricos  refere se aos princ  pios b  sicos de projeto com microcontroladores atrav  s da programa    o de seus  perif  ricos que lhes servir  o como base para o desenvolvimento de Sistemas Embutidos     Um microcontrolador  MCU     um microcomputador em um   nico chip  contendo um  processador  mem  ria e perif  ricos de entrada sa  da  De forma bem gen  rica e simples podemos  considerar     Microcontroladores   CPU   perif  ricos  interfaces program  veis do microcontrolador com o  mundo externo     A programa    o dos perif  ricos dos MCUs se concentram no entendimento do  funcionamento do peri
102. manho e  EE  Documentos 8 DP Dna 05 10 2009 06 10 Brena de Aplic    1268 KB  E imagens O tgs sb 05 10 2009 06 10 Arquivo SIG 1KB  z   amp   MPEditorStg dll 05 10 2009 06 32 Extens  o de Aplic    156 KB  IB M  sicas     MPEditorStg sig 05 10 2009 06 32 Arquivo SIG 1KB  Mais     8 MPExpress dil 05 10 2009 06 12 Extens  o de Aplic    232 KB  Pastas v   LIMPExpress sig 05 10 2009 06 12 Arquivo SIG 1KB  J mT a    amp  MPForumadll 05 10 2009 06 11 Extens  o de Aplic    152 KB  J Intel  _  MPForum sig 05 10 2009 06 11 Arquivo SIG 1KB      internet Ex  8 MpPlceState dll 05 10 2009 06 40 Extens  o de Aplic    152 KB J     licenses Ta    MPlceState sig 05 10 2009 06 40 Arquivo SIG 1KB 7  B Microchip E  3 MPlceStopwatch dil 05 10 2009 06 40 Extens  o de Aplic    148 KB  E Docs  _  MPIceStopwatch sig 05 10 2009 06 40 Arquivo SIG 1KB     Mpa ls 09 10 2009 11 23 Aplicativo 1136 KB      x MPASM     Mplab exe manifest 11 12 2003 03 13 Arquivo MANIFEST 1KB  Ji MPLAB   8 MPLoader dll 05 10 2009 06 11 Extens  o de Aplic    124 KB  B MPLAB      _  MPLoader sig 05 10 2009 06 11 Arquivo SIG 1KB  J metas    MPMemory dll 05 10 2009 06 11 Extens  o de Aplic    140 KB  E a     MPMemory sig 05 10 2009 06 11 Arquivo SIG 1KB     Edito  3 MPProgram dil 05 10 2009 06 11 Extens  o de Aplic    260 KB  J MTC L  MPProgram sig 05 10 2009 06 11 Arquivo SIG 1 KB  M Device     8 MPProject dll 09 10 2009 11 24 Extens  o de Aplic    1020 KB pal  aa  MPLAB Modificado em  09 10 2009 11 23  Aplicativo Tamanho  1 10 MB 
103. marela   ou seja  algumas das ferramentas do simulador podem n  o funcionar para o  PIC32MX360F512     3 Aten    o   Ao colocar o PIC32MX360F512L na placa EXPLORER16BR tome cuidado com a pinagem  Tanto na placa EXPLORER16 BR quando  no PIC32MX360F512L existe uma pequena seta desenhada indicando o pino 1      o Erro  Fonte de refer  ncia n  o encontrada  mostra a forma de utilizar o socket em casos nos quais a placa de  desenvolvimento n  o pode ser utilizada     27       Device Family      Microchip Tool Support  Programmers    PICSTART Plus O MPLABREALICE   PICkit1      PROMATEI   MPLABICD2   Pickit2  O MPLAB PM3   MPLABICD3   Pickit3    Language and Design Tools    ASSEMBLER   COMPILER   vol    v1 01 v1 01  Debuggers       MPLAB SIM   MPLABICD 2   Pickit2    MPLABREALICE   MPLABICD3 O PICkit3    MPLAB ICE 2000 MPLAB ICE 4000 ICENCD Headers     No Module   No Module  No Header    Figura 35 Sele    o do PIC          Para utilizar a placa ICD2 BR v   em     Programmer  gt  gt  Select Programmer  gt  gt  2 MPLAB  ICD2     Provavelmente uma mensagem indicando que a placa n  o est   conectada ir   aparecer  Para  conect   la clique em     Reset and Connect to ICD    na barra de tarefas   Figura 36        Checksum  Oxf7d839b9    B3 B  Bp BY BS By f       Reset and Connect to ICD    Find in Files   MPLAB ICD 2    Auto connect not enabled   Not connecting  Try enabling auto connect on the ICD2 settings pages            Figura 36 Conex  o ICD    Uma mensagem poder   aparecer  Clique 
104. mo  for configurado como um pino de Entrada    Bot  es  chaves e entradas digitais s  o associadas a pinos de entrada  Os valores l  gicos de bot  es   chaves e entradas digitais ficam registrados no registrador PORT na posi    o correspondente do pino  do PORTO a qual est  o ligados  Veja o exemplo a seguir     Ex   PORTB   OxFFFE     1111 1111 1111 1110   Ler um nivel l  gico  1  de uma posi    o  bit  q do registrador PORTB  significa dizer que o pino q  recebeu um n  vel l  gico digital alto em sua entrada  Da mesma forma que se lermos  0   significar    que o pino q est   em n  vel l  gico digital baixo     LATx     Esse registrador ser   usado para guardar o que ser   escrito  valor l  gico  em pino  configurado como um pino de Sa  da    LEDs e sa  das digitais s  o associadas a pinos de sa  da  Os valores l  gicos que se quer aplicar a  LEDs e sa  das digitais ficam registrados no registrador LAT na posi    o correspondente do pino do  PORTO a qual est  o ligados  Veja o exemplo a seguir     Ex   LATC   OxFFFE     1111 1111 1111 1110   Escrever um nivel l  gico  1  de uma posi    o  bit  q do registrador PORTB   significa que esse pino  q receber   um n  vel l  gico digital alto em sua sa  da  Escrever  0  significar   n  vel l  gico digital  baixo     ODCx     Esse registrador ser   usado para configurar um pino sa  da como dreno aberto ou n  o   Nessa pr  tica n  o usaremos esse registrador  O aluno que desejar maiores informa    es dever    consultar o datasheet do 
105. nicializa AD    while 1    while  1ADICONIbits  DONE     Aguarda conversao  resultado    3 3  ADCIBUFO0  1023     Faz a conversao do resultado AD para tensao  sprintf buffer lcd  CHS    3 2f V resultado      Carrega resultado no buffer  comando LCD 0xCO    escreve frase LCD  char   buffer lcd           return 0        69    Teste o programa com o MPLAB SIM      Ap  s testar o programa conecte o kit EXPLORER16 BR na placa ICD2 BR atrav  s do cabo  RJ12    Conecte a placa ICD2BR ao computador atrav  s da porta USB    Alimente o kit EXPLORER16BR com a fonte de alimenta    o    Compile o programa  Ctrl F10     Grave o programa  Program Target Device     Teste o programa     Perceba que como a amostragem autom  tica est   habilitada  ADI CONTbits ASAM   1  no  final de cada convers  o  ADICONTbits  DONE  o modulo AD inicia automaticamente uma nova  amostragem para o pr  ximo loop     Atividade 2    Altere o c  digo da atividade 1 de forma que a convers  o autom  tica seja desabilitada  Fa  a  com que a convers  o somente seja efetuada se o bot  o 1 for pressionado  Ou seja  mesmo variando   se o trimpot o valor apresentado no lcd permanece inalterado at   que o bot  o 1 seja pressionado     Atividade 3    A placa EXPLORERI6BR apresenta al  m do trimpot conectado ao pino RB5 AN5 um  sensor de temperatura conectado a entrada anal  gica conectado ao pino RB4 AN4  Figura 54   O  aluno poder   verificar seu funcionamento baixando o datasheet do MCP9700 para estudar a faixa  de opera   
106. nterior  Lembre se  de fazer uma c  pia dos arquivos para a pasta do projeto que voc   acabou de criar  Pois se voc   fizer     Source Files  gt  Add Files    uma refer  ncia para o arquivo da aula anterior sera criada e n  o o  arquivo propriamente dito  Para melhor esclarecimento veja  Anexo I   Adicionando arquivos  durante a cria    o do projeto e Anexo II  Adicionando arquivos depois da cria    o do projeto     Agora crie um arquivo chamado    my adc c    e    my adc h     Salve     File New        File Save  as       e inclua os arquivos no seu projeto  Na aba    Source Files    da   rea de trabalho clique com o  bot  o direito do mouse e escolha    Add Files        na janela que se abre selecione o arquivo     my ade c     Na aba    Header Files    da   rea de trabalho clique com o bot  o direito do mouse e  escolha    Add Files       na janela que se abre selecione o arquivo    my adc h        No arquivo    my adc h    insira o seguinte c  digo      ifndef MY ADC H   define MY ADC H     include  lt p32xxxx h gt    include para o PIC32MX360F512     define SYS  FREQ  80000000L     void inicializa_adc void         No arquivo    my adc c    insira o seguinte c  digo    include  my_adc h     void inicializa_adc     ADICON Ibits ADON   0     Desabilita m  dulo AD    AD1CHSbits CHOSA   5     Conecta canal 5  RB5 ANS  na entrada positiva do MUXA  ADI1CHSbits CHONA   0     Conecta a referencia negativa  Vr   na entrada negativa do MUXA    ADICONIbits  ADSIDL   1     Conversor 
107. o para executar a fun    o delay foi de 2 014065segundos  O  valor n  o    exatamente 2 segundos porque  da forma na qual o c  digo foi implementado  a dun    o  delay configura o timer para depois fazer a contagem  e essa configura    o leva alguns ciclos de  clock para ser realizada     TRISC  TRISL  TRISE  TRISE    OxFFFE   0xEFCF     111011111100  OxFFOO   OxFFFE     RR tou    TEETE   AREEN Stopwatch Total Simulated  Instruction Cycles 2014065 2014770  while  1 a  Time  Seos  2 014065 2 014770  2 delay ims x 2000      Processor Frequency  KHz  1000 000000       Figura 107 Stopwatch 4    Compreendido o funcionamento das ferramentas do MPLAB SIM e sua utilidade o  programador poder   testar os programas antes de grav   los no PIC     109    ERRATAS    110    Errata I   Esquematico Leds e Botoes    O diagrama el  trico da liga    o dos leds e bot  es pode ser obtido no arquivo    Esquemas  El  tricos  gt  gt  mainBoard  gt  gt  P CAD EDA    Sheet       dispon  vel com o CD fornecido com o Kit   Para facilitar a compreens  o a liga    o dos mesmos foi representada a seguir   Figura 108 e Figura  109       BOTOES     35 5V  3 3V  5 5V        R1  10k    Figura 108 Esquema El  trico dos Botes do kit EXPLORER16 BR    111    z  _    7   no A   RAB TMS   PT    LED1 R11    270  MY    RAI TCK Py    LED2 R12      270    ei  RA2 SCL2  PL    LED3 R13    f 270  AN         LED4 R14  i 270  pe  RA4 TDI w   LED5 R15    270  ei  PT  LED6 R16  n 270  AN    mr Ney    LED7 R17        27      AN
108. oid    LE UART  void TXUART2 unsigned int data     ESCREVE UART     endif       No arquivo    my 1s232 c    insira o seguinte c  digo    include  my rs232 h     void inicializa_UART2 void           Se BRGH 0   gt  U2BRG    Fosc FPBDIV   16 BaudRate    1     Se BRGH 1   gt  U2BRG    Fosc FPBDIV   4 BaudRate      1  2BRG   25     BRGH 0   gt  U2BRG    8000000 2   16 9600  1  2MODEbits  UARTEN   1     Habilita UART2  2MODEbits UEN   0     TX e RX habilitados  CTS e RTS controlados via hardware  MAX232   2MODEbits ABAUD   0     Desabilita o autobaudrate  2MODEbits BRGH   0     Configura    o do BRGH  2MODEbits PDSEL   0     8 bits de dados  sem paridade  2MODEbits STSEL   0     1 stop bit   2STAbits  UTXISELO   0     gera interrupcao a cada Tx  2STAbits UTXISELI   0     CG GGG eae G    E    2STAbits URXISEL   1     gera interrupcao a cada RX    2STAbits UTXEN   1     Habilita pino TX  2STAbits URXEN   1     Habilita pino RX       unsigned int RXUART2 void     L   UART    if U2MODEbits PDSEL    3  return  U2RXREG    else return  U2RXREG  amp  0xFF         void TxUART2 unsigned int data     Escreve UART  if U2MODEbits PDSEL    3  UZTXREG   data     else U2TXREG   data  amp  OxFF           13 Hyperterminal  Hilgrave 2010     um programa capaz de conectar sistemas atrav  s de redes TCP IP  DIAL UP Modems e portas de comunica    o  COM   75    A configura    o do registrador para defini    o do Baud Rate pode ser melhor interpretada a  partir do exemplo extra  do do datasheet   Figura
109. ok     28    aeo zwam    ICDwWam0030  MPLAB ICD2 is about to download a new operating system   If MPLAB IDE is just starting  it will appear to    hang    at the splash screen   Please be patient  MPLAB IDE will finish it s initialization after the OS is  downloaded   Note  You may wish to G   to ignore this warning in the  future        Figura 37 Warning ICD2    Pronto  A ICD2 BR foi instalada e est   pronta para gravar depurar o programa     Para  programar o seu c  digo no PIC instalado na placa Explorer 16 BR  ou seja  descarregar o arquivo   hex com o c  digo bin  rio corresponde ao c  digo em C que voc   compilou presione o   cone  Program target device conforme indicado na Figura 38  Aguarde pelo processo de grava    o e a  mensagem final Program Succeeded          Checksum  Oxf7d839b9    Balas D  ORO FL e    Program target device    P  Fon  E            o     a Vi  Aine eS SS SSS       Build_  Version Conil   Find in Files   MPLAB ICD 2    Download Operating System Succeeded  Setting Vdd source to target    ICD0042  API  Error response  Device not ready  0x1 2    ICD0042  API  Error response  Device not ready  0x1 2    MPLAB ICD 2 ready for next operation          Figura 38 ICD2 Conectado     gt  Durante as aulas experimentais iremos mostrar como se grava um programa haja visto que at   o momento n  o possu  mos nenhum c  digo para  grava    o     7  Atividades Praticas    Como dito anteriormente no in  cio da apostila  cada aula pr  tica esta dividida em 3  atividade
110. p  tulo denominado erratas cujo cap  tulo 1  Errata I   Esquem  tico Leds e Botoes  demonstra o porqu   de utilizar a  porta RA7 como Bot  o 3 e n  o como LEDS     Compile o programa  Ctrl F10   Se voc   executou tudo corretamente uma mensagem  dizendo que o programa foi corretamente compilado ir   aparecer   Erro  Fonte de refer  ncia n  o  encontrada Figura 39     E  Output  st                Release build of project    CAUsers MARCONKDocuments Curso PIC32F REUNAulal a  Language tool versions  pic32 as exe v1 05  pic32 gcc exe v1 05  pic32 Id exe v1 05  pic  Sat Apr 1  17 15 14 2010       BUILD SUCCEEDED L            a i  J         Figura 39 Compila    o correta do programa    Antes de gravar o programa no PIC que est   no kit Explorer 16 BR    interessante simul   lo   test   lo  a fim de verificar se o programa est   funcionando como o esperado  A simula    o e  valida    o do seu c  digo dever   ser feita usando como ferramenta o simulador MPLAB   SIM cujo  modo de opera    o    mostrado no Anexo IV   MPLABO SIM        O complemento dessa atividade  ou seja  grava    o com o ICD2 e teste na placa  EXPLORER 16 BR dever  o ser realizados em laborat  rio sob o acompanhamento do professor   Ap  s verificar o correto funcionamento do programa com o MPLAB   SIM conecte o kit  EXPLORER 16 BR na placa ICD2 BR atrav  s do cabo RJ12     Conecte a placa ICD2 BR ao computador atrav  s da porta USB   Alimente o kit EXPLORER 16 BR com a fonte de alimenta    o     Para gravar o program
111. para PIC do tipo DIP  Dual In Line Package  de 8 14 18 28 e 40  pinos    Caso o PIC seja de 8 14 ou 18 pinos os dois jumpers  A  devem ser selecionados  Se o PIC  for 28 ou 40 pinos os dois jumpers  B  devem ser selecionados   Figura 78     de 28 ou 40 pinos         Jumper B para PIC  de 28 ou 40 pinos     cA   PORAS Y PROT vra    in 1 para PIC    PIC 8 FAR PINOS      www labtools com br    Jumper A para PIC L Jumper B  de 8  14 ou 18 pinos  Jumper A  Pino 1 para PIC    de 8  14 ou 18 pinos   Figura 78 Utiliza    o do Socket para PIC tipo DIP    Depois que o PIC foi inserido no socket basta conect   lo a placa ICD2 BR atrav  s do  conector RJ12  Figura 4  e seguir os passos de grava    o conforme mostrado no capitulo 6     92    Anexo IV  MPLAB   SIM    MPLAB   SIM  MPLAB   Simulator     um dos componentes  software  do MPLAB   IDE   Este simulador roda diretamente na plataforma MPLAB   e    utilizado para testar o programa a ser    gravado no PIC   Para utiliz   lo execute os passos a seguir     V   em     Debugger  gt  gt  Select Tool  gt  gt  4 MPLAB SIM      Figura 79          w MPLAB IDE v8 40    File Edit View Project  Debugger  Programmer Tools Configure Window Help                                      D M 4 Ma Sitio SIR   Checksum  0x17d8399   p 1i oo V PCE O   Clear Memory    1 MPLAB ICD 2   E RE F9 2 PICkit 3  aes 3 MPLAB ICE 4000  Halt  al a  Sikes Si 5 MPLAB ICE 2000  ERNE FB 6 REALICE  Si Cit 7 PICkit 2  mes E 8 MPLABICD 3   9 PIC32 Starter Kit   Breakpoints    1
112. plesmente clique no  bot  o Run apresentado na Figura 80 e perceba que o programa fica em execu    o constante  Figura  81  mas aparentemente nada acontece     94    Ele Edt View Project Debugger Programmer Tools Configure Window Help    OSM   eG  Sew ARS  da lose A BAO SHAR   Checksum  onrdesd  gt  or PEO                TRISB   OxFFFF           if  Botao_1  Ledi   1   FIESTE BOT  O 1     i   TESTE BOT  O 2              Language tool versions  pic32 as exe v1 05  pic32 gec exe v1 05  pic3  d exe v1  05 pic        E imo r  Preprocessor symbol     DEBUG is defined    Mon Jul 26 19 13 50 2010   BUILD SUCCEEDED E     E eme                        Running       Figura 81 Programa em execu    o    Para parar a simula    o pressione o bot  o Halt  Perceba que uma seta verde ir   aparecer em  alguma linha do c  digo  Essa seta indica o ponto no qual o programa parou sua execu    o   Figura  82     while 1       if  Botao 1  Ledl   1    TESTE BOT  O 1  else Ledi   0     if  Botao_2  Led2   1    TESTE BOT  O 2  else Led2   0     if   Botao_3  Led3   1    TESTE BOT  O 3  else Led3   0     if   Botao_4  Led4   TESTE BOT  O 4  else Led4   0     i  H              end Main       Figura 82 Fim de execu    o da simula    o     Na segunda simula    o inclua quatro breakpoints  um para cada teste de acionamento dos  bot  es   Figura 83     TRISG   OxFEBF     while 1       if  Botao_1  Ledl   1    TESTE BOT  O 1  else Ledi   0     if  Botao_2  Led2   1    TESTZ BOT  O  else Led2   0     N    if  
113. r  disparado pelo usu  rio a qualquer instante  O s  ncrono    disparado a partir de algum evento  ocorrido ou em certos instantes de tempo pr   programados pelo usu  rio     Para alterar o estado dos bot  es iremos utilizar o evento ass  ncrono  Para isso v   em     Debugger  gt  gt  Stimulus  gt  gt  New Workbook     Na janela que se abriu v   na aba    Asynch    e inclua  os PORTS  referentes aos quatro bot  es  na coluna Pin SFR  Na coluna action selecione Toggle   assim toda ver que for disparado um estimulo o valor da porta correspondente ir   se alternar    Figura 87                            Width Units   Comments   Message       ADE Toggle Botao 1  RD  Toggle Botao 2  RA  Toggle Botao 3  RD1 3 Toggle DEST DNS            Figura 87 Est  mulo Ass  ncrono          Agora clique em Animate no menu do debug do MPLAB SIM  Figura 80      Perceba que a seta verde percorre os quatro testes if e o valor dos leds  PORT A0 A3   continuam em 1     Caso voc   queira trocar o estado de qualquer um dos quatro PORTs que representam os  bot  es basta clicar na seta logo a esquerda do PORT desejado mostrado na Figura 87     Como exemplo clique na seta que representa o PORT RD7  Perceba que uma mensagem  aparece na janela de output  Figura 88  indicando que o est  mulo foi dado        Build   Version Control   Find in Files   MPLAB SIM   7986  SIM NO001 Note  Asynchronous Stimulus RD   Botao 2 fired                    Figura 88 Est  mulo para troca de estado do bot  o 2 representado pelo
114. r tamb  m o bit correspondente ADIPCFG   1 para  garantir que o Pino de E S seja uma entrada digital    3  Habilitar o perif  rico de notiifca    o de mudan  a de estado no registrador CNCON  bit ON     4  Habilitar as entradas que ser  o utilizadas no registrador CNEN     38       5  Se necess  rio  habilitar os resistores de pull up das entradas configuradas no passo anterior  configurando atrav  s do registrador CNPUE    6  Limpar a flag de interrup    o por mudan  a de estado  ou seja  o bit CNIF do registrador  IFS1    7  Configurar a prioridade de interrup    o por mudan  a de estado no registrador IPC6  bits  CNIP     8  Habilitar a interrup    o por mudan  a de estado no registrador TEC1  bit CNIE     9  Habilitar pedidos de interrup    o    CPU    10  Na rotina de tratamento de interrup    o  para saber qual pino gerou a interrup    o  basta fazer  uma leitura no PORTO correspondente a entrada selecionada     39    Atividade l a    Em       main e    insira o c  digo para a atividade la        INCLUDES   include  lt p32xxxx h gt    include para o PIC32MX360F512   include  lt plib h gt        CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL_16  FPLLIDIV   DIV 2  FPLLODIV   DIV 8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_8    PBCLK is SYSCLK divided by 8 4 2 1     OMADNHPWNH       DEFINES      BOTOES  0 PRESSIONADO 1 LIBERADO    define Botao   PORTDbits RD6   BOT  O 1   define Botao 2 PORTDbits RD7   BOTAO 2   define Botao 3 PORTAbit
115. r where setup will install files  KX MICROCHIP          Setup will install MPLAB Tools v8 40 in the following folder             To install to this folder  click Next  To install to a different folder  click Browse and select  another folder          Destination Folder    C  Program Files Microchip            Figura 12 MPLAB   IDE   local de instala    o    Leia o termo de compromisso de utiliza    o do software  clique em    I accept the terms of    the license agreement    e posteriormente em next   Figura 13     14       F     o  MPLAB   Tools E     Application Maestro License       MAESTRO     SOFTWARE LICENSE AGREEMENT       YOU ARE PERMITTED TO ACCESS THE SOFTWARE AND  DOCUMENTATION ONLY IF YOU ACCEPT THE TERMS AND  CONDITIONS OF MICROCHIP S  NON EXCLUSIVE LICENSE  AGREEMENT FOR MAESTRO    SOFTWARE   HEREAFTER  THE     AGREEMENT       IF YOU AGREE TO THE TERMS OF THE AGREEMENT  INDICATE      gee    E aa a nas nascas  es 2      do not accept the terms of the license agreement         Etc     Figura 13 MPLAB   IDE     termo de compromisso 2       Leia o termo de compromisso de utiliza    o do compilador C32  clique em    I accept the  terms of the license agreement    e posteriormente em next   Figura 14        r      MPLAB   Tools _  MPLAB C32 License          NON EXCLUSIVE SOFTWARE LICENSE AGREEMENT  FOR MICROCHIP MPLAB   C32 C COMPILER SOFTWARE    This Nonexclusive Software License Agreement   Agreement   is a contract  between you  your heirs  successors and assigns  
116. ra e congela   Em um primeiro momento o capacitor se  carrega com a tens  o do sinal de entrada  esse instante    denominado Acquisition Time  per  odo de  aquisi    o   Posteriormente o capacitor    chaveado para se realizar a leitura do valor obtido no    63    primeiro passo  esse instante    denominado A D Conversion Time  per  odo de convers  o    Veja  Figura 49 e Figura 50  E nesse instante que o m  todo de convers  o por aproxima    es sucessivas     utilizado     Voo Ric  2502 Sampling Rsss3ko    A N Switch    E oie q VT 0 6V nee   ur                    Rs   1 Rss   E ar a ar  MM E pete Pe Bie cereal CHOLD _    VA  N a   ILEAKAGE   DAC Capac tance      1a VT   0 6V      500 nA  44 pF    Vss  Figura 49 Circuito de amostragem do sinal  e ADC Total Sample Time            Acquisition Time A D Conversion Time  a x  A D conversion complete  result is written into the    ADC result buffer   Optionally generate interrupt       SHA is disconnected from input and holds the signal  A D conversion is started by the conversion trigger source       SHA is connected to the analog input pin for sampling  Figura 50 Sequencia de amostragem e conversao do ADC    Para melhor entendimento imagine uma tens  o que varie de O a 3 3 Volts  Se tivermos um  conversor A D de 1 bit s   teremos dois estados  logo s   seremos capazes de identificar OV ou 3 3V  com cada passo equivalente a 3 3V  Agora  se tivermos um conversor de 2 bits teremos 4 estados   logo  seremos capazes de representar os n 
117. ra tanto o bot  o 1 servir   para incrementar a velocidade enquanto o bot  o 2 para  decrement   la     52    7 4  Aula 4     Configuracao de Interface para Comunicacao com  Displays de Cristal Liquido  LCDs  alfa num  ricos     Objetivo    Programar recursos de um MCU para se comunicar com displays LCD  Liquid Crystal Display   alfa num  ricos     Refer  ncias        Manual do display Hantronix  HDM16216H B   disponivel em       http   www hantronix com down char comm pdf       Aula pr  tica 1       Aula pr  tica 3    Introdu    o    Os displays LCDs podem ser do tipo alfa num  ricos  exibem caracteres  ou gr  ficos   pontos  linhas  curvas  etc   Os LCDs alfanum  ricos podem ser classificados segundo o n  mero de  colunas e linhas de caracteres que ele pode exibir  Nesta pratica iremos trabalhar com LCD alfa   num  rico 16x2  16 colunas e 2 linhas  para exibi    o de letras e n  meros   Figura 44        Figura 44 LCD alfa num  rico 16x2    O display de cristal l  quido    um componente importante para interace homem sistema em  sistemas embarcados  Um dispositivo LCD possui um visor onde os caracteres s  o exibidos  Esse  visor pode ter luz de fundo ou n  o para permitir que o usu  rio visualize melhor a mensagem que  ser   exibida no mesmo  O visor do LCD    montado em uma placa de circuito impresso com 2 chips  soldados no verso da placa  Um chip desses    o controlador do LCD e o outro    uma pequena  mem  ria capaz de armazenar uma matriz de caracteres que o usu  rio ut
118. rface do MCU que d   aten    o ao pedido de interrup    o a um evento  ocorrido em um dos pinos externos citados precisaremos programar os seguintes registradores           CNCON  Change Notification Control Register   Registrador de CONtrole ou CONfigura    o de  interrup    es que habilita ou desabilita o perif  rico de interrup    o por mudan  a de estado e sua  habilidade de produzir interrup    o  O bit ON  d  cimo quinto bit desse registrador     o bit  respons  vel por habilitar ou n  o esse tipo de interrup    o  ON   1  habilitado   ON   0  contr  rio      CNEN  Change Notification Enable Register   Registrador respons  vel por habilitar ou desabiltar  os pinos que responder  o pela interrup    o por mudan  a de estado no MCU     CNPUE  Change Notification Pull Up Enable Register   Registrador respons  vel por habilitar ou  desabiltar um resistor de pull up para os pinos que responder  o pela interrup    o por mudan  a de  estado no MCU  O ato de habilitar um pino com resistor de pull up interno funciona como uma  fonte de corrente que est   ligado ao pino  e elimina a necessidade de resistores externos para bot  es  ou dispositivos de teclado que estejam conectados a tais pinos  Quando uma porta for configurada  com sa  da digital esse recurso tem que ficar desabilitado     IEC1  Interrupt Enable Control Register 1   Registrador que armazena o estado de disponibilidade  de aten    o da CPU a ocorr  ncia de uma interrup    o por mudan  a de estado  Exemplo  CNIE   1 
119. ricante Microchip conhecido por MPLAB     Apresenta    o do compilador C  chamado de MPLAB     C32   Apresenta    o da Placa de grava    o de microcontroladores  conhecida por ICD2 BR    A cria    o de projetos no MPLAB     Apresenta    o do ambiente de simula    o do MPLAB    conhecido por MPLAB   SIM    As atividades pr  ticas propostas     As atividades pr  ticas abordar  o os seguintes perif  ricos     Configura    o de Interface que controla os pinos do MCU para Leitura de bot  es e  acionamento de LEDs    Configura    o da Interface de Tratamento de Interrup    es de Eventos Externos   Configura    o de Temporizadores  Timers  e Contadores de eventos externos  Counters    Configura    o de Interface para Comunica    o com Displays de Cristal L  quido  LCDs   alfa num  ricos    Configura    o de Conversores Anal  gicos Digitais  Conversores A D     Configura    o de Interface para Comunica    o serial UART com RS 232    Configura    o do Perif  rico de Modula    o de Largura de Pulsos  PWM      Conclu  mos refor  ando que cada aula pr  tica ser   composta por tr  s atividades  A atividade    1    uma atividade simples e completamente funcional  na qual o aluno poder   atestar o uso e o  funcionamento do perif  rico  Na atividade 2 ele dever   ser capaz de realizar uma modifica    o na  atividade anterior  A terceira atividade exigir   que o aluno desenvolva um c  digo novo     2  Microcontroladores  microprocessadores e sistemas  embarcados    O microprocessador ou CPU  
120. rigger Position Trigger PC   Time Base Mode    Start    Center    End    oX9D 000c Cyc v Simple       D    am wi o COM    a dai gD ae    a DO 120 0 140 0 160 0 180 0 200 0       Figura 97 Logic Analyzer    102    No bot  o channels insira os canais RD6  RD7  RA7 e RD13   Figura 98  Perceba que estes  PORTS foram os mesmos utilizados para verificar o funcionamento da ferramenta Watch Window e  gerar os est  mulos     Trigger Position Trigger PC   Time Base Mode    Start    Center    End    ox9D000C Cyc   Simple       Available Signals Selected Signal s     All y   Configure Bus s       gt                 Find in Files   MPLAB SIM       Figura 98 Sele    o dos Registradores para o Logic Analyzer    Clique em Animate no menu do debug do MPLAB SIM  Figura 80      Lance v  rios est  mulos ass  ncronos aleat  rios da mesma forma quando o Watch Window foi  apresentado  Perceba  na janela do Logic Analyzer  que o valor dos PORTs RD6  RD7  RA7 e  RD13 ir   se alterar entre os n  veis l  gicos alto e baixo   Figura 99               Trigger Position Trigger PC   Time Base Mode PORT A0 A6  Output        Stat O  Center End    OX3D000C   Now    Clear   Cyc   Simple          PORT D6 D7 DIS  In                  in Control   Find in Files MPLAB SIM      N0001 Note  Asynchronous Stimulus RD   Botao 2 fired   N0001 Note  Asynchronous Stimulus RA   Botao 3 fired   N0001 Note  Asynchronous Stimulus RD13  Botao 4 fired   N0001 Note  Asynchronous Stimulus RD6  Botao 1 fired              Remove     
121. s     A atividade 1    uma atividade simples com um c  digo pronto para ser simulado e  completamente funcional  Nessa atividade o aluno poder   atestar o funcionamento do perif  rico     Na atividade 2 o aluno dever   ser capaz de realizar uma modifica    o na atividade 1  A  terceira e   ltima atividade exigir   que o aluno desenvolva um c  digo por completo  baseado no que  aprendeu na primeira e segunda atividades     Cada uma das 7 aulas est   organizada nas seguintes se    es  Objetivos  Refer  ncias  necess  rias para execu    o da atividade  Introdu    o ao uso dos perif  ricos  Registradores usados na  Programa    o  Atividade 1  Atividade 2 e Atividade 3     30    7 1  Aula 1     Configura    o de Pinos de Entrada e Sa  da    Objetivo  Aprender a configurar a Interface que controla os pinos do MCU para Leitura de bot  es e  acionamento de LEDs     Refer  ncias        Datasheet do MCU PIC32MX3XX 4XX  Pin diagram  p  g  4  e Capitulo 12 0  I O Ports      Manual do kit Explorer 16 BR  Se    es 1 3  Teclado  e 1 4  LEDs       Esquema El  trico dos Bot  es e LEDs da placa Explorer 16 BR     Introdu    o    Um microcontrolador    um tipo de circuito integrado  chip   E todo chip possui pinos de  entrada e sa  da  Alguns desses pinos tem funcionalidade espec  fica e n  o est  o dispon  veis para que  os usu  rios programe ou modifique o seu comportamento  isto     um pino de sa  da n  o pode ser  programado como entrada e vice versa  Entretanto  a maior parte dos pinos de 
122. s RA7   BOTAO 3   define Botao 4 PORTDbits RD13   BOTAO 4     LED  0 APAGADO 1 ACESO     define Ledl LATAbits LATAO   LED1   define Led2 LATAbits LATA1   LED2   define Led3 LATAbits  LATA    LED3   define Led4 LATAbits LATA3   LED4   define Led5 LATAbits  LATA4   LEDS   define Led6 LATAbits LATAS   LED6   define Led7 LATAbits  LATA6   LED7     define Led8 LATAbits LATA7   LED8    Utilizar como Botao_3 e nao Led 8    int main     int i 0        Reset   LATA   0   LATB   0   LATC   0   LATD   0   LATE   0   LATG   0     DDPCONbits JTAGEN   0      Configura    o da dire    o dos pinos de I O s   0 Output 1 Input     TRISA   OxFF80     1111111110000000 Leds  PORT AO A6  Output   Botao 3  PORT A7  Input   TRISB   0xFFFF    TRISC   0xFFFF    TRISD   OxEFCF     1110111111001111 Botoes  PORT D6 D7 D13  Input    TRISE   OxFFO0    TRISF   OxFFFF    TRISG   OxFEBF     while 1     for  i 0  i lt 50000  i      for  i 0  i lt 50000  i      for  i 0  i lt 50000  i      for  i 0  i lt 50000  i        if  Botao_3   Led3  Led3        Este programa foi inserido para percebemos melhor a utiliza    o da interrup    o  Note que a  leitura do bot  o 1 s   ser   feita ap  s a execu    o dos 4 loops for  utilizados somente para provocar  um atraso de tempo significativo na execu    o do programa de forma que o usu  rio perceba que o  acender do LED n  o ocorre de forma imediata     1  Teste o programa com o MPLAB SIM      2  Ap  s testar o programa conecte o kit EXPLORER 16 BR na placa ICD2 BR atrav 
123. sadas no nosso curso     3  Material utilizado no curso    O kit de desenvolvimento da  Labtools  cont  m os seguintes materiais     e Uma placa de desenvolvimento EXPLORER 16 BR     Figura 2 ICD2 BR    e Um Plugin montado com o microcontrolador PIC32MX360F512L          10    Um conector RJ12    Um cabo USB    Uma fonte de alimenta    o       x    S  6    Figura 4 Conector RJ12       Figura 5 Conector USB       Figura 6 Fonte Alimenta    o    11    4  MPLAB   IDE e MPLAB   C32    O  Mplab IDE   Integrated Development Environment     um ambiente de trabalho para  programa    o e simula    o de projetos baseados em PIC  A Microchip   fornece ainda um  compilador em linguagem C para PIC  O  Mplab C18     o compilador da Microchip   para a familia  PIC 8 bits  o  Mplab C30 2010     o compilador para a fam  lia de 16 bits  PIC24  dsPIC30F e  dsPIC33F e o  Mplab C32 2010  para a fam  lia 32 bits  como o PIC32MX360F512L que iremos  utilizar durante o curso       importante que o aluno tenha consci  ncia de que  da mesma forma que existe uma  infinidade de microcontroladores no mercado  PIC  dsPIC  DSP  ARM  etc  temos  al  m do  MPLAB  diversas plataformas  IDE  e compiladores para desenvolvimento de projetos  por  exemplo   HI TECH 2010    MicroC 2010    CCS 2010   dentre outros  que apresentam  particularidades pr  prias para descri    o de c  digo fonte e portanto n  o s  o compat  veis uns com os  outros     4 1  Instala    o MPLAB   IDE    Para instalar o MPLAB   IDE insira o C
124. savel por    Configurar  atrav  s dos bits UxSTATbits UTXISEL  Tx Interrupt Mode Selection bit  e  URXISEL  Rx Interrupt Mode Selection Bit  os momentos em que as interrup    es de Tx e Rx  devem ser geradas     Ex   U2STAbits  UTXISEL   0     gera interrupcao a cada Tx   U2STAbits  URXISEL   1     gera interrupcao a cada Rx    Configurar  atrav  s dos bits UxSTAbits URXEN  Receiver ENable bit  e  UxSTAbits UTXEN  Transmit ENable bit   se os pinos de Rx e Tx ser  o gerenciados pelo modulo  UART  Nivel l  gico    1    implica no controle dos pinos pela UART  nivel l  gico    0    implica no  controle dos pinos atrav  s da porta        74       Atividade 1    Esta atividade tem por objetivo fazer a comunica    o entre o computador e o  PIC32MX360F512 atrav  s do Hyperterminal   Se voc   for usu  rio do Windows Vista ou Windows  7    necess  rio baixar o software em http   www hilgraeve com   Se voc   utiliza o Windows XP ou  anterior ele j   est   instalado em sua m  quina     Ap  s criar um novo projeto inclua os arquivos    init sys c        init sys h        my lcd c         my led h        my timer c    e    my timer h    utilizados nas praticas anteriores  Agora crie e inclua os  arquivos    my 1s232 c    e    my 1s232 h     no seu projeto     No arquivo    my 1s232 h    insira o seguinte c  digo      ifndef MY RS232 H   define MY RS232 H     include  lt p32xxxx h gt    include para o PIC32MX360F512    void inicializa_UART2 void     INICIALIZA UART2  unsigned int RXUART2 v
125. se usando                          Figura 60 Hyperterminal    71    Selecione os par  metros de comunica    o da mesma forma que foram programados no PIC    Figura 61     Propriedades de COM3  Vie  Configura    es de porta           Bits por segundo    9600  v  Bits de dados   8  v    Paridade    Nenhum iM     Bits de parada              Controle de fluxo    Nenhum    Figura 61 Par  metros da comunica    o RS232                          Clique OK  Pronto  A comunica    o est   estabelecida  Para finaliz   la clique no   cone     Desconectar     Figura 62           Arquivo Edta Exibir Chamar Transfer Ajuda  O   a3 DAR          Detectar automat          Figura 62 Finalizar comunica    o RS232     Para testar seu programa e ver a mensagem inicial na tela do Hyperterminal reste a placa  EXPLORER16 BR  Assim que voc   resetar seu programa e escrever algo as seguintes mensagens  deyem aparecer no Hyperterminal e no LCD   Figura 63        Comunicacao RS232   HyperTerminal Joe    Arquivo Editar Exibir Chamar Transferir Ajuda  DE 53 an          UNIVERSIDADE FEDERAL DE MINAS GERAIS  AULA 6   COMUNICACAO SERIAL VIA RS232    Digite algo no teclado para ver o caractere escrito na tela e no lcd  Hello World   _    00 02 10 conectado Detecauto  9600 8 N 1 mis    Ter seers    Figura 63 Comunica    o RS232  Aula 6   Atividade i        78    Atividade 2    Modifique o bit UZMODEbits BRGH de  0   zero  para  1   um  e  modificando o valor do  registrador U2BRG  altere a velocidade de transmiss 
126. simul   lo e observar o  funcionamento do perif  rico na simula    o     O que voc   dever   fazer no laborat  rio  tirar d  vidas com o professor  mostrar ao professor  seu c  digo  a simula    o da atividade 3 e gravar o c  digo da atividade 3 no kit para test   lo  na presen  a do professor     O material base que voc  s usar  o para realiza    o dessas atividades s  o classificados em  material de Software  Hardware e Documenta    o como mostro a seguir     Software    1  O ambiente de desenvolvimento e Simula    o de projetos usando MCUs da Microchip   chamado MPLAB    Baixe o gratuitamente em    http   www  microchip com stellent idcplg IdeService SS GET PAGE amp nodeld 1406 amp dD  ocName en019469 amp part S W007002   2  O compilador de programas em linguagem C escrito para MCUs de 32 bits da Microchip   chamado de C32    Baixe a vers  o acad  mica gratuitamente em    http   www  microchip com stellent idcplg IdcService SS GET PAGE amp nodeld 1406 amp dD  ocName en536656    Hardware    1  O MCU PIC32MX360F512L   2  O Kit Explorer 16 BR  kit com o MCU e componentes eletr  nicos  leds  sensores   displays  etc   e mec  nicos  bot  es ou teclado  conectores  etc   para testes das pr  ticas    3  O gravador ICD2 BR  necess  rio para gravar seus programas compilados e simulados no  MCU instalado no kit     Documenta    o    1  Apostila PIC UFMG pdf   Nessa apostila voc   encontrar   informa    es sobre como  instalar os softwares  criar projetos no ambiente de desenvolvimen
127. sor  comando ou mesmo o pressionar de um bot  o     Associado a cada PORTO  existe um conjunto de registradores  Cada registrador desse  conjunto tem um nome que o distingue dos demais e uma funcionalidade espec  fica  Exemplo   registrador TRIS associado aos pinos do PORTO A chama se TRISA  Vamos agora descrever os  registradores que usaremos para configurar os pinos program  veis desse MCU     31    Registradores    Os principais registradores do microcontrolador que deveremos programar  configurar  para  definir os pinos como entrada ou sa  da  pino digital ou anal  gico nesta pr  tica s  o  LAT  TRIS e  PORT     Todos os pinos program  veis desse MCU possuem quatro registradores para a sua manipula    o e  configura    o  Esses registradores s  o           TRISx     Tem por objetivo guardar a configura    o da dire    o do pino  isto    se    Entrada ou Sa  da   Colocar  1  em um bit p do registrador TRIS  significa que o pino p do PORTO x ser   uma entrada   Da mesma forma  configurar o mesmo bit p do registrador TRIS com  0  significa que queremos  que tal pino seja uma sa  da  Veja o exemplo de configura    o do registrador TRISA a seguir  A  configura    o    feita em hexadecimal para facilitar a identifica    o se um pino esta sendo  configurado como entrada ou sa  da     Ex   TRISA   OxFF80     1111 1111 1000 0000 pinos RAO at   RA6 ser  o sa  da  os demais entradas     PORTx     Esse registrador ser   usado para a leitura de um dado  valor l  gico  do pino se o mes
128. sor AD pode ser visto na Figura 52  Ao se fazer  ADICON2bits VCFG 0 estamos tomando os sinais de alimenta    o do PIC  AVDD 3 3V e  AVSS 0V  como refer  ncia de tens  o  Caso seja necess  rio podemos utilizar refer  ncias externas   VREF  e VREF   variando se a configura    o desse bit     Ao se fazer ADICHSbits CHOSA 5 e ADICHSbits CHONA 0 estamos conectando   respectivamente  o pino RB5 ANS  ou canal 5  na entrada positiva e a refer  ncia negativa de tens  o   AVSS  na entrada negativa do circuito sample and hold        pe a pt Ts   Internal Data Bus    32                  Comparator                    A         MUXA         ADC1BUFO   ADC1BUFF       AD1CON2  AD1CON3  AD1CHS  AD1PCFG  ADICSSL    Sample Control trol Logi  Conversion Control  I     e comi q a SS ET fm 4 Pin Config Control  Input MUX Control                            Figura 52 Diagrama em blocos m  dulo AD    68    A configura    o ADICONIbits FORM   0 implica que o resultado da convers  o ser   uma  palavra de 16 bits n  o sinalizada conforme mostra a Figura 53  Como o resultado da convers  o  possui 10 bits este pode ser armazenado em um buffer de 16 bits  ADICON2bits BUFM   0  ou em  dois de 8 bits     REGISTER 22 1  AD1CON1  ADC CONTROL REGISTER 1              bit 10 8 FORM lt 2 0 gt   Data Output Format bits  011   Signed Fractional 16 bit  DOUT   0000 0000 0000 0000 sddd d  010   Fractional 16 bit  DOUT   0000 0000 0000 0000 dddd dddd  001   Signed Integer 16 bit  DOUT   0000 0000 0000 0000 s     000   
129. t    exemplificada na Figura 48     62       Microcontrolador Sistema Real   Digital   Analogico     U k  u t                 Figura 48 Convers  o A D   D A    Nesta pr  tica configuraremos  programaremos  o conversor anal  gico digital  A D  do  MCU para leitura do n  vel de tens  o anal  gico externo     Os conversores anal  gico digitais se diferenciam basicamente por 4 aspectos  a saber   m  todo usado na convers  o  resolu    o  frequ  ncia de Amostragem e forma de apresenta    o do  resultado da convers  o     Os m  todos de convers  o A D mais comuns a saber s  o  m  todo por realimentado  m  todo  paralelo  flash   m  todo sigma delta  m  todo por aproxima    es sucessivas  dentre outras  O  PIC32MX360F512  por exemplo  utiliza o m  todo de aproxima    es sucessivas     A resolu    o diz respeito ao numero de n  veis que podem ser representados pelo conversor   Por exemplo  o PIC32MX360F512 possui um conversor A D que usa 10 bits para convers  o   Portanto ele por apresentar at   2      1024 n  veis diferentes do sinal anal  gico amostrado     A frequ  ncia de amostragem relaciona se com qu  o r  pido o dispositivo ir   fazer a  aquisi    o do sinal  Essa frequ  ncia deve ser maior que duas vezes a maior frequ  ncia contida do  sinal de entrada  Por exemplo  se quisermos fazer a leitura de um sinal cuja frequ  ncia m  xima seja  2 Khz  a frequ  ncia de amostragem deve ser superior a 4 Khz  Se aumentarmos muito a frequ  ncia  o custo computacional tamb  m ir   aumentar
130. tal ligado a MCU atrav  s de  qualquer um de seus pinos de entrada  Nessa aula nos dedicaremos    configura    o de Interrup    es  de Sinais El  tricos Externos ao MCU sens  veis atrav  s a mudan  a de estado dos pinos de E S do  mesmo     Um ciclo de instru    o de uma CPU com consulta a requisi    es de interrup    es consiste nos  seguintes passos sequenciais     1  Busca da Instru    o    Decodifica    o e incremento do endere  o de busca da pr  xima instru    o    Busca dos operandos demandados pela instru    o    Execu    o da opera    o demandada pela instru    o    Escrita dos resultados da opera    o    Verifica    o se houve pedido de interrup    o  salvar o endere  o de retorno na pilha e  atualiza    o do endere  o de busca da nova instru    o com o endere  o da rotina de  tratamento da interrup    o     ENA Pe    Evidentemente que  para que o passo 6 ocorra  tem de existir no hardware um registrador  dedicado para armazenar os pedidos de interrup    o realizados pelos perif  ricos e sinais el  tricos  externos  Esse registrador ser   consultado pela CPU durante a execu    o desse passo  Caso haja  algum pedido de interrup    o  a CPU salvar   o endere  o armazenado no registrador PC  Program  Counter   ou seja o endere  o de retorno  na pilha e atualizar   o PC com o endere  o da rotina de  tratamento de interrup    o do perif  rico que pediu a aten    o  E o ciclo de instru    es continuar   a  partir da primeira instru    o da rotina  fun    o  de tratamento d
131. tion    Cycle              ok    Annuier    Appiquer                Figura 102 Configura    o do clock    Ainda na aba    Osc Trace    selecione a op    o    Trace All    no campo    Trace Options    para  monitorar todos os registradores do PIC   Figura 102     Para compreender melhor o funcionamento do recurso Stopwatch crie um novo projeto e  insira o seguinte c  digo na func    o main      INCLUDES   include  lt p32xxxx h gt    include para o PIC32MX360F512     CONFIGURACAO PARA GRAVACAO   pragma config FPLLMUL   MUL 16  FPLLIDIV   DIV_2  FPLLODIV   DIV_8  FWDTEN   OFF   pragma config POSCMOD   HS  FNOSC   PRI  FPBDIV   DIV_8    PBCLK is SYSCLK divided by 8 4 2 1     void delay Ims x unsigned int x     SD 190    OS OE Ga    TSCONbits TON   0     Timer5 desligado  TMRS   0     Zera o timer para in  cio de contagem       Timer5 Prescaler     gt  Prescaler   1 1   1 2   1 4   1 8   1 16   1 32   1 64     gt  1 256   T5CONbits TCKPS   3     Prescaler 1 8       Configura o registrador de per  odo     PR5    Fosc   Tempo   FPBDIV   PS      PRS    8000000   0 001   8   8    125       106    PRS   125     TSCONbits TCS   0     Modo timer  clock interno   TSCONbits  TGATE   0     IFSObits TSIF   0     Limpa o flag  TSCONbits TON   1     Timer5 ligado    while x    0       while IFSObits TSIF    0      Aguarda o tempo de 1 ms  IFSObits TSIF   0     Limpa o flag  X       Decrementa x         TSCONbits TON   0     Desliga o Timer5       int main          Reset   LATA   0   LATB   0  
132. to  compilar seus projetos  e simul   los  Nessa apostila voc   tamb  m encontrar   as 7 atividades propostas com as 3  atividades por atividade que foram mencionadas anteriormente    2  O manual do usu  rio do kit Explorer 16 BR   Nesse manual voc   poder   observar onde  cada componente  eletr  nico e mec  nico  da placa est   ligado fisicamente a qual pino do  MCU    3  O datasheet do MCU PIC32MX360F512L   Nesse datasheet voc   encontrar    informa    es sobre pinagem  perif  ricos dispon  veis e seu funcionamento  registradores  usados na programa    o desses perif  ricos  pinos que um determinado perif  rico usa  etc     Todos os documentos citados se encontram no ambiente Moodle dispon  vel para download   ou ent  o no pr  prio site dos fabricantes mencionados     Esta apostila tem por objetivo conduzir o aluno a explorar o uso de perif  ricos e    funcionalidades do microcontrolador PIC32MX360F512L  bem como disponibilizar informa    es  relevantes sobre o uso do kit de desenvolvimento EXPLORER 16 BR da  Labtools  para testes das  atividades pr  ticas propostas  Para essa etapa da disciplina de Laborat  rio de Sistemas   Processadores e Perif  ricos    indispens  vel que o aluno possua conhecimento em linguagem C     pe    Nm    Nesta apostila ainda ser  o abordados os seguintes t  picos     Diferen  as entre microcontroladores e microprocessadores    Apresenta    o do ambiente de desenvolvimento de programa    o  simula    o e grava    o  de  microcontroladores do fab
133. toons ae             Fichier Edition Format Affichage 2  Arquivo do tipo  u  contido na pasta myProject2                        arquivo do tipo  C  contido na pasta myProjectl     Figura 75 Anexo     Arquivos da Pasta myProject1 Alterados    89    Perceba que a altera    o da frase       myProjectI    por       myProject2      Figura 74   alterou  tamb  m os arquivos    ArgA c        ArqU c    e    ArgS c    contidos na pasta    myProjectT      Figura 75   Isso ocorreu porque somente o tipo  C  faz uma c  pia real do arquivo para a pasta    myProject2     os  arquivos do tipo  A    U  e  S   tamb  m utilizados no projeto  n  o foram copiados  O que foi copiado  foram somente suas referencias  Desta forma a altera    o dos arquivos do tipo  A      U  e  S  ir    modificar os arquivos contidos na pasta    myProjectI    e n  o    myProject2        Para confirmar o que foi dito acima abra a pasta    myProject2    e veja que al  m do projeto  criado existe somente o arquivo do tipo  C    Figura 76     Nom Date de modificati    Type Taille Mots  06 04 2010 20 09 Fichier C  EM myProject 06 04 2010 20 01 Microchip MPLAB         myProject mcs 06 04 2010 20 01 Fichier MCS 1Ko  FY myProject 06 04 2010 20 01 Microchip MPLAB    32 Ko                   Figura 76 Anexo I   Somente o Arquivo do Tipo  C     Criado    Desta forma deve se tomar cuidado ao incluir arquivos durante a cria    o de projetos  Caso  se queira criar somente uma referencia escolha a op    o  A    U  ou  S   Caso queira
134. um microcontrolador  pode ser configurado pelo usu  rio  Os pinos podem ser configurados como entrada ou sa  da  tipo  digital ou anal  gico  definir pinos de sa  da com um valor l  gico    1    ou com um valor l  gico    0      Essa configura    o dos pinos    realizada programando se registradores espec  ficos para tal fim     O MCU PIC32MX360F512L que usaremos no nosso curso possuem pinos que podem ser  programados pelo usu  rio e outros pinos com fu    es bem definidas que n  o permitem programa    o   No datasheet do PIC32MX360F512L voc   encontrar   todas essas informa    es     No PIC32MX360F512L os pinos program  veis com uma mesma caracter  stica s  o  agrupados em PORTOS  I O Ports   Os PORTOS s  o portanto conjunto de pinos program  veis  com uma mesma caracter  stica estrutural e el  trica  No datasheet do PIC32MX360F512L Capitulo  12 0  I O Ports voc   encontrar   mais informa    es     Os PORTOS do PIC32MX360F512L recebem o nome de letras do alfabeto de A a G   Portanto  existe o PORTO A que    o conjunto de pinos RAO  RAI  RA2  RA3  at   RA7  Vide  datasheet Pin diagram  p  g  4   Assim como existe um PORTO B  um PORTO C  etc  Cada  PORTO possu   uma quantidade de pinos pr  pria e s  o atrelados a funcionalidades espec  ficas do  MCU  Os PORTOS s  o conhecidos tamb  m como GPIO  General Purpose Input Output   ou seja   s  o portas  pinos do microcontrolador  para uso geral  como acionamento de algum circuito  eletr  nico ou leitura l  gica  0 ou 1  de algum sen
135. www atmel com     CCS   CCS  Inc    CCS C Compilers   Marco 2010  http   www ccsinfo com content php page compilers   Hantronix  Inc      Welcome to HANTRONIX  Inc       Maio 2010  http   www hantronix com down char comm pdf   Hilgrave  Hilgrave   Hyper Terminal HyperACCESS and DropChute communication software   Hilgrave  Julho 2010     HI TECH   Embedded C Compilers and Tools for Software Development  HI TECH Software   Marco 2010   http   www htsoft com products      Labtools   LabTools   PICs  Kits Didaticos  Treinamentos  Componentes Eletronicos   Mar  o 2010   http   www  labtools com br     MicroC   mikroC   Advanced Cc compiler for PIC microcontrollers   Mar  o 2010   http   www  mikroe com en compilers mikroc pic      Microchip   Microchip Technology Inc   Mar  o 2010  http   www  microchip com     Mplab C18   MPLAB C Compiler for PIC18 MCUs   Mar  o 2010   http   www microchip com stellent idcplg IdcService SS_GET_PAGE amp nodeId 1406 amp dDocName en010014     Mplab C30   MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs   Marco 2010   http   www microchip com stellent idcplg IdcService SS_GET_PAGE amp nodeId 1406 amp dDocName en010065     Mplab C32   MPLAB C Compiler for PIC32 MCUs   Mar  o 2010   http   www microchip com stellent idcplg IdcService SS_GET_PAGE amp nodeId 2615 amp dDocName en532454     Mplab IDE   MPLAB Integrated Development Environment   Marco 2010   http   www  microchip com stellent idcplg IdcService SS_GET_PAGE amp nodeld 1406 amp dDocName en019469
136. xa de transfer  ncia refere se a quantidade de bits que ser  o transmitidos por  unidade de tempo  Um baud rate tipico de 9600 indica a transmiss  o de 9600 bits por segundo     c  Comunica    o S  ncrona x Ass  ncrona  Na transmiss  o s  ncrona um sinal de clock    gerado  pelo dispositivo mestre a fim de se criar uma temporiza    o regular para o tr  fego dos dados  Na  comunica    o ass  ncrona  ex  UART  n  o existe um sinal de clock indicando o tempo de envio e  recebimento dos dados  O controle de informa    o nesse caso se d   atrav  s de dois pinos a saber   RTS  ready to send  e CTS  clear to send   O transmissor sinaliza atrav  s do pino RTS que  deseja enviar informa    o  O receptor ao perceber a sinaliza    o prepara se para receber o dado  ativando o pino CTS  Quando o transmissor recebe a autoriza    o atrav  s do sinal CTS ele inicia  a transmiss  o     A utiliza    o dos sinais RTS e CTS  pinos RF13 U2RTS e RF12 U2CTS do PIC32MX360F512     respectivamente  requer mais uma conex  o no cabo DB9  pinos 7 e 8  respectivamente   observe a  Figura 57     12    d  Tamanho do pacote  O tamanho do pacote de dados pode variar sendo que sua estrutura     constitu  da por  1 start bit  8 ou 9 bits de dados  O ou 1 bit de paridade  1 ou 2 bits de parada     Tamanho 0    Start Bit O pacote sempre inicia com o n  vel l  gico zero para indicar 0 1  in  cio da transmiss  o     Os bits de dados  informa    o  s  o enviados logo ap  s o start bit     dado  Ele    adicionado ap 
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
月改訂 組立・施工説明書  SAMSUNG - Cobrason  Finger-02  Hama      EYW300 novaWeb Operation  pdf, 142 Ko  guia del usario de ViewStation    Copyright © All rights reserved. 
   Failed to retrieve file