44
1 Microcontroladores PIC Microcontroladores PIC (continuação) (continuação) Ricardo de Oliveira Duarte Ricardo de Oliveira Duarte DECOM – UFOP DECOM – UFOP (baseado no curso de SE do prof. Manoel L. Anido NCE – UFRJ) (baseado no curso de SE do prof. Manoel L. Anido NCE – UFRJ)

Microcontrolador PIC em PowerPoint - Parte 1

  • Upload
    nando

  • View
    5.545

  • Download
    4

Embed Size (px)

Citation preview

1

                                                           

Microcontroladores PICMicrocontroladores PIC(continuação)(continuação)

Ricardo de Oliveira DuarteRicardo de Oliveira DuarteDECOM – UFOPDECOM – UFOP

(baseado no curso de SE do prof. Manoel L. Anido NCE – UFRJ)(baseado no curso de SE do prof. Manoel L. Anido NCE – UFRJ)

2

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC.Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC. ExercíciosExercícios

3

                                                           

Assembly dos PICsAssembly dos PICs

Formato Assembly PIC (mesmo de máquinas da DEC – Formato Assembly PIC (mesmo de máquinas da DEC – Digital Equipment CorporationDigital Equipment Corporation))• Operação fonte destino Operação fonte destino ;comentário;comentário• Exemplo: Exemplo: SUB A, R1 => A - R1 = R1 SUB A, R1 => A - R1 = R1

Valores em Hexadecimal são precedidos por 0xValores em Hexadecimal são precedidos por 0x• 0x55, 0x3C0x55, 0x3C

Nenhuma operação: NOPNenhuma operação: NOP

4

                                                           

Conjunto de Instruções do PIC 16F877AConjunto de Instruções do PIC 16F877A

35 instruções diferentes.35 instruções diferentes. 3 tipos de categorias:3 tipos de categorias:

• Para operações com BYTEs.Para operações com BYTEs.• Para operações com BITs.Para operações com BITs.• Para operações com Literais e Operações de Controle.Para operações com Literais e Operações de Controle.

Para operações com BYTEs (byte-oriented instructions), ‘f’ representa um registrador e ‘d’ representa o destino, que será usado pela instrução. E se ´d´ for omitido? W será o destino.

Para operações com BITs (bit-oriented instructions), ´b´ representa o bit do registrador ´f´ que será selecionado, enquanto ´f´ é o endereço do registrador referido.

Para operações Literais e de Controle, ‘k’ representa uma constante de 8 ou 11 bits ou ainda um valor literal em hexadecimal.

5

                                                           

PIC 16F877A – Assembly – Tipo das InstruçõesPIC 16F877A – Assembly – Tipo das Instruções

6

                                                           

Conjunto de Instruções do PIC 16F877AConjunto de Instruções do PIC 16F877A

7

                                                           

Conjunto de Instruções do PIC 16F877AConjunto de Instruções do PIC 16F877A

8

                                                           

Assembly do PICAssembly do PIC

Diretivas Assembly:Diretivas Assembly:• ORG xxxxH ORG xxxxH ;origem, inicia montagem programa no end. xxxxH;origem, inicia montagem programa no end. xxxxH• EQU EQU ;define uma constante;define uma constante• DB ;armazena bytes na mem. programa, define dadosDB ;armazena bytes na mem. programa, define dados• END ; termina arquivo assemblyEND ; termina arquivo assembly

9

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC.Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC.

10

                                                           

Modos de Endereçamento do PICModos de Endereçamento do PIC

Os PICs das famílias Low-End and Middle-End podem acessar dados de três formas:• Direto• Indireto• Imediato (Ex.: CALL)

11

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Contagem do Tempo no PIC.Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC.

12

                                                           

Família PIC16Fxx.Família PIC16Fxx.Características Hardware: Porta ACaracterísticas Hardware: Porta A

RA3:RA0 RA4Entradas Digitais são do tipo TTL ou Schmitt Trigger

13

                                                           

Família PIC16Fxx.Família PIC16Fxx.Características Características

Hardware: Porta AHardware: Porta A(continuação)(continuação)

RA5

14

                                                           

