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