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

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

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

Transcrição

1 AUTOR Maurício Madeira Oliveira Página pessoal (fonte): Este curso pode ser usado e divulgado, sem fins comerciais, citar fonte e autor Prévia: Curso de Microcontroladores PIC 16F Montagens Experimentais e Programas em Assembler 6.1 Pisca-pisca usando um LED e freqüência de dois hertz. Este circuito é muito simples, o PIC usa recursos de temporização por consumo de ciclos de máquina (se usarmos um clock de 4MHz (freqüência), o período, ou ciclo será de 1µs=(1/f)/4) e funções de controle de portas. Este primeiro exemplo pode ser chamado em programação para iniciantes de alô mundo. O circuito do pisca-pisca é visto na Figura 1. V1 5V +V D2 1N4148 R2 10k (14)Vdd MCLR\(4) S1 + C3 10uF (6)RB0 PIC 16F628A R1 360R D1 LED1 (5)Vss (15) Clk-in (16) Clk-out XTAL MHZ C1 C2 Figura 1 Circuito pisca-pisca. O programa em assembler ou código fonte comentado é o que segue: ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES

2 ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : Pisca-pisca DATA : 20/11/2008 ; AUTOR : Maurício Madeira Oliveira list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x no end.20h da RAM (hexadecimal) y equ 21h ; define variável auxiliar y no end.21h da RAM(hexadecimal) m equ 22h ; define variável auxiliar m no end.22h da RAM (hexadecimal) ; MEMÓRIA DE PROGRAMA org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC ; rotinas... retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA início: movlw 0 ; registrador w=0 (decimal) movwf INTCON ; registrador INTCON=B' ', desabilito todas as interrupçoões bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA - ; Poderia usar o comando BANKSEL que é uma diretiva para seleção de banco de memória do MPLAB ; ex. BANKSEL TRISB, não precisaria digitar as duas linhas anteriores ; Também poderia usar o comando: movlw B'001XXXXX' e após movwf STATUS, onde x = a qualquer valor; ; substituiriam as três linhas anteriores.

3 - movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS COMO SAÍDAS movlw 0FFH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas movlw 24 ; w=b' ' movwf OPTION_REG ; registrador OPTION_REG=B' ', verificar nos livros esta config.c/ estes valores bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 0 ; zero as saídas do PORTB volta: bsf PORTB,0 ; set pino PB0 do PORTB call tempo bcf PORTB,0 ; clear PB0 do PORTB call tempo goto volta tempo: tempo1: tempo2: tempo3: ; início da rotina de tempo (s/uso dos timers),label de chamada para a função call ou outra movlw 2 ; onde t1 é um valor numérico, base numérica (1uS) ; em uso (decimal, hexa, binário etc.) movwf x ; variável x, onde ficara c/ o valor x=t1 (1uS) movlw 250 ; onde t2 é um valor numérico (1uS) y=250 movwf y ; varável y, onde y=t2 (1uS) movlw 248 ; onde t3 é um valor numérico (1uS) m=248 movwf m ; varável m, onde m=248 (1uS) nop ; queima 1Us,para o clock de 4MHz (1uS) decfsz m ; decrem.z e se m=0 salta próxima instrução (1uS ou 2uS) ; (2uS se saltar ou 1US se não saltar) goto tempo3 ; ir pra o label tempo3 (2uS) decfsz y ; decrem.y e se y=0 salta próxima instrução (1uS ou 2uS) goto tempo2 ; ir pra o label tempo2 (2uS) decfsz x ; decrem.x e se x=0 salta próxima instrução (1uS ou 2uS) goto tempo1 ; ir pra o label tempo1 (2uS) return ; função de retorno de subrotina ou desvio (2uS) end 6.2 Pisca-pisca alternado, usando dois LED s, período de meio segundo. O circuito também usa o mesmo recurso de temporização do exemplo anterior, ou seja, não usa os timer s do microcontrolador. No circuito da Figura 2 é usado dois pinos para acionamento dos led s. O software é simples e usa as mesmas funções de controle de portas do circuito anterior.

4 Este tipo de implementação de rotina de tempo é bastante usual, em diversas famílias de microcontroladores (tecnologias de diferentes fabricantes), pois, muitas vezes os temporizadores já estão sendo usados e são necessários outros meios de implementar funções de base de tempo. Na Figura 2 é visualizado o circuito de pisca alternado. V1 5V +V D2 1N4148 R2 10k (14)Vdd (7)RB1 MCLR\(4) S1 + C3 10uF (6)RB0 PIC 16F628A R1 360R D1 LED1 R3 360R D3 LED2 (5)Vss (15) Clk-in (16) Clk-out XTAL MHZ C1 C2 Figura 2 Pisca-pisca alternado. O programa comentado em assembler do pisca alternado é o que segue. ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : Pisca - Dois Leds DATA : 22/11/2008 ; AUTOR : Maurício Madeira Oliveira list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a

5 CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x no end.20h da RAM (hexadecimal) y equ 21h ; define variável auxiliar y no end.21h da RAM(hexadecimal) m equ 22h ; define variável auxiliar m no end.22h da RAM (hexadecimal) ; MEMÓRIA DE PROGRAMA org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC ; rotinas... retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA - inicialização do uc início: SAÍDAS movlw 0 ; registrador w=0 (decimal) movwf INTCON ; registrador INTCON=B' ', desabilito todas as interrupçoões bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS COMO movlw 0FFH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas movlw 24 ; w=b' ' movwf OPTION_REG ; registrador OPTION_REG=B' ', verificar nos livros esta config.c/ estes valores bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 0 ; zero as saídas do PORTB -- ; programa principal - aplicação -- volta: bsf bcf call bcf PORTB,0 ; set pino PB0 do PORTB PORTB,1 ; clear pino PB1 tempo PORTB,0 ; clear PB0 do PORTB

