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

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

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

Transcrição

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

2 Conteúdo 1. Objetivos Microcontrolador PIC... 2 Arquitetura Harvard X Von Neumann... 2 Estrutura Interna... 2 Os Ciclos de Máquina (CLOCK)... 4 Principais Características do PIC 16F648A... 4 Descrição dos Pinos... 6 Memória de Programa... 7 Memória de Dados... 7 Memória EEPROM... 8 es Especiais... 8 Set de Instruções do PIC 16F648A Programação Softwares Estrutura Experiências Propostas - PIC 16F648A

3 1. Objetivos M-1117A - Microcontrolador PIC Verificar experimentalmente o funcionamento do Microcontrolador PIC. 2. Microcontrolador PIC A função principal do microcontrolador é gerenciar grande parte da lógica de um circuito eletrônico, minimizando significativamente os números de componentes externos. Devemos ter atenção com os termos microprocessador e microcontrolador, pois eles diferem-se em vários aspectos e o mais importante é que para um microprocessador funcionar são necessários diversos periféricos externos, tais como memória ram, eeprom e dentre outros, enquanto no microcontrolador, esses periféricos são inclusos internamente 2.1 Arquitetura Harvard X Von Neumann Grande parte dos Microprocessadores e diversos Microcontroladores existentes no mercado possuem sua estrutura interna de memória de dados e programas, baseados na Arquitetura Von Neumann, que prevê uma única via (BUS) de comunicação entre memórias e CPU. A linha de microcontroladores PIC possui uma arquitetura muito diferente, que é conhecida como Arquitetura Harvard. Essa arquitetura prevê diversos BUS de comunicação entre CPU e periféricos, permitindo comunicação de várias operações simultaneamente, e isto aumenta a velocidade de execução de um programa, e ainda permite que a memória de dados e de programa possuam tamanhos diferentes. Foi criado então um set de instruções chamado de RISC (Reduced Instruction Set Computer), ou seja, um set de instruções reduzido, que em média varia de 32 a 35 instruções, dependendo do tipo de PIC utilizado, enquanto alguns microcontroladores e microprocessadores possuem mais de 100 instruções (CISC). Isto facilita o aprendizado, porém em alguns casos aumenta-se as linhas de programação, pois teremos que usar, algumas vezes, diversas instruções para executar uma instrução, que em outros microcontroladores se faz de forma direta. 2.2 Estrutura Interna No Diagrama de Blocos (retirado do Datasheet da Microchip) a seguir, podem ser visualizados os blocos (partes) que compõem os microcontroladores 16F627A, 16F628A e do 16F648A, que é o enfoque de nosso curso. 2

4 Diagrama de Blocos. É importante ficarmos atento aos códigos dos Microcontroladores PIC, pois eles indicam que o tipo de Memória de Programa que o Microcontrolador utiliza. Podem ser dos tipos: Memória de Programa Flash ROM OTP EPROM Código Utilizado F CR C JW ou CL Quando estamos utilizando o PIC com objetivo didático ou na fase de desenvolvimento de um projeto, optamos pelo microcontrolador com Memória de Programa Flash, pois ela permite que seja gravado e regravado diversas vezes, sem que seja necessário a utilização de luz ultra violeta para apagá-lo, que é o caso quando utilizamos tipo EPROM. 3

5 2.3 Os Ciclos de Máquina (CLOCK) Nos microcontroladores da linha PIC, o sinal de Clock é dividido internamente por quatro e portanto, para um clock de 4MHz teremos um clock interno de 1 MHz e por conseqüência um ciclo de Máquina (tempo para se executar uma instrução) de 1micro segundo (1/1MHz). A divisão deste clock gera quatro ciclos que chamamos de Q1, Q2, Q3 e Q4. Sempre na fase Q1, é incrementado o Program Counter (contador de linha de programa) e a instrução seguinte é buscada na memória de programa e armazenada no registrador de instruções no ciclo Q4 e então ela é decodificada e executada no próximo ciclo, nos intervalos de Q1 até Q4. Este tipo de característica é conhecido como PIPELINE, que permite que quase todas as instruções sejam executadas em apenas um ciclo, tornando o sistema muito mais rápido. O imagem (retirada do Datasheet da Microchip) a seguir, demonstra as divisões do ciclo nas 4 fases, e o conceito do PIPELINE. Ciclos de Máquina. 2.4 Principais Características do PIC 16F648A 16 pinos de I/O. Frequência até 20MHz. Oscilador Interno de 4MHz/48kHz. Suporta Oscilador Externo x 14 palavras de memória FLASH de programa. 256 bytes x 8 de Memória RAM para dados. 256 bytes x 8 de EEPROM interna para dados. Módulo TIMER0 (timer/contador de 8 bits). Módulo TIMER1 (timer/contador de 16 bits). Módulo TIMER2 (timer de 8 bits). Módulo CCP (Capture, Compare e PWM). Módulo de Referência de Tensão. Dois Comparadores Analógicos. Comunicação serial - USART. Watchdog Timer. Corrente Máxima de 25ma por pino de I/O. 35 Instruções. Dez fontes de interrupção independentes. Modo Sleep. Tensão de Operação de 3V a 5.5V. 4

6 Temperatura de Trabalho: Tensão de Trabalho: Tensão Máx. no Pino MCLR (Em relação ao Vss): Corrente Máx. de Saída de um pino: Corrente Máx. de Entrada de um pino: Corrente Máx. de Entrada PORTA+PORTB: Corrente Máx. de Saída PORTA+PORTB: Dissipação Máx. de Energia: -40ºC ATÉ +125ºC. 3,0 V A 5,5V. -0,3 ATÉ +14V. 25mA. 25mA. 200mA. 200mA. 800mW. Pinagem - PIC 16F648A (PDIC - SOIC). Os microcontrolador 16F648A possui um total de 16 I/Os, separados em dois grupos chamados PORTAS, ou seja Porta A e Porta B. Para facilitarmos o entendimento dos Datasheets usaremos os termos PORTA para a Porta A e PORTB para a Porta B. (do Inglês PORT A e PORT B). No 16F648A o PORTA possui 8 pinos, que são classificados como: RA0, RA1, RA2, RA3, RA4, RA5, RA6 e RA7, que são configuráveis como Entrada ou Saída, conforme programação. No 16F648A o PORTB possui 8 pinos, que são classificados como: RB0, RB1, RB2, RB3, RB4, RB5, RB6 e RB7, que são configuráveis como Entrada ou Saída, conforme programação. O Pino RA2 pode ser utilizado como saída de tensão programável (V.ref.) com opção de 16 níveis diferentes. O Pino RA4 pode ser utilizado como incremento externo do TMR0. O Pino RA5 também é o MCLR externo, portanto podemos na configuração do programa optar por uma ou outra função. Os Pinos RA6 e RA7 são também os pontos de conexão do oscilador externo, caso sejam utilizados como I/O, deveremos utilizar um dos dois Osciladores Internos na configuração. O Pino RB0 pode ser utilizado para gerar uma interrupção externa. Os Pinos RB1 e RB2 são também utilizados em comunicação Serial (USART). O Pino RB3 é utilizado no Módulo de CCP, junto ao PWM (saída). Os Pinos RB4 a RB7 podem gerar interrupção por mudança de estado (Nível alto para o baixo, e vice-versa). O Pino RB6 pode ser também utilizado para incremento do TIMER1 e, juntamente com Pino RB7, para a programação do microcontrolador. 5

