Um resumo do Microcontrolador PIC18xx

Tamanho: px
Começar a partir da página:

Download "Um resumo do Microcontrolador PIC18xx"

Transcrição

1 Um resumo do Microcontrolador PIC18xx Autor: Pedro Inácio Revisão: Rui Antunes Dezembro/2007

2 1. Introdução 1.1 PIC-Programmable Interrupt Controller O PIC é um microcontrolador fabricado exclusivamente pela empresa Microchip, que se divide em várias famílias. Com arquitectura de 8 bits têm-se por ordem crescente de performance e dimensão o PIC10, PIC12, PIC16 e PIC18. Com arquitectura de 16 bits têm-se os microcontroladores PIC24F e PIC24H e os controladores de sinal dspic30 e dspic33. Este documento refere-se à família PIC18xx, embora genericamente, possa ser aplicado a todas as famílias de 8 bits e de forma mais abstracta às de 16 bits. 1.2 A família PIC18xx Na Figura 1.1 representa-se, como exemplo, o diagrama de pinos do microcontrolador PIC18F2550, em que se pode ver que se trata de um DIP28 (Dual Inline Package 28) duas filas de 14 pinos totalizando 28. Figura 1: Diagrama de pinos do Microcontrolador PIC18F2550 2

3 Note-se que cada pino não tem uma única função. Dependendo das necessidades de cada aplicação, o utilizador poderá utilizar cada uma das funções de certo grupo de pinos. Por exemplo os pinos 26, 27 e 28 podem ser usados como GPIO (General Purpose Input Output) entrada/saída normal, ou como PGM, PGC ou PGD, para a programação ICSP (In Circuit Serial Programming) programação sem remoção do microcontrolador do circuito. Os pinos são específicos de uma determinada função integrada em certos modelos pelo que diferem para cada microcontrolador. 1.3 Programação do PIC A maioria dos microcontroladores recebe como programa o ficheiro binário gerado por uma linguagem compilada. Esta programação pode ser feita dentro do circuito com um mecanismo que desabilita o funcionamento e reescreve a área de memória de programa com o novo código, ou ainda removendo o microcontrolador do circuito e inserindo-o num programador externo. A Microchip produz um interface de programação/depuração chamado ICD2, que juntamente com o IDE (Integrated Development Environment) ambiente de desenvolvimento integrado (chamado MPLAB), permitem escrever o código, compilar, programar e depurar sem sequer desligar o circuito. Existem outros métodos de programação por programadores universais como o ALL- 11 e o PRESTO, em que é necessário remover o microcontrolador, compilar o código e levar ambos ao programador, que reescreve o código (flash). 1.4 Configuração Os microcontroladores são configurados por fuses ou bits de configuração. Estes podem ser configurados no IDE (como no caso do MPLAB), num programador universal, ou no código (sobrepõe o MPLAB, mas não funciona no programador ALL-11). De seguida descrevem-se algumas das configurações mais comuns: 3

4 Oscilador O PIC necessita de uma fonte de sincronismo. Existem muitas formas de a obter. Existe normalmente um PLL com um divisor. Dividir por PLL significa multiplicar a frequência de entrada pelo factor seleccionado. XT Crystal/Resonator XTPLL Crystal/Resonator with PLL enabled HS High-Speed Crystal/Resonator HSPLL High-Speed Crystal/Resonator with PLL enabled Nestes modos é utilizado um cristal de baixa (XT) ou alta-frequência (HS). Ao usar o PLL pode multiplicar-se a frequência. Por exemplo: usando um cristal de 12MHz e a PLL com divisor de 4, atinge-se a frequência interna de 48MHz. Figura 2: Circuito do oscilador EC External Clock with FOSC/4 output ECIO External Clock with I/O on RA6 ECPLL External Clock with PLL enabled and FOSC/4 output on RA6 ECPIO External Clock with PLL enabled, I/O on RA6 Neste modo requer-se uma fonte externa de sincronismo. Nos modos EC e ECPLL, a frequência de entrada é dividida por 4 e é disponibilizada no pino OSC2 (Figura 1.2). 4

5 Figura 3: Divisor de frequência Nos modos ECIO e ECPIO o pino OSC2 é poupado para uso geral como RA6 (Figura 1.3). Figura 4: Pino de uso geral INTHS Internal Oscillator used as microcontroller clock source, HS Oscillator used as USB clock source INTXT Internal Oscillator used as microcontroller clock source, XT Oscillator used as USB clock source INTIO Internal Oscillator used as microcontroller clock source, EC Oscillator used as USB clock source, digital I/O on RA6 INTCKO Internal Oscillator used as microcontroller clock source, EC Oscillator used as USB clock source, FOSC/4 output on RA6 Estes modos fazem uso do oscilador interno. O modo INTHS usa o oscilador de 8MHz e um divisor para gerar a frequência seleccionada, e INTXT usa o oscilador de 31kHz. OS modos INTIO e INTCKO usam o oscilador de 8MHz, mas o primeiro poupa os pinos RA6 e RA7 para GPIO e o segundo poupa o pino RA7, divide a frequência por 4 e disponibiliza no pino OSC2. 5

6 Nos PIC com USB o pino OSC1 é sempre usado para entrada de sincronismo externo para o controlador USB. RC External Resistor/Capacitor with FOSC/4 output on RA6 RCIO External Resistor/Capacitor with I/O on RA6 Nestes modos o oscilador é composto por um schmitt-trigger interno e por uma malha RC externa. O modo RC divide a frequência por 4 e disponibiliza no pino OSC2 (Figura 1.4). Figura 5: Divisor de frequência O modo RCIO poupa o pino RA6 para GPIO (Figura 1.5) Figura 6: Pinos OSC1 e RA6 6

7 Configurações Gerais Port A/D Enable: Porto configurado como I/O digital Porto configurado como entradas analógicas (ADC) Master Clear Porto configurado como GPIO Porto configurado como MCLR Brownout Desactivado Especificar uma tensão mínima de limite WDT Desactivado Especificar um tempo de intervalo entre checkpoints 1.5 Memória Registos Um registo é um local na memória do PIC, que pode ser lida e escrita, e dependendo do endereço, pode ter um significado especial no comportamento do programa se for um SFR (Special Function Register registo de função especial), ou ser apenas um pedaço de memória de uso geral. Bancos de Memoria O banco de memória 0 corresponde ao acesso à memória geral e o banco 1 corresponde aos registos. TRIS Este registo controla o sentido da porta respectiva. Por exemplo se TRISA = 255 = , o porto A é configurado para entrada, se TRISB = 129 = , o 7

8 porto B é configurado para saída excepto os pinos 0 e 7 que são de entrada. Os dispositivos actuais só possuem este dispositivo para compatibilidade e os mais recentes já não o possuem, pelo que o código só deve referir o TRIS quando se refere a dispositivos antigos ou ao reutilizar código antigo. PORT Cada um destes registos controla um porto. O esquema de cada pino encontra-se representado na Figura 1.6. Normalmente cada porto é composto por 8 bits (mas podem ser menos), ou ainda algum destes estar a ser usado por uma função especial, pelo que deve ser tomado cuidado ao se escrever em todo o porto. As instruções de escrita bit a bit são uma prática mais eficaz, segura e perceptível. A atribuição de nomes inteligíveis aos pinos que realizam uma função específica também é recomendada em prol da facilidade de compreensão e depuração do código. Figura 7: Esquema de um pino W Working Register (Acumulador) O Working register ou Acumulador é o registo onde tudo normalmente acontece. É o espaço de memória mais volátil do PIC, pois poucas operações garantem a manutenção do seu conteúdo. O conteúdo que se deseje preservar deve então ser imediatamente copiado para um local seguro. A analogia a reter para boa prática é imaginar o Working register como uma espécie de ardósia onde se escrevem os resultados dos cálculos. 8