6 bsf PORTB,1 ; set pino PB1 call tempo goto volta --- ; Rotinas de tempo --- tempo: tempo1: tempo2: tempo3: ; início da rotina de tempo (s/uso dos timers),label de chamada para a função call ou outra movlw 2 ; onde t1 é um valor numérico, base numérica (1uS) ; em uso (decimal, hexa, binário etc.) movwf x ; variável x, onde ficara c/ o valor x=t1 (1uS) movlw 250 ; onde t2 é um valor numérico (1uS) y=250 movwf y ; varável y, onde y=t2 (1uS) movlw 248 ; onde t3 é um valor numérico (1uS) m=248 movwf m ; varável m, onde m=248 (1uS) nop ; queima 1Us,para o clock de 4MHz (1uS) decfsz m ; decrem.z e se m=0 salta próxima instrução (1uS ou 2uS) ; (2uS se saltar ou 1US se não saltar) goto tempo3 ; ir pra o label tempo3 (2uS) decfsz y ; decrem.y e se y=0 salta próxima instrução (1uS ou 2uS) goto tempo2 ; ir pra o label tempo2 (2uS) decfsz x ; decrem.x e se x=0 salta próxima instrução (1uS ou 2uS) goto tempo1 ; ir pra o label tempo1 (2uS) return ; função de retorno de subrotina ou desvio (2uS) end 6.3 Seqüencial de oito canais (usando LED s). O circuito que é visto na Figura 3 usa todos os 8 pinos do PORTB. Através da função de rotação a esquerda (RLF) e com o mesmo temporizador implementado nos circuitos anteriores, fica bem simples o entendimento do funcionamento do circuito seqüencial. O software que comanda o PIC é o descrito no formulário que segue. ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : Pisca - Sequencial de 8 leds DATA : 22/11/2008 ; AUTOR : Maurício Madeira Oliveira

7 list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x no end.20h da RAM (hexadecimal) y equ 21h ; define variável auxiliar y no end.21h da RAM(hexadecimal) m equ 22h ; define variável auxiliar m no end.22h da RAM (hexadecimal) ; MEMÓRIA DE PROGRAMA org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC ; rotinas... retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA - inicialização do uc início: SAÍDAS movlw 0 ; registrador w=0 (decimal) movwf INTCON ; registrador INTCON=B' ', desabilito todas as interrupçoões bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA bcf STATUS, C ; clear carry. É IMPORTANTE ESTE CLEAR, POIS O COMANDO DE ROTAÇÃO ; (RLF) USA ESTE FLAG movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS COMO movlw 0FFH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas movlw 24 ; w=b' ' movwf OPTION_REG ; registrador OPTION_REG=B' ', verificar nos livros esta config.c/ estes valores bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 0 ; zero as saídas do PORTB -- ; programa principal - aplicação -- movlw 128 ; w=b' ' ; portb=w=b' '

8 volta: rlf PORTB, 1 ; desloca bit à esquerda no PORTB ( o f=1, atua sobre o próprio registro) call tempo ; chama subrotina de tempo goto volta ; ir para label volta --- ; Rotinas de tempo --- tempo: ; início da rotina de tempo (s/uso dos timers),label de chamada para a função call ou outra movlw 2 ; onde t1 é um valor numérico, base numérica (1uS) ; em uso (decimal, hexa, binário etc.) movwf x ; variável x, onde ficara c/ o valor x=t1 (1uS) tempo1: movlw 250 ; onde t2 é um valor numérico (1uS) y=250 movwf y ; varável y, onde y=t2 (1uS) tempo2: movlw 248 ; onde t3 é um valor numérico (1uS) m=248 movwf m ; varável m, onde m=248 (1uS) tempo3: nop ; queima 1Us,para o clock de 4MHz (1uS) decfsz m ; decrem.z e se m=0 salta próxima instrução (1uS ou 2uS) ; (2uS se saltar ou 1US se não saltar) goto tempo3 ; ir pra o label tempo3 (2uS) decfsz y ; decrem.y e se y=0 salta próxima instrução (1uS ou 2uS) goto tempo2 ; ir pra o label tempo2 (2uS) decfsz x ; decrem.x e se x=0 salta próxima instrução (1uS ou 2uS) goto tempo1 ; ir pra o label tempo1 (2uS) return ; função de retorno de subrotina ou desvio (2uS) end O circuito básico do PIC é o mesmo dos pisca-piscas anteriores, apenas usando 8 conjuntos de LED s e um novo comando. Com isto se observa a facilidade e o imenso potencial de uso de um microcontrolador. Em projetos com uso de microcontroladores, é fácil observar a importância do software, pois a partir hardwares básicos é possível implementar vários circuitos com a mudança de linhas de um programa de controle.

9 V1 5V +V D9 1N4148 R2 10k (14)Vdd (13)RB7 MCLR\(4) S1 + C3 10uF (6)RB0 PIC 16F628A (15) Clk-in (5)Vss (16) Clk-out R1 360R D1 LED1 Total de 8 conjuntos... R8 360R D8 LED8 XTAL MHZ C1 C2 Figura 3 Circuito da seqüencial de oito canais. 6.4 Sensor com chave tipo normalmente aberta e sinalização com led temporizado. Este circuito usa uma chave normalmente aberta como sensor, à mesma esta ligada no pino RA0. Esta chave mecânica indica quando aberta o nível zero e quando fechada nível 1, sinalizada pelo led 1 que está ligada no pino RB0 do µc; quando a chave for fechada (nível 1) a subrotina de temporização é acionada. O circuito é visto na Figura 4. O programa de controle do circuito esta todo comentado. A função de entrada do sinal a ser interpretado pelo programa é btfss. ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : Sensor c/ temporização DATA : 25/11/2008 ; AUTOR : Maurício Madeira Oliveira list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x no end.20h da RAM (hexadecimal) y equ 21h ; define variável auxiliar y no end.21h da RAM(hexadecimal) m equ 22h ; define variável auxiliar m no end.22h da RAM (hexadecimal) S1 equ 0 ; sensor 1 que usara o pino 0 do PORTA ; MEMÓRIA DE PROGRAMA