Família PIC16Fxx.Família PIC16Fxx.Características Hardware: Porta BCaracterísticas Hardware: Porta B

RB3:RB0RB4:RB7

Resistencia de Resistencia de pull-pull-upup da porta B, da porta B, configurável por configurável por software através do software através do bit bit RBPURBPU, do , do registrador registrador OPTION_REGOPTION_REG..

Cuidado! Verifique Cuidado! Verifique a corrente máxima a corrente máxima que uma porta pode que uma porta pode entregar/absorver.entregar/absorver.

15

Características elétricas: Portas A e BCaracterísticas elétricas: Portas A e B

16

                                                           

Exemplo de código de inicialização da porta AExemplo de código de inicialização da porta A

17

                                                           

PIC 16F877A - Porta CPIC 16F877A - Porta C

18

                                                           

PIC 16F877A - Porta D e EPIC 16F877A - Porta D e E

19

                                                           

Características elétricas: Portas C e DCaracterísticas elétricas: Portas C e D

20

                                                           

Características elétricas: Porta ECaracterísticas elétricas: Porta E

21

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC.Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC.

22

                                                           

InterrupInterrupções no PIC 16F877Ações no PIC 16F877A

15 interrupções diferentes.15 interrupções diferentes. Interrupção vetorada (endereço 0004h).Interrupção vetorada (endereço 0004h). Divididas em 2 grupos:Divididas em 2 grupos:

• Convencionais (comuns aos dispositivos Low-end)Convencionais (comuns aos dispositivos Low-end)Ex.: Estouro do Timer 0; Interrupção externa (pino RB0); Ex.: Estouro do Timer 0; Interrupção externa (pino RB0); Interrupção por mudança de estado (borda de subida ou Interrupção por mudança de estado (borda de subida ou descida – pinos RB4…RB7).descida – pinos RB4…RB7).

• Periféricos (depende do dispositivo).Periféricos (depende do dispositivo).Exs.: Porta paralela; Conversores A/D; Recepção da USART; Exs.: Porta paralela; Conversores A/D; Recepção da USART; Transmissão da USART; Comunicação Serial MSSP (Master Transmissão da USART; Comunicação Serial MSSP (Master Syncronous Serial Port); CCP1 (Capture, Compare, PWM); Syncronous Serial Port); CCP1 (Capture, Compare, PWM); CCP2; Estouro do Timer1; Timer2; Fim de Escrita na CCP2; Estouro do Timer1; Timer2; Fim de Escrita na EEPROM/Flash; Colisão de Dados no Barramento; EEPROM/Flash; Colisão de Dados no Barramento; Comparadores Internos do PIC.Comparadores Internos do PIC.

23

                                                           

InterrupInterrupções no PIC 16F877A: Funcionamentoções no PIC 16F877A: Funcionamento

O que acontece na ocorrência de uma O que acontece na ocorrência de uma interrupção?interrupção?

1.1. O Flag da Interrupção correspondente é marcado.O Flag da Interrupção correspondente é marcado.2.2. Se as chaves de habilitação da interrupção (geral e individual) Se as chaves de habilitação da interrupção (geral e individual)

estiverem ligadas, o sistema será paralisado e desviado para estiverem ligadas, o sistema será paralisado e desviado para 0004h.0004h.

As chaves geral e individual para cada uma As chaves geral e individual para cada uma das 15 interrupções do PIC16F877A são bits das 15 interrupções do PIC16F877A são bits específicos dos SFRs:específicos dos SFRs: INTCON; PIE1; PIE2; PIR1; PIR2INTCON; PIE1; PIE2; PIR1; PIR2

24

                                                           

InterrupInterrupções no PIC 16F877A: Funcionamentoções no PIC 16F877A: Funcionamento

A chave geral (GIE) é desligada antes de desviar para o endereço 0004h.• Logo: 2 interrupções não podem ser tratadas ao mesmo tempo.• Nada impede que o FLAG de uma segunda interrupção seja

ativado.• Ao final do tratamento da interrupção, GIE deverá ser ligada

(instrução RETFIE).

É necessário testar os flags de todas as INTs, pois todas são desviadas para 0004h.

A ordem dos testes determina a prioridade de atendimento.

