Linguagem C Aplicações baseadas no KIT PIC Básico 28P

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

Download "Linguagem C Aplicações baseadas no KIT PIC Básico 28P"

Transcrição

1 Linguagem C Aplicações baseadas no KIT PIC Básico 28P

2 Estrutura básica de um microcontrolador; O PIC16F883; MPLAB IDE; Linguagem C; Manipulação de I/O; Timers; Interrupções; Conversor A/D; Comunicação Serial; Manipulação de memória EEPROM; Projeto Exemplo;

3 Basicamente, um microcontrolador é constituído de quatro partes: Memória de programa; Memória de dados; Unidade lógica Aritmética (ULA); Portas de I/O (Entrada e Saída);

4

5 O PIC16F883 apresenta a seguintes características: 28 pinos sendo 24 para I/O; Freqüência máxima de operação: 20 MHz; Memória de programa: 4 Kwords; Memória de dados: 256 bytes; Memória EEPROM: 256 bytes; Numero de Interrupções: 15; 3 Timers (2 X 8 bits, 1 X 16 bits); Comunicação serial: I2C, SPI, EUSART; 11 canais analógicos de 10 bits; 2 comparadores analógicos; 2 módulos CCP(capture, compare e PWM); 35 instruções.

6

7

8

9 Freqüência do oscilador principal dividida por 4; Instruções são executadas em um ciclo de máquina; Exemplo: f osc = 4MHz ciclo de máquina = f osc /4 = 4Mhz / 4 = 1Mhz t ciclo = 1/1Mhz = 1µs

10

11 Os microcontroladores PIC possuem alguns modos de osciladores disponíveis para operação. Tipos de osciladores: RC - RC externo; INTOSC - RC interno; EC - fonte clock externa; HS - cristal/ressonador de alta frequência(acima de 4MHZ); XT - cristal/ressonador de média frequência; LP - cristal/ressonador de baixa frequência(32 KHz)

12 RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883 CEXT REXT

13 RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883 XTAL C1 C2

14 São divididas em 3 tipos: ROM > Memória de Programa RAM -> Memória de Dados EEPROM -> Memória de Armazenamento

15 Memória do tipo FLASH; Dividida em duas páginas; Vetor de reset; Vetor de interrupção;

16 Memória do tipo RAM; Classificada em registradores de uso geral e de uso específico; Dividida em bancos;

17

18 Memória não volátil; Usada para armazenar valores que não podem ser perdidos; Escrita e apagada eletricamente; 256 bytes;

19 Reset externo; Quando aplicado nível baixo ocorre o reinicio do programa; Pino 1 RE3/MCLR R1 10K U1 RE3/MCLR/VPP RB4/AN11/P1D RB5/AN13/T1G RA0/AN0/ULPWU/C12IN0- RB6/ICSPCLK RA1/AN1/C12IN1- RB7/ICSPDAT RA2/AN2/VREF-/CVREF/C2IN+ RA3/AN3/VREF+/C1IN+ RC0/T1OSO/T1CKI RA4/T0CKI/C1OUT RC1/T1OSI/CCP2 RA5/AN4/SS/C2OUT RC2/CCP1/P1A RA6/OSC2/CLKOUT RC3/SCK/SCL RA7/OSC1/CLKIN RC4/SDI/SDA RC5/SDO RB0/AN12/INT RC6/TX/CK RB1/AN10/P1C/C12IN3- RC7/RX/DT RB2/AN8/P1B RB3/AN9/PGM/C12IN2- PIC16F

20 Cão de guarda; Contador de 8 bits; Utilizado para verificar se o programa travou; Reseta microcontrolador quando ocorre overflow da contagem; Seu valor deve ser reiniciado durando o fluxo do programa;

21 Detecta baixa tensão de alimentação; Tensões configuráveis : 4 V ou 2.1 V; Caso tensão caia abaixo do valor configurado, ocorrerá um reset no software;

22 Circuito interno que retarda o inicio da execução do programa; Garante estabilização da tensão de alimentação; Tempo: cerca 64ms após o pino MCLR ser colocado em nível alto;

23

24

25

26

27

28

29

30

31

32 Criar projeto, inserir código fonte, compilar e gravar no KIT.

33

34 Características: Estruturada; Alto nível (comparada ao Assembly); Facilidade de acesso ao hardware; Portabilidade; Curva de aprendizagem reduzida; Reutilização de código;

