Microcontroladores

Page 1


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



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.