10 org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC ; rotinas... retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA - inicialização do uc início: movlw 0 ; registrador w=0 (decimal) movwf INTCON ; registrador INTCON=B' ', desabilito todas as interrupçoões bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA bcf STATUS, C ; clear carry movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS ; COMO SAÍDAS movlw 0FFH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas movlw 24 ; w=b' ' movwf OPTION_REG ; registrador OPTION_REG=B' ', verificar nos livros esta config.c/ estes valores bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 7 ; w=b' ' movwf CMCON ; cmcon=w, desligo o comparador analógico (o reset não faz isso) movlw 0 ; w=0 movwf CCP1CON ; CCP1CON=W=, desliga o módulo CCP (o reset faz isso, mas forçar o sinal por garantia) ; zero as saídas do PORTB (PORTB=w=0) -- ; programa principal - aplicação -- sensor1: nop ; gasto um ciclo de máquina btfss PORTA, S1 ; se o bit S1 do porta for igual a 1,pula a próxima instrução goto sensor1 ; se esta aqui é porque S1=0, volta para sensor1 (fica testando o sensor S1) bsf PORTB,0 ; liga o led 1 conectado em RB0 call tempo ; chama rotina de tempo (para deixar o sinalizador led 1 ligado por um tempo) bcf PORTB,0 ; desliga o led 1 goto sensor1 ; desvia para o sensor1, volta a testar o sensor S1 --- ; Rotinas de tempo --- tempo: ; início da rotina de tempo (s/uso dos timers),label de chamada para a função call ou outra movlw 2 ; onde t1 é um valor numérico, base numérica (1uS) ; em uso (decimal, hexa, binário etc.) movwf x ; variável x, onde ficara c/ o valor x=t1 (1uS) tempo1: tempo2: tempo3: movlw 250 ; onde t2 é um valor numérico (1uS) y=250 movwf y ; varável y, onde y=t2 (1uS) movlw 248 ; onde t3 é um valor numérico (1uS) m=248 movwf m ; varável m, onde m=248 (1uS) nop ; queima 1Us,para o clock de 4MHz (1uS) decfsz m ; decrem.z e se m=0 salta próxima instrução (1uS ou 2uS) ; (2uS se saltar ou 1US se não saltar) goto tempo3 ; ir pra o label tempo3 (2uS) decfsz y ; decrem.y e se y=0 salta próxima instrução (1uS ou 2uS) goto tempo2 ; ir pra o label tempo2 (2uS) decfsz x ; decrem.x e se x=0 salta próxima instrução (1uS ou 2uS) goto tempo1 ; ir pra o label tempo1 (2uS) return ; função de retorno de subrotina ou desvio (2uS) end

11 V1 5V +V D2 1N4148 R2 10k (14)Vdd (17)RA0 MCLR\(4) S1 RESET + C3 10uF (6)RB0 PIC 16F628A R1 360R D1 LED1 R3 1k (5)Vss (15) Clk-in (16) Clk-out XTAL MHZ C1 C2 Figura 4 Sensor com chave normalmente aberta. 6.5 Detector de nível para sinal digital. Este circuito informa através de dois led s se o sinal amostrado no pino RA0 é alto(1), ligando o led 1 (pino RB0), se é baixo (0), ligando o led 2 (pino RB1) ou se o sinal está variando entre 0 e 1 (oscilador de onda quadrada), liga os dois led s. O programa de controle é bastante simples, e o circuito apresentado funciona para sinais com tensão igual a da fonte de alimentação dos circuitos apresentados (5V). Na Figura 5 é mostrado o esquema do circuito, o mesmo é simples e didático, pois pode ser usado como base para circuitos mais sofisticados. Este exemplo mostra que o sinais digitais amostrados podem ser analisados diretamente pelo software de controle.

12 V1 5V +V D2 1N4148 RESET R2 10k + C3 10uF (14)Vdd (17)RA0 MCLR\(4) (6)RB0 (7)RB1 PIC 16F628A R4 360R D3 LED2 R1 360R D1 LED1 R3 1k Entrada sinal S1 (5)Vss (15) Clk-in (16) Clk-out XTAL MHZ C1 C2 Figura 5 Detector de nível de sinal. ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : Detector de nível de sinal DATA : 26/11/2008 ; AUTOR : Maurício Madeira Oliveira list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x no end.20h da RAM (hexadecimal) y equ 21h ; define variável auxiliar y no end.21h da RAM(hexadecimal) m equ 22h ; define variável auxiliar m no end.22h da RAM (hexadecimal) S1 equ 0 ; sensor 1 que usara o pino 0 do PORTA ; MEMÓRIA DE PROGRAMA

13 org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC ; rotinas... retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA - inicialização do uc início: movlw 0 ; registrador w=0 (decimal) movwf INTCON ; registrador INTCON=B' ', desabilito todas as interrupçoões bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA bcf STATUS, C ; clear carry movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS COMO SAÍDAS movlw 0FFH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas movlw 24 ; w=b' ' movwf OPTION_REG ; registrador OPTION_REG=B' ', verificar nos livros esta config.c/ estes valores bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 7 ; w=b' ' movwf CMCON ; cmcon=w, desligo o comparador analógico (o reset não faz isso) movlw 0 ; w=0 movwf CCP1CON ; CCP1CON=W=, desliga o módulo CCP (o reset faz isso, mas forçar o sinal por garantia) ; zero as saídas do PORTB (PORTB=w=0) -- ; programa principal - aplicação -- sensor1: nop ; gasto um ciclo de máquina btfss PORTA, S1 ; se o bit S1 do porta for igual a 1,pula a próxima instrução goto sensor2 ; desvia para sensor2 (label), pois RA0 (S1) está em zero (nível baixo) bsf PORTB,0 ; liga RB0 pois S1=1 (nível alto do sinal amostrado) bcf PORTB,1 ; desliga RB1 goto sensor1 ; volta à sensor1 para continuar a testar o nível do sinal sensor2: bcf PORTB,0 ; desliga RB0, pois sinal amostrado têm nível baixo (zero) bsf PORTB,1 ; liga RB0 goto sensor1 ; volta para sensor1 end 6.6 Contador de pulsos externos com uso de display de 7 seguimentos Neste exemplo iremos utilizar nosso µc para contar um determinado número de pulsos externos, em nosso caso serão 10, quando isto acontecer nosso timer 0 irá gerar uma