35 São Utilizados para: Documentação do software; Exclusão de linhas durante a compilação. Comentários de linha simples: //este é um comentário de linha simples Comentários de Múltiplas linhas: /* */ este é um comentário de múltiplas linhas

36 Nomes dados a variáveis, funções ou outros elementos; São compostos por caracteres alfanuméricos ou numéricos; Somente podem ser iniciados por uma letra ou _, nunca por número; Podem possuir até 32 caracteres; Exemplo: temperatura; _tempo1; velocidade_angular;

37 Não podem ser utilizadas como identificadores auto break case char const continue default do double else enum extern float for goto if int long register return struct switch typedef union unsigned void volatile while

38 Tipo Tamanho em bits Intervalo char 8 0 a 255 int 8 0 a 255 float x to 3.4 x void 0 Nenhum valor

39 signed signed int variavel_x; unsigned unsigned int variavel_x short short int flag_x; long long int variavel_x;

40 int1: especifica valores de 1 bit (equivale ao short int); boolean: especifica valores de 1 bit (equivale ao short int e int1); int8: especifica valores de 8 bits (equivale ao tipo int padrão); byte: especifica valores de 8 bits ( equivale ao int e ao int8); int16: especifica valores de 16 bits ( equivale ao long int); int32: especifica valores de 32 bits.

41 Bases: Binária; Octal ; Decimal; Hexadecimal: Exemplo: Representação do numero 50 nas diferentes bases: 50 - Decimal 0x32- Hexadecimal 0b Binário 062- Octal

42 Declaração: const int valor1 = 100; #define valor1 100 São declaradas no inicio do programa, fora de qualquer função.

43 Declaração: tipo nome_da_variável; tipo nome_da_variável = valor_da_variável; Exemplo: declarar a variável chamada temperatura, sendo de 8 bits não sinalizada: unsigned int temperatura; Ou apenas: int temperatura; Iniciando variáveis do mesmo tipo em linha única: int temp1, temp2, temp3; ou int temp1=10, temp2 = 20, temp3 = 30;