9 2. Exemplos de programação (Assembly e C) Enunciam-se seguidamente alguns exemplos de programação em, respectivamente, linguagem Assembly e C: Exemplo 1: Escrever na memória Pretende-se escrever o valor 06h no endereço 85h no banco 1. BSF 03h,5 ;Banco 1 MOVLW 06h ;Coloca no W MOVWF 85h ;Coloca W no 85h BCF 03h,5 ;Banco 0 BSF 03h,5 coloca 1 (set) no bit 5 do endereço 03h MOVLW 06h escreve o valor 06h no W MOVWF 85h coloca o conteúdo do W no endereço 85h BCF 03h,5 coloca 0 (clear) no bit 5 do endereço 03h bit_set(0x03,5) coloca 1 (set) no bit 5 do endereço 03h *0x85 = 0x06 valor literal 06h no endereço 85h bit_clear(0x03,5) coloca 1 (set) no bit 5 do endereço 03h ou write_bank(1, 0x85, 0x06); escreve o valor 06h no endereço 85h no banco 1 Exemplo 2: Escrever num porto, ligando o bit 1 Pretende-se colocar o bit 1 do porto A a 1. BSF 03h,5 ;Banco 1 MOVLW 00h ;Escreve 0 no W MOVWF 85h ;Escreve W no 85h/TRISA :definir o porto A para saída BCF 03h,5 ;Banco 0 MOVLW 02h ;Escreve no W MOVWF 05h ;Escreve W no 05h/PORTA :escrever W no porto A BSF 03h,5 coloca 1 (set) no bit 5 do endereço 03h MOVLW 00h coloca o valor 00h no registo W MOVWF 85h coloca o conteúdo do registo W no endereço 85h que corresponde ao TRISA BCF 03h,5 coloca 0 (clear) no bit 5 do endereço 03h MOVLW 02h escreve o valor literal no registo W 9

10 MOVWF 05h coloca o conteúdo do registo W no endereço 05h que corresponde ao PORTA bit_set(0x03,5) coloca 1 (set) no bit 5 do endereço 03h *0x85 = 0x00 escreve o valor 06h no endereço 85h bit_clear(0x03,5) coloca 1 (set) no bit 5 do endereço 03h *0x05 = 0x02 escreve o valor 02h no endereço 05h ou write_bank(1, 0x85, 0x00); escreve o valor 00h no endereço 85h no banco 1 write_bank(0, 0x05, 0x02); escreve o valor 02h no endereço 05h no banco 0 ou set_tris_a(0x00); definir o porto A como saída output_high(pin_a0); ligar o bit 1 do porto A Exemplo 3: Loops e delays Pretende-se controlar a temporização de atrasos através de ciclos e instruções directas. MOVLW 0FFh ;Coloca 0 no W MOVWF 08h ;Coloca W no 08h CONTADOR EQU 08h ;Define CONTADOR como o endereço de memoria 08h CICLO ;Define uma marcação no código DECFSZ CONTADOR,1 ;Subtrai 1 ao valor no endereço designado por ;contador e ignora a próxima instrução de o valor ;resultante da subtracção for 0 GOTO CICLO ;Salta para a posição marcada pelo nome CICLO ;As instruções seguintes serão executadas quando o valor ;de CONTADOR chegar a 0 e a instrução de salto for ;ignorada #byte contador = 0x08 contador = 0xFF; do{ contador--; }while(contador > 0); // Define CONTADOR como o endereço de memoria 08h // Escreve o valor 255 no CONTADOR // Repete o bloco de instruções enquanto a condição se // verificar // Decrementa CONTADOR // Define a condição de repetição 10

11 Assumindo um relógio interno de 40MHz, tem-se um clock de instrução de 10MHz e período de 100ns. As instruções DECFSZ e GOTO são ambas de 2 ciclos, logo cada loop demora 4 ciclos, ou seja 400ns. Para um atraso de 20us, o valor a escolher para o contador será então de 20000/400 = 50 ou 32h. Na linguagem C é mais difícil efectuar a contagem de ciclos, pois a maioria dos compiladores não esclarece a relação entre o código escrito e o código máquina correspondente. Na maioria das linguagens C para o microcontrolador PIC existe uma instrução de atraso declarada por: delay_us(20); pode ainda usar-se um bloco de linguagem Assembly no código C: int8 contador=0x32; #asm CICLO DECFSZ CONTADOR,1 GOTO CICLO #endasm Exemplo 4: Funções e Subrotinas Pretende-se agora definir e chamar subrotinas. Define-se uma rotina que guarda um valor numa localização de memória, e chama-se do bloco principal. ; Guarda o valor do endereço 09h no endereço 30h ROTINA ;Nome da subrotina MOVFW 09h ;Escreve o conteúdo do endereço 09h no W MOVWF 30h ;Escreve o conteúdo do W no endereço 30h RETURN ;Retorna ao ponto onde a rotina foi chamada ;... MOVLW 56h ;Escreve 56h no W MOVWF 09h ;Escreve o conteúdo do W no endereço 09h CALL ROTINA ;Chama a subrotina #byte objecto = 0x09 //Define objecto como o endereço de memória 09h void guarda (int8 valor){ //cabeçalho da função *0x30 = valor; //escreve o valor recebido no endereço 30h } void main(){ objecto = 0x56; guarda(objecto); } //Coloca o valor 56h no objecto //chama a função para guardar o valor do endereço 09h 11

12 Exemplo 5: Leitura de portos Pretende-se ler de um porto e alterar a sua direccionalidade. O programa espera que o bit 0 do porto B esteja a 1 e coloca o bit 7 do mesmo porto a 1. Depois retorna o bit 0 a 0; STATUS EQU FD8h TRISB EQU F93h PORTB EQU F81h INICIO MOVLW 01h MOVWF TRISB ;Coloca o bit 0 do porto B para entrada CICLO BTFSS PORTB,0 ;Testa o bit 0 do porto B e salta a próxima instrução se for ;1 GOTO CICLO ;Se o bit 0 estiver a 0 testa de novo ;Se o bit 0 estiver a 1 BSF PORTB,7 ;Coloca o bit 7 a 1 MOVLW 00h MOVWF TRISB ;Configura todo o porto B como porto de saída BSF PORTB,0 ;Coloca o bit 0 a 0 GOTO INICIO ;Repete o programa while(true){ set_tris_b(0x01); while(!input(pin_b0)){} set_tris_b(0x00); output_low(pin_b0); output_high(pin_b7); } Exemplo 6: Adição e subtracção Pretende-se verificar as operações básicas da adição e da subtracção, usando operadores no acumulador MOVLW 30 ;W=30 MOVWF 08h ;08h=30 MOVLW 25 ;W=25 ADDLW 25 ;W=50 SUBLW 20 ;W=30 SUBWF 08h ;W=0 12