14 interrupção no µc, a mesma será resolvida pelo software, que ligara um led (representando uma carga qualquer) por 500mS, e após desligara, voltando para rotina principal do µc como contador. Também aproveitaremos para ativar um display de 7 segmentos (de led) para fixarmos mais este conceito (decodificador por software). O circuito é visualizado na Figura 6: V1 5V +V D2 1N4148 R2 10k MCLR\(4) (14)Vdd R4 500R Entada Gnd abcdefg. DISP1 S1 + C3 10uF PIC 16F628A (03)RA4 (06)RB0 (07)RB1 (08)RB2 (09)RB3 (10)RB4 (11)RB5 (12)RB6 (13)RB7 (5)Vss (15) (16) Clk-in Clk-out XTAL MHZ R3 10k R1 360R C1 C2 D1 LED1 Figura 6 Contador externo com display de 7 seguimentos. O código de controle do circuito têm um maior grau de dificuldade, mas com os comentários de cada linha se chega ao entendimento do mesmo. ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : Contador de pulsos externos c/ display7 (7 seguimentos)e inmterrupção do timer0 ; DATA : 25/11/2008 ; AUTOR : Maurício Madeira Oliveira

15 list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x no end.20h da RAM (hexadecimal) y equ 21h ; define variável auxiliar y no end.21h da RAM(hexadecimal) m que 22h ; define variável auxiliar m no end.22h da RAM (hexadecimal) l1 equ 7 ; led ligado a PORTB em RB7 STEMP equ 23h ; define variável temporária p/ guardar valores do STATUS ; TABELA DE MONTAGEM DO DISPLAY ; ; a=rb0 define segmento do display ligado ao pino 0 do portb ; b=rb1 " " " " " " " 1 do portb ; c=rb2 " " " " " " " 2 do portb ; d=rb3 " " " " " " " 3 do portb ; e=rb4 " " " " " " " 4 do portb ; f=rb5 " " " " " " " 5 do portb ; g=rb6 " " " " " " " 6 do portb ; ; fica em binario: B'0gfedcba', para escrever n.7 ==> B' ' ou B'00000cba' ;, para escrever n.6 ==> B' ' ou B'0gfedc0a', etc. ; ; a ; ******* ; f * * b ; * g * ; ******* DISPLAY ; e * * c ; * * ; ******* ; d ; MEMÓRIA DE PROGRAMA org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC swapf STATUS,W movwf STEMP ; stemp=w=status (c/nibles invertidos) bsf PORTB,l1 ; ligo led1 pino 7 do portb movlw 0x0F6 ; w=f6h movwf TMR0 ; tmr0=w=f6h

16 call tempo bcf PORTB,l1 ; desligo led1 swapf STEMP,W movwf STATUS ; move vlrs.stemp p/status (inv.nibles/fica correto) bcf INTCON,T0IF ; zera o indicador de overflow p/iniciar novam. retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA - inicialização do uc início: movlw B' ' ; w= b movwf INTCON ; INTCON=w, GIE esta habilitada bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA movlw 0 movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS COMO SAÍDAS movlw 0FFH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas movlw B' ' ; w= b movwf OPTION_REG ;(OPTION=w RPBU\=1 INTEDEG=1 TOCS=1 TOSE=1 PSA=1 PS2=0 PS1=0 PS0=0 ==>T0CS=1contagem por RA4...) bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 7 ; w=b' ' movwf CMCON ; cmcon=w, desligo o comparador analógico movlw 0 ; w=0 movwf CCP1CON ; CCP1CON=W=, desliga o módulo CCP (o reset faz isso, mas forçar o sinal por garantia) ; zero as saídas do PORTB (PORTB=w=0) -- ; programa principal - aplicação -- loop: certo: movlw 0x0F5 ; w=0f5 movwf TMR0 ; timer0=w bcf INTCON,T0IF ; reset no bit indicador de overflow bsf INTCON,T0IE ; set o bit de interrupção do timer0 movf TMR0,0 ; w=tmr0 call certo ; sub-rotina de conversão p/7 segmentos ; portb=w nop goto loop andlw B' ' ; and w p/limitar em 4 bits vlr.contador (w= tmr0 and b' ') sublw 0x0E ; subtrai de 14 o vlr.de w (vlr.tmr0 acertado)(w=0x0e-w) addwf PCL,1 ; soma valor de w com pcl, saltando p/ instrução ; necessária p/escrita do número correto

17 ;'0gfedcba' sequência dos segmentos retlw B' ' ; retorna 9 (instrução de retorno de subrotina e com valor em w= cte.) retlw B' ' ; retorna 8 retlw B' ' ; retorna 7 retlw B' ' ; retorna 6 retlw B' ' ; retorna 5 retlw B' ' ; retorna 4 retlw B' ' ; retorna 3 retlw B' ' ; retorna 2 retlw B' ' ; retorna 1 retlw B' ' ; retorna ; Rotinas de tempo --- tempo: ; início da rotina de tempo (s/uso dos timers),label de chamada para a função call ou outra movlw 2 ; onde t1 é um valor numérico, base numérica (1uS) ; em uso (decimal, hexa, binário etc.) movwf x ; variável x, onde ficara c/ o valor x=t1 (1uS) tempo1: movlw 250 ; onde t2 é um valor numérico (1uS) y=250 movwf y ; varável y, onde y=t2 (1uS) tempo2: movlw 248 ; onde t3 é um valor numérico (1uS) m=248 movwf m ; varável m, onde m=248 (1uS) tempo3: nop ; queima 1Us,para o clock de 4MHz (1uS) decfsz m ; decrem.z e se m=0 salta próxima instrução (1uS ou 2uS) ; (2uS se saltar ou 1US se não saltar) goto tempo3 ; ir pra o label tempo3 (2uS) decfsz y ; decrem.y e se y=0 salta próxima instrução (1uS ou 2uS) goto tempo2 ; ir pra o label tempo2 (2uS) decfsz x ; decrem.x e se x=0 salta próxima instrução (1uS ou 2uS) goto tempo1 ; ir pra o label tempo1 (2uS) return ; função de retorno de subrotina ou desvio (2uS) end 6.7 Acionamento de Display LCD com palavra de 8 bits. Na figura 7 é mostrado o circuito básico de um microcontrolador e um módulo de LCD (display de cristal liquido), o mesmo é do tipo 2x16 (duas linhas por 16 colunas) com iluminação de fundo (back light). As palavras de instrução e de escrita usam 8 bits, a tabela 1 descreve as palavras de inicialização (instrução) do módulo LCD para operar neste modo. Será escrito no display CURSO DE MICROCONTROLADOR, desta forma, com o software de controle e os comentários sobre o mesmo, se alcançará o entendimento básico de uso deste dispositivo.