As flags das INTs não são “resetados” pelo sistema ao final do tratamento da INT, logo…

25

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC.Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC. ExercíciosExercícios

26

                                                           

Ambientes de Desenvolvimento para o PICAmbientes de Desenvolvimento para o PIC

MPLAB IDE (Editor de código, Compilador, Depurador, MPLAB IDE (Editor de código, Compilador, Depurador, Simulador, Emulador) Simulador, Emulador)

Free Development Tools (students and educational purposes):Free Development Tools (students and educational purposes):• Programmer’s text editorProgrammer’s text editor • MPLAB SIMMPLAB SIM, high speed software simulator for PICmicro and dsPIC MCUs with , high speed software simulator for PICmicro and dsPIC MCUs with

peripheral simulation, complex stimulus injection and register logging. peripheral simulation, complex stimulus injection and register logging. • Full featuredFull featured debuggerdebugger • GraphicalGraphical project managerproject manager • Visual Device Initializer (VDI)Visual Device Initializer (VDI) • Version control supportVersion control support for MS Source Safe, CVS, PVCS, Subversion for MS Source Safe, CVS, PVCS, Subversion • MPASMMPASM™ macro assembler with MPLINK™ linker and MPLIB™ librarian ™ macro assembler with MPLINK™ linker and MPLIB™ librarian • MPLAB ASM30MPLAB ASM30 assembler, assembler, MPLAB LINK30MPLAB LINK30 and Utilities for PIC24 and dsPIC and Utilities for PIC24 and dsPIC

devices devices • PROCMDPROCMD command line programmer for MPLAB PM3 and PRO MATE® II command line programmer for MPLAB PM3 and PRO MATE® II • Visual PROCMDVisual PROCMD for simplified GUI control of MPLAB PM3 and PRO MATE® II for simplified GUI control of MPLAB PM3 and PRO MATE® II • CCS PCB C CompilerCCS PCB C Compiler • PICStart Plus programmerPICStart Plus programmer• PICDEM-2 demo boardPICDEM-2 demo board• PIC ICD in circuit debuggerPIC ICD in circuit debugger• PIC-ICE In circuit emulatorPIC-ICE In circuit emulator

27

                                                           

Ambientes de Desenvolvimento para o PICAmbientes de Desenvolvimento para o PIC Compilador C para o PIC:Compilador C para o PIC:

• Fabricante CCSFabricante CCS• Modelos:Modelos:

PCB para PICs de 12 bits (série PIC12)PCB para PICs de 12 bits (série PIC12) PCM para PICs de 14 bits (séries PIC14 e PIC16)PCM para PICs de 14 bits (séries PIC14 e PIC16) PCH para PICs de 16 bits (série PIC18)PCH para PICs de 16 bits (série PIC18) PCWH (todos)PCWH (todos)

MPLAB:MPLAB:• Ambiente de Desenvolvimento Integrado (IDE)Ambiente de Desenvolvimento Integrado (IDE)• Permite compilar de dentro do ambiente (Necessita compilador CCS).Permite compilar de dentro do ambiente (Necessita compilador CCS).• Grava o PIC e Depura.Grava o PIC e Depura.• Download no site da Microchip. Download no site da Microchip.

Gravadores:Gravadores:• McFLASHMcFLASH• McPLUSMcPLUS• ICDICD

Simuladores:Simuladores:• ISIS - ProteusISIS - Proteus• GPSIM (GNU PIC Simulator) – Open SourceGPSIM (GNU PIC Simulator) – Open Source• PIC IDE Simulator (Oshonsoft.com)PIC IDE Simulator (Oshonsoft.com)

28

                                                           

Ambientes de Desenvolvimento para o PICAmbientes de Desenvolvimento para o PIC

29

                                                           

Fluxo de DesenvolvimentoFluxo de Desenvolvimento

30

                                                           

Primeiro Exemplo de um Programa em C para o PICPrimeiro Exemplo de um Programa em C para o PIC

// Definições do Microcontrolador// Definições do Microcontrolador

#include <16F877A.H>#include <16F877A.H> // arquivo de definições do microcontrolador usado// arquivo de definições do microcontrolador usado

#fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP #fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP // bits de configuração dos fusíveis do PIC// bits de configuração dos fusíveis do PIC

// // Configurações do Projeto Configurações do Projeto

#use delay(clock=4000000) #use delay(clock=4000000) // informa ao sistema o frequência de clock, para temporização// informa ao sistema o frequência de clock, para temporização

//// Definição da Entradas Definição da Entradas

// // Definição da SaídasDefinição da Saídas#define#define LED0LED0 PIN_B0PIN_B0

// Programa principal// Programa principalvoid main ()void main (){{

int tempo = 100;int tempo = 100;while(true) {while(true) {

output_high(LED0); output_high(LED0); // seta o pino B0// seta o pino B0delay_ms(tempo); delay_ms(tempo); // aguarda 100 ms// aguarda 100 msoutput_low(LED0); output_low(LED0); // reseta o pino B0// reseta o pino B0delay_ms(tempo); delay_ms(tempo); // aguarda 100 ms// aguarda 100 ms

}}}}

31

                                                           

Segundo Exemplo de um Programa em C para o PICSegundo Exemplo de um Programa em C para o PIC

32

                                                           

Segundo Exemplo de um Programa em C para o PICSegundo Exemplo de um Programa em C para o PIC

// Definições do Microcontrolador// Definições do Microcontrolador

#include <16F877A.H>#include <16F877A.H> // arquivo de definições do microcontrolador usado// arquivo de definições do microcontrolador usado

#fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP #fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP // bits de configuração dos fusíveis do PIC// bits de configuração dos fusíveis do PIC

#use fixed_io(b_outputs = PIN_B1) #use fixed_io(b_outputs = PIN_B1) // saídas da porta B. Os demais serão entradas.// saídas da porta B. Os demais serão entradas.

// // Configurações do Projeto Configurações do Projeto

#use delay(clock=4000000) #use delay(clock=4000000) // informa ao sistema o frequência de clock, para temporização.// informa ao sistema o frequência de clock, para temporização.

//// Definição da Entradas Definição da Entradas#define#define BOTAOBOTAO PIN_B0PIN_B0

// // Definição da SaídasDefinição da Saídas#define#define LED0LED0 PIN_B1PIN_B1

// Programa principal// Programa principalvoid main ()void main (){{

for(;;) {for(;;) {if(!input(BOTAO))if(!input(BOTAO))

output_low(LED0);output_low(LED0);elseelse output_high(LED0);output_high(LED0);

}}}}

33

                                                           

Segundo Exemplo de um Programa em C para o PICSegundo Exemplo de um Programa em C para o PIC

34

                                                           

Tipos de Dados: Linguagem C do PICTipos de Dados: Linguagem C do PIC

35

                                                           

Declaração e Tipos de ConstantesDeclaração e Tipos de Constantes

Constantes:Constantes:• const valor1 = 10;const valor1 = 10;• const valor2 = -5;const valor2 = -5;• const valor3 = 55.12;const valor3 = 55.12;• const valor4 = ´a´;const valor4 = ´a´;• const valor5 = “teste”;const valor5 = “teste”;• const valor6 = 0x50;const valor6 = 0x50;• const valor7 = 050;const valor7 = 050;• const valor8 = 0b01001000;const valor8 = 0b01001000;

36

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC.

37

                                                           

SumárioSumário

Introdução a Família PIC e fabricantes.Introdução a Família PIC e fabricantes. Características BásicasCaracterísticas Básicas Arquitetura do PICArquitetura do PIC Organização da Memória no PICOrganização da Memória no PIC Registradores do PICRegistradores do PIC AssemblyAssembly e Conjunto de Instruções do PIC. e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC.Endereçamento de Memória no PIC. Estrutura das Portas de I/OEstrutura das Portas de I/O InterrupçõesInterrupções Ambientes de Desenvolvimento para o PIC.Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC.Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Lendo Chaves e Botões no PIC.

38

                                                           

Hardware mínimo para montagens com os PICsHardware mínimo para montagens com os PICs

Circuito de alimentação Circuito de alimentação (capacitor de 0.1 (capacitor de 0.1 µF)µF)..

Circuito para programação em Circuito para programação em serie.serie.