13 #byte f = 0x08 main(){ int8 acumulador = 25; f = 30; acumulador += 25; acumulador -= 20; acumulador += f; } Exemplo 7: Interrupção por Temporizador Pretende-se usar um temporizador (timer) com interrupção de overflow temporizar 1 segundo. ORG 00h ;Vector de Reset GOTO MAIN ;Evita sobrepor o vector de interrupção com código ORG 08h ;Vector de Interrupção GOTO LOW_ISR ;Evita sobrepor o vector de interrupção prioritário com ;código, neste caso é desnecessário, pois não é usado ISR ;Tratamento de interrupção BTFSS INTCON,5 GOTO FIM_ISR MOVLW 0FFh ;Escreve FFh no W MOVWF PORTB ;Escreve o conteúdo do registo W no porto B BCF TMR0IF ;Limpa a flag para permitir a activação da interrupção FIM_ISR ;Fim do tratamento de interrupção RETFIE MAIN BCF IPEN ;Desabilita prioridade de interrupções BSF GIE ;Habilita interrupções BSF TMR0IE ;Habilita interrupção do timer BCF TMR0ON ;Pára o Timer0 BSF T08BIT ;Configura o contador para 16bits BCF T0CS ;Configura a fonte para clock interno BCF PSA ;Usa divisor de frequência MOVLW 06h IORWF T0CON,1,1 ;Divide a frequência por 128 MOVLW 98h MOVWF TMR0H MOVLW 96h MOVWF TMR0L 13

14 BSF TMR0ON ;Inicia o Timer0 ;... ; Ao fim de 1 segundo o programa será interrompido e todos os pinos do porto B estarão a 1, seguindo imediatamente de onde havia sido interrompido. Assume-se uma frequência interna de 40MHz #pragma code INT_VECTOR = 0x08 timer0_isr(){ PORTB=0xFF; TMR0IF=0; } void main(){ IPEN=0; //Desabilita prioridade de interrupções GIE=1; //Habilita interrupções TMR0IE=1; //Habilita interrupção do timer TMR0ON=0 //Pára o Timer0 T08BIT=1; //Configura o contador para 16bits T0CS=0; //Configura a fonte para clock interno PSA=0; //Usa divisor de frequência T0CON =0x06; //Divide a frequência por 128 TMR0H=0x98; TMR0L=0x96; TMR0ON=1; //Inicia o Timer0 //... } ou #int_timer0 timer0_isr(){ output_port_b(0xff); } void main(){ interrupt_active(int_timer0); setup_timer(rtcc_internal RTCC_DIV_2 RTCC_16_BIT); set_timer0(0x9896); //... } 14

15 3. Interrupções e registos associados INTCON bit 7 GIE/GIEH: Global Interrupt Enable bit Quando IPEN = 0: 1 = Activa todas as interrupções 0 = Desactiva todas as interrupções Quando IPEN = 1: 1 = Activa todas as interrupções com alta prioridade 0 = Desactiva todas as interrupções com alta prioridade bit 6 PEIE/GIEL: Peripheral Interrupt Enable bit Quando IPEN = 0: 1 = Activa todas as interrupções periféricas 0 = Desactiva todas as interrupções periféricas Quando IPEN = 1: 1 = Activa todas as interrupções periféricas com alta prioridade 0 = Desactiva todas as interrupções periféricas com alta prioridade bit 5 TMR0IE: TMR0 Overflow Interrupt Enable bit 1 = Activa a interrupção do timer 0 0 = Desactiva a interrupção do timer 0 bit 4 INT0IE: INT0 External Interrupt Enable bit 1 = Activa a interrupção externa 0 0 = Desactiva a interrupção externa 0 bit 3 RBIE: RB Port Change Interrupt Enable bit 1 = Activa a interrupção do porto B 0 = Desactiva a interrupção do porto B bit 2 TMR0IF: TMR0 Overflow Interrupt Flag bit 1 = O registo TMR0 chegou ao máximo/activou interrupção (para reactivar a detecção/interrupção, deve manualmente colocar-se a 0, ou a detecção/interrupção não volta a disparar) 0 = O registo TMR0 não chegou ao máximo/activou interrupção bit 1 INT0IF: INT0 External Interrupt Flag bit 1 = A interrupção INT0 foi activada (para reactivar a interrupção, deve manualmente colocar-se a 0, ou a interrupção não volta a activar) 0 = A interrupção INT0 não foi activada 15

16 bit 0 RBIF: RB Port Change Interrupt Flag bit(1) 1 = Um dos pinos do porto B mudou de estado 0 = Nenhum dos pinos do porto B mudou de estado INTCON2 bit 7 RBPU: PORTB Pull-up Enable bit 1 = Todos os pull-ups do PORTB estão desabilitados 0 = Todos os pull-ups do PORTB são controlados pelo valor do latch de cada porto bit 6 INTEDG0: External Interrupt 0 Edge Select bit 1 = INT0 activo na transição positiva 0 = INT0 activo na transição negativa bit 5 INTEDG1: External Interrupt 1 Edge Select bit 1 = INT1 activo na transição positiva 0 = INT1 activo na transição negativa bit 4 INTEDG2: External Interrupt 2 Edge Select bit 1 = INT2 activo na transição positiva 0 = INT2 activo na transição negativa bit 2 TMR0IP: TMR0 Overflow Interrupt Priority bit 1 = TMR0 tem prioridade alta 0 = TMR0 tem prioridade baixa bit 0 RBIP: RB Port Change Interrupt Priority bit 1 = PORTB tem prioridade alta 0 = PORTB tem prioridade baixa INTCON3 bit 7 INT2IP: INT2 External Interrupt Priority bit 1 = INT2 tem prioridade alta 0 = INT2 tem prioridade baixa bit 6 INT1IP: INT1 External Interrupt Priority bit 1 = INT1 tem prioridade alta 0 = INT1 tem prioridade baixa bit 4 INT2IE: INT2 External Interrupt Enable bit 1 = Activa a interrupção externa 2 0 = Desactiva a interrupção externa 2 16

17 bit 3 INT1IE: INT1 External Interrupt Enable bit 1 = Activa a interrupção externa 1 0 = Desactiva a interrupção externa 1 bit 1 INT2IF: INT2 External Interrupt Flag bit 1 = A interrupção INT2 foi activada (para reactivar a interrupção, deve manualmente colocar-se a 0, ou a interrupção não volta a activar) 0 = A interrupção INT2 não foi activada bit 0 INT1IF: INT1 External Interrupt Flag bit 1 = A interrupção INT1 foi activada (para reactivar a interrupção, deve manualmente colocar-se a 0, ou a interrupção não volta a activar) 0 = A interrupção INT1 não foi activada PIR1 bit 6 ADIF: A/D Converter Interrupt Flag bit 1 = A conversão A/D terminou (para reactivar a interrupção, deve manualmente colocar-se a 0, ou a interrupção não volta a activar) 0 = A conversão A/D não terminou bit 5 RCIF: EUSART Receive Interrupt Flag bit 1 = O buffer de recepção EUSART, RCREG, está cheio (este bit é colocado a 0 lendo o buffer) 0 = O buffer de recepção EUSART está vazio bit 4 TXIF: EUSART Transmit Interrupt Flag bit 1 = O buffer de recepção EUSART, TXREG, está cheio (este bit é colocado a 0 escrevendo no buffer) 0 = O buffer de recepção EUSART está vazio bit 3 SSPIF: Master Synchronous Serial Port Interrupt Flag bit 1 = A transmissão/recepção terminou (para reactivar a interrupção, deve manualmente colocar-se a 0, ou a interrupção não volta a activar) 0 = Aguardando transmissão/recepção PIE1 bit 6 ADIE: A/D Converter Interrupt Enable bit 1 = Activa a interrupção do ADC 0 = Desactiva a interrupção do ADC bit 5 RCIE: EUSART Receive Interrupt Enable bit 1 = Activa a interrupção de recepção do EUSART 0 = Desactiva a interrupção de recepção do EUSART 17