18 V1 5V +V D2 1N4148 R2 10k MCLR\(4) (14)Vdd R1 10k 40% 2Vdd MÓDULO LCD VssCnte RSR/WE B0... B S1 + C3 10uF PIC 16F628A (06)RB0 (07)RB1 (08)RB2 (09)RB3 (10)RB4 (11)RB5 (12)RB6 (13)RB7 (17)RA0 (18)RA1 (5)Vss (15) (16) Clk-in Clk-out XTAL MHZ C1 C2 Figura 7 Módulo LCD controlado pelo PIC 16F628A. ; FORMULÁRIO PADRÃO PARA USO EM PROGRAMAÇÃO COM MICROCONTROLADORES ; DA LINHA PIC ( MICROCHIP ). COM USO DO COMPILADOR MPASWIN. ; ** Os registros da CPU serão escritas com letras maiúsculas, e a- ; pós " ; " os comentários não serão considerados pelo compilador. ; PROJETO : LCD (escreve no display: CURSO DE MICROCONTOLADORES) ; DATA : 10/12/2008 ; AUTOR : Maurício Madeira Oliveira list p=16f628a ;para qual processador o código será gerado radix dec ;padrão decimal para valores sem identificação include <p16f628a.inc> ;anexa arquivo def.16f628a CONFIG _CP_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF ; TABELA DE DEFINIÇÕES DE RAM E CONSTANTES (defino nomes associados a valores) x equ 20h ; define variável auxiliar x na ram 0Ch (hexadecimal) y equ 21h ; define variável auxiliar y na ram 0Dh (hexadecimal)

19 con0 equ 0h ; controle do sinal RS (LCD) através do PA.0 con1 equ 1h ; controle do sinal CS (LCD) através do PA.1 ;Definição de caracteres que serão usados: M equ 0x4D I equ 0x49 ; C equ 0x43 ; C não pode ser usada pois é nome p/ carry no uc R equ 0x52 O equ 0x4F N equ 0x4E T equ 0x54 L equ 0x4C A equ 0x41 D equ 0x44 U equ 0x55 S equ 0x53 E equ 0x45 # equ 0x23 ; espaço em branco 0x20 ; MEMÓRIA DE PROGRAMA org 0 ; define inicio do programa a partir do end. 0h goto início ; desvia o progrma para o label (rótulo) início ; INÍCIO DA ROTINA DE INTERRUPÇÃO org 4 ; sempre inicia no end.4h as interrup.no PIC ; rotnas retfie ; comando de retorno de interrupção ; INÍCIO DO PROGRAMA - inicialização do uc início: movlw B' ' ; w= b movwf INTCON ; INTCON=w, desabilitada as interrupções bcf STATUS, IRP ; clear no bit irp do reg.status, pré-seleciono banco 0 e 1 bcf STATUS, RP1 ; clear no bit RP1 (RP1=0) bsf STATUS, RP0 ; set bit RP0 (RP0=1) com estas duas linhas seleciono o banco 1, onde está o TRISB e TRISA - ; Poderia usar o comando BANKSEL que é uma diretiva para seleção de banco de memória do MPLAB ; ex. BANKSEL TRISB, não precisaria digitar as duas linhas anteriores ; Também poderia usar o comando: movlw B'001XXXXX' e após movwf STATUS, onde x= a qualquer valor ; substituiria as três linhas anteriores (o registro STATUS está presente nos 4 bancos). -

20 movlw 0 movwf TRISB ; registrador TRISB=0 (B' '), OU SEJA, PINOS DO PORTB CONFIGURADOS COMO ; SAÍDAS movlw 0FCH ; w=b' ' movwf TRISA ; TRISA=B' 'pinos configurados como entradas e PA.1 e PA.0 como saídas movlw B' ' ; w= b movwf OPTION_REG ; OPTION=w, RPBU\=1 INTEDEG=1 TOCS=0 TOSE=1 PSA=1 PS2=0 PS1=0 PS0=0 ==>ler reg. p/ saber a config. bcf STATUS, RP0 ; clear bit RP0, seleciono banco 0 movlw 7 ; w=b' ' movwf CMCON ; cmcon=w, desligo o comparador analógico (o reset não faz isso) movlw 0 ; w=0 movwf CCP1CON ; CCP1CON=W=, desliga o módulo CCP (o reset faz isso, mas forçar o sinal por garantia) ; zero as saídas do PORTB (PORTB=w=0) movwf PORTA ; zero as saídas do PORTA -- ; programa principal - aplicação -- principal: ;inicialização do display LCD bcf PORTA,con0 ; porta P0=0, RS=0,LCD recebe instrução movlw 0x38 ; w=38h ; portb=instrução 38 p/ o LCD call tempo ; rotina de 20mS movlw 0x38 ; ; Verificar tabela de configuração LCD call tempo ; movlw 0x06 ; w=o6h ; portb=inst. 06 p/ o LCD call tempo movlw 0x0E ; w=0eh ; portb=inst. 0E p/ o LCD call tempo movlw 0x01 ; w=01h ; portb=inst. 01 p/ o LCD call tempo movlw 0x80 ; w=80h ; portb=inst. 80 p/ o LCD, iniciar na 1.linha ; e 1.coluna do LCD ; rotina de 40uS (pode ter tempo menor p/esta inst.) esc1: ; rotina de escrita na primeira linha do LCD bcf PORTA,con0 movlw 0x84 ; cursor na coluna 84 da linha 1 bsf PORTA,con0 ; porta P0=1, RS=1, LCD recebe dados