7 2.5 Descrição dos Pinos PINO FUNÇÃO ENTRADA SAÍDA DESCRIÇÃO RA2 ST CMOS I/O Digital AN2 NA Entr. Analógica para os Comparadores Vref NA Saída de Tensão de Ref programável RA3 ST CMOS I/O Digital AN3 AN Entrada Analógica para Comparadores CMP CMOS Saída do Comparador 1. RA4 ST Op.D I/O digital tipo Open Drain. TOCK1 ST Entrada do Contador TMR0 (Externa) CMP Op.D Saída do Comparador 2 RA5 ST I/O Digital MCLR ST Reset Externo, acionado em GND. Vpp Entrada para tensão de progr. (13v) 5 Vss Power GND RB0 TTL CMOS I/O Digital com Pull-Up interno. INT ST Entrada para Interrupção externa. RB1 TTL CMOS I/O Digital com Pull-Up interno. RX ST Recepção de comunicação USART assíncrona DT ST CMOS Via dados comum. USART Síncrona. RB2 TTL CMOS I/O Digital com Pull-Up interno. TX ---- CMOS Transmissão para Comunic. USART assíncrona. CK ST CMOS Via de Clock para comunic.usart Síncrona RB3 TTL CMOS I/O Digital com Pull-Up interno. CCP1 ST CMOS I/O para Capture, Compare e PWM. RB4 TTL CMOS I/O Digital com Pull-Up interno e Interrupção por mudança de Estado. PGM ST Entrada para progr. Em baixa Tensão (5V). 11 RB5 TTL CMOS I/O Digital com Pull-Up interno e Interrupção por mudança de Estado RB6 TTL CMOS I/O Digital com Pull-Up interno e Interrupção por mudança de Estado. T1OSO XTAL Saída para cristal Externo, para TMR1. T1CKI ST Entrada (Externa) para o contador TMR1. PGC ST Clock para Prog. Serial (ICSP). RB7 TTL CMOS I/O Digital com Pull-Up interno e Interrupção por mudança de Estado. T1OSI XTAL Entrada para Cristal Externo para TMR1. PGD ST CMOS Data (Dados) para programação serial (ICSP). 14 Vdd Power Alimentação Positiva do Microcontrolador RA6 ST CMOS I/O Digital. OSC XTAL Saída para Cristal Externo. CLKOUT CMOS RA7 ST CMOS I/O Digital OSC1 XTAL Entrada para Cristal Externo. CLKIN ST Entrada para Clock externos. (RC ou outros). RA0 ST CMOS I/O Digital AN0 AN Entrada Analógica para Comparadores. RA1 ST CMOS I/O Digital Saída de onda quadrada em ¼ da freqüência do OSC1, quando em modo RC.(ciclos internos) AN1 AN Entrada Analógica para Comparadores. OBS: Lembrando que todos os I/O são bidirecionais e ST significa Schmitt Trigger, AN significa Entrada ou Saída Analógica. 6

8 2.6 Memória de Programa 0000h Vetor de Reset 0004h Vetor de Interrupçã o 07FFh Uso Geral Tipo: 14 s Tamanho da Memória de Programa: Palavras. 2.7 Memória de Dados A Memória de Dados (RAM) é dividida em 4 bancos, possuindo registradores específicos, que configuram o modo de trabalho do PIC, e registradores de uso geral que podem ser utilizados pelo usuário. Para acessar um determinado registrador devemos primeiramente selecionar o banco em que ele esta, assim para se ter acesso ao registrador TRISA devemos selecionar o banco 1, alguns registradores que são muito utilizados são espelhados como o caso do registrador STATUS que pode ser acessado de qualquer banco da memória. 7

9 2.8 Memória EEPROM Memória não volátil, ou seja, alguns dados precisam ser guardados mesmo quando cessar a alimentação, e esse dado deverá ser gravado na EEPROM. Esta memória contém 256 bytes. 2.9 es Especiais OBS: Nomenclatura - X = Desconhecido e U = Não Modificado. Toda linha PIC possui uma série de registradores denominados SFR (Special Function Registers), que atuam guardando a configuração e o estado de funcionamento atual do microcontrolador. Eles são divididos por partes, que seguem abaixo: es Gerais STATUS e PCON: Esses es mostram o estado da ULA (Unidade Lógica Aritmética), no último RESET, configura o Oscilador Interno e páginas de programação quando necessário. STATUS Endereços: 03h, 83h, 103h e 183h R R IRP RP1 RP0 / T0 / PD Z DC C Condição em POWER-ON / RESET X X X IRP: Seleciona o Banco de Memória de Dados usado para o endereçamento indireto. Se 0 = Banco 0 e 1 (00h FFh). Se 1 = Banco 2 e 3 (100h- 1FFh). RP1 e RP0: Seleciona o Banco de Memória de Dados usado para o endereçamento direto. Se 00 = Banco 0 (00h 7Fh). Se 01 = Banco 1 (80h FFh). Se 10 = Banco 2 (100h 17Fh). Se 11 = Banco 3 ( 180h 1FFh). /TO: Indica Time-Out. Se 0, indica que ocorreu um estouro do WatchDog Timer (WDT). Se 1, indica que ocorreu um Power-Up ou as instruções CLRWDT ou SLEEP foram executadas. /PD: Indica Power-down. Se 0, indica que a instrução SLEEP foi executada. Se 1, indica que foi executada a instrução CLRWDT ou ocorreu um power-up. 8

10 Z: Indicação de Zero. Se 0, indica que o resultado da última operação efetuada (lógica ou aritmética) não resultou em zero. Se 1, indica que resultou em zero a última operação. DC: Digit Carry/Borrow. Se 0, indica que não ocorreu estouro de digito na última operação da ULA. Se 1, indica que na última operação da ULA ocorreu um estouro de digito, ou seja, o resultado ultrapassou os quatro bits menos significativos (Quando se trabalha com números de quatro bits). C: Carry/Borrow. Se 0, a última operação da ULA não ocasionou um estouro (carry). Se 1, a última operação da ULA ocasionou um estouro (carry) no bit mais significativo, ou seja, ultrapassou os oito bits disponíveis. OPTION: Serve para configurar uma série de opções para execução de operações no microcontrolador. OPTION_REG Endereços: 81h e 181h R R / RBPU INTED G TOCS TOSE PSA PS2 PS1 PSO Condição em POWER-ON / RESET /RBPU: Habilita os PULL-UPs internos no PORTB. (resistores ligados do pino para Vdd) Se 0, pull-upps habilitados para todos PORTB configurados como saída. Se 1, pull-ups desabilitados. INTEDG: Seleciona qual tipo de Borda (subida ou descida) gerará a interrupção externa em RBO. Se 0, será na borda de descida. Se 1, será na borda de subida. TOCS: Configura o incremento para o TMR0, ou seja se interno pelo clock do micro, ou externo através de uma mudança de estado. Se 0, TMR0 será incrementado internamente. Se 1, TMR0 será incrementado externamente pelo pino RA4/TOCK1. TOSE: Configura se a Borda que incrementará o TMR0 no pino RA4/TMR0 quando o TOCS = 1. Se 0, o incremento será na Borda de Subida de RA4/TMR0. Se 1, o incremento será na Borda de Descida de RA4/TMR0. 9

11 PSA: Configuração de uso do Prescaler. Se 0, o prescaler será aplicado ao TMR0. Se 1, o prescaler será aplicado ao WDT. PS2, PS1 e PS0: Configuram a escala de valor aplicado ao Prescaler. PS2, PS1 e PS0 TMR0 WDT 000 1: 2 1: : 4 1: : 8 1: :16 1: :32 1: :64 1: :128 1: :256 1:128 PCON: PCON Endereços: 8Eh U U U U U OSCF - / POR /BOR Condição em POWER-ON / RESET X OSCF: Freqüência ao qual trabalhará o Oscilador Interno. Se 0, será de 4MHz. Se 1, será de 37kHz. /POR: Indicação de Power-On Reset (Energização do microcontrolador quando sai do modo Sleep). Se 0, ocorreu o Power-On. Se 1, Não ocorreu o Power-On Reset. /BOR: Indicação de Brown-Out Reset. (queda de tensão na alimentação do Microcontrolador) Se 0, não ocorreu um Brown-Out-Reset. Se 1, ocorreu um Brown-Out-Reset. 10

12 PCL e PCLATH: que guarda 8 bits menos significativos do Program Counter (PC), que indica qual será a próxima linha a ser executada. PCL Endereços: 02h, 82h, 102h e 182h PARTE BAIXA DO PC CONDIÇÃO EM POWER-OR-RESET PCLATH Endereços: 0Ah, 8Ah, 10Ah e 18Ah U U U PARTE ALTA DO PC CONDIÇÃO EM POWER-OR-RESET FSR e INDF: FSR Endereços: 04h, 84h, 104h e 184h PONTEIRO PARA ENDEREÇAMENTO IND. CONDIÇÃO EM POWER-OR-RESET X X X X X X X X INDF Endereços: 00h, 80h, 100h e 180h Valor apontado pelo FSR (End. indireto) não é um registrador implementado. CONDIÇÃO EM POWER-OR-RESET