18 bit 4 TXIE: EUSART Transmit Interrupt Enable bit 1 = Activa a interrupção de transmissão do EUSART 0 = Desactiva a interrupção de transmissão do EUSART bit 3 SSPIE: Master Synchronous Serial Port Interrupt Enable bit 1 = Activa a interrupção do MSSP (SPI/I2C) 0 = Desactiva a interrupção do MSSP (SPI/I2C) IPR bit 6 ADIP: A/D Converter Interrupt Priority bit 1 = A interrupção do ADC tem prioridade alta 0 = A interrupção do ADC tem prioridade baixa bit 5 RCIP: EUSART Receive Interrupt Priority bit 1 = A interrupção de recepção do EUSART tem prioridade alta 0 = A interrupção de recepção do EUSART tem prioridade baixa bit 4 TXIP: EUSART Transmit Interrupt Priority bit 1 = A interrupção de transmissão do EUSART tem prioridade alta 0 = A interrupção de transmissão do EUSART tem prioridade baixa bit 3 SSPIP: Master Synchronous Serial Port Interrupt Priority bit 1 = A interrupção do MSSP (SPI/I2C) tem prioridade alta 0 = A interrupção do MSSP (SPI/I2C) tem prioridade baixa RCON bit 7 IPEN: Interrupt Priority Enable bit 1 = Activa os níveis de prioridade das interrupções 0 = Inactiva os níveis de prioridade das interrupções bit 6 SBOREN: BOR Software Enable bit Se BOREN1:BOREN0 = 01: 1 = BOR está activo 0 = BOR está desactivado Se BOREN1:BOREN0 = 00, 10 or 11: Bit está desactivado bit 4 RI: RESET Instruction Flag bit 1 = Não foi executado RESET (não editável) 0 = Foi executado RESET (Deve ser colocado a 0 por software após um brown-out) bit 3 TO: Watchdog Time-out Flag bit 1 = Aplicado no início, ou após CLRWDT ou SLEEP 0 = O watchdog timer fez RESET 18

19 bit 2 PD: Power-Down Detection Flag bit 1 = Aplicado no início, ou após CLRWDT 0 = Aplicado após SLEEP bit 1 POR: Power-on Reset Status bit(2) 1 = Não foi executado Power-on Reset (não editável) 0 = Foi executado Power-on Reset (Deve ser colocado a 0 por software após um Power-on Reset) bit 0 BOR: Brown-out Reset Status bit 1 = Não foi executado Brown-out Reset (não editável) 0 = Foi executado Brown-out Reset (Deve ser colocado a 0 por software após um Brown-out Reset) 4. Características e funções do PIC18xx Master Clear (MCLR) O pino MCLR é a forma de externamente inicializar o dispositivo. Este pino, quando atribuído a esta função não pode ser escrito por software. Power-on Reset (POR) Esta função ocorre quando o valor de tensão do pino VDD sobe acima de um determinado nível, após o qual é determinado que o dispositivo encontra-se efectivamente ligado. Esta função assegura que o código é correctamente iniciado. Brown-out Reset (BOR) Esta função ocorre quando o valor de tensão do pino VDD desce abaixo de um nível pré-configurado, em que se reinicia o funcionamento. Watchdog Timer (WDT) Esta função permite reiniciar automaticamente o dispositivo após um intervalo de tempo pré-configurado. Devem ser introduzidos checkpoints para reiniciar a contagem em zonas do código que assegurem que existe tempo de execução suficiente para o programa correr normalmente. Ciclos de instrução O clock interno é dividido por 4 para gerar o sincronismo de pipeline, conforme ilustrado na figura 8. Isto significa que cada ciclo de programa corresponde a 4 ciclos de relógio. Por exemplo, para um oscilador de 20MHz com PLL de 2, tem-se uma 19

20 frequência interna de 40MHz. A frequência de instrução será então de 10Mhz e o período de 100ns. Figura 8: Pipeline 5. Referências

Microprocessadores. Cap. 4 Assembly

Microprocessadores. Cap. 4 Assembly Microprocessadores Cap. 4 Assembly Parte 1: Entendendo o hardware do 18F4550 e precursores 2 Apresentando o hardware do 18F4550 x 16F877A 3 O 16F877A: 4 O 18F4550: 5 Divisão clock interno: 6 Osciladores

Leia mais

Interrupções e timers

Interrupções e timers Prática 3: 3.1 Introdução e objetivos Interrupções e timers Na prática anterior foi visto que a função main fica continuamente monitorando o teclado avaliando se alguma tecla foi pressionada através da

Leia mais

Hardware Parte I. Fábio Rodrigues de la Rocha

Hardware Parte I. Fábio Rodrigues de la Rocha Hardware Parte I Fábio Rodrigues de la Rocha PIC16F877 40 pinos Freqüência máxima 20MHz. Vias de programação 14 bits 33 portas configuráveis como entradas/saídas 15 interrupções diferentes Memória EEPROM

Leia mais

PIC16F628a. Pinagem do PIC16F628a:

PIC16F628a. Pinagem do PIC16F628a: PIC16F628a O PIC16F628a é um microcontrolador fabricado pela Microchip Technology (www.microchip.com), com as seguintes características: - composto de 18 pinos; - possui somente 35 instruções no seu microcódigo;

Leia mais

MICROCONTROLADORES PIC PRIMEIROS PASSOS

MICROCONTROLADORES PIC PRIMEIROS PASSOS MICROCONTROLADORES PIC PRIMEIROS PASSOS Os microcontroladores são chips inteligentes, que tem um processador, pinos de entradas/saídas e memória. Através da programação dos microcontroladores podemos controlar

Leia mais

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira SEL 0629 Aplicação de Microprocessadores I Aula 5 Temporização e Interrupção Marcelo Andrade da Costa Vieira Contagem de Tempo Contando tempo Existem 3 maneiras de contarmos tempo com os microcontroladores

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

DEPARTAMENTO DE ELECTROTECNIA. João Paulo Baptista. Curso de Engenharia Electrotécnica Electrónica e Computadores

DEPARTAMENTO DE ELECTROTECNIA. João Paulo Baptista. Curso de Engenharia Electrotécnica Electrónica e Computadores DEPARTAMENTO DE ELECTROTECNIA MICROCONTROLADORES João Paulo Baptista Curso de Engenharia Electrotécnica Electrónica e Computadores Sistemas Digitais / 2001 1 MICROCONTROLADORES 1 Arquitectura Base de

Leia mais

PROGRAMAÇÃO DE UM MICROPROCESSADOR

PROGRAMAÇÃO DE UM MICROPROCESSADOR Relatório de Microprocessadores 2007/2008 Engenharia Física Tecnológica PROGRAMAÇÃO DE UM MICROPROCESSADOR EM C E ASSEMBLY PARA CONTROLO DE UM LED Laboratório I Trabalho realizado por: André Cunha, nº53757

Leia mais

Sistemas Digitais e Microcontrolados