21 movlw 0x43 ; letra C movlw U movlw R movlw S movlw O movlw 0x20 movlw D movlw E movlw 0x20 bcf PORTA,con0 ; porta P0=0, RS=0, LCD recebe inst. movlw 0x0C0 ; w=c0h ; cursor vai p/2.linha, 1.coluna do LCD bsf PORTA,con0 movlw M movlw I movlw 0x43 movlw R movlw O movlw 0x43 movlw O

22 movlw N movlw T movlw R movlw O movlw L movlw A movlw D movlw O movlw R ; goto principal ; ou a linha ==> aqui:... aqui: goto aqui --- ; Rotinas de tempo --- tempo: ; rotina de +/- 20mS bsf PORTA,con1 ; gera sinal (alto) p/ CS do LCD bcf PORTA,con1 ; gera sinal (low ) p/ CS do LCD movlw 250 ; w=250d, 1uS movwf x ; x=w, 1uS temp1: temp2: movlw 18 ; 1uS movwf y ; 1uS nop ; 1uS decfsz y ; decrementa y de 1,se>0 exec.prox.inst. goto temp2 ; se=0 salta prox.inst. decfsz x ; 1uS

23 goto temp1 ; 1uS return ; 1uS time: ; rontina de +/- 40uS tim1: bsf PORTA,con1 ; gera sinal (alto) p/ CS do LCD bcf PORTA,con1 ; gera sinal (low ) p/ CS do LCD movlw 38 ; w=38d movwf x nop decfsz x goto tim1 return end 6.8 Acionamento de Display LCD com palavra de 4 bits. Neste exemplo, o módulo de LCD será controlado com palavras de 4 bits. O código em assembler é listado e novos comandos da família PIC são utilizados. Também é visto na Figura 8 o circuito que economiza 4 pinos do microcontrolador. É utilizado um dos pinos do PORTB para acionar um LED temporizado, que liga por +/- 2 segundos e após desligar o programa escreve no módulo LCD. As informações para o módulo são transmitidas de 4 em 4 bits (nibles), sendo enviado primeiro os 4 bits mais significativos e após os demais (4 bits menos significativos), sempre nesta ordem.

24 V1 5V +V D2 1N4148 R2 10k MCLR\(4) (14)Vdd R1 10k 40% 2Vdd MÓDULO LCD VssCnte RSR/W E B0... B S1 + C3 10uF PIC 16F628A (09)RB3 (07)RB1 (08)RB2 (06)RB0 (10)RB4 (11)RB5 (12)RB6 (13)RB7 R3 390R (17)RA0 (18)RA1 (5)Vss (15) (16) Clk-in Clk-out D1 LED1 XTAL MHZ C1 C2 Figura 8 Módulo LCD ativado com palavra de 4 bit s. A forma e a mensagem escrita no módulo LCD é verificada na Figura 9. C U R S O P I C 1 6 F Figura 9 Mensagem escrita no módulo LCD.

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

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

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

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

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

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

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

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza Introdução Nesta terceira série de artigos que aborda a programação na linguagem BASIC para o microcontrolador PIC,

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

6. Estrutura do Programa em Assembly

6. Estrutura do Programa em Assembly 6. Estrutura do Programa em Assembly Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP A estrutura se baseia em um formato sugerido pela própria Microchip para programação da família

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

5. Conjunto de Instruções do MCU PIC

5. Conjunto de Instruções do MCU PIC 5. do MCU PIC Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 5.1 Arquitetura interna Ciclo de Busca e Execução da Instrução O clock externo é internamente dividido por 4, gerando

Leia mais

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita include CONFIG 3F33 ;; configura automaticamente os bits do ocilador, watchdog timer, etc ;VARIÁVEIS CBLOCK 0x20 ; iniciando registradores que vão ser usados no programa ENDC tempo EQU 0x21

Leia mais

Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza

Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza Introdução No artigo desta edição, veremos os passos para controlar um dispaly gráfico de 128 x 64 pixels. A idéia será apresentar

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Temporizadores e Motor de Passo Alunos: Matrícula:

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

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

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

www.vwsolucoes.com Copyright 2013 VW Soluções 1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:

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

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES) Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES) Roteiro Sequencial Supermáquina Materiais Pinos do PIC Fluxograma Temporização Circuito no protoboard Melhoramentos Sugestão de Atividades Sequencial Um sequencial

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

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Controladores Lógicos Programáveis CLP (parte-3)

Controladores Lógicos Programáveis CLP (parte-3) Controladores Lógicos Programáveis CLP (parte-3) Mapeamento de memória Na CPU (Unidade Central de Processamento) de um CLP, todas a informações do processo são armazenadas na memória. Essas informações

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

Disciplina: Laboratório de Circuitos Digitais

Disciplina: Laboratório de Circuitos Digitais Universidade Federal de São Carlos Disciplina: Laboratório de Circuitos Digitais Prof. Dr. Emerson Carlos Pedrino 3ª Prática: Rotação de uma palavra nos Displays de 7 segmentos Data: 10/04/2014 Nome: Adrián

Leia mais

PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014

PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014 PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014 Introdução: Este programa permite o gerenciamento dos amplificadores MR 4.50D-XT MR 6.50D-XT MR 6.80-XT

Leia mais

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória Microprocessadores e Microcontroladores Parte 3 Expansão de Memória José Wilson Lima Nerys www.eee.ufg.br/ jwilson 2013 Um microcontrolador padrão da família 8051 possui normalmente uma memória de programa

