Lab 04 Micro

Você também pode gostar

Você está na página 1de 13

1

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ


ENGENHARIA DA COMPUTAÇÃO

ALUNO: LUCAS VINICIUS ZUQUE DELIMA, RA:2268710

Laboratório 4

SISTEMAS MICROCONTROLADOS

CORNÉLIO PROCÓPIO
2024
2

Pergunta 1: Os pinos das portas D e E do chip estão conectados ao controlador LCD (Liquid
Crystal Display). O controlador LCD é um periférico interno responsável por gerar os sinais
necessários para controlar a exibição de texto e imagens no LCD

Pergunta 2: LCD: O LCD está conectado aos pinos D0 a D7 da porta D e aos pinos E, RS e
RW da porta E. O LCD é um dispositivo de exibição que permite visualizar texto e imagens.
Botões: Os botões estão conectados aos pinos D8 a D11 da porta D. Os botões são utilizados
para interagir com o LCD, por exemplo, para navegar pelos menus ou para inserir dados.
Outros materiais:
Motores: Os motores podem gerar ruído elétrico que pode interferir nos sinais enviados ao
LCD.
Sensores: Os sensores podem gerar sinais que podem ser interpretados erroneamente pelo
LCD.

Pergunta 3: Funções dos resistores R2, R3, R4 e R5:


Os resistores R2, R3, R4 e R5 são resistores de limitação de corrente, também conhecidos
como resistores de série. Sua função é limitar a corrente que flui pelas linhas de linha do
teclado matricial (L0 a L3). Isso significa que, quando uma tecla for pressionada, a corrente
que flui pelas linhas de linha será limitada a um valor seguro.
Os resistores R1, R6, R7 e R9 são resistores pull-up, também conhecidos como resistores de
elevação. Sua função é garantir que as linhas de coluna do teclado matricial (C0 a C3) estejam
em um nível lógico alto (1) quando nenhuma tecla estiver pressionada. Isso significa que,
quando nenhuma tecla estiver pressionada, o microcontrolador lerá um valor alto nas linhas
de coluna.
3

2) Apresentar o Fluxograma que você desenvolveu para realizar a Leitura do Teclado Matricial e
escrita no LCD. Detalhe as configurações iniciais que devem ser realizadas antes do Loop infinito
4
5
6
7

3) Apresentar (explicar) apenas o código fonte documentado sem o cabeçalho


#include <xc.h>
#include "nxlcd.h"
#define _XTAL_FREQ 20000000
#define COL3 PORTBbits.RB0
#define COL2 PORTBbits.RB1
#define COL1 PORTBbits.RB2
#define COL0 PORTBbits.RB3
#define LIN0 PORTBbits.RB4
#define LIN1 PORTBbits.RB5
#define LIN2 PORTBbits.RB6
#define LIN3 PORTBbits.RB7
#define DATA4 PORTDbits.RD4
#define DATA5 PORTDbits.RD5
#define DATA6 PORTDbits.RD6
#define DATA7 PORTDbits.RD7
#define RS PORTEbits.RE0
#define E PORTEbits.RE1
#define CLR PORTEbits.RE3
void main(void) {
TRISDbits.TRISD4=0;
TRISDbits.TRISD5=0;
TRISDbits.TRISD6=0;
TRISDbits.TRISD7=0;
TRISEbits.TRISE0=0;
TRISEbits.TRISE1=0;
TRISBbits.TRISB0=0;
TRISBbits.TRISB1=0;
TRISBbits.TRISB2=0;
TRISBbits.TRISB3=0;
TRISBbits.TRISB4=1;
TRISBbits.TRISB5=1;
TRISBbits.TRISB6=1;
8

TRISBbits.TRISB7=1;
COL0=1;
COL1=1;
COL2=1;
COL3=1;
DATA4=1;
DATA5=1;
DATA6=1;
DATA7=1;
int valor = 0;
ADCON1 = 0x0F;
while(1){
COL0=0;
COL1=1;
COL2=1;
COL3=1;
__delay_ms(100);
if(!LIN0) valor = 1;
else if(!LIN1) valor = 4;
else if(!LIN2) valor = 7;
else if(!LIN3) valor = 15;
COL0=1;
COL1=0;
COL2=1;
COL3=1;
__delay_ms(100);
if(!LIN0) valor = 2;
else if(!LIN1) valor = 5;
else if(!LIN2) valor = 8;
else if(!LIN3) valor = 0;
COL0=1;
COL1=1;
COL2=0;
COL3=1;
9

__delay_ms(100);
if(!LIN0) valor = 3;
else if(!LIN1) valor = 6;
else if(!LIN2) valor = 9;
else if(!LIN3) valor = 14;
COL0=1;
COL1=1;
COL2=1;
COL3=0;
__delay_ms(100);
if(!LIN0) valor = 10;
if(!LIN1) valor = 11;
if(!LIN2) valor = 12;
if(!LIN3) valor = 13;
OpenXLCD(FOUR_BIT & LINES_5X7);
WriteCmdXLCD(0x01);
__delay_ms(10);
WriteCmdXLCD(0x84);
putrsXLCD ("Valor:");
WriteCmdXLCD(0xC8);
if(valor <= 9) putcXLCD ('0' + valor);
else putcXLCD ('A' + valor - 10);
}
}
10

4) Apresentar (explicar) duas telas do funcionamento da sua simulação e duas imagens (fotos) do
funcionamento do Kit Didático
11

O Kit Didático fornece uma interface física para simular a pressão das teclas e observar o
comportamento do sistema em um ambiente real.
12

A simulação do teclado matricial permite ao usuário interagir com um teclado virtual e


visualizar os resultados na tela.
13

5) Descreva as dificuldades que teve durante o desenvolvimento deste laboratório


Entender a complexa relação entre as linhas e colunas do teclado matricial, a leitura das teclas
pressionadas e a interface com o microcontrolador foi um desafio.

Você também pode gostar