Sistemas Digitais e Microcontrolados UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA TECNOLOGIA EM AUTOMAÇÃO INDUSTRIAL Sistemas Digitais e Microcontrolados Contador/Temporizador

Leia mais

7. Técnicas de Programação

7. Técnicas de Programação 7. Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 7.1 Fluxograma Definições Início/Fim Sub-rotinas Tomada de decisão Terminação 7.1 Fluxograma Exercícios Ex.1: Testa um botão e acende

Leia mais

V1 5V +V. (14)Vdd (6)RB0 PIC 16F628A. (16) Clk-out. C1 33pF. C2 33pF. Figura 1 Circuito pisca-pisca.

V1 5V +V. (14)Vdd (6)RB0 PIC 16F628A. (16) Clk-out. C1 33pF. C2 33pF. Figura 1 Circuito pisca-pisca. AUTOR Maurício Madeira Oliveira Página pessoal (fonte): www.seguidorsolar.com.br Este curso pode ser usado e divulgado, sem fins comerciais, citar fonte e autor Prévia: Curso de Microcontroladores PIC

Leia mais

Programação Daniel Corteletti Aula 3 Parte III Página 1/7

Programação Daniel Corteletti Aula 3 Parte III Página 1/7 Programação Daniel Corteletti Aula 3 Parte III Página /7 LINGUAGEM DE PROGRAMAÇÃO - ASSEMLY - PARTE I Assembly - o que é "Assembly" significa montagem. "Assembler" significa montador. Montagem é o ato

Leia mais

Entradas/Saídas. Programação por espera activa Programação por interrupções

Entradas/Saídas. Programação por espera activa Programação por interrupções Entradas/Saídas Programação por espera activa Programação por interrupções Programação por espera activa 1. O programa lê o estado do periférico: CPU pede ao controlador (IN) o valor no registo ESTADO

Leia mais

Sistemas Digitais e Microcontrolados

Sistemas Digitais e Microcontrolados UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA TECNOLOGIA EM AUTOMAÇÃO INDUSTRIAL Sistemas Digitais e Microcontrolados Contador/Temporizador

Leia mais

Capítulo 12. Projeto 5 Controle de Motores de Passo. 12.1 Circuito e Funcionamento

Capítulo 12. Projeto 5 Controle de Motores de Passo. 12.1 Circuito e Funcionamento Capítulo 12 Projeto 5 Controle de Motores de Passo A crescente popularidade dos motores de passo deve-se a sua adaptação à lógica digital. Estes dispositivos são usados em inúmeras aplicações, tais como:

Leia mais

Servo-Motor. por. Nuno Monteiro & Gabriel Dinis Eng. Electrotécnica, UTAD Junho de 2001. nuno_monteiro@portugalmail.com gabrieldinis@portugalmail.

Servo-Motor. por. Nuno Monteiro & Gabriel Dinis Eng. Electrotécnica, UTAD Junho de 2001. nuno_monteiro@portugalmail.com gabrieldinis@portugalmail. Servo-Motor por nuno_monteiro@portugalmail.com gabrieldinis@portugalmail.pt Um servo-motor é um pequeno dispositivo cujo veio pode ser posicionado numa determinada posição angular de acordo com um sinal

Leia mais

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto   Prof. Vargas Registros do 16F628A www.mikroe.com Prof. Luiz Antonio Vargas Pinto www.vargasp.com STATUS (03) STATUS (03) Após RESET Chave dos bancos STATUS (03) Bit 7: IRP - Seleção de banco de registradores 0 - seleciona

Leia mais

Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co.

Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co. Programação Daniel Corteletti Aula 2 Página 1/6 Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co. O microcontrolador PIC16F877 pode ser encontrado em diversos encapsulamentos: PDIP, QFP,

Leia mais

Microcontroladores PIC. Microcontroladores PIC

Microcontroladores PIC. Microcontroladores PIC Microcontroladores PIC Prof. Valdir Dugo Zaragoza 28/07/2015 1 MICROCONTROLADORES PIC Os microcontroladores PIC são componentes integrados programáveis fabricados pela empresa americana Microchip. Possuem

Leia mais

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016

Eder Terceiro. Programação C com o PIC16F628a. Eder Terceiro. 31 de Outubro de 2016 Programação C com o PIC16F628a 31 de Outubro de 2016 2016-2 2 Conteúdo 3 2016-2 4 Capítulo 1 Interrupções Timer0 1.1 Registradores relacionados as Interrupcoes 1.1.1 Registrador OP T ION R EG Configura

Leia mais

Suporta os microcontroladores: R. Leonardo da Vinci, 883 - Campinas/SP CEP 13.077-009 F.: (19) 4141.3351 / 3304.1605

Suporta os microcontroladores: R. Leonardo da Vinci, 883 - Campinas/SP CEP 13.077-009 F.: (19) 4141.3351 / 3304.1605 Suporta os microcontroladores: PIC16F877A, PIC18F452, PIC18F4520, PIC18F4550, PIC 18F876A, PIC18F252, PIC18F2550 e outros com 28 e 40 pinos O Kit de desenvolvimento ACEPIC PRO V2.0 foi projetado tendo

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Aula 5: Interrupções e Temporizadores Marco Jose da Silva mdasilva@utfpr.edu.br Interrupções Interrupção é um evento externo ao programa que provoca: A parada da sua execução;

Leia mais

MPLAB IDE Instruções básicas de utilização Carlos Roberto da Silveira Jr

MPLAB IDE Instruções básicas de utilização Carlos Roberto da Silveira Jr MPLAB IDE Instruções básicas de utilização Carlos Roberto da Silveira Jr 1 Instalação O MPLAB IDE é o software produzido pela fabricante de microcontroladores Microchip para, podendo ser adquirido gratuitamente

Leia mais

DOUGLAS DAL POZZO DIEGO VITTI

DOUGLAS DAL POZZO DIEGO VITTI DOUGLAS DAL POO DIEGO VITTI O que são MicroControladores Microcontralor é um componente cujo núcleo possui os mesmos blocos funcionais de um microprocessador. No entanto, sua aplicação é um pouco mais

Leia mais

Microcontroladores e FPGAs

Microcontroladores e FPGAs Microcontroladores e FPGAs Aplicações em Automação Edward David Moreno Ordonez Cesar Giacomini Penteado Alexandre César Rodrigues da Silva Novatec Editora Capítulo 1 Microcontrolador PIC16F628, da Microchip

Leia mais

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC Capítulo 1 Interrupção Externa Noções básicas sobre interrupções em Microcontroladores PIC Seção 1.1 Interrupções é obrigação em uma programação profissional. Quando um evento ocorrer, uma bandeira de

Leia mais

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL-REI - UFSJ DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DEPEL INTRODUÇÃO AOS MICROCONTROLADORES PIC

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL-REI - UFSJ DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DEPEL INTRODUÇÃO AOS MICROCONTROLADORES PIC UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL-REI - UFSJ DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DEPEL INTRODUÇÃO AOS MICROCONTROLADORES PIC THIAGO VELOSO GOMES JOÃO MATHEUS DE OLIVEIRA ARANTES São João del-rei Março

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 3 de Dezembro de 2004 Microprocessadores

Leia mais

1.1 Noções básicas sobre interrupções em Microcontroladores

1.1 Noções básicas sobre interrupções em Microcontroladores Capítulo 1 Interrupções 1.1 Noções básicas sobre interrupções em Microcontroladores PIC Interrupções é obrigação em uma programação profissional. Quando um evento ocorrer, uma bandeira de interrupção será