13 2.9.2 Portas TRIS: PORTS: Configuram os pinos das portas como entrada ou saída. Quando em nível lógico um, ele é entrada, quando em zero será saída. Para configurar o PORTA utilizaremos o TRISA, para o PORTB utilizaremos o TRISB. O microcontrolador deste curso possui duas portas: PORTA e PORTB. O estado destas portas é acessado diretamente na memória. PORTA e TRISA: PORTA Endereços: 05h R R RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 Condição em POWER-ON / RESET X X X X TRISA Endereços: 85h R R RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA PORTB e TRISB: PORTB Endereços: 06h e 106h R R RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 Condição em POWER-ON / RESET X X X X X X X X TRISB Endereços: 86h e 186h R R RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA

14 2.9.3 Contadores TIMER 0: Contador de 8 bits que pode ser acessado diretamente na memória, para leitura ou escrita. Seu incremento é automático através do clock do microcontrolador ou sinal externo (seu estouro causa uma interrupção). TIMER 1: Contador de 16 bits, também acessado diretamente da memória, mas devido ao seu tamanho, ele é armazenado em dois endereços que são: TMR1L (parte baixa) e TMR1H (parte alta). O registrador T1CON é o responsável pelas configurações do Timer1. Ele também é usado no modulo CCP. TIMER 2: Contador de 8 bits, também acessado diretamente da memória. O T2CON é responsável pelas configurações do TIMER 2. TMR0: TMR0 Endereços: 01h e 101h Contador de 8 s (Timer 0) X X X X X X X X T1CON, TMR1L e TMR1H: T1CON Endereços: 10h U U - - T1CKPS1 T1CKPS0 T1OSCEN / T1SYN C TMR1CS TMR1ON T1CKPS1 e TICKPS0: Ajuste do PRESCALER do TIMER 1. Se 00, prescaler de 1:1. Se 01, prescaler de 1:2. Se 10, prescaler de 1:4. Se 11, prescaler de 1:8. T10SCEN: Ajuste do PRESCALER do TIMER 1. Se 0, desabilita o Oscilador Externo. Se 1, habilita o Oscilador Externo. /T1SYNC: Controle do Sincronismo interno (Este bit é ignorado quando TMR1CS for ZERO) Se 0, o sistema de sincronismo estará ligado. Se 1, desligado (modo assíncrono). 13

15 TMR1CS: Seleciona a origem do Clock para TIMER 1. Se 0, clock interno. Se 1, clock externo através do pino T10S0/T1CK1. TMR1 0N: Habilita o Timer 1. Se 0, Timer 1 desabilitado (paralisado o contador de Timer 1). Se 1, Timer 1 habilitado. TMR 1L Endereços: 0Eh Contador Timer 1 (16 bits) Parte Baixa (L) X X X X X X X X TMR 1H Endereços: 0Fh Contador Timer 1 (16 bits) Parte Alta (H) X X X X X X X X T2CON, TMR2 e PR2: T2CON Endereços: 12h U - TOUTPS 3 TOUTPS 2 TOUTPS 1 TOUTPS 0 TMR2ON T2CKPS1 T2CKPS TOUTPS2, TOUTPS2, TOUTPS1 e TOUTPS0: Ajustes do postscale = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1: = postscaler 1:16. 14

16 TMR2 ON: Habilita o Timer 2. Se 0, Timer 2 desabilitado (paralisa o contador). Se 1, Timer 1 habilitado. T2CKPS1 e T2CKPS0: Ajuste do prescaler. Se 00, prescaler de 1:1. Se 01, prescaler de 1:4. Se 10, prescaler de 1:8. Se 11, prescaler de 1:16. TMR 2 Endereços: 11h Contador de 8 s (Timer 2) PR2 Endereços: 92h Limite Superior para Contagem do Timer INTCON, PIR1 e PIE1. es que servem para configurar e identificar todas as interrupções existentes. INTCON: Opera as instruções principais, Timer 0, Interrupção externa e Interrupção por mudança de estado. Possui também a chave geral de todas as interrupções (GIE) e a chave geral para as interrupções de periféricos. PIR1 e PIE1:es que gerenciam as interrupções de periféricos: EEPROM, Comparadores, USART, CCP, Timer1 e Timer2. INTCON Endereços: 0Bh, 8Bh, 10Bh e 18Bh GIE PEIE TOIE INTE RBIE T0IF INTF RBIF Condição em POWER-ON / RESET X GIE: Habilitação Geral das interrupções (chave geral). Se 0, todas interrupções desligadas. Se 1, as interrupções habilitadas (ligadas), serão tratadas individualmente. 15