Leia mais

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO O seguinte artigo apresenta uma UCP hipotética construída no software simulador DEMOWARE Digital Works 3.04.39. A UCP (Unidade Central de Processamento)

Leia mais

Comunicação Serial com o AVR ATMEGA8

Comunicação Serial com o AVR ATMEGA8 Comunicação Serial com o AVR ATMEGA8 Vitor Amadeu Souza vitor@cerne-tec.com.br Introdução Os microcontroladores AVR vem a cada dia tomando cada vez mais espaço nos novos projetos eletrônicos microcontrolados.

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

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21 Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21 7ª Experiência Síntese de Circuitos Sequenciais Síncronos 1. Objetivos

Leia mais

Microcontrolador 16F84A

Microcontrolador 16F84A 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 Microcontrolador 16F84A Os microcontroladores

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

Guia do Usuário Placa de Desenvolvimento McLab1

Guia do Usuário Placa de Desenvolvimento McLab1 Placa de Desenvolvimento McLab1 Sumário 1. APRESENTAÇÃO...3 2. HARDWARE...4 2.1. MICROCONTROLADOR PIC16F628A...4 2.2. DISPLAYS DE 7 SEGMENTOS...5 2.3. TECLAS...5 2.4. LEDS...6 2.5. LÂMPADA...6 2.6. BOTÃO

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

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO:

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: RGM: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADOR SÍNCRONO O objetivo desse projeto extra é aplicar os conceitos vistos em aula teórica

Leia mais

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma Jogo de Memória (Memorex v. 3.0) José Wilson Lima Nerys Universidade Federal de Goiás jwlnerys@gmail.com Abstract No presente projeto uma sequência de Leds é criada pelo microcontrolador, e deve ser repetida

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

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

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: RGM: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS O objetivo desse projeto extra é aplicar os conceitos vistos em aula

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

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes.

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes. Prova de Sistemas Microprogramados 2017-01 Simulado Prova P2 NOME: Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes. 01 #INCLUDE 02 CONFIG _BOREN_OFF

Leia mais

01. Identifique o conjunto de portas de entrada A e o conjunto de portas B na figura abaixo.

01. Identifique o conjunto de portas de entrada A e o conjunto de portas B na figura abaixo. MICROPROCESSADORES 4 BIMESTRE LISTA 01 - REGISTRADORES E INTERRUPÇÃO - PARTE 1 (EXERCÍCIO INDIVIDUAL EM SALA DE AULA) NOME: 01. Identifique o conjunto de portas de entrada A e o conjunto de portas B na

Leia mais

TUTORIAL DE PROGRAMAÇÃO. Configuração do cartão de entrada / saída analógica CP1W-MAD11.

TUTORIAL DE PROGRAMAÇÃO. Configuração do cartão de entrada / saída analógica CP1W-MAD11. TUTORIAL DE PROGRAMAÇÃO Configuração do cartão de entrada / saída analógica CP1W-MAD11. 1.0 Alocação de memória Antes de utilizar o cartão, é necessário conhecer a forma como a linha CP1 aloca as memórias

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

Microcontrolador PIC 16F877

Microcontrolador PIC 16F877 Microcontrolador PIC 16F877 Parte 1 Instruções de MOV, e PORT Microcontrolador PIC 16F877 Termos utilizados nas instruções: Campo f w ou W b k d Descrição registro entre 0 e 127 registro Work bit utilizado

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

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

Leia mais

Cerne Tecnologia e Treinamento

Cerne Tecnologia e Treinamento Tecnologia e Treinamento Tutorial para Testes na Placa de I/O Ethernet Kits Didáticos e Gravadores da Cerne Tecnologia A Cerne tecnologia têm uma linha completa de aprendizado para os microcontroladores

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 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

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1 Conteúdo Página Operações Lógicas Binárias: AND, OR...2 Operações Lógicas Binárias: OR Exclusivo (XOR)...3 Contatos Normalmente Abertos e Normalmente Fechados. Sensores e Símbolos... 4 Exercício...5 Resultado

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

21/07/2010 LED ELETRÔNICA DIGITAL. LED Tipos. LED Princípio de funcionamento. Display de 7 segmentos. LED Circuito de polarização

21/07/2010 LED ELETRÔNICA DIGITAL. LED Tipos. LED Princípio de funcionamento. Display de 7 segmentos. LED Circuito de polarização 2/7/2 LED ELETRÔNICA DIGITAL Parte 6 Display, Decodificadores e Codificadores Diodo emissor de luz (LED) Para nós será utilizado para dar uma indicação luminosa do nível lógico de sinal; Ligado nível lógico

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

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)

Leia mais

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga Aplicações de Microprocessadores I Prof. Adilson Gonzaga Exercício -1 Fazer um programa em Assembly do 8051 que informe a temperatura de um forno. O programa deve enviar inicialmente um String em ASCII

Leia mais

C:\seminario\guiao_aluno\trab6\trab6.asm

C:\seminario\guiao_aluno\trab6\trab6.asm Trabalho nº 6 Semáforo Rodoviário (automóveis & peões) ******************************************************************** NomeFicheiro: trab6.asm * Data: 3/Junho/2005 * Versão: 1.0 * Autores: José Miguel

Leia mais

28/9/2010. Unidade de Controle Funcionamento e Implementação

28/9/2010. Unidade de Controle Funcionamento e Implementação Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do

Leia mais

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E SIGMA Sistema Integrado de Combate a Incêndio CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E CABO BLINDADO (SHIELD) 4 VIAS 2X2,50 MM + 2X0,75 MM IHM Possibilidade de até 95 loops. LOOP LOOP LOOP CABO

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

3.a Aula Prática Projeto de Circuitos Sequenciais com FPGA. Projeto e simulação de um gerador de frequência

3.a Aula Prática Projeto de Circuitos Sequenciais com FPGA. Projeto e simulação de um gerador de frequência 3.a Aula Prática Projeto de Circuitos Sequenciais com FPGA Prof. Cesar da Costa Projeto e simulação de um gerador de frequência Muitas vezes, várias frequências de clock são necessárias em um circuito