Leia mais

Descobrindo o dspic da Microchip Vitor Amadeu Souza Vitor@cerne-tec.com.br

Descobrindo o dspic da Microchip Vitor Amadeu Souza Vitor@cerne-tec.com.br Descobrindo o dspc da Microchip Vitor Amadeu Souza Vitor@cernetec.com.br A Microchip lançou recentemente uma nova família de microcontroladores chamada de dspc. Esta linha vem para atender um mercado onde

Leia mais

UNIPAC UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS FACULDADE DE CIÊNCIA DA COMPUTAÇÃO E COMUNICAÇÃO SOCIAL CURSO DE CIÊNCIA DA COMPUTAÇÃO

UNIPAC UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS FACULDADE DE CIÊNCIA DA COMPUTAÇÃO E COMUNICAÇÃO SOCIAL CURSO DE CIÊNCIA DA COMPUTAÇÃO UNIPAC UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS FACULDADE DE CIÊNCIA DA COMPUTAÇÃO E COMUNICAÇÃO SOCIAL CURSO DE CIÊNCIA DA COMPUTAÇÃO Pietro Diovane Keoma Bergamaschi de Assis MICROCONTROLADOR - 2-2 BARBACENA

Leia mais

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for FICHA DE TRABALHO Nº 1 MÓDULO: EQUIPAMENTOS ACTIVOS DE REDES DATA: / 03 / 2010 FORMADOR: EDUARDO SEQUEIRA FICHA LABORATORIAL 1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Aula 4 (nivel ISA Arquitetura PIC) Características do Controlador 16F628A 18 Pinos Até 20 Mhz (5M instruções por segundo) PortA e PortB 10 Interrupções

Leia mais

TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC.

TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC. CONVERSOR ANALÓGICO / DIGITAL SINAL DIGITAL ASSUME APENAS 2 ESTADOS: 0V E 5V SINAL ANALÓGICO TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC. 1 FONTE DESTES SINAIS ANALÓGICOS UM DOS NOSSOS OBJETIVOS

Leia mais

1. SINTAXE DA LINGUAGEM ASSEMBLY

1. SINTAXE DA LINGUAGEM ASSEMBLY 1. SINTAXE DA LINGUAGEM ASSEMBLY Antes de se escrever em assembly, é conveniente construir um fluxograma do programa. Um fluxograma não faz referência à linguagem a utilizar, pelo que pode ser utilizado

Leia mais

Curso PIC 1 Desbravando o PIC. Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division

Curso PIC 1 Desbravando o PIC. Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division Curso PIC 1 Desbravando o PIC Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division O que fazemos... Desenvolvimento de projetos (hardware e software); Consultoria em engenharia eletrônica e

Leia mais

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão Entradas/Saídas Programação por interrupções Conceitos gerais Programação da porta série Transmissão Problemas a resolver Como identificar a interrupção? Motivo da interrupção Que rotina executar? Como

Leia mais

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011.

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011. 1 16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011. Tradução e edição Prof. esp eng Luiz Antonio Vargas Pinto 22 de Fevereiro de 2015 A palavra de configuração (word config) está entre

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ESCOLA POLITÉCNICA ENGENHARIA DE COMPUTAÇÃO MICROPROCESSADORES PROJETO PARDAL DOCUMENTAÇÃO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ESCOLA POLITÉCNICA ENGENHARIA DE COMPUTAÇÃO MICROPROCESSADORES PROJETO PARDAL DOCUMENTAÇÃO PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ESCOLA POLITÉCNICA ENGENHARIA DE COMPUTAÇÃO MICROPROCESSADORES PROJETO PARDAL DOCUMENTAÇÃO CURITIBA, 2012 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ESCOLA POLITÉCNICA

Leia mais

Microcontroladores PIC16F84 e PIC16F628

Microcontroladores PIC16F84 e PIC16F628 1 Microcontroladores PIC16F84 e PIC16F628 Esta apostila foi escrita no final de Julho de 2004 e teve a colaboração de: Derli Bernardes Ivon Luiz José Domingos Luiz Cláudio Edson Koiti Luciana Petraites

Leia mais

Autómatos Programáveis Programação

Autómatos Programáveis Programação Estruturação da Programação Autómatos Programáveis Programação Programação do autómato SAIA. Introdução. Estruturação da programação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de

Leia mais

www.vwsolucoes.com Copyright 2013 VW Soluções

www.vwsolucoes.com Copyright 2013 VW Soluções Apresentação O ClpPic40-v4 foi desenvolvido com base no microcontrolador PIC16F877A, mas pode ser utilizado qualquer outro PIC de 40 pinos da família 16F ou 18F (observar a pinagem). Ele possui várias

Leia mais

Sistemas Embedidos I

Sistemas Embedidos I Sistemas Embedidos I Trabalho Práctico Semestre de Inverno de 2010/2011 Autores: 30505 Telmo Pinto 31401 Nuno Cancelo 33595 Nuno Sousa Indície Introdução... 3 1ª actividade Ambiente de trabalho... 4 Ligações

Leia mais

Métodos de Sincronização do Kernel

Métodos de Sincronização do Kernel Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.

Leia mais

Trabalho Prático Nº2 Escrita e Leitura em Portos IO

Trabalho Prático Nº2 Escrita e Leitura em Portos IO Trabalho Prático Nº2 Escrita e Leitura em Portos IO 1. OBJECTIVOS - Saber efectuar a escrita e leitura em portos de entrada saída num PC num com operativo DOS e Windows. 2. INTRODUÇÃO Para este trabalho

Leia mais

Aula 19. Conversão AD e DA Técnicas

Aula 19. Conversão AD e DA Técnicas Aula 19 Conversão AD e DA Técnicas Introdução As características mais importantes dos conversores AD e DA são o tempo de conversão, a taxa de conversão, que indicam quantas vezes o sinal analógico ou digital

Leia mais

Curso de Linguagem C. Rinaldo Câmara Gonçalves Labtools Mosaico Didactic Division Revisão 2

Curso de Linguagem C. Rinaldo Câmara Gonçalves Labtools Mosaico Didactic Division Revisão 2 Curso de Linguagem C Rinaldo Câmara Gonçalves Labtools Mosaico Didactic Division Revisão 2 Sumário SUMÁRIO...3 RECURSOS BÁSICOS: EXEMPLO 1 BOTÃO E LED...5 RECURSOS DO LIVRO...5 LÓGICA DO EXEMPLO...5 ESQUEMA

Leia mais

www.vwsolucoes.com Copyright 2011 VW Soluções

www.vwsolucoes.com Copyright 2011 VW Soluções Apresentação O ClpPic40-v3 foi desenvolvido com base no microcontrolador PIC16F877A, mas pode ser utilizado qualquer outro PIC de 40 pinos da família 16F ou 18F (observar a pinagem). Ele possui várias

Leia mais

Guia de Trabalhos Práticos do Aluno

Guia de Trabalhos Práticos do Aluno DETUA Departamento de Electrónica e Telecomunicações Universidade de Aveiro Microcontroladores PIC Guia de Trabalhos Práticos do Aluno José Miguel Oliveira Gaspar Olímpia Rodrigues

Leia mais

Módulo 10. Medição do Desempenho