44 São declaradas dentro do corpo de funções ou blocos de código; Disponíveis apenas dentro do bloco ou função onde foi declarada; Exemplo: void main() { int valor; //declara a variável local da função main valor =0; //inicia com 0 } while(true) //loop infinito { printf( %d, valor++); //imprime o valor incrementado //da variável na serial }

45 Declaradas fora do corpo de qualquer função; Todas as funções podem alterar ou usar o seu valor; Exemplo: int valor; //variável global void verifica_valor(void) //função para verificar o valor do ad lido { if(valor < 127) // se valor for menor que 127 RB0 = 1; //liga RB0 } void main() //função principal { valor = read_adc(); //le valor do ad verifica_valor(); //chama função para verificar valor }

46 Linguagem C possui grande quantidade de operadores; Operadores de alto e baixo nível; Tipos: Atribuição; Aritméticos; Relacionais; Lógicos; Lógicos bit a bit;

47 Representado pelo caracter: = ; Utilizado para atribuir um determinado valor a uma variável. Exemplo: x = 10; y = x+3;

48 Realizam operações matemáticas; OPERADOR AÇÃO + Adição - Subtração * Multiplicação / Divisão % Resto de divisão inteira ++ Incremento -- Decremento

49 operador % : x = 5%2; Operador ++; x = 1; x++; Operador --; x = 10; x--;

50 Usados em testes condicionais para determinar relações entre dados. OPERADOR AÇÃO > Maior que >= Maior ou igual que < Menor que <= Menor ou igual que == Igual a!= Diferente de

51 São usados para realizar testes booleanos entre elementos em um teste condicional OPERADOR && AÇÃO AND (E) OR (OU)! NOT (NÃO)

52 São utilizados para operações lógicas entre elementos ou variáveis. OPERADOR & AÇÃO AND(E) OR(OU) ^ XOR (OU EXCLUSIVO) ~ NOT (NÃO) >> Deslocamento à direita << Deslocamento à esquerda

53 Abreviação entre a operação e atribuição Forma expandida x = x + y x = x - y x = x * y x = x / y x = x % y x = x & y x = x y x = x ^ y x = x << y x = x >> y Forma reduzida x += y x -= y x *= y x /= y x %= y x &= y x = y x ^= y x <<= y x >>= y

54 São divididas em dois grupos: Testes condicionais; Estruturas de repetições;

55 Utilizada para executar um comando ou bloco de comandos no caso de uma determinada condição ser avaliada como verdadeira. Forma geral: if(condição) comando; Exemplo: if(temperatura < setpoint) RELE = 1;

56 Utilizado quando há a necessidade de tomar uma ação caso a condição for avaliada como falsa. if (condição) comandoa; else comandob; Exemplo: if (temperatura < setpoint) rele = 1; else rele = 0;

57 Para executar um bloco de códigos dentro da declaração if- else: if(condição) { comandoa1; comandoaa2;... comandoan; } else { comandob1; comandob2;... comandobn; } //bloco de código para a condição verdadeira //bloco de código para a condição falsa

58 É utilizado para a realização de comparações sucessivas de uma forma elegante, clara e eficiente. switch(variável) { case constante1: comandoa;... break; case constante2: comandob;... break; default: comandox; }

59 Exemplo switch(caracter_recebido) { case 1 : LED1 = 1; break; case 2 : LED2 = 1; break; default: LED1 = 0; LED2 = 0; }

60 Estrutura de repetição mais utilizada, sendo muito poderosa na Linguagem C Forma geral: for( inicialização;condição;incremento) comando; Ou for( inicialização;condição;incremento) { Comando1; Comando2;... ComandoN; }

61 Exemplo for(x = 0;x <11;x++) { printf( %d x 10 = %d,x, x*10); }

62 Repete um comando ou um conjunto de instruções enquanto uma condição for avaliada como verdadeira. Forma geral: while(condição) { comando1; comando2;... comandon; }

63 Exemplos x = 0; while(x<10) { LED = 1; delay_ms(500); LED = 0; delay_ms(500); x++; } while(1); while(!ra0);

64 Tem o funcionamento ligeiramente diferente do while. Forma geral: do { comandoa; comandob;... comandon; } while (condição);

65 Exemplo do { led = 1; delay_ms(500); led = 0; delay_ms(500); x++; }while(x<10);

66 Funções são grupos de instruções que podem ser utilizados uma ou mais vezes sem a necessidade de repetir a digitação do código; Em todo programa C existe ao menos uma função função main();

67 Características de funções programa fica mais legível e melhor estruturado; Reutilização de código; Cada função tem um nome único; Os nomes de funções seguem as mesmas regras de nomenclatura para variáveis; Podem ter qualquer nome exceto main.

68 O formato geral de uma função é: Tipo_da_função nome_da_função (parâmetros) { //bloco de comandos Comando1; Comando2;... return; }

69 Tipo da função -> especifica o tipo de dado de retorno; Nome da função -> identifica a função e é o nome utilizado para a chamada da mesma. Parâmetros - > são argumentos onde são passados para que a função utilize durante sua execução;

70 Exemplo int calcula_media(int A, int B) { int media; media = (A + B)/2; return media; } void main (void) { int nota_final; int nota1, nota2; } nota1 = 5; nota2 = 9; nota_final = calcula_media(nota1, nota2);

71 O compilador CCS possui varias funções prontas que auxiliam em: Manipulação de I/O; Configuração de registradores; Leitura do conversor A/D; Configuração e uso dos timers; Delays; PWM; Matemáticas;...

72 output_low() output_low (PIN_B1); // coloca o pino RB1 em 0 output_high() Output_high (PIN_A0); // coloca o pino RA0 em 1 output_bit() Output_bit (pin_a0, 0);// coloca o pino RA0 em 0 output_x() output_b (0xFF); // escreve o valor 0xFF no PORTB input() x = input(pin_a0); // lê o estado do pino RA0 input_x() x = input_b(); // lê o estado do PORTB

73 delay_cycles() delay_us (1); // aguarda 1 us. delay_us() Delay_us (1); // aguarda 1 us. delay_ms() delay_ms (1); // aguarda 1 ms.

74 setup_adc_ports() setup_adc_ports (AN0);//define RA0 como entrada analógica set_adc_channel () set_adc_channel(2); //seleciona canal 2 para conversão read_adc () valor = read_adc(); //le o resultado da conversão adc_done () while (!adc_done()); //fica em loop até o fim da conversão

75 #asm #endasm Permite a inclusão de código assembly. Exemplo: #asm bsf PORTB,3 // estas duas instruções geram um pulso nop bcf PORTB,3 // no pino RB3. #endasm

76 #case Ativa a distinção entre caracteres maiúsculos/minúsculos. #define Utilizado para substituir valores por identificadores ou até mesmo macro comandos. Exemplo: #define BT1 RB0 #define liga_led RC0 = 1

77 #include Insere arquivos externos Exemplo: #include <16F883.h> #include "PIC16F883_SFR.h #ROM Armazena valores na EEPROM durante a gravação Exemplo: #rom 0x2100 = { 0x00, 0x25};

78 #fuses Configura os fusíveis de funcionamento Exemplo: #fuses XT,NOMCLR,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP Alguns Fusíveis disponíveis para o PIC16F883: 1.00 XT Crystal osc <= 4mhz 1.00 EC_IO External clock 1.03 NOWDT No Watch Dog Timer 1.03 WDT Watch Dog Timer 1.05 NOMCLR Master Clear pin used for I/O 1.05 MCLR Master Clear pin enabled 1.06 PROTECT Code protected from reads 1.07 NOCPD No EE protection 1.07 CPD Data EEPROM Code Protected 1.08 NOBROWNOUT No brownout reset

79 #endif Permite compilação condicional #ifdef Exemplo: #define OK.. #ifdef OK delay_ms(200); #endif

80 #INT_XXXX Indica para o compilador que o trecho a seguir refere-se a uma rotina de interrupção Algumas das interrupções reconhecidas são: INT_EXT (RB0/Int) INT_TIMER0 (Timer 0) INT_RB (RB4~7) INT_EEPROM (EEPROM interna) INT_AD (Conversor A/D interno) INT_DEFAULT (Caso entre na rotina de interrupção por engano)

81 #use delay Informa o clock do sistema Exemplo: #use delay (clock= ) #byte Permite o acesso a posições de RAM (Registros e memória geral) pela indicação de seu endereço real Exemplo: #byte PORTB = 0x06

82 #bit Usado para definir um identificador para um bit de uma variável já definida. Exemplo: int flags; #bit ST_BT1 = flag.0

83 PIC Básico 28 P

84

85

86 Permitem a comunicação com o mundo exterior; Organizados por PORTs; Podem ser definidos como entrada ou saídas conforme a necessidade; Dois registradores para manipulação: TRISX e PORTX;

87 Configurando direção do PINO: Registrador TRISX 0 = pino configurado como saída; 1 = pino configurado como entrada; Exemplo: TRISA = 0b ; //define o RA0 como entrada digital

88 Lendo o estado do pino: if(ra0 == 0) //se pino RA0 estiver com valor zero comandox; //executa comando x Lendo estado do PORT inteiro: int valor; valor = PORTA; If(PORTB == 128) //se Pino RB7 igual a 1 comandoy; //executa comando Y

89 Hardware: R1 10K + 5V RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883

90 RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883 R1 330R D1 LED-RED Esquema 1

91 Esquema 2 RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883 R1 330R D1 LED-RED +5V

92 Execute o exemplo 1 e teste no KIT. Verifique seu funcionamento. Simular no MPLAB.

93 Desenvolva uma aplicação onde faça a leitura dos quatros botões e ligue os LEDS em código binário para indicar qual tecla foi pressionada.

94 Quando uma tecla é pressionada gera um certo ruído: Esse ruído pode causar interferência no software.

95 O exemplo 2 exibe como ler uma tecla usando técnica de Debounce.

96 Faça a leitura das 4 teclas usando a técnica de DEBOUNCE de teclas. Os botões deverão ter as seguintes funções: BT1 incrementa valor nos leds; BT2 decrementa valor nos leds; BT3 zera valor dos leds; BT4 inverte estado do RELE;

97

98

99

100 RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883 R1 330R R2 330R R3 330R R4 330R R5 330R R6 330R R7 330R

101 RA0/AN0/ULPWU/C12IN0-2 RA1/AN1/C12IN1-3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 21 RB1/AN10/P1C/C12IN3-22 RB2/AN8/P1B 23 RA7/OSC1/CLKIN 9 RA6/OSC2/CLKOUT 10 RC0/T1OSO/T1CKI 11 RC1/T1OSI/CCP2 12 RB7/ICSPDAT 28 RB6/ICSPCLK 27 RB5/AN13/T1G 26 RB4/AN11/P1D 25 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RC3/SCK/SCL 14 RC2/CCP1/P1A 13 RA3/AN3/VREF+/C1IN+ 5 RB3/AN9/PGM/C12IN2-24 RE3/MCLR/VPP 1 U1 PIC16F883 R1 330R R2 330R R3 330R R4 330R R5 330R R6 330R R7 330R +5V

102 Tabela para display cátodo comum

103 O Exemplo 3 mostra como acionar displays de 7 segmentos.

104 Desenvolva uma aplicação para que o valor no pressionado outra e uma outra tecla para reiniciar o valor da contagem do display. O valor deve ir de display seja incrementado ao apertar uma determinada tecla e decrementado quando 0 a 9.

105

106 Periféricos internos ao microcontrolador São utilizados para: Contagem de tempos; Contagem de eventos; O PIC16F883 possui 3 timers: Timer0 - > 8 bits Timer1 - > 16 bits Timer2 -> 8 bits

107 Temporizador/ contador de 8 bits; Diagrama de Blocos:

108

109 Registradores associados:

110 Temporizador / Contador de 16 bits

111

112 Registradores associados:

113 Temporizador de 8 bits

114

115 Registradores associados:

116 O exemplo 4 exibe como usar o TIMER1 para criar uma base de tempo para um temporizador.

117 Utilize o TIMER0 para criar uma base de tempo para piscar um LED ou mais LEDs, faça o mesmo utilizando o TIMER2 obs.: Base de tempo de 1 segundo

118

119 Eventos assíncronos; Desvia o programa automaticamente para o vetor de interrupção (0x04); São classificadas em dois grupos: Convencionais ; Periféricos;

120

121

122 O exemplo 5A exibe a forma de se tratar interrupção com base no fluxograma de tratamento e o exemplo 5B exibe uma forma utilizando os recursos do compilador para tratamento da interrupção. Os exemplos exibirão como usar a interrupção para a multiplexação de display de sete segmentos e os LEDS que estão ligados no mesmo barramento de dados usando a técnica de varredura, ou seja, acenderemos um display por vez: primeiro o display 1, depois o display 2 e depois os LEDS e assim repetidamente. Para que não percebermos o liga e desliga dos displays trabalharemos com uma freqüência de varredura de aproximadamente 80 Hz, pois acima de 50 Hz temos a impressão de todos os displays ligados ao mesmo tempo.

123 Com base nos exemplos anteriores crie um contador de segundos usando o TIMER0 para a varredura dos displays e o TIMER1 para a base de tempo de um segundo. Utilize interrupções para esse processo. O contador deve ir de 0 a 59 e quando chegar em 60 deve-se reiniciar os displays e incrementar os LEDS.

124

125 Converte um sinal analógico em digital; Resolução é dada por: Vref : tensão de referência do conversor n : numero de bits do conversor

126 Características Conversor de 10 bits; 11 canais disponíveis; Referência interna; Referência externa; Conversor por aproximações sucessivas; Freqüência de conversão ajustável por software; Interrupção associada ao termino da conversão.

127

128 Primeiramente configura a direção do pino como entrada no registrador TRISX correspondente. Definir o pino como entrada analógica Registradores: ANSEL e ANSELH Exemplo: TRISA = 0b ; //pino RA0 como entrada ANSEL = 0b ; //pino RA0 funcionando como AN0

129

130

131 Clock

132 Resultado da conversão

133

134

135 O exemplo 6 exibe como configurar o conversor A/D e como obter o resultado da conversão. O Resultado da conversão é exibido nos LEDS e o valor de entrada analógica pode ser variado utilizando o POT1.

136 Simule um sensor de temperatura com o POT2 obedecendo a seguinte relação: 0 v 0 C 5 V 99 C Exibir o valor da temperatura nos displays.

137

138 #use rs232(baud=9600, xmit=pin_c6,rcv=pin_c7) Onde é configurado o baud rate da comunicação e os pinos de transmissão e recepção de dados. Neste caso temos a seguinte configuração: Baude rate = 9600 bps Pino de transmissão: RC6 Pino de recepção: RC7

139 printf Envia uma string(seqüência de caracteres) pela serial. Exemplo: printf( hello world ); //imprime na serial a string: hello world putc Envia apenas um caractere na serial. Exemplo: putc( f ); //imprime na serial o caracter f

140 gets Lê uma string da serial Exemplo: char buffer[10]; //declara o vetor buffer para armazenamento da string gets(buffer); //aguarda a chegada de string na serial Getc Lê um caracter da serial Exemplo:] char c; //declara a variável para armazenamento do caractere c = getc(); // atribui a c quando caracter disponível na serial

141 Kbhit Retorna verdadeiro (1) se chegar um caractere pela serial e falso(0) enquanto não houver caractere. Exemplo: if(kbhit()) { c = getc(); } //se caracter na serial //atribui o valor para c

142 O exemplo 7 exibe uma comunicação serial entre um computador e o microcontrolador. Neste exemplo será enviado pela serial o valor de tensão sempre que houver a chegada do caractere T pela serial.

143 Desenvolva um sistema onde seja possível ligar ou desligar cada LED independentemente através de comandos enviados pelo terminal do computador.

144

145 write_eeprom (endereço, valor); Exemplo: #define END_VOLUME 10 // endereço na EEPROM volume++; //incrementa o valor write_eeprom(end_volume,volume); //salva na EEPROM endereço 10

146 read_eeprom (endereço); Exemplo: #define END_VOLUME 10 //endereço volume = read_eeprom (END_VOLUME); //lê o valor presente no //Endereço 10 da EEPROM

147 O exemplo 8 mostra como armazenar e ler valores na memória EEPROM. Será armazenado o valor no display e quando reiniciar o microcontrolador este valor será carregado no display novamente.

148 Desenvolva uma aplicação onde seja armazenado na EEPROM o valor de uma Variável de 16 bits.

149 O exemplo exibe um controle de temperatura do tipo ON/OFF. Será ajustado um valor de set point no display e o sistema controlará a saída para manter esta temperatura. Recursos utilizados: Conversor A/D para leitura do sensor de temperatura; Interrupção; Varredura de displays; Leitura de teclas; Acionamento de rele.

150 Fábio B. de Souza Cel.:

Linguagem C para Microcontroladores

Linguagem C para Microcontroladores RESUMO Linguagem C para Microcontroladores Prof. Glauber G. O. Brante UTFPR Universidade Tecnológica Federal do Paraná DAELT Departamento Acadêmico de Eletrotécnica Sumário 1 Introdução...................................

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Revisão Linguagem C Parte 1

Revisão Linguagem C Parte 1 Revisão Linguagem C Parte 1 Comentários: Os comentários aparecem em verde e podem iniciados com /* e encerrados com */ quando utilizase várias linhas ou coloca-se // quando forem colocados em apenas uma

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

Leia mais

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR PIC - PROGRAMAÇÃO LINGUAGEM C AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br UBERABA MG 1º SEMESTRE 2009 FLUXOGRAMAS FLUXOGRAMAS Fluxograma para somar dois números e guardar em uma terceira

Leia mais

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial

Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial Serviço Nacional de Aprendizagem Industrial Departamento Regional de Pernambuco Faculdade de Tecnologia SENAI Pernambuco - Unidade Santo Amaro Curso de Tecnologia em Mecatrônica Industrial Disciplina:

Leia mais

C:\Users\House\Desktop\fluxo.c 1: /****************************************************************************** 2: * Objetivo: Este projeto visa

C:\Users\House\Desktop\fluxo.c 1: /****************************************************************************** 2: * Objetivo: Este projeto visa 1: /****************************************************************************** 2: * Objetivo: Este projeto visa monitorar uma tensão de um sensor e mostrar * 3: * e após a conversão necessária da escala

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

Microcontroladores: Programação em C

Microcontroladores: Programação em C Aula 06 Microcontroladores: Programação em C Prof. Tecgº Flávio Murilo 02/04/2013 1 Microcontroladores PIC São fabricados pela Microchip Technology. PIC significa Programmabile Intelligent Computer, ou

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler

Leia mais

01/08/2011 PROGRAMAÇÃO EM LINGUAGEM C. Histórico

01/08/2011 PROGRAMAÇÃO EM LINGUAGEM C. Histórico PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano Histórico Estrutura de um programa Constantes e variáveis Declarações de Controle Exercícios 1 Prof. Stefano 2 Histórico A primeira linguagem de programação de

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Cerne Tecnologia e Treinamento (21) (11) MSN: Skipe: cerne-tec

Cerne Tecnologia e Treinamento (21) (11) MSN: Skipe: cerne-tec Cerne Tecnologia e Treinamento Apostila de C para o Microcontrolador AT89S8252 (21) 4063-9798 (11) 4063-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec www.cerne-tec.com.br

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Guia de bolso - Prof. César Melo Histórico A linguagem C é uma linguagem de programação inventada na década de 1970 por Dennis Ritchie Brian Kennigaham.

Leia mais

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A Cerne Conhecimento para o Desenvolvimento Cerne Tecnologia e Treinamento Apostila de BASIC para PIC16F628A (21) 43-9798 (11) 43-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento Cerne Conhecimento para o Desenvolvimento Cerne Tecnologia e Treinamento Apostila de Pascal Avançado para PIC16F877A (21) 4063-9798 (11) 4063-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com

Leia mais

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1 Linguagem C: Variáveis e Operadores Prof. Leonardo Barreto Campos Sumário Variáveis: Tipos de variáveis; Nome da variável; Palavras reservadas; A função printf(); A função scanf(); Variáveis locais; Variáveis

Leia mais

Introdução ao Microcontrolador PIC

Introdução ao Microcontrolador PIC Introdução ao Microcontrolador PIC Nikolas Libert Aula 11 Eletrônica Digital ET52C Tecnologia em Automação Industrial Memórias Memórias Memória de dados Núcleo do μc Memória de código Normalmente os microcontroladores

Leia mais

INTRODUÇÃO: MICROCONTROLADORES

INTRODUÇÃO: MICROCONTROLADORES INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento

Leia mais

Prof. Amauri Assef. UTFPR Campus Curitiba 1

Prof. Amauri Assef. UTFPR Campus Curitiba 1 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA Disciplina de Sistemas Microcontrolados Conversor Analógico para Digital -PIC16F877A

Leia mais

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

Leia mais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microprocessador É um circuito integrado que contém milhares, ou mesmo milhões, de transistores. Os transistores trabalham juntos para armazenar e manipular

Leia mais

SEL PROGRAMAÇÃO EM C

SEL PROGRAMAÇÃO EM C SEL0337 1 8051 PROGRAMAÇÃO EM C LINGUAGEM C Linguagem que pode ser utilizada atualmente na programação de quase todos os microcontroladores; Há microcontroladores com instruções otimizadas para programação

Leia mais

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Objetivos MICROCONTROLADORES SOFTWARE PROGRAMAÇÃO (PARTE: 04) Programação em Linguagem C

Objetivos MICROCONTROLADORES SOFTWARE PROGRAMAÇÃO (PARTE: 04) Programação em Linguagem C MICROCONTROLADORES SOFTWARE PROGRAMAÇÃO (PARTE: 04) 1 Prof. Mauricio Microcontroladores - I Objetivos 2 Programação em Linguagem C Estruturas de Controle if if-else switch Estruturas de Repetição for while

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY INTRODUÇÃO A Plataforma Arduino é considerada plataforma aberta, ou seja, qualquer pessoa pode efetuar uma melhoria em um código, biblioteca e disponibilizá-la

Leia mais

Linguagem de Programação. Thiago Leite Francisco Barretto

Linguagem de Programação. Thiago Leite Francisco Barretto Linguagem de Programação Thiago Leite Francisco Barretto SCHILDT, H. C Completo e Total. 3ª Edição. São Paulo: Makron, 1997. Bibliografia Ementa

Leia mais

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado Engenharia Elétrica AAM Professor: Marco Shawn Meireles Machado Objetivos da Aula: Definir linguagem de alto nível e baixo nível; Descrever a linguagem assembler; Descrever a linguagem C; Revisão linguagem

Leia mais

LINGUAGEM C PARA O 8051

LINGUAGEM C PARA O 8051 LINGUAGEM C PARA O 8051 Disciplina de Microcontroladores Prof. Ronnier e Rubão VARIÁVEIS E TIPOS DE DADOS SIMPLES Char 8 bits Short e int 16 bits Long 32 bits Float 32 bits Unsigned int 16 bits Unsigned

Leia mais

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado Aplicações Avançadas de Microprocessadores Professor: Marco Shawn Meireles Machado Iniciação aos sistemas microcontrolados Objetivos da Aula: Descrever os itens que compõem uma CPU; Detalhar a estrutura

Leia mais

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02 Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial Periféricos Integrados do 8051 Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial Periféricos Integrados do 8051 Portas de entrada e saída O 8051

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

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

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

Leia mais

Linguagem de Programação C

Linguagem de Programação C Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 CIT 2015.2 Aula 02 Variáveis e Estruturas de desvio condicional Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 Variáveis Uma variável nada mais é que um nome que damos a uma determinada posição

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Introdução à Programação em C Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Linguagem C Criada em 1972 para uso no LINUX; Sintaxe base para diversas outras (Java, JavaScript, PHP, C++,

Leia mais

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Revisão C++ - Parte 1

Revisão C++ - Parte 1 Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos

Leia mais

Estrutura do programa

Estrutura do programa Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }

Leia mais

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados Linguagem de Programação I Aula 06 Linguagem C: Tipos de Dados Da Aula Anterior Linguagens de Programação A Linguagem C: Como tudo começou Principais características da Linguagem C O primeiro programa

Leia mais

Sistemas Microcontrolados

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

Leia mais

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

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

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

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo

Leia mais

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento Conhecimento para o Desenvolvimento Cerne Tecnologia e Treinamento Apostila de Assembly para o PIC16F628A (21) 4063-9798 (11) 4063-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe:

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Site: http://oficinaderobotica.ufsc.br/ Canal: Oficina de Robótica UFSC https://www.youtube.com/channel/uc4oojsp2fhfkdrnj0wd7iag

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Na figura abaixo é mostra os pinos do microcontrolador utilizado no montagem da placa, o PIC16F628A.

Na figura abaixo é mostra os pinos do microcontrolador utilizado no montagem da placa, o PIC16F628A. Escrito por Wandery Ap Ramos CLP PIC Wantronics Hoje em dia nas industrias em geral se utilizam muitos inversores de frequência, CLPs, controladores de velocidade, temporizadores, controladores de temperatura,

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Aula 4: Programação em C para PIC Marco Jose da Silva mdasilva@utfpr.edu.br Compiladores C para PICs C18 HI-TECH CCS IAR MikroC http://www.microchip.com/ http://www.htsoft.com/

Leia mais

Sistemas Digitais e Microcontrolados

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

Leia mais

SEL0338 Tópicos Especiais em Sistemas Digitais

SEL0338 Tópicos Especiais em Sistemas Digitais 1 Formato das Instruções Instruções Orientadas a Byte: instrução f,d Designador do Registrador do arquivo (endereço Hexa ou Label) a ser usado pela instrução Exemplo: MOVF f,d ; move o conteúdo do registrador

Leia mais

Sistemas Digitais e Microcontrolados

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

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

Tópicos em C. Eliade F. Lima

Tópicos em C. Eliade F. Lima Tópicos em C Eliade F. Lima maio/2010 Criada em 1972, por Dennis Ritchie, nos laboratórios Bell, para ser usada no sistema operacional UNIX. Linguagem de propósito geral, sendo adequada à programação estruturada.

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ). 2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.

Leia mais

Linguagem C - Introdu ção

Linguagem C - Introdu ção Linguagem C - Introdu ção José Gustavo de Souza Paiva Introdução Linguagens de Programa ção Softwares que permitem o desenvolvimento de programas Existem várias linguagens de programação, cada uma com

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador

Leia mais

2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida

2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida UNIFEI Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI 2a Prova de ELT024 Programação para Sistemas Embarcados Prof. Rodrigo Maximiano Antunes de Almeida

Leia mais

Capítulo 2 Operadores. A função scanf()

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

Conceitos Básicos Linguagem C

Conceitos Básicos Linguagem C Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS MACDIASPAE@GMAIL.COM 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo

Leia mais

Utilização da Linguagem C

Utilização da Linguagem C Histórico Criada em 1972 por Dennis Ritchie Usada no desenvolvimento do sistema operacional Unix no Bell Labs C foi derivada da linguagem B, desenvolvida por Ken Thompson Linguagem procedural de alto nível

Leia mais

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

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

Leia mais

OMódulo Comparador Analógico consiste em um conjunto

OMódulo Comparador Analógico consiste em um conjunto Módulo Comparador Analógico Roteiro N o 05 Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia - DEE Curso de Bacharelado em Engenharia Elétrica - Disciplina

Leia mais

Programação em C++: Introdução

Programação em C++: Introdução Programação em C++: Introdução J. Barbosa J. Tavares Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação

Leia mais

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Linguagem de Programação C. Prof. Fabrício Olivetti de França Linguagem de Programação C Prof. Fabrício Olivetti de França Linguagem C 2 Linguagem C Imperativo e estruturado Pequeno conjunto de palavras-chaves, operadores, etc. Tipagem estática, porém fraca Permite

Leia mais

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador MICROCONTROLADORES HARDWARE 1 Prof. Mauricio Aula 03: Objetivos 2 Arquitetura de um Microcontrolador Unidade Central de Processamento Portas de Entrada e Saída Porta Serial Temporizador / Contador Conversor

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

6. Estrutura do Programa em Assembly

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

Leia mais

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços

Leia mais

Lista de Exercícios A1

Lista de Exercícios A1 Lista de Exercícios A1 14 de março de 2016 1 Realizar a conversão dos números a seguir para binário de 8 bits 1.1 Número (100) 10 Resposta: 0110 0100 1.2 Número (33) 10 Resposta: 0010 0001 1.3 Número (66)

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",

Leia mais

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

Leia mais