Eletronica digital

Disponível somente no TrabalhosFeitos
  • Páginas : 17 (4170 palavras )
  • Download(s) : 0
  • Publicado : 7 de dezembro de 2012
Ler documento completo
Amostra do texto
Universidade Federal do Piauí
Centro de Tecnologia
Departamento de Engenharia Elétrica

CIRCUITOS DIGITAIS II
Programação do PIC

Prof. Marcos Zurita
zurita@ufpi.edu.br
www.ufpi.br/zurita

Teresina - 2011

Sumário








1. Comandos de Saída no CCS C
2. Comandos de Entrada no CCS C
3. Display de 7 Segmentos
4. Módulos LCD
5. Conversor A/D Interno
6.Temporizadores
7. Interrupções

Circuitos Digitais II – Prof. Marcos Zurita

2

1. Comandos de Saída no CCS C

Circuitos Digitais II – Prof. Marcos Zurita

3

Comandos de Saída no CCS C
Comandos de Saída no CCS C

set_tris_X()

output_bit()

output_low()

output_high()

output_float()

output_X()

Circuitos Digitais II – Prof. Marcos Zurita

4

Comandos de Saída noCCS C
set_tris_X(config)


Configura os pinos da porta X como entrada ou saída:



Bit = 1: entrada (1 lembra I de “input”).
Bit = 0: saída (0 lembra O de “output”).

Ex:
set_tris_b(0b00000111);
/* configura os pinos da porta B:
b0 a b2 como entradas
b3 a b7 como saídas
*/

Circuitos Digitais II – Prof. Marcos Zurita

5

Comandos de Saída no CCS C
output_bit(pino, estado)Coloca o pino indicado em nível lógico alto ou baixo,
conforme o estado especificado.

Caso a direção do pino não esteja configurada como
saída, ela é alterada automaticamente antes da
atribuição.
Ex:


output_bit(pin_a2,1); // coloca o pino A2 em nível 1
output_bit(pin_a2,0); // coloca o pino A2 em nível 0

Circuitos Digitais II – Prof. Marcos Zurita

6

Comandos de Saída noCCS C
output_low(pino)
Coloca o pino indicado em nível lógico baixo (idem a
output_bit(pino,0)).

Caso a direção do pino não esteja configurada como
saída, ela é alterada automaticamente antes da
atribuição.
Ex:


#define LED pin_a0
output_low(pin_b7);
output_low(LED);

// coloca o pino B7 em nível 0
// coloca o pino A0 em nível 0

Circuitos Digitais II – Prof. Marcos Zurita7

Comandos de Saída no CCS C
output_high(pino)
Coloca o pino indicado em nível lógico alto (idem a
output_bit(pino,1)).

Caso a direção do pino não esteja configurada como
saída, ela é alterada automaticamente antes da
atribuição.
Ex:


#define OUTRO_LED pin_c1
output_high(pin_d0);
// coloca o pino D0 em nível 1
output_high(OUTRO_LED);// coloca o pino C1 em nível 1

CircuitosDigitais II – Prof. Marcos Zurita

8

Comandos de Saída no CCS C
output_float(pino)





Coloca o pino indicado em tri-state (como entrada).
Quando um pino não está sendo utilizado ou está
desconectado, é conveniente deixa-lo em 3-state para
economizar energia.
Ex.:
output_float(pin_c7); // coloca o pino C7 em 3-state

Circuitos Digitais II – Prof. Marcos Zurita

9 Comandos de Saída no CCS C
output_X(valor)
Coloca um byte inteiro na saída da porta X.

Caso a direção da porta não esteja configurada como
saída, ela é alterada automaticamente antes da
atribuição.
Ex:


output_b(0x0F);
/* Toda a porta B é colocada como saída
Os pinos B0 a B3 em nível alto;
Os pinos B4 a B7 em nível baixo.
*/

Circuitos Digitais II – Prof. Marcos Zurita

10 Comandos de Saída no CCS C


Ex. 1: Semáforo de 3 Tempos




Escreva um programa para controlar um semáforo de
3 tempos cujo circuito é representado abaixo.
O tempo de cada
estado deve ser:
VD: 5 s
● AM: 2 s
● VM: 4 s
Funcionamento
ininterrupto.






XTAL = 4MHz.

Circuitos Digitais II – Prof. Marcos Zurita

11

Comandos de Saída no CCS C


Porta B:


●●

Portas A, C, D e E:








pinos ligados aos LEDs devem ser configurados como
pinos de saída;
demais pinos devem ser configurados como entrada;
todos os pinos devem ser configurados como tri-state.

Escolha corretamente as instruções de mudança de
estado dos pinos para assegurar que os demais não
terão suas direções (E/S) iniciais alteradas.
Utilize a função...
tracking img