Módulo 10. Medição do Desempenho Módulo 10 Medição do Desempenho 1. Introdução Pretende-se com esta aula prática que os alunos se familiarizem com o processo de profiling de programas e que avaliem o impacto no desempenho de um programa

Leia mais

Introdução aos Microcontroladores PIC

Introdução aos Microcontroladores PIC Introdução aos Microcontroladores PIC 1ª parte João M. P. Cardoso Universidade do Algarve Microcontroladores PIC Empresa: Microchip Technology Inc. Várias famílias PIC12XX, PIC16XX, PIC17XX, PIC18XX Linha

Leia mais

INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre

INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO Engenharia Electrotécnica Microprocessadores 2ºano - 1ºsemestre Microprocessador 8085 Exercícios de Programação em Linguagem

Leia mais

Prática 8: Comunicação SPI. 8.1 Introdução e objetivos. 8.2 Princípios básicos do protocolo SPI

Prática 8: Comunicação SPI. 8.1 Introdução e objetivos. 8.2 Princípios básicos do protocolo SPI Prática 8: 8.1 Introdução e objetivos Comunicação SPI O protocolo SPI (serial peripheral interface) é um método de comunicação utilizado para interconectar dispositivos ou chips de tal forma que estes

Leia mais

M-1117A PIC MICROCONTROLER. Microcontrolador PIC. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos

M-1117A PIC MICROCONTROLER. Microcontrolador PIC. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos PIC MICROCONTROLER Microcontrolador PIC M-1117A *Only illustrative image./imagen meramente ilustrativa./ Imagem meramente ilustrativa. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos Conteúdo

Leia mais

Programação em BASIC para o PIC Vitor Amadeu Souza

Programação em BASIC para o PIC Vitor Amadeu Souza Programação em BASIC para o PIC Vitor Amadeu Souza Introdução Continuando com a série do último artigo, hoje veremos os passos para o desenvolvimento de uma minuteria com o microcontrolador PIC18F1220

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Contadores / Temporizadores Contadores/temporizadores em geral... Hardware para contagem de impulsos Externos Internos (derivados do relógio interno) Contagem

Leia mais

1. Considerações Sobre o Hardware

1. Considerações Sobre o Hardware Universidade Federal do Piauí Centro de Tecnologia Departamento de Engenharia Elétrica Hardware PIC Prof. Marcos Zurita zurita@ufpi.edu.br www.ufpi.br/zurita Teresina - 2011 1. Considerações Sobre o Hardware

Leia mais

MICROCONTROLADORES E MICROPROCESSADORES APOSTILA 01

MICROCONTROLADORES E MICROPROCESSADORES APOSTILA 01 Engenharia Elétrica 1 5º / 6 Semestre MICROCONTROLADORES E MICROPROCESSADORES APOSTILA 01 Prof Daniel Hasse SÃO JOSÉ DOS CAMPOS, SP Conteúdo Resumo iii Conteúdo viii Lista de Figuras x Lista de Tabelas

Leia mais

Fontes de Alimentação

Fontes de Alimentação Fontes de Alimentação As fontes de alimentação servem para fornecer energia eléctrica, transformando a corrente alternada da rede pública em corrente contínua. Estabilizam a tensão, ou seja, mesmo que

Leia mais

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização

Leia mais

Módulo de Desenvolvimento PIC16F877A