Leia mais

Manual Técnico Interface Modbus

Manual Técnico Interface Modbus Manual Técnico Interface Modbus RTA Interface Modbus 05/2007-1 - Histórico de Revisões Ver. Num. Data Responsável Observações 1.000 17/05/07 Marcos Romano Criação Inicial RTA Rede de Tecnologia Avançada

Leia mais

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos www.decom.ufop.br/alex/ alexvbh@gmail.com

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos www.decom.ufop.br/alex/ alexvbh@gmail.com PIC18F4550 Curso Engenharia de Controle e Automação Alex Vidigal Bastos www.decom.ufop.br/alex/ alexvbh@gmail.com 1 Agenda Características do PIC18F4550 Pinagem do PIC18F4550 Pinagem do PIC18F4550 Datasheet

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

Velocímetro Digital para Bicicletas

Velocímetro Digital para Bicicletas Universidade Federal do Rio Grande do Norte Departamento de Engenharia Elétrica Velocímetro Digital para Bicicletas Gildenir Soares Batista da Silva Instrumentação Eletrônica, 2009.2 Luciano Fontes Cavalcanti

Leia mais

Central de Alarme de Oito Zonas

Central de Alarme de Oito Zonas Central de Alarme de Oito Zonas R02 ÍNDICE CARACTERÍSTICAS GERAIS:... 3 CARACTERÍSTICAS TÉCNICAS:... 3 CONHECENDO A CENTRAL:... 4 COMO A CENTRAL FUNCIONA:... 4 COMO APAGAR A MEMÓRIA DA CENTRAL:... 4 COMO

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

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

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

WWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br

WWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br 1 Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br Continuando com o artigo apresentado na edição passada de comunicação USB com o PIC, continuaremos nesta edição o estudo do

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

Circuito integrado 555 e suas aplicações

Circuito integrado 555 e suas aplicações Circuito integrado 555 e suas aplicações Introdução Um circuito integrado popular é o versátil 555. Introduzido pela em 1973 pela Signetcs, este circuito integrado tem aplicações que variam de equipamentos

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Manual de Instruções. Rastreador Via Satelite para Automóveis e Caminhões

Manual de Instruções. Rastreador Via Satelite para Automóveis e Caminhões Manual de Instruções Manual de Instruções Esta embalagem contém: Módulo AT1000 1 relé de potência 1 alto falante 1 antena GPS 1 antena GSM 1 soquete p/ relé com cabo 1 conector com cabo Manual de instruções

Leia mais

Manual do instalador Box Output AC Rev. 0.01.000. Figura 01 Apresentação do Box Output AC.

Manual do instalador Box Output AC Rev. 0.01.000. Figura 01 Apresentação do Box Output AC. Pág. 1/10 Apresentação Equipamento para acionamento de cargas em corrente alternada 110/220V. Comunicação com outros dispositivos por rede CAN. 6 entradas digitais para acionamento local ou remoto. 6 entradas/saídas

Leia mais

EA079 Laboratório de Micro e Minicomputadores: Hardware Laboratório III

EA079 Laboratório de Micro e Minicomputadores: Hardware Laboratório III EA079 Laboratório de Micro e Minicomputadores: Hardware Laboratório III Projeto de Interface com o Teclado 1 Objetivo do Laboratório III 1. Entender as características elétricas e funcionais do pino IRQ.

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

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

Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE

Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE http://mcu8051ide.sourceforge.net/ Tela inicial Criar novo projeto:

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Manual do instalador Box Input Rev. 0.01.000. Figura 01 Apresentação do Box Input.

Manual do instalador Box Input Rev. 0.01.000. Figura 01 Apresentação do Box Input. Pág. 1/10 Apresentação Equipamento para detecção de acionamentos e monitoração de sensores. Comunicação com outros dispositivos por rede CAN. Possui seis entradas digitais optoacopladas com indicação de

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 08: UCP Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle

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

Cerne Tecnologia e Treinamento

Cerne Tecnologia e Treinamento Tecnologia e Treinamento Tutorial para Testes na Placa GSM I/O (21)3062-1711 (11)4063-1877 Skype: suporte.cerne-tec MSN: suporte.cerne-tec@hotmail.com www.cerne-tec.com.br Kits Didáticos e Gravadores da

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

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Tutorial de Eletrônica Aplicações com 555 v2010.05

Tutorial de Eletrônica Aplicações com 555 v2010.05 Tutorial de Eletrônica Aplicações com 555 v2010.05 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil http://www.maxwellbohr.com.br

Leia mais

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos TUTORIAL Barra de LEDs Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES Relatório técnico apresentado como requisito parcial para obtenção de aprovação na disciplina de Sistemas Digitais.

Leia mais

Notas de aula #1 SISTEMAS NUMÉRICOS

Notas de aula #1 SISTEMAS NUMÉRICOS UTFPR Disciplina: EL66J Prof. Gustavo B. Borba Notas de aula #1 SISTEMAS NUMÉRICOS - Notação posicional Definição: A posição de cada algarismo no número indica a sua magnitude. A magnitude também é chamada

Leia mais

EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos

EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos 555 M-1108A *Only illustrative image./imagen meramente ilustrativa./ Imagem meramente ilustrativa. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos Conteúdo 1. Introdução... 2 2. Experiência

Leia mais

Display de LEDs Rotativo

Display de LEDs Rotativo Display de LEDs Rotativo Paulo Matias André Luiz Barbieri 12 de dezembro de 2008 Resumo Descrevemos um projeto capaz de formar imagens por meio de uma coluna de LEDs rotativa. A configuração dos LEDs é

Leia mais

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações. Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações. A partir de agora, iremos conhecer o hardware do Arduino e suas caracteristicas

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

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH Projeto para a matéria TE130 Projeto de Circuitos Integrados Digitais, ministrada pelo

Leia mais

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO 1 CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO INTRODUÇÃO Devido a necessidade geral de contadores, já existem muitos contadores de forma de CI's. Na série TTL 74 os mais simples são o 74LS90,

Leia mais