17 PEIE:Habilita os Periféricos. Se 0, as interrupções não serão tratadas (desligado). Se 1, as interrupções dos periféricos habilitados individualmente serão tratadas. T0IE: Habilita o estouro de TMR0 (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. RBIE:Habilita a interrupção por mudança de estado nos pinos RB4 a RB7 (invidivual). Se 0, interrupção por mudança de estado desabilitada. Se 1, interrupção por mudança de estado habilitada. TOIF: Identificação do Estouro do TMR0. Se 0, não ocorreu o estouro. Se 1, o estouro do TMR0 ocorreu (O bit deve ser limpo por software). INTF: Identificação da interrupção externa do pino RB0. Se 0, não ocorreu a interrupção. Se 1, ocorreu a interrupção (O bit deve ser limpo por software). RBIF:Identifica a interrupção por mudança de estado nos pinos RB4 a RB7. Se 0, não ocorreu a interrupção. Se 1, ocorreu a interrupção (O bit deve ser limpo por software). PIE1 Endereços: 8Ch U EEIE CMIE RCIE TXIE - CCP1IE TMR2IE TMR1IE EEIE:Habilita a interrupção por final de escrita em EEPROM (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. CMIE: Habilita a interrupção do comparador (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. RCIE: Habilita a interrupção de recepção da USART (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. TXIE: Habilita a interrupção de transmissão da USART (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. 16

18 CCP1 IE: Habilita a interrupção do módulo CCP1 (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. TMR2 IE: Habilita a interrupção do Timer 2 (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. TIMER1 IE: Habilita a interrupção do estouro do Timer 1 (chave individual). Se 0, interrupção desabilitada. Se 1, interrupção habilitada. PIR1 Endereços: 0Ch U EEIF CMIF RCIF TXIF - CCP1IF TMR2IF TMR1IF EEIF: Identifica a interrupção da EEPROM. Se 0, não ocorreu o final de escrita da EEPROM. Se 1, ocorreu. CMIF:Identifica a interrupção do comparador. Se 0, o comparador não identificou alteração nas entradas. Se 1, o comparador identificou. RCIF:Identifica a interrupção de recepção da USART. Se 0, o buffer de recepção USART está vazio. Se 1, o buffer de recepção USART está cheio. TXIF: Identifica a interrupção de transmissão da USART Se 0, o buffer de transmissão USART está cheio. Se 1, o buffer de transmissão USART está vazio. CCP1 IF: Identifica a interrupção do módulo CCP1. Se 0, não ocorreu a condição de interrupção do módulo 1. Se 1, ocorreu. TMR2IF: Identifica a interrupção do Timer 2. Se 0, não ocorreu a interrupção do Timer 2. Se 1, ocorreu. TMR1IF: Identifica a interrupção do estouro do Timer 1. Se 0, não ocorreu o estouro do Timer 1. Se 1, ocorreu. 17

19 2.9.5CMCON utilizado para configuração dos dois comparadores internos existentes. CMCON Endereços: 01Fh R R C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM C2 OUT: Valor de saída do comparador 2. Normal (C2INV = 0): 0 = C2VIN+ < C2VIN-. 1 = C2VIN+ > C2VIN-. Inversa (C2INV = 1): 0 = C2VIN+ > C2VIN-. 1 = C2VIN+ < C2VIN-. C1 OUT: Valor de saída do comparador 1. Normal (C1INV = 0): 0 = C1VIN+ < C1VIN-. 1 = C1VIN+ > C1VIN-. Inversa (C1INV = 1): 0 = C1VIN+ > C1VIN-. 1 = C1VIN+ < C1VIN-. C2 INV: Tipo de saída do comparador 2. Se 0, normal. Se 1, inversa. C1 INV: Tipo de saída do comparador 1. Se 0, normal. Se 1, inversa. CIS: Chave que seleciona a entrada do Comparador. Quando CM2, CM1 e CM0 = 001: Se 0, RA0 conectado a C1 VIN-. Se 1, RA3 conectado a C1 VIN-. Quando CM2, CM1 e CM0 = 010: Se 0,RA0 conectado a C1 VIN-. RA1 conectado a C2 VIN-. Se 1,RA3 conectado a C1 VIN-. RA2 conectado a C2 VIN-. CM2, CM1 e CM0: Configura a pinagem dos comparadores. Conforme tabela a seguir: 18

20 2.9.6 VRCON Utilizado para configurar o módulo de voltagem (Tensão) de referência, que possui 16 valores de configuração. VRCON Endereços: 9Fh U VREN VRON VRR - VR3 VR2 VR1 VR

21 VREN: Acionamento do sistema de tensão de referência (alimentação). Se 0, circuito de VREF não acionado. Se 1, acionado (alimentado). VRR: Seleciona a faixa (Range) de operação do sistema de referência. Se 0, faixa baixa. Se 1, faixa alta. VR3, VR2, VR1 e VR0: Faz a seleção do valor de tensão de VREF. Se VRR = 1: VREF = (VR/4) x VDD. Se VRR = 0: VREF = 1/4 x VDD +(VR/32) x VDD CCP1 CON, CCP1L e CCP1H Módulo CCP, acessa três modos diferentes de operação: Capture, Compare e PWM. CCP1CON é o responsável pela configuração. O módulo CCP utiliza ainda o TMR1 como base de tempo e os registradores complementares CCPR1H (parte alta) e CCPR1L (parte baixa). CCP1CON Endereços: 17h U U - - CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M CCP1X e CCP1Y: Parte baixa (Low) do PWM de 10 bits. A parte alta fica localizada em CCPR1L somente no modo PWM. CCP1M3, CCP1M2 e CCP1M0: Seleção do CCP1. Obs: (CCP = Compare, Capture e PWM). 0000= Modo desligado. 0100= Capture ligado para borda de descida com prescaler de 1: = Capture ligado para borda de subida com prescaler de 1: = Capture ligado para borda de subida com prescaler de 1: = Capture ligado para borda de subida com prescaler de 1: = Compare ligado, pino RB3 (saída) será setado (nível 1) quando ocorrer o compare. 1001= Compare ligado, pino RB3 (saída) será zerado (0), quando ocorrer o compare. 1010= Compare ligado, pino RB3 (saída) não será afetado = Compare ligado, pino RB3 (saída) não será afetado e TMR1 será resetado = PWM ligado = PWM ligado = PWM ligado = PWM ligado. 20

22 CCPR1L Endereços: 15h de Controle do CCP1-LOW (parte baixa) X X X X X X X X CPR1H Endereços: 16h de Controle do CCP1HIGH (parte alta) X X X X X X X X EECON1, EECON2, EEADR e EEDATA EECON1: É o responsável pela escrita e leitura da EEPROM e detecção de erro. EECON2: É utilizado para inicialização do ciclo de escrita da EEPROM por segurança, evitando que a memória seja alterada acidentalmente. EEADR: Endereço que especifica a leitura ou escrita da EEPROM. EEDATA: Será preenchido com os dados a serem armazenados, já na leitura, ele armazena o dado lido. EECON1 Endereços: 9Ch U U U U WREER WREN WR RD X WREER: Indica erro durante a escrita na EEPROM. Se 0, não ocorreu erro e a escrita foi finalizada. Se 1, ocorreu erro na escrita ou um reset pode ter ocorrido. WREN: Habilita a escrita na EEPROM (bit de segurança). Se 0, não habilita a escrita. Se 1, habilita. WR: Ciclo de Escrita na EEPROM Se 0, o bit será zerado pelo hardware quando a escrita terminar (não pode ser zerado pelo software). Se 1, inicia o ciclo de escrita (devendo ser setado pelo software). 21

23 RD: Ciclo de Leitura na EEPROM Se 0, o bit será zerado pelo hardware quando a leitura terminar. Se 1, inicia o ciclo de leitura (devendo ser setado pelo software). EECON2 Endereços: 9Dh EEADR Endereços: 9Bh Endereço para Escrita/Leitura na EEPROM X X X X X X X X EEDATA Endereços: 9Ah TXSTA e RCSTA de Dados para Escrita/Leitura na EEPROM X X X X X X X X Configuram e monitoram a comunicação via Módulo USART, na transmissão usamos o TXSTA e na recepção o RCSTA. TXSTA Endereços: 98h U R CSCR TX9 TXEN SYNC - BRGH TRMT TX9D CSRC: Se 0, slave. Se 1, master. TX9: Seleção entre o Master/Slave (mestre/escravo) no modo síncrono. Habilita a comunicação em 9 bits para a transmissão. Se 0, transmite em 8 bits. Se 1, transmite em 9 bits. TXEN: Habilita a transmissão. Se 0, transmissão desabilitada. Se 1, transmissão habilitada (OBS: A recepção tem prioridade sobre esse bit no modo síncrono).

24 SYNC: Seleciona entre modo Assíncrono e Síncrono. Se 0, assíncrono. Se 1, síncrono. BRGH: Seleciona Baud Rate (velocidade de comunicação para o modo assíncrono). Se 0, Baud Rate baixo. Se 1, Baud Rate alto. TRMT: Situação do registrador interno de transmissão (TSR). Se 0, TSR cheio. Se 1, TSR vazio. TX9D: Valor transmitido como 9º bit (paridade ou endereçamento). RCSTA Endereços: 18h R R R SPEN RX9 SREN CREN ADEN FERR OERR RX9D SPEN: X Habilita o USART. Se 0, USART desabilitada. Se 1, habilitada. SREN: Habilita a recepção unitária (somente modo síncrono - master). Se 0, recepção unitária desabilitada. Se 1, recepção unitária habilitada, após receber um dado, desliga-se automaticamente. CREN: Habilita a recepção contínua. Se 0, recepção contínua desabilitada. Se 1, recepção contínua habilitada. ADDEN: Habilita o sistema de endereçamento (somente síncrono - 9bits). Se 0, desabilita o sistema de endereçamento. Se 1, habilita o sistema de endereçamento. FERR: Aviso de erro de Stop (modo assíncrono). Se 0, não ocorreu erro, Stop = 1. Se 1, ocorreu um erro. OERR: Erro de vários bytes recebidos sem nenhuma leitura. Se 0, não houveram problemas de estouro do limite. Se 1, estouro do limite de 3 bytes recebidos (isto antes da leitura de RCREG). Para limpar o bit, deve-se zera o bit CREN. RX9D: Valor recebido no 9º bit (usado como paridade ou endereçamento). 23

25 TXREG e RCREG Buffers para dados recebidos ou enviados. TXREG Endereços: 19h Buffer para transmissão de dados pela USART RCREG Endereços: 1Ah Buffer para recepção de dados pela USART SPBRG Configura o Baud Rate. SPBRG Endereços: 99h Ajuste do Baud Rate (taxa de transmissão) Set de Instruções do PIC 16F648A Vamos primeiramente conhecer os termos utilizados nas instruções, e também seus argumentos. Work: temporário para operações na ULA, conhecido como W, também chamado de acumulador. File: Referência de um registrador ( Arquivo de posição de memória). Utilizamos a letra F para os nomes e f para os argumentos. Literal: Qualquer número que possa ser escrito nas formas Decimal, Hexadecimal ou Binário. Utilizamos L para representá-lo e k o seu argumento. Destino: Local onde será colocado o resultado da operação. : Utilizaremos a letra B para representa-lo ( um numero especifico dentro de um byte), e b como seu argumento. Teste: utilizaremos para testar um bit, para verificarmos se é zero ou um. A letra utilizada será T. 24

26 Skip: Significa pulo ou salto, muito utilizado para criar desvios, utilizaremos a letra S para as instruções. Clear: Tornar um bit equivalente a zero, utilizaremos a letra C. Zero: Alguns tipos de instrução poder ocasionar em desvios se o resultado de uma operação for zero, utilizaremos a letra Z para representá-lo. Set: Setar um bit, ou seja, torná-lo equivalente a um. Utilizaremos a letra S para representá-lo Mais termos utilizados na tomada de ações ADD: Soma. AND: Lógica E. CLR: Limpar, zerar. COM: Complemento. DEC: Decremento de uma unidade. INC: Incremento de uma unidade. MOV: Mover para algum lugar. IOR: Lógica OU. RL: Rotacionar para a esquerda em um bit. RR: Rotacionar para a direita em um bit. SUB: Subtração. SWARP: Inverter as partes altas com as baixas de um registrador. XOR: Lógica Ou- Exclusivo Resumo das Instruções Operações com es: INSTRUÇÃO ARGUMENTOS OPERAÇÃO ADDWF f,d Soma W e f, guardando o resultado em d. ANDWF f,d Lógica E, entre W e f, com resultado em d. CLRF f Limpa f. COMF f,d Calcula o complemento de f, com resultado em d. DECF f,d Decrementa f, com resultado em d. INCF f,d Incrementa f, com resultado em d. DECFSZ f,d Decrementa f, com resultado em d, pulando a próxima linha se o resultado for Zero. INCFSZ f,d Incrementa f, com resultado em d, pulando a próxima linha se o resultado for Zero. MOVF f,d Move f para d. (Copiar.) MOVWF f Move W para f. ( Copiar.) IORWF f,d Lógica OU entre W e f, com resultado em d. RLF f,d Rotaciona f em um bit para a esquerda. RRF f,d Rotaciona f em um bit para a direita. SUBWF f,d Subtrai w de f, (f-w) com resultado em d. SWAPF f,d Inverte as partes alta e baixa de f, com resultado em d. XORWF f,d Lógica OU EXCLUSIVO entre W e f, com resultado em d. 25

27 Operações com Literais: INSTRUÇÃO ARGUMENTOS OPERAÇÃO ADDLW k Soma k com w, com resultado em w. ANDLW k Lógica E entre k e W, com resultado em W. IORLW k Lógica OU entre k e W, com resultado em W. XORLW k Lógica OU Exclusivo entre k e W, com resultado em W. SUBLW k Subtrai W de k (k-w), com resultado em W. MOVLW k Move k para W. Operações com s: INSTRUÇÃO ARGUMENTOS OPERAÇÃO BCF f,d Impõe zero ao bit b do registrador f. BSF f,d Impõe um ao bit b do registrador f. BTFSC f,d Testa o bit b, e pula a próxima linha se for zero. BTFSS f,d Testa o bit b, e pula a próxima linha se for um. Controles: INSTRUÇÃO ARGUMENTOS OPERAÇÃO CLRW - Limpa W. NOP - Gasta um ciclo sem executar nada. CALL R Executa a rotina de chamada R. CLRWDT - Limpa o WDT para não ocorrer o reset. GOTO R Desvia para o R, mudando o PC. RETFIE - Retorna de uma instrução. RETLW K Retorna de uma rotina, com kk em W RETURN - Retorna de uma rotina, sem alterar W. SLEEP - Coloca o PIC para dormir para poupar energia. 26

28 3. Programação 3.1 Softwares Todos os softwares utilizados nas experiências (MPLAB e IC-Prog) são gratuitos e serão brevemente apresentados MPLAB É um ambiente de desenvolvimento que irá ajudar na formulação dos projetos, pois utilizamos os mnemônicos para criação de um programa e ao compilá-lo, ele irá gerar o arquivo hexadecimal com os respectivos código binário referente as instruções. Antigamente os programas eram escritos diretamente em linguagem de máquina, sendo uma tarefa muito complexa pois só teríamos código utilizando zeros e uns. O MPLAB possui diversos recursos, como por exemplo a simulação, criação de projetos e dentre outros. Durante as experiências, o utilizaremos para compilar nossos programas e para isso seguiremos as etapas: Abrir o programa (Iniciar g Programas g Microchip g MPLAB IDE). Iniciar novo arquivo (File g NEW). Inserir código-fonte do programa. Configurar o Microcontrolador (Configure g Select Device g PIC16F648A). Salvar o programa (File g Save As g C:\Pasta\PIC\Programa.asm). OBS: O programa deverá ser salvo na pasta de sua preferência. Compilar o Programa (Project g Quickbuild). OBS: O.hex do programa será automáticamente criado na pasta em que o programa foi salvo IC-Prog IC-Prog é um software baseado na plataforma Windows e é utilizado básicamente para programação de microcontroladores PIC. O IC-Prog ocupa pouco espaço e para utilza-lo, bastam algumas configurações com relação ao dispositivo e a porta de comunicação a ser utilizada na gravação. Durante as experiências, o utilizaremos para programar o PIC 16F648A e para isso seguiremos as etapas: Abrir o IC-Prog (icprog.exe). Configurar o PIC 16F648A (Settings g Device g Microchip PIC g PIC16F648A). Configurar a comunicação (Settings g Options g Smartcard g COMX). OBS: A porta COMX a ser configurada depende dos recursos do usuário. Abrir o arquivo.hex, compilado através do MPLAB (File g OPEN FILE). Para LER o dispositivo (Command g Read All). Para APAGAR o dispositivo (Command g Erase All). Para Gravar o dispositivo (Command g Program All). OBS: Durante as etapas acima, o dispositivo deverá ser alimentado através da maleta. OBS: Para Windows NT/2000/XP, será necessário colocar o arquivo icprog.sys (disponível no CD) na mesma pasta que o programa (icprog.exe) e em seguida. Habilitar a comunicação (Settings g Options g Misc g Enable NT/2000/XP Driver). 27

29 3.2 Estrutura Apesar de ser relativamente fácil montar um programa no PIC, devemos ter certos cuidados relativos à estruturação do código-fonte, pois as instruções devem obedecer uma ordem correta, uma seqüência para que o Microcontrolador entenda e seja funcional. Mostraremos a seguir alguns modelos de estruturação e seus devidos comentários, fazendo sempre o mais detalhadamente possível, fazendo divisões e sub-divisões para que o programa se torne inteligível ao programador Os Comentários A cada linha de programação, é costume fazer um comentário explicativo da operação em questão. Isto ajuda para que o programa possa ser futuramente modificado, ou no caso de ocorrência de algum erro na programação. Após a linha de programação, inicia-se o comentário com a utilização de um ponto-e-virgula (;) pois o microcontrolador ignora o texto após o ponto e virgula. É importante saber que o compilador do MPLAB pode diferenciar as letras maiúsculas das minúsculas e para evitar problemas futuros, recomenda-se que sejam utilizados apenas um tipo de letra Os Arquivos de Definição denominados INCLUDE Estes arquivos contém definições ou código-fonte criados pela Microchip para incluir dentro de seu programa características e códigos relativos ao microcontrolador em questão. Com isto, evita-se a digitação repetitiva dessas informações na hora de fazer um novo programa. Os arquivos INCLUDE possuem a extensão.inc. Para utilização de um arquivo de definições, a sintaxe deve ser a seguinte: #INCLUDE <nome_do_arquivo.inc> Deste modo o arquivo deve estar localizado no mesmo diretório de instalação do MPLAB. Para arquivos personalizados o procedimento é o seguinte: #INCLUDE Drive:diretório\nome_do_arquivo.inc Constantes e Definições - EQU e DEFINE Quando observarmos arquivos de programas, encontraremos os termos acima citados durante o decorrer de um programa. O que significa? EQU é um diretriz que significa equivale a, por exemplo: PORTA EQU H 0005 É dizer que a PORTA equivale ao número 5 (em Hexadecimal), que é o endereço da PORTA e deste modo fica mais fácil colocar PORTA no lugar do número 5. Sua sintaxe é dada a seguir: Nome_da_variavel EQU Endereço_da_Memória Ou: Nome_da_Constante EQU Valor_da_Constante. 28

30 Vejamos como exemplo uma parte do arquivo P16F648A.inc. INDF EQU H'0000' TMR0 EQU H'0001' PCL EQU H'0002' TRISA EQU H'0085' TRISB EQU H'0086' Observe que até agora os valores do EQU foram sempre em Hexadecimal, mas os números podem ser representados de diversas formas: Decimal: D xx ou simplesmente xx. Hexadecimal : H xx ou 0xxx. Binário B xxxxxxxx. ASCII: A x. Onde: x é o valor do número a ser colocado. Para uma aplicação similar existe outra diretriz #DEFINE, que é mais poderosa que e EQU, pois substitui números e expressões inteiras. Ela é muito utilizada para definirmos pinos de entradas e saídas, e para sua utilização seguirão abaixo exemplos: #DEFINE LED PORTB,2 Observe que LED é o nome da definição, e que PORTB,2 é o que será considerado toda vez que aparecer o nome LED no programa. Vejamos agora um padrão de estruturação muito utilizado pelos programadores de PIC e que será a base de todos os programas utilizados nas experiências. ; NOME DO PROJETO ; CLIENTE ; AUTOR DO PROJETO ; ; VERSÃO: DATA: / / ; DESCRIÇÃO DO ARQUIVO ; MODELO PARA PIC 16F648A ; ARQUIVOS DE DEFINIÇÕES #INCLUDE <P16F648A.INC> ;ARQUIVO DA MICROCHIP PARA O PIC 16F648A ; ;DEFINIÇÃO DE COMANDOS PARA A ALTERAÇÃO DA PÁGINA DE MEMÓRIA #DEFINE BANK0 BCF STATUS,RP0 ;ATIVA O BANCO #DEFINE BANK1 BSF STATUS,RP0 ;ATIVA O BANCO1 CONFIG _BOREN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC ; VARIÁVEIS ; DEFINIÇÃO DAS VARIÁVEIS UTILIZADAS PELO SISTEMA CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE USUÁRIO W_TEMP ;REGISTRADORES PARA SALVAR O VALR DE W E STATUS STATUS_TEMP ; NO TRATAMENTO DE INTERRUPÇÕES ; VARIÁVEIS A SEREM ACRESCENTADAS. ENDC ;FIM DO BLOCO DE MEMÓRIA 29

31 ; FLAGS INTERNOS - ; DEFINIÇÃO DOS FLAGS UTILIZADOS ; CONSTANTES ; DEFINE AS CONSTANTES UTILIZADO PELO SISTEMA ; ENTRADAS ; DEFINE OS PINOS QUE SERÃO UTILIZADOS COMO ENTRADA ; É RECOMENDAVEL COMENTAR O SIGNIFICADO DE SEUS ESTADOS (0 E 1) ; SAÍDAS ; DEFINIÇÃO DE TODOS OS PINOS QUE SERÃO UTILIZADOS COMO SAÍDA ; COMENTAR O SIGNIFICADO DE SEUS ESTADOS (0 E 1) ; VETOR DE RESET - ORG 0x00 ;ENDEREÇO INICIAL DO PROCESSAMENTO GOTO INICIO ; INÍCIO DA INTERRUPÇÃO ; ENDEREÇO PARA TRATAMENTO DAS INTERRUPÇÕES. A PRIMEIRA TAREFA É ; SALVAR VALORES DE W E STATUS PARA RECUPERAÇÃO FUTURA ORG 0x04 ;ENDEREÇO INICIAL DA INTERRUPÇÃO MOVWF W_TEMP ;COPIA W PARA W_TEMP SWAPF STATUS,W ; INVERTE PARTE ALTA COM BAIXA MOVWF STATUS_TEMP ;COPIA STATUS PARA STATUS_TEMP ; ROTINA DE INTERRUPÇÃO - ; AQUI SERÁ ESCRITA AS ROTINAS DE RECONHECIMENTO E TRATAMENTO DAS INTERRUPÇÕES ; ROTINA DE SAÍDA DA INTERRUPÇÃO - ; RECUPERA OS VALORES DE W E STATUS ; RETORNAR DA INTERRUPÇÃO SAI_INT SWAPF STATUS_TEMP,W ; INVERTE PARTE ALTA COM A BAIXA DOS BITS MOVWF STATUS ;MOVE STATUS_TEMP PARA STATUS SWAPF W_TEMP,F SWAPF W_TEMP,W ;MOVE W_TEMP PARA W RETFIE ; RETORNA ; ROTINAS E SUBROTINAS - ; CADA ROTINA OU SUBROTINA DEVE POSSUIR A DESCRIÇÃO DE FUNCIONAMENTO ; E UM NOME QUE CORRESPONDA ÀS SUAS FUNÇÕES, PARA MELHOR ENTENDIMENTO. SUBROTINA1 ;CORPO DA ROTINA RETURN ; INICIO DO PROGRAMA INICIO BANK1 ;ALTERA PARA O BANCO 1 MOVLW B ' MOVWF TRISA ;DEFINE ENTRADAS E SAÍDAS DO PORTA MOVLW B ' MOVWF TRISB ;DEFINE ENTRADAS E SAÍDAS DO PORTB MOVLW B ' MOVWF OPTION_REG ;DEFINE OPÇÕES DE OPERAÇÃO MOVLW B ' MOVWF INTCON ;DEFINE OPÇÕES DE INTERRUPÇÕES BANK0 ;VOLTA PARA O BANCO 0 MOVLW B ' MOVWF CMCON ;DESLIGA O COMPARADOR. 30

32 ; INICIALIZAÇÃO DAS VARIÁVEIS ; ROTINA PRINCIPAL MAIN ;CORPO DA ROTINA PRINCIPAL (AQUI SERÁ COLOCADO O PROGRAMA PRINCIPAL) GOTO MAIN ; FIM DO PROGRAMA END Neste exemplo de estruturação apareceram novas diretrizes, vejamos a explicação: Ao iniciar o código fonte é inserido a diretiva #include <P16F648A.inc> e logo abaixo são executados uma sequência de configurações. CONFIG _BOREN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC Essas configurações irãodizer ao microcontrolador o modo de trabalho dele ou seja: config: É uma diretiva dizendo que será definida as configurações. _BODEN_ON: Brown out detect - Se esta opção estiver ativada o microcontrolador ira reiniciar toda vez que a tensão de alimentação ficar abaixo de um determinado valor. _CP_ON: Code Protect - Se esta configuração estiver ativa, não será possível ler o programa. _PWRTE_ON: Power up Timer - Esta opção garante que o microcontrolador trabalhe após 72ms depois que a fonte de alimentação for ligada, garantindo que a tensão já esteja estabilizada. _WDT_ON: Watchdog timer - Temporizador que irá provocar um estouro, caso ele não seja limpo antes via software, provocando um reset no programa. É utilizado quando uma aplicação não pode parar de funcionar. _LVP_ON: Low voltage program - Ativa o modo de programação em baixa voltagem. _MCLRE_ON: Master clear enable - Habilita o pino RA5 para funcionar como Reset. _XT_OSC: Tipo de Oscilador - O PIC pode funcionar com diversos tipos de osciladores e através desse parâmetro optamos dos citados abaixo: LP - cristal (até 200kHz). XT - cristal /ressonador(até 4 MHz). HS - cristal /ressonador cerâmico (até 20 MHz). RC:clockout - resistor externo com saída de clock. RC:I/O - resistor externo sem saída de clock. INTOSC:CLKOUT - oscilador interno de 4MHz/37kHz com saída de clock. INTOSC:I/O - oscilador interno de 4MHz/37kHz sem saída de clock. EC - oscilador externo. Todas essas configurações poderão ser alterados durante o processo de gravação (através do software IC-Prog). 31

33 ORG: Direcionamento para posição de Memória de programação para que o programa inicie neste ponto. END: Esta diretriz deverá ser colocada obrigatoriamente no final do programa para que o compilador reconheça que acabou. CBLOCK e ENDC: Para não utilizarmos os EQUs com endereços seqüenciais, basta iniciar com o endereço da primeira variável (CBLOCK0X20), que as demais serão definidas na seqüência, facilitando a mudança dos blocos de variáveis. Exemplo 1: Utilizando EQUs TEMPO EQU 0X0E ;REGISTRA O TEMPO HORA EQU 0X0F ;REGISTRA A HORA MINUTO EQU 0X10 ;REGISTRA O MINUTO SEGUNDO EQU 0X11 ;REGISTRA O SEGUNDO Exemplo 2: Utilizando CBLOCK e ENDC CBLOCK 0X0C ;ENDEREÇO INICIAL DA MEMÓRIA TEMPO ;REGISTRA O TEMPO HORA ;REGISTRA A HORA MINUTO ;REGISTRA O MINUTO SEGUNDO ;REGISTRA O SEGUNDO ENDC ;FIM DESTE BLOCO DE MEMÓRIA. Ao utilizar a diretiva cblock, o endereço inicial modifica-se de acordo com o pic utilizado, no caso do pic 16F84 esse endereço é o 0x0c que está no exemplo acima, enquanto que no 16F648A passa a ser 0x20. Lembrando que os Bancos de Memória do PIC 16F648A são quatro, e são habilitados pelos bits RP0 e RP1 no registrador STATUS, CONFORME TABELA ABAIXO: BANCO RP1 RP Quando o PIC é ligado RP1 e RP0 serão zero, portanto estaremos no banco 0, para mudarmos para o banco 1 utilizamos o #DEFINE para facilitar a mudança, conforme estruturas abaixo: # DEFINE BANK0 BCF STATUS,RP0 ;SETA O BANCO 0 DA MEMÓRIA # DEFINE BANK1 BSF STATUS,RP1 ;SETA O BANCO 1 DA MEMÓRIA Assim quando escrevemos BANK0 estamos alterando o STATUS para o banco 0, e viceversa. É recomendável após feitas as modificações no BANCO1, voltarmos para o BANCO 0, para prosseguir com o programa. FLAGS: São bits que definimos dentro de um byte, para serem utilizados como chave liga/desliga (on/off). Desta maneira, dentro de um único endereço de memória poderemos guardar 8 chaves (flags) que registrarão 8 estados diferentes. Para podermos trabalhar com os FLAGS devemos definir um registrador onde eles serão armazenados. Exemplo: 32

34 CBLOCK 0X0C ;ENDEREÇO INICIAL DA MEMÓRIA ENDC FLAG TEMPO HORA MINUTO SEGUNDO ;REGISTRADOR PARA FLAGS ;REGISTRA O TEMPO ;REGISTRA A HORA ;REGISTRA O MINUTO ;REGISTRA O SEGUNDO ;FIM DESTE BLOCO DE MEMÓRIA. Feito isto fica fácil definirmos nomes específicos para cada FLAG, através da Diretriz #DEFINE, como segue abaixo: ; FLAGS INTERNOS ; DEFINIÇÃO DOS FLAGS UTILIZADOS PELO PROGRAMA #DEFINE ACEITO FLAG,0 ;FLAG QUE INFORMA SE O VALOR FOI REGISTRADO ; 1= ACEITO, 0= NÃO ACEITO #DEFINE RECUSADO FLAG,1 ; FLAG QUE INFORMARÁ SE O VALOR REGISTRADO FOI: ; 1= RECUSADO, 0= NÃO RECUSADO Criando constantes: ; CONSTANTES ; DEFINIR AS CONSTANTES UTILIZADAS NO SISTEMA. TEMPORIZADOR EQU.40 ; TEMPORIZADOR EM SEGUNDOS. FREQUENCIA EQU.50 ; FREQUÊNCIA (50=1Hz) Definindo as entradas e saídas: Quando você pensa em um projeto, deve ter em mente quantas variáveis de entrada e saída ele deve ter para poder definir no sistema. Tomaremos como exemplo um circuito que terá dois botões, que serão ligados aos pinos RA0 e RA1, uma campainha ligada ao pino RA2 e 5 leds ligados aos pinos RB0 ao RB4. Definiríamos as entradas e saídas da seguinte maneira: ; ENTRADAS ; DEFINE TODOS OS PINOS UTILIZADOS COMO ENTRADA, ;COMENTANDO TAMBÉM OS SEUS ESTADOS LÓGICOS. #DEFINE BOTAO1 PORTA,0 ;BOTÃO QUE ACIONARÁ A CAMPAINHA. ; 0, BOTÃO SOLTO ; 1 BOTÃO ACIONADO #DEFINE BOTAO2 PORTA,1 ; BOTÃO QUE ACIONARÁ OS LEDS. ; 0= BOTÃO SOLTO ; 1 = BOTÃO ACCIONAD ; SAIDAS ; DEFINE OS PINOS QUE SERÃO UTILIZADOS COMO SAIDA, ;COMENTANDO TAMBÉM OS SEUS ESTADOS LÓGICOS. #DEFINE CAMPAINHA PORTA,2 ; 0=SEM SOM, 1= COM SOM #DEFINE LED0 PORTB,0 ; LED0 0=APAGADO, 1=ACESO. #DEFINE LED1 PORTB,1 ; LED1 #DEFINE LED2 PORTB,2 ;LED2 #DEFINE LED3 PORTB,3 ;LED3 #DEFINE LED4 PORTB,4 ;LED4 VETOR DE RESET: É um endereço para o qual o programa vai, quando ocorre um reset, seja por energizá-lo, pelo /MCLR ou pelo estouro do WDT. Neste microcontrolador, o RESET se localiza no endereço 0x00. OBS: É importante que as variáveis do sistema sejam inicializadas (limpas) para evitar problemas no programa, pois não saberemos quais valores elas assumirão ao ligar o sistema. Como fazer? Eis a resposta: 33

35 ; INICIALIZAÇÃO DE VARIAVEIS CLRF PORTA ; DESLIGA TODAS SAIDAS DO PORT A CLRF PORTB ; DESLIGA TODAS SAIDAS DO PORT B MOVLW.12 MOVWF MINUTOS ; INICIA O RELÓGIO COM 12 MINUTOS (DECIMAL) Utilizando Rotinas Existem dois tipos de rotinas utilizadas, as de DESVIO, utilizam a instrução GOTO, (vá para) que possibilita saltos para qualquer lugar do programa, para se executar certas tarefas. Sua sintaxe é a seguinte: GOTO nome (label) ; indicação do local para onde se deve ir o programa. Muitas vezes desejamos criar saltos pequenos, ou seja, apenas algumas linhas, para frente ou anterior ao ponto do programa, podemos utilizar a instrução GOTO junto ao $, observe o exemplo abaixo: GOTO $+2 ; PULA DUAS LINHAS PARA BAIXO GOTO $ +5 ; PULA CINCO LINHAS PARA BAIXO GOTO $ - 3 ; PULA TRES LINHAS PARA CIMA GOTO $ - 4 ; PULA QUATRO LINHAS PARA CIMA A outra rotina é a rotina de CHAMADA, que utiliza a instrução CALL, com finalização pela instrução RETURN. Sua sintaxe é a seguinte: CALL nome (label) ; indicação do local para onde irá o programa Após serem executadas as instruções que você criou para as rotinas, damos a instrução RETURN, ao qual fará que o programa volte para a próxima linha após o comando CALL, como no exemplo abaixo: RETURN ; FINALIZA A ROTINA, VOLTANDO O PROGRAMA PARA O ÚLTIMO ENDEREÇO ; DA PILHA. RETLW ; FINALIZA A ROTINA, RETORNANDO COM O ÚLTIMO ENDEREÇO DA PILHA, ; COM O VALOR k (LITERAL) EM W Tomada de Decisões dentro de um Programa Testando os s e Flags: Observando no set de instruções, veremos duas instruções para testar diretamente os bits que são: BTFSC: Que significa Test File Skip Clear ou seja, Testa o do registrador F, e pula a próxima linha se o resultado for Zero. BTFSS: Que significa Test File Skip Set, ou seja, Testa o do F, e pula a próxima linha se o resultado for Um. Vejamos a sintaxe para reforçar o aprendizado: BTFSC f,b ; DONDE f É O REGISTRADOR E b O BIT A SER TESTADO LINHA X ; PASSA POR ESTA LINHA SE O BIT TESTADO FOR UM LINHA Y ; VAI DIRETO PARA ESTE LABEL SE O BIT FOR ZERO. BTFSS f,b ; DONDE f É O REGISTRADOR E b É O BIT TESTADO. LINHA X ; PASSA POR ESTA LINHA SE O BIT FOR ZERO LINHA Y ; VAI PARA ESTE LABEL SE O BIT TESTADO FOR UM Pode-se também substituir as especificações por um #DEFINE, como no exemplo a seguir: 34

36 #DEFINE BOTAO PORTA,2 ;DEFINE O BOTÃO NO PINO RA2 ; ONDE 0 = DESLIGADO ; E 1 = LIGADO BTFSS BOTAO ; O BOTÃO ESTÁ LIGADO? GOTO BOTAO_DESL ; NÃO, VÁ PARA O LABEL BOTAO DESLIGADO GOTO BOTAO_LIG ; SIM, VÁ PARA O LABEL BOTAO LIGADO Como mudar os estados de um ou Flag: As instruções empregadas agora são as seguintes: BSF: Set File ( O deve ser setado, ou seja, colocado em um.) BCF: Clear File ( O bit deve ser zerado, ou seja colocado em zero.) Sua sintaxe é: BSF f,d BCF f,d ; ONDE f É O REGISTRADOR E d O BIT A SER SETADO. ;ONDE f É O REFISTRADOR E d É O BIT A SER ZERADO. Pode-se também substituir o bit ou o registrador por uma diretriz #DEFINE. Como habilitar as Portas (I/O), vejamos um exemplo: BANK1 ;MUDA PARA O BANCO 1 BSF TRISA,1 ; TRANSFORMA EM ENTRADA O RA1 BANK0 ; RETORNA PARA O BANCO 0 BSF PORTA,1 ; ESCREVE 1 NO LATCH DO RA1 (QUE É ENTRADA AINDA) BANK1 ; MUDA PARA O BANCO 1 BCF TRISA,1 ; CONVERTE RA1 EM SAIDA. O QUE OCORRE NESTE MOMENTO ;É QUE O PINO SERÁ INICIALIZADO EM 1 DEVIDO AO LATCH BANK0 ; RETORNA AO BANCO 0. Devido a este tipo de estruturação, nunca devemos escrever e ler na mesma porta em instruções seguidas, devendo ser garantida pelo menos uma linha (ciclo de máquina) sem fazer absolutamente nada, para tal utilizamos a instrução NOP, que consome um ciclo sem executar nada. Exemplo: MOV.20 ; ESCREVE 20 EM W MOVWF PORTB ; TRANSFERE O VALOR PARA O PORTB NOP ; PERDE ESTA LINHA SEM FAZER NADA MOVF PORTB,W ; LÊ O VALOR E COLOCA EM W MOVWF INFORM ; TRANSFERE W (PORTB0 EM INFORM) Operações Aritméticas Básicas Somando Para adição no PIC possuímos dois grupos de instruções, uma usada para adições unitárias e outras para adições diversas, são elas: INCF: Incrementa F de uma unidade. INCFSZ: Incrementa F de uma unidade, pulando a próxima linha se o resultado for zero. ADDWF: Soma (Adiciona) o valor de work (W) ao registrador F. ADDLW: Soma (ADD) um número (L) ao valor de work (W). Vejamos como é agora a sintaxe na programação: 35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz Sistemas Microcontrolados Período 2009.2 Aula 4 1 Saulo O. D. Luiz Roteiro Introdução ao microcontrolador PIC 16F877 Arquitetura do PIC 16F877 Conjunto de instruções Registradores de configuração 2 Saulo

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

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

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

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

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

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

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

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

Manual Equipamento ST10 Flasher Rev. 1

Manual Equipamento ST10 Flasher Rev. 1 Maio de 2014 2 Sumário Introdução:... 3 Acessórios utilizados:... 4 Instalação:... 5 Abrindo e Conhecendo o Software:... 10 SET PORT... 11 RELOAD MONITOR... 13 BlankCheck... 14 ERASE FLASH... 14 DUMP...

Leia mais

AD / DA. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos 1 M-1116A

AD / DA. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos 1 M-1116A AD / DA M-1116A *Only illustrative image./imagen meramente ilustrativa./imagem meramente ilustrativa. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos 1 Conteúdo 1. Objetivos 3 2. Experiência

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

Placa Acessório Modem Impacta

Placa Acessório Modem Impacta manual do usuário Placa Acessório Modem Impacta Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. A Placa Modem é um acessório que poderá ser utilizado em todas as centrais

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

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

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

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

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

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

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

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

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

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

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

PIC. PeripheralInterface Controller. Prof. EngºespLuiz Antonio Vargas Pinto www.vargasp.com. Prof. Vargas

PIC. PeripheralInterface Controller. Prof. EngºespLuiz Antonio Vargas Pinto www.vargasp.com. Prof. Vargas PIC PeripheralInterface Controller Prof. EngºespLuiz Antonio Vargas Pinto www.vargasp.com Histórico Em 1965 a General Instruments criou a divisão de microeletrônica Nos anos 80 foi dividida e vendida a

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação

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

SEMINÁRIO ASSEMBLY: Arquitetura PIC

SEMINÁRIO ASSEMBLY: Arquitetura PIC UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA Curso de Ciências da Computação SEMINÁRIO ASSEMBLY: Arquitetura PIC DOUGLAS DAL POZZO DIEGO VITTI Florianópolis

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

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

Programação de Robótica: Modo Circuitos Programados - Avançado -

Programação de Robótica: Modo Circuitos Programados - Avançado - Programação de Robótica: Modo Circuitos Programados - Avançado - 1 Programação de Robótica: Modo Circuitos Programados - Avançado ATENÇÃO Lembramos que você poderá consultar o Manual de Referência do Software

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

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

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

Manual Captura S_Line

Manual Captura S_Line Sumário 1. Introdução... 2 2. Configuração Inicial... 2 2.1. Requisitos... 2 2.2. Downloads... 2 2.3. Instalação/Abrir... 3 3. Sistema... 4 3.1. Abrir Usuário... 4 3.2. Nova Senha... 4 3.3. Propriedades

Leia mais

Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun

Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf ABB Automação Hartmann & Braun Índice 1. IBIS_BE_CNF - DEFINIÇÃO... 3 2. INSTALAÇÃO... 3 2.1. PRÉ-REQUISITOS PARA INSTALAÇÃO... 3

Leia mais

Tutorial de Auxílio. figura 1.0 programa de gravação

Tutorial de Auxílio. figura 1.0 programa de gravação Tutorial de Auxílio O intuito deste material é facilitar o uso, por parte do aluno, das ferramentas de software indispensáveis para o trabalho com os microcontroladores, neste tutorial abordaremos o processo

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

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Boletim Técnico R&D 03/08 CARACTERÍSTICAS DO DRIVER MPC6006L 14 de março de 2008

Boletim Técnico R&D 03/08 CARACTERÍSTICAS DO DRIVER MPC6006L 14 de março de 2008 Boletim Técnico R&D 03/08 CARACTERÍSTICAS DO DRIVER MPC6006L 14 de março de 2008 O objetivo deste boletim é mostrar as características do driver MPC6006L. Tópicos abordados neste boletim: APRESENTAÇÃO

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

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

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

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

Um resumo do Microcontrolador PIC18xx

Um resumo do Microcontrolador PIC18xx Um resumo do Microcontrolador PIC18xx Autor: Pedro Inácio Revisão: Rui Antunes Dezembro/2007 1. Introdução 1.1 PIC-Programmable Interrupt Controller O PIC é um microcontrolador fabricado exclusivamente

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

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

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

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

Leia mais

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre ACENDENDO AS LUZES Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre Projeto 1 LED piscante Neste capitulo, todos os projetos utilizam luzes LED s de diversas formas. Em relação ao hardware,

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

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

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

Í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

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f Monitor de Rede Elétrica Som Maior Pro Manual do Usuário Versão 3.9f 2 ÍNDICE PÁG. 1 APRESENTAÇÃO...03 2 DESCRIÇÃO DO EQUIPAMENTO...04 2.1 ROTINA INICIAL DE AVALIAÇÃO DA REDE ELÉTRICA...04 2.2 TROCA DE

Leia mais

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada. Editor de Ladder para VS7 Versão Teste O editor de ladder é um software de programação que permite que o VS7 e o µsmart sejam programados em linguagem de contatos. Esse editor está contido na pasta Público

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

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

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

5 Entrada e Saída de Dados:

5 Entrada e Saída de Dados: 5 Entrada e Saída de Dados: 5.1 - Arquitetura de Entrada e Saída: O sistema de entrada e saída de dados é o responsável pela ligação do sistema computacional com o mundo externo. Através de dispositivos

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

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

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Pulsos Digitais Pulso positivo: executa sua função quando está em nível alto Pulso negativo: executa sua função quando

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

Componentes de um computador típico

Componentes de um computador típico Componentes de um computador típico Assim como em um videocassete, no qual é necessário ter o aparelho de vídeo e uma fita contendo o filme que será reproduzido, o computador possui a parte física, chamada

Leia mais

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões Conv. USB-Serial Baudrate, stop bit e nro de dados programável. Baudrate de 1200 a 38400 bauds. Emula porta COM virtual. Led de indicação de operação como conversor USB-serial. Não possui linhas de controle

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

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

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

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

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

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

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

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

Curso de Microcontroladores PIC 16F84A

Curso de Microcontroladores PIC 16F84A Curso de Microcontroladores PIC 16F84A João Neto Caetano Jnetcaetano@hotmail.com Marciel Gonçalves Azevedo Marcielgazevedo@hotmail.com Célio Rodrigues Pinto Treinamentos em geral, suporte a alunos universitários

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

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

Leia mais