Módulo de Desenvolvimento PIC16F877A Objetivos: Módulo de Desenvolvimento PIC16F877A Realizar programação e projetos com microcontroladores e seus periféricos, integrando sistemas analógicos e digitais com a utilização de compilador (Mikro

Leia mais

Sistemas Embarcados. Introdução aos sistemas embarcados

Sistemas Embarcados. Introdução aos sistemas embarcados Sistemas Embarcados Introdução aos sistemas embarcados Introdução aos Sistemas embarcados Definição de um sistema embarcado Exemplos de sistemas embarcados Processadores utilizados em sistemas embarcados

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0 Capítulo 1 Interrupções 1.1 O que são interrupções? Como o nome sugere interrompe a execução normal e exige atenção urgente da CPU. São eventos não previsíveis e assim não pode ser oferecido tempo de CPU

Leia mais

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Pipeline Aula #5 28 Mar 06 Revisão Na implementação

Leia mais

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x Placa Upgrade PIC16F84A p/ PIC16F62x Sumário 1. UTILIZANDO OS PICS 16F62X...3 1.1. INTRODUÇÃO...3 2. ATUALIZAÇÃO DO HARDWARE...4 2.1. UPGRADE DA PLACA MCLAB1 PARA TRABALHAR COM PIC16F627 / PIC16F628...4

Leia mais

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Sistemas Digitais Reconfiguráveis Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Liliana Rocha Nicolau Lopes da Costa 27611 Ano Lectivo de 2006/2007 Universidade de Aveiro 1. Objectivos

Leia mais

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS 1 PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS INTRODUÇÃO O processamento interno do CLP é digital e pode-se, assim, aplicar os conceitos de lógica digital para compreen8 der as técnicas e as linguagens

Leia mais

Telekit, Componentes Electrónicos S.A. - 2004. Manual Técnico do Interface GSM LEVEL GB RDIS - Sincronismo

Telekit, Componentes Electrónicos S.A. - 2004. Manual Técnico do Interface GSM LEVEL GB RDIS - Sincronismo Manual Técnico do Interface GSM LEVEL GB RDIS - Sincronismo Configuração / Parâmetros: Quando iniciar o programa, os parâmetros de configuração só ficam acessíveis quando os seus valores forem lidos a

Leia mais

CURSO DE MICROCONTROLADORES Prof. Fábio Renato Elias Boaventura

CURSO DE MICROCONTROLADORES Prof. Fábio Renato Elias Boaventura 1 O curso todo é baseado no PIC 16F84, devido as suas facilidades de desenvolvimento, por não necessitar de apagadores de EPROM, mas outros modelos (16C711 com conversores A/D e 12C508 com apenas 8 pinos)

Leia mais

17. Espaço de I/O (entrada/saída)... 17 2 17.1 Portos paralelos de entrada e saída... 17 2 17.1.1 Porto paralelo de saída... 17 2 17.1.

17. Espaço de I/O (entrada/saída)... 17 2 17.1 Portos paralelos de entrada e saída... 17 2 17.1.1 Porto paralelo de saída... 17 2 17.1. 17. Espaço de I/O (entrada/saída)... 17 2 17.1 Portos paralelos de entrada e saída... 17 2 17.1.1 Porto paralelo de saída... 17 2 17.1.2 Porto paralelo de entrada... 17 3 17.1.3 Exercício... 17 3 17.2

Leia mais

www.vwsolucoes.com Copyright 2011 VW Soluções

www.vwsolucoes.com Copyright 2011 VW Soluções 1 Apresentação O adaptador ADP.v01 é utilizado para facilitar a instalação de display Lcd 16x2 ou display Lcd 20x4 nos CLP PIC28 ou CLP PIC40 através de um flat cable de 10vias de acordo com a necessidade

Leia mais

Curso de Programação PIC Prof. Msc. Engº Getúlio Teruo Tateoki

Curso de Programação PIC Prof. Msc. Engº Getúlio Teruo Tateoki Curso de Programação PIC Prof. Msc. Engº Getúlio Teruo Tateoki Este Curso de Programação foi projetado para introduzir ao aluno na programação dos microcontroladores PIC16F84. Para se entender como programar

Leia mais

Interrupções e Timers

Interrupções e Timers Interrupções e timers Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 4 de dezembro de 2013 Objetivos Compreender o funcionamento de um display de sete segmentos Compreender

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Aula 3: Microcontroladores PIC e Programação Assembly Marco Jose da Silva mdasilva@utfpr.edu.br Especificação de um uc Qual escolher? Capacidade de processamento 8 bits (16 bits

Leia mais

Dispositivos externos Manual do utilizador

Dispositivos externos Manual do utilizador Dispositivos externos Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Microsoft é uma marca comercial registada da Microsoft Corporation nos E.U.A. As informações aqui contidas

Leia mais

CE N T R AI S TELEFÔNICAS HDL

CE N T R AI S TELEFÔNICAS HDL Assistência Técnica HDL CE N T R AI S TELEFÔNICAS HDL Diagr ama de Sinais HDL Processamento e Controle Microcontrolador 80C251: Placa CPU HDL 80P / HDL 368P / HDL 4-12 Microcontrolador 80C32: Placa de

Leia mais

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE : 6823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE : 6823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250 1 LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE : 6823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250 O Sistema HCS 2000 é composto por: PROTOCOLO DE COMUNICAÇÃO SISTEMA HCS 2000 v6.x Receptores: dispositivos

Leia mais

Índice. Dia 05 de fevereiro de 2014...2. Apresentação... 2. Dia 12 de fevereiro de 2013...3

Índice. Dia 05 de fevereiro de 2014...2. Apresentação... 2. Dia 12 de fevereiro de 2013...3 Índice Dia 05 de fevereiro de 2014....2 Apresentação... 2 Dia 12 de fevereiro de 2013....3 -Processador... 3 -Von Neumann... 3 -Harvard... 4 -Von Neumann x Harvard... 4 -Equipamentos que utilizam a arquitetura

Leia mais

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5 MANUAL PICKIT2 ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4 2.1. Ligação da porta USB... 4 2.2. LEDs de estado... 4 2.3. Botão... 5 2.4. Conector de programação... 5 2.5. Slot para chaveiro...

Leia mais

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo. Circuito de gravação (AVR programmer) Introdução Nossa proposta, nesta parte do trabalho, é apresentar um circuito para gravação ISP (In-System- Programming) para microcontroladores AVR. Este circuito,

Leia mais

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO Parte I Fundamentos Teóricos O que diferencia um microcontrolador (como o 8051) de um microprocessador é o fato de que o primeiro pode apresentar, integrados

Leia mais

Memórias. Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 12/3/10. Mário Serafim Nunes Guilherme Silva Arroz

Memórias. Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 12/3/10. Mário Serafim Nunes Guilherme Silva Arroz Memórias - Taguspark Considerações iniciais Tipos de memórias RAMs Estrutura das RAMs Expansão das RAMs 2 1 - Taguspark Em muitas situações, é necessário armazenar um conjunto muito grande de palavras

Leia mais

Parallel to Serial Shifting IN

Parallel to Serial Shifting IN Parallel to Serial Shifting IN Objectivo: Com o circuito integrado CD4021B Quando num projecto o número de sensores digitais é superior ao número de pinos de entradas digitais disponíveis no microcontrolador

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

MICROCONTROLADORES. PIC16F87x

MICROCONTROLADORES. PIC16F87x Universidade Católica de Goiás Departamento de Engenharia Curso de Engenharia Elétrica MICROCONTROLADORES PIC16F87x Prof. Eider Lúcio de Oliveira Prof. Éderson Lacerda Fideles Microcontrolador PIC16F87x

Leia mais

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO 28 CAPÍTULO 5 INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO Interfaces para periféricos de armazenamento: Periféricos de armazenamento,

Leia mais

Manual do usuário. Kit Clp Pic. - Kit Clp Pic 28 v4.0. Manual do usuário. Copyright VW Soluções

Manual do usuário. Kit Clp Pic. - Kit Clp Pic 28 v4.0. Manual do usuário.  Copyright VW Soluções Manual do usuário - Kit Clp Pic 28 v4.0 Kit Clp Pic 28 v4.0 Manual do usuário 1 Apresentação O ClpPic28-v4 foi desenvolvido com base no microcontrolador PIC16F886, mas pode ser utilizado qualquer outro

Leia mais

Faculdade de Engenharia de Ilha Solteira- Departamento de Engenharia Elétrica

Faculdade de Engenharia de Ilha Solteira- Departamento de Engenharia Elétrica Faculdade de Engenharia de Ilha Solteira- Departamento de Engenharia Elétrica TEEE I- Projeto de Robôs Móveis - Profs. Nobuo Oki e Suely Cunha Amaro Mantovani 1 o.sem / 2013 TEEE I Projeto de Robôs Móveis

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 16 de Dezembro de 2004 Microprocessadores

Leia mais

Érica Ltda. Microcontroladores PIC18 com Linguagem C. Wagner da Silva Zanco. Uma Abordagem Prática e Objetiva. Com Base no PIC18F4520.

Érica Ltda. Microcontroladores PIC18 com Linguagem C. Wagner da Silva Zanco. Uma Abordagem Prática e Objetiva. Com Base no PIC18F4520. Wagner da Silva Zanco Microcontroladores PIC18 com Linguagem C Uma Abordagem Prática e Objetiva Com Base no PIC18F4520 1a Edição São Paulo 2010 Editora Érica Ltda. 131 Memórias Sumário Parte 1 Microcontrolador

Leia mais

DeviceNet Drive Profile CFW-09

DeviceNet Drive Profile CFW-09 Motores Automação Energia Transmissão & Distribuição Tintas DeviceNet Drive Profile CFW09 Manual da Comunicação Manual da Comunicação DeviceNet Drive Profile Série: CFW09 Idioma: Português Versão de Software:

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia da Paraíba. Microcontrolador PIC 16F877

Instituto Federal de Educação, Ciência e Tecnologia da Paraíba. Microcontrolador PIC 16F877 Instituto Federal de Educação, Ciência e Tecnologia da Paraíba MINICURSO Microcontrolador PIC 16F877 Alison Lins de Lima Fábio Montenegro Pontes Jonathan B. da Silva Rafael Tavares Coutinho Thiago Pinto

Leia mais

Conceitos Básicos sobre Programação Prática

Conceitos Básicos sobre Programação Prática Conceitos Básicos sobre Programação Prática Programa de computador conjunto de instruções e informação necessários ao alcance de um objectivo instruções + dados normalmente, guardados em ficheiros (em

Leia mais

3 A Biblioteca para Implementação de Máquinas Virtuais

3 A Biblioteca para Implementação de Máquinas Virtuais A Biblioteca para Implementação de Máquinas Virtuais 24 3 A Biblioteca para Implementação de Máquinas Virtuais O processo de criação e experimentação de uma máquina virtual no escopo deste trabalho é ilustrada

Leia mais

QSPIC40 Manual do usuário Ver 1.0

QSPIC40 Manual do usuário Ver 1.0 QSPIC40 Manual do usuário Ver 1.0 Introdução: É um excelente kit de microcontrolador da família PIC18F e PIC16F da Microchip. O kit QSPIC40 é um kit de desenvolvimento e aprendizagem utilizando microcontroladores

Leia mais

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) 2823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) 2823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250 LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) 2823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250 1 SISTEMA HCS 2005 PROTOCOLO DE COMUNICAÇÃO (Baseado no Guarita Vr5.0x Última modificação:

Leia mais