Ir para conteúdo
Fórum Script Brasil
  • 0

Teclado Matricial picsim e Mplab


Pedro Lucas Moreira da Silva

Pergunta

preciso fazer um código no mplab para rodar no picsim fazendo com que o usuário digite uma senha com o teclado matricial, e com isso apareça o mesmo número de digitos em "*" e quando o usuário apertar outro botão, apareça a senha digitada. Não estou conseguindo configurar o teclado.

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Você pode usar o MPLAB e o XC8 para escrever o código para o teclado matricial no PICSim. Aqui está um exemplo de código que pode ajudá-lo a começar vampire survivors:

#include <xc.h>
#include <stdio.h>

// Configuração do microcontrolador
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // MCLR Pin Function Select bit (MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = OFF      // Brown Out Reset Selection bits (BOR disabled)
#pragma config IESO = OFF       // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled)

#define _XTAL_FREQ 8000000      // Define a frequência do cristal

// Variáveis globais
char senha[10];                 // Variável para armazenar a senha digitada
int pos = 0;                   // Variável para armazenar a posição atual na senha
int digitado = 0;              // Variável para armazenar o botão digitado

// Protótipos de função
void init(void);               // Função de inicialização
int lerTeclado(void);          // Função para ler o teclado matricial

void main(void) {
    init();
    while(1) {
        digitado = lerTeclado();
        if (digitado != -1) {   // Se algum botão foi pressionado
            senha[pos] = digitado + '0'; // Armazene o número na senha
            pos++;
            printf("*");        // Imprima um asterisco para indicar a entrada do usuário
        }
        // Adicione aqui o código para verificar se outro botão foi pressionado para exibir a senha digitada
    }
}

void init(void) {
    // Inicialização do microcontrolador
    OSCCON = 0b01110010;        // Configura o oscillator interno para 8 MHz
    ANSEL = 0;                 // Configura todos os pinos como digitais
    TRISA = 0b11111111;        // Configura todos os pinos de entrada
    TRISB = 0b

 

Link para o comentário
Compartilhar em outros sites

  • 0
On 1/30/2023 at 4:07 PM, Orah Scher said:

Você pode usar o MPLAB e o XC8 para escrever o código para o teclado matricial no PICSim. Aqui está um exemplo de código que pode ajudá-lo a começar we become what we behold:

#include <xc.h>
#include <stdio.h>

// Configuração do microcontrolador
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // MCLR Pin Function Select bit (MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = OFF      // Brown Out Reset Selection bits (BOR disabled)
#pragma config IESO = OFF       // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled)

#define _XTAL_FREQ 8000000      // Define a frequência do cristal

// Variáveis globais
char senha[10];                 // Variável para armazenar a senha digitada
int pos = 0;                   // Variável para armazenar a posição atual na senha
int digitado = 0;              // Variável para armazenar o botão digitado

// Protótipos de função
void init(void);               // Função de inicialização
int lerTeclado(void);          // Função para ler o teclado matricial

void main(void) {
    init();
    while(1) {
        digitado = lerTeclado();
        if (digitado != -1) {   // Se algum botão foi pressionado
            senha[pos] = digitado + '0'; // Armazene o número na senha
            pos++;
            printf("*");        // Imprima um asterisco para indicar a entrada do usuário
        }
        // Adicione aqui o código para verificar se outro botão foi pressionado para exibir a senha digitada
    }
}

void init(void) {
    // Inicialização do microcontrolador
    OSCCON = 0b01110010;        // Configura o oscillator interno para 8 MHz
    ANSEL = 0;                 // Configura todos os pinos como digitais
    TRISA = 0b11111111;        // Configura todos os pinos de entrada
    TRISB = 0b

 

Some parameters are very precise. Could there be some other alternative function when something goes wrong?

Link para o comentário
Compartilhar em outros sites

  • 0

 I get it. Configurando teclado matricial no PICsim...ugh. I've been there. It's like trying to get a hyperactive toddler to focus. The whole "*" thing to mask the password... yeah, that sounds deceptively simple but it's a total headache to implement smoothly, right? It's almost as frustrating as accidentally tapping the wrong flappy bird pipe for the millionth time. Maybe try breaking it down into smaller, very manageable chunks? Focus on just reading the keypad first, then worry about the masking. Good luck, you've got this! I think... maybe.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,5k
×
×
  • Criar Novo...