MICROCONTROLADORES
ATIVIDADES COMPLEMENTARES
MICROCONTROLADORES
ATIVIDADES COMPLEMENTARES
M贸dulo | 3 Cap铆tulo| Microcontroladores Autor | F谩bio Timb贸 Brito MiniCV |
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
SUMÁRIO 1 ATIVIDADES COMPLEMENTARES ........................................................ 1 1.1 ATIVIDADES COMPLEMENTARES | AULA 01 ................................... 1 1.2 ATIVIDADES COMPLEMENTARES | AULA 02 ................................... 4 1.3 ATIVIDADES COMPLEMENTARES | AULA 03 ................................... 7 1.4 ATIVIDADES COMPLEMENTARES | AULA 04 .................................. 10 1.5 ATIVIDADES COMPLEMENTARES | AULA 05 .................................. 12 2 APÊNDICE ...................................................................................... 15 2.1GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 01 .............. 15 2.2GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 02 .............. 16 2.3GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 03 .............. 17 2.4GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 04 .............. 18 2.5GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 05 .............. 19
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
1
ATIVIDADES COMPLEMENTARES
1.1 ATIVIDADES COMPLEMENTARES | AULA 01 Realize estas atividades complementares e teste seu conhecimento: 01)Relacione a 1ª e a 2ª coluna: a) (
) Estão presentes da maioria das
aplicações que envolvem um grande volume de informações como arquivos 1- Microcontroladores
de imagens, sons e vídeos são associados externamente outros dispositivos periféricos como memórias, portas de entrada e saída e memórias. b) (
) Representa o cérebro do
microcontrolador sendo composta por 2- Microprocessadores
uma unidade lógica aritmética (ULA), uma unidade de controle e unidades especiais conhecidas como registros. c) (
) Projetado para ser um sistema
computacional completo, possui 3 – CPU
internamente uma CPU, memórias, portas de entrada e saída, conversores A/D entre muitos outros. d) (
4 – Memória RAM
) Esta memória pode ser utilizada
pela CPU para armazenar dados mesmo após um desligamento do microcontrolador. e) (
5 – Memória EEPROM
) É responsável pela manipulação
de dados pela CPU durante a execução do programa.
Página 1
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
02) Transforme os seguintes números binários em decimais: a) 100110101 b) 100000111 c) 11110101 d) 01010101 03) Qual o valor numérico máximo de um número decimal que pode ser escrito por um numero binário de 14 bits? 04) Transforme os seguintes números binários em hexadecimais: a) 00110111 b) 00001010 c) 11110100 d) 10011000 05) Qual a função da ULA? 06) Qual a diferença entre a arquitetura Von Neumann e a arquitetura Harvard? 07) Relacione a 1ª e a 2ª coluna: 1- signed int
a) (
) 0 a 65535
2- short
b) (
) -1,5 x 10
3 – unsigned int
c) (
) -128 a 127
4 - float
d) (
) -32768 à 32767
45
à 3.4 x 10
38
08) Corrija as seguintes linhas de código em linguagem C pra MikroC define led0 PORTD.F0 char texto[10]=(‘Teste de frase’)
Página 2
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
09)
Se um determinado programador decidir fazer um programa em
linguagem C em vez da linguagem Assembly para microcontrolador, quais seriam as vantagens deste programa? 10) Pesquise na internet e discorra sobre outros tipos de linguagem de programação para microcontroladores diferentes da linguagem assembly e a linguagem C.
Página 3
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
1.2 ATIVIDADES COMPLEMENTARES | AULA 02 Realize estas atividades complementares e teste seu conhecimento: 01) Marque (V) para verdadeiro ou (F) para Falso: a)(
) As constantes podem ser alteradas durante a execução do programa.
b)(
) O valor 25E-10 pode ser armazenado em uma constante de ponto flutuante.
c)(
) O operador * possui menor precedência do que o operador +.
d)(
) A expressão e%=2 é equivalente a expressão e=(e+2)%2.
02) Marque as declarações das variáveis abaixo com P (permitido) e N( não permitido): a) (
) double endereço;
b) (
) int _valor_mínimo;
c) (
) char string
d) (
) float endereco@
e) (
) char %texto
f) (
) int valor1
g) (
) int _portab
03) Relacione a 1ª e a 2ª coluna: 1 – Constante de caractere;
a) ( ) const int valor= 0x0A;
2 – Constante em ponto flutuante
b) ( ) const double neper=2.71828;
3 – Caractere de escape
c) ( ) const a= ‘A’;
4 – Constante inteira
d) ( ) const char =‘\r’;
04) Calcule o valor das seguintes constantes; a) int a = 1+3 / 1 + 7*3 +1 ; b) int b = 10 % 3; c) int c= (8*(3 + 1))%4; d) int d=(2* 3 + 2)%3;
Página 4
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
05) Marque o resultado das operações abaixo como verdadeiro (V) ou falso (F): a) (
) 7 <= (2*3+2);
b) (
) 9 > (2*(3-2));
c) (
) 3 < (8%3);
d) (
) 10 >= (80/(4+1));
06) Calcule o valor da variável c no seguinte programa: bit a; bit b; bit c; main() {a=0;b=1;a=b|a;c=~a;c2=c^b;}
07) Calcule os valores da variáveis cx e dx no seguinte programa: unsigned short int ax = 0b00100000; unsigned short int bx = 0b10000000; unsigned short int cx,dx; main() { cx = ax <<1; dx= bx >>2; dx= dx | cx; cx= bx & dx; }
08) Faça um programa para em linguagem C para microcontrolador para multiplicar todos os números ímpares de 3 a 10.
Página 5
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
09) Dado o programa abaixo, calcule o valor de da variรกvel a3 unsigned short int a1 = 100; unsigned short int a2 = 200; unsigned short int a3 = 100; main() { if (((a1>50)&&(a2<300))&&((a3>50))) { a3=a1++; } else { a3=a2--; } }
10) Explique como o funcionamento do programa abaixo if(!PORTA.F0) { estado_anterior=1;} if(PORTA.F0 && estado_anterior) { estado_anterior=0; selecao=selecao+1; }
Pรกgina 6
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
1.3 ATIVIDADES COMPLEMENTARES | AULA 03 Realize estas atividades complementares e teste seu conhecimento: 01) Explique o funcionamento do seguinte fragmento de programa if (PORTE.F1== 1) {led_vermelho=0;} else { led_vermelho=1; delay_ms(500); led_vermelho=0; delay_ms(500); }
02) Relacione a 1ª e a 2ª coluna: 1 – Flag de interrupção externa
a) ( ) CCP1IF
2 – Flag de interrupção serial
b) ( ) RCIF
3 – Flag de transmissão serial
c) ( ) RB0IF
4 – Flag de interrupção módulo CCP1
d) ( ) TXIF
Página 7
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
03) Calcule os valores dos registros TMR1H e TMR1L no programa abaixo, para que o tempo de oscilação entre o led_verde e o led_vermelho seja de 1 segundo. #define led_verde PORTB.F6 #define led_vermelho PORTB.F5 unsigned short conta; void interrupt() { conta ++ ; PIR1.TMR1IF = 0; // Limpa o flag TMR1IF TMR1H = ______; // Inicializa registro do Timer 1 TMR1L = ______ ; } void main() { TRISB = 0x00; // PORTB é saída T1CON = 0x31; // Ajuste do Timer1 prescaler 1:8 PIR1.TMR1IF = 0; // Limpa o flag TMR1IF TMR1H = ______; TMR1L = ______ ; PIE1.TMR1IE = 1; // Habilita a interrupção do Timer1 conta = 0; // inicializa conta INTCON = 0xC0; // habilita GIE, PEIE led_verde=1; //inicializa led verde igual a 1; led_vermelho=0;// inicializa led vermelho igual a 0; do { if (conta == 4) led_verde=~led_verde; //Inverte a situação do pino 6 da porta B. led_vermelho=~led_vermelho; // Inverte a situação do pino 5 da porta B.
04) Com base no programa anterior e nos valores calculados de TMR1H e TMR1L, calcule o tempo, a partir da interrupção timer1, de oscilação entre os LED´s vermelho e verde conectados na porta B do microcontrolador se o valor do prescaler do timer1 for igual 1:2. 05) Calcule o valor de preset do timer 2 caso seja necessário contar um tempo
de
10
ms
Página 8
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
entre interrupções com um microcontrolador com um cristal de 4 MHz com prescaler igual 1:16 e o postscaler igual a 1:16. 06) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior,simule um programa de microcontrolador 16F877A que alterna o estado de um led a cada 10 segundos utilizando a interrupção timer 0. 07) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior, simule um programa para microcontrolador 16F877A que alterna o estado de um led a cada 10 segundos utilizando a interrupção timer 1. 08) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior, simule um programa para microcontrolador 16F877A que alterna o estado de um led a cada 10 segundos utilizando a interrupção timer 2. 09)
Dado o fragmento de programa abaixo de um conversor A/D de 10
bits, calcule o valor de tensão que comuta
led_vermelho 1 e led_verde
para 0. while(1) {valor = ADC_Read(0); delay_ms(100); if (valor>200){ led_vermelho=1; led_verde=0;} 10) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior, simule um programa para microcontrolador 16F877A que aciona um led quando a tensão de entrada no conversor A/D for maior que 3,5 V ou menor que 1,5 V.
Página 9
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
1.4 ATIVIDADES COMPLEMENTARES | AULA 04 Realize estas atividades complementares e teste seu conhecimento: 01) Construa um programa para microcontrolador que utiliza uma função para retornar o valor “1” caso um número seja par e “0” caso um numero seja ímpar. 02) O significa prototipagem de uma função? 03) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior, simule um programa para microcontrolador 16F877A que executa um temporizador crescente em dois displays de 7 segmentos a cada 1 segundo. Quando atingir o valor de 99 deve-se reiniciar o temporizador. 04) Escreva um fragmento de programa para escrever o texto “Motor CC” a partir da linha 2 e coluna 3 de um display de LCD 16x2 através do programa MikroC. 05) Cite duas características do padrão de comunicação serial EIA/TIA 232. 06) Cite duas características do padrão de comunicação serial EIA/TIA 485. 07) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior,simule um programa para microcontrolador 16F877A que envia pela comunicação serial RS-232 a tecla correspondente de um teclado matricial. 08) Um motor CC alimentado por 10 V produz uma velocidade de 800 rpm. Qual a velocidade deste motor e a tensão CC equivalente se o mesmo for ligado através do PWM1 do microcontrolador PIC16F877 através do comando: PWM1_Set_Duty(70)?
Página 10
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
09) Com relação ao motor da questão anterior, calcule o parâmetro que deve ser inserido na função PWM1_Set_Duty() para que o motor gire com uma velocidade de 100rpm. 10)
Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior,simule um programa para microcontrolador 16F877A que altera a posição de um servomotor a partir do valor de ajuste de um potenciômetro.
Página 11
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
1.5 ATIVIDADES COMPLEMENTARES | AULA 05 Realize estas atividades complementares e teste seu conhecimento: 01) O programa calcula a luminosidade a partir de um LDR. Calcule a luminosidade equivalente a uma tensão de 3 V na saída do LDR, ligado em série com um resistor de 1kΩ.
tensao=ADC_Read(0); delay_ms(100); tensao=tensao*0.0048875; if (tensao>2 && tensao<2.8)
{
if (tensao>=2.8 && tensao<=3.8) if (tensao>3.8)
{
lux=(3936.4-(1249*tensao))/0.8; { lux=2057.2-494*tensao;
lux=(900-180*tensao)/1.2;
02) Utilizando o programa Proteus
8.0 SP0
}
}
}
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior,simule um programa para microcontrolador 16F877A que aciona um led quando a luminosidade for menor que 250 lux.
03) Uma entrada analógica de um microcontrolador configurado para 10 bits com tensão de referência 5 V. Se a tensão enviada por um sensor de temperatura LM35 for indicada pelo valor 120 ,em decimal, qual é a temperatura no sensor? 04) Calcule o valor o valor da variável que armazena o valor de uma conversão A/D de 8 bits (VREF=5 V) de um microcontrolador quando é ligado um sensor LM35 cuja temperatura é 120° C. 05) Marque (V) para verdadeiro ou (F) para Falso: a)(
) Um
LDR
Página 12
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
apresenta uma resistência menor a medida que a incidência de luz aumenta; b)(
) O protocolo I²C é um tipo de comunicação assíncrona;
c)(
) No protocolo I²C são necessários resistores de Pull-ups para manter o barramento em nível alto quando nenhum dispositivo estiver acessando a via de comunicação.
d)(
) O protocolo One Wire permite a alimentação dos dispositivos através do próprio barramento de dados
06) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior,simule um programa para microcontrolador 16F877A que conta o número de vezes que um botão é pressionado e armazena este valor em uma memória EEPROM e em um LCD. 07) Complete o fragmento de programa abaixo para converter o valor de tensão enviado por um sensor LM35 em um valor de temperatura para um conversor A/D de 10 bits. tensao=ADC_Read(0); delay_ms(100); temp=tensao*______;
08) Utilizando o programa Proteus
8.0 SP0
(www.labcenter.com) e o
programa MikroC MikroC PRO 6.0.0 (www.mikroe.com) ou superior,simule um programa para microcontrolador 16F877A que controla a velocidade de um ventilador acionado por um motor CC a partir da temperatura enviada por um sensor LM35.
09) Utilizando o programa Proteus programa
8.0 SP0
(www.labcenter.com) e o MikroC Página 13
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
MikroC PRO
6.0.0 (www.mikroe.com) ou superior,simule um programa
para microcontrolador 16F877A que controla a posição de um servomotor (0 a 180°) a partir do valor de luminosidade enviado por um LDR. 10) Pesquise na internet detalhes de um processo industrial e monte um circuito utilizando um microcontrolador e dispositivos periféricos como um motor CC, servomotor, LCD, comunicação serial e LM35. Após montar o circuito físico apresente para seus colegas e professor.
Página 14
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
2
APÊNDICE
2.1 GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 01 01) 1-c) 2-a) 3-b) 4-e) 5-d) 02) a) 309 b) 263 c) 245 d) 85 03) 16383 04) a) 37 b) 0A c) F4 d) 98 05) É responsável por todas as operações matemáticas e lógicas do microcontrolador. 06) Na arquitetura Von Neumann é utilizado um barramento único para comunicação com a memória de programa e memória de dados. Já na arquitetura Harvard são utilizados dois barramentos distintos que realizam a comunicação da CPU com a memória de programa e a memória de dados. 07) 1-d) 2-c) 3-a) 4-b) 08) #define led0 PORTD.F0 char texto[12]=(“Teste frase”);
09) Maior facilidade de entendimento do programa e portabilidade. 10) Pesquisa
Página 15
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
2.2 GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 02 01) F-V-F-F 02) a) N b) N c) N d) N e)N f)P g)P 03) 1-c) 2-b) 3-d) 4 a) 04) a) 26 b) 1 c) 0 d) 2 05) V-V-F-F 06) 1 07) cx=128 dx=144 08) (sugestão) Long int n,mult=1; main() {for (n = 3; n <=10;n++) {if ((n%2)==1) mult= n * mult;}}
09) 101 10) Quando a porta passa do estado 1 para 0, devido a instrução if(!PORTA.F0), a variável estado_anterior é igual ao valor 1 . Se a porta passar
do
estado
estado_anterior),
0
para
1,
devido
a
instrução
if(PORTA.F0
&&
serão executadas as instruções entre as chaves. Este
programa funciona como uma contagem de pulsos do pino 0 da porta A.
Página 16
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
2.3 GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 03 01) Se o pino 1 da porta E for igual a 1 a variável led_vermelho é igual a 0. Caso contrário, a variável led_vermelho irá alterar entre 0 e 1 a cada 500 ms. 02) 1-c) 2-b) 3-d) 4 a) 03) TMR1H=0x85 e TMR1L=0xEE. 04) 0,125 segundos 05) 38 06) Prática 07) Prática 08) Prática 09) Aproximadamente 9,7 V. 10) Prática
Página 17
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
2.4 GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 04 01) (Sugestão) int numero=10, res; int par(int num) { if (num%2)return 1; else return 0; } void main() {res=par(numero);}
02) Recurso utilizado para a chamada de uma função antes desta função ter sido definida. Para evitar um erro do compilador, torna-se necessário fazer uma declaração prévia da função, chamada de prototipagem da função. 03) Prática 04) Lcd_Out(2, 3, "Motor CC”). 05) Distância máxima de até 15m e taxa de transmissão máxima de 19,2 kbps. 06) Distância máxima de até 1200m e taxa de transmissão máxima de 10 Mbps. 07) Prática 08) 219 rpm e 2,7 V 09) Aproximadamente 31 10) Prática
Página 18
MICROCONTROLADORES ATIVIDADES COMPLEMENTARES
2.5 GABARITO DAS ATIVIDADES COMPLEMENTARES|AULA 05 01) 575 lux 02) Prática 03) Aproximadamente 58,65 ° C 04) Aproximadamente 61 05) V-F-V-V 06) Prática 07) 0.4875 08) Prática 09) Prática 10) Prática
Página 19