Circuito de Circuito de resetreset.. Circuito de clock (Circuito de clock (~~10 MHz).10 MHz). Periféricos:Periféricos:

• Conexão com LEDs, displays de 7 Conexão com LEDs, displays de 7 segmentos.segmentos.

• Conexão com botões e interruptores.Conexão com botões e interruptores.

39

                                                           

Hardware mínimo para montagens com os PICsHardware mínimo para montagens com os PICs

Circuitos de CLOCK. Circuitos de CLOCK. Diversas Diversas configurações:configurações:• Com circuito RC, Com circuito RC,

proporciona baixo custo, proporciona baixo custo, mas estabilidade também mas estabilidade também baixa. Permite obter uma baixa. Permite obter uma saida de frequencia F/4 no saida de frequencia F/4 no terminal terminal OSC2/CLKOUTOSC2/CLKOUT..

• Para melhorar a Para melhorar a estabilidade se implementa estabilidade se implementa circuitos com cristal de circuitos com cristal de quarzo (3 configurações):quarzo (3 configurações): LP (baixo consumo), de 0 LP (baixo consumo), de 0

a 200 kHz.a 200 kHz. XT, de 200 kHz a 4 MHz.XT, de 200 kHz a 4 MHz. HS (alta velocidade), de 4 HS (alta velocidade), de 4

MHz a 10 MHz (20 MHz MHz a 10 MHz (20 MHz para PICs de média e alta para PICs de média e alta linha).linha).

Para XTAL 4 MHz: C1=C2=27 pF. RS só é necessário em algumas configurações de HS.

40

                                                           

Hardware mínimo para montagens com os PICsHardware mínimo para montagens com os PICs Para a interconexão de Para a interconexão de

periféricos é necessário periféricos é necessário consultar as características de consultar as características de hardware das portas A e B.hardware das portas A e B.

Resistencia de Resistencia de pull-uppull-up da porta da porta B, configurável por software B, configurável por software através do bit através do bit RBPURBPU, do , do registrador registrador OPTION_REGOPTION_REG..

Cuidado! Verifique a corrente Cuidado! Verifique a corrente máxima que uma porta pode máxima que uma porta pode entregar/absorver.entregar/absorver.

Configuração mínima do PIC16F84 sem periféricos, com um clock de 4 MHz

41

                                                           

Hardware mínimo para montagens com os PICsHardware mínimo para montagens com os PICs

Periféricos básicos de Periféricos básicos de saída: LEDs e display de 7 saída: LEDs e display de 7 segmentos.segmentos.• Como conectamos mais de um Como conectamos mais de um

display?display?• Quantos números de displays Quantos números de displays

podemos conectar?podemos conectar?• O que acontece com o consumo?O que acontece com o consumo?

42

                                                           

Hardware mínimo para montagens com os PICsHardware mínimo para montagens com os PICs

Periféricos básicos de Periféricos básicos de entrada: botões e entrada: botões e interruptores.interruptores.• Eliminação de debounce por Eliminação de debounce por

software.software.• Eliminação de debounce por hw Eliminação de debounce por hw

usando as carcaterísticas do PIC.usando as carcaterísticas do PIC.• Eliminação de debounce por hw Eliminação de debounce por hw

externo.externo. Variantes: teclado matricialVariantes: teclado matricial..

43

                                                           

Relés e motores DCRelés e motores DC O par darlington não é O par darlington não é

imprescindível.imprescindível.

Aplicações com Aplicações com pequenos relés um único pequenos relés um único transistor bipolar é transistor bipolar é suficiente.suficiente.

A velocidade do motor DC é controlada com PWM e pelo circuito integrado 293D, na figura ao lado.

O sentido do giro determina a polaridade.

44

                                                           

Motores de passo e ÁudioMotores de passo e Áudio

Gerar um som:Gerar um som:• Para gerar um som é Para gerar um som é

necessário gerar um sinal de necessário gerar um sinal de onda quadrada de período onda quadrada de período apropriado.apropriado.

• O capacitor filtra a parte O capacitor filtra a parte contínua e gera o tom contínua e gera o tom desejado.desejado.

Motor de passo com CI de controle e diodos.