Página 1 de 1

como criar um programa em C para ler um teclado binario?

MensagemEnviado: 22 Jun 2012 13:37
por renan-papaco
montei um teclado binário usando diodos, nele vc pressiona uma tecla de 0 a F e acendem os leds correspondentes ao nibble de cada tecla pressionada...


basicamente, de inicio teria q memorizar a tecla pressionada e exibir seu valor num display LCD e num de 7 seguimentos.
eu já programo ele um pouco... mas não sei mexer muito com variáveis...
tenho um livro PDF q veio junto com o kit q comprei, mas ele é pobre em exemplos e não faço a menor ideia de como começo a fazer o programa.

alguem pode me ajudar? como eu começo?

MensagemEnviado: 22 Jun 2012 14:01
por tcpipchip
aqui tem em mikroc para pic...podes portar para mikroc 8052....utilizando P1 ou P3
Código: Selecionar todos
unsigned char readKey() {
    //joga em linhas 0001
    PORTB=1;
    delay_ms(10);
    //verifica as 3 colunas para ver quem tem nivel logico alto
    if(PORTB.F4==1) {while(PORTB.F4==1); return('1');};
    if(PORTB.F5==1) {while(PORTB.F5==1); return('2');};
    if(PORTB.F6==1) {while(PORTB.F6==1); return('3');};
    //joga em linhas 0010
    PORTB=2;
    delay_ms(10);
    //verifica as 3 colunas para ver quem tem nivel logico alto
    if(PORTB.F4==1) {while(PORTB.F4==1); return('4');};
    if(PORTB.F5==1) {while(PORTB.F5==1); return('5');};
    if(PORTB.F6==1) {while(PORTB.F6==1); return('6');};
    //joga em linhas 0100
    PORTB=4;
    delay_ms(10);
    //verifica as 3 colunas para ver quem tem nivel logico alto
    if(PORTB.F4==1) {while(PORTB.F4==1); return('7');};
    if(PORTB.F5==1) {while(PORTB.F5==1); return('8');};
    if(PORTB.F6==1) {while(PORTB.F6==1); return('9');};
    //joga em linhas 1000
    PORTB=8;
    delay_ms(10);
    //verifica as 3 colunas para ver quem tem nivel logico alto
    if(PORTB.F4==1) {while(PORTB.F4==1); return('*');};
    if(PORTB.F5==1) {while(PORTB.F5==1); return('0');};
    if(PORTB.F6==1) {while(PORTB.F6==1); return('#');};
    delay_ms(100);
    return(255);
}

MensagemEnviado: 22 Jun 2012 14:26
por mastk
Compre um livro de 8051, vai te ajudar a se guiar ao menos no comeco, nas duvidas mais complicadas ou que nao tenha no livro, poste aqui, que o povo te ajuda.

MensagemEnviado: 22 Jun 2012 20:44
por renan-papaco
mastk escreveu:Compre um livro de 8051, vai te ajudar a se guiar ao menos no comeco, nas duvidas mais complicadas ou que nao tenha no livro, poste aqui, que o povo te ajuda.



beleza...eu sou iniciante ainda nesse negócio e vou precisar muito de ajuda, pois sou ruim pra entender as coisas mais complexas...

qual livro vocês me recomendam?

MensagemEnviado: 22 Jun 2012 20:50
por renan-papaco
mastk escreveu:Compre um livro de 8051, vai te ajudar a se guiar ao menos no comeco, nas duvidas mais complicadas ou que nao tenha no livro, poste aqui, que o povo te ajuda.



beleza...eu sou iniciante ainda nesse negócio e vou precisar muito de ajuda, pois sou ruim pra entender as coisas mais complexas...

qual livro vocês me recomendam?

MensagemEnviado: 22 Jun 2012 20:59
por enigmabox
Digita 8051 na busca deste site:

http://www.editoraerica.com.br/pesquisar.asp

Todos em portugues pra começar!

Re: como criar um programa em C para ler um teclado binario?

MensagemEnviado: 14 Jun 2013 00:53
por renan-papaco
problema resolvido... a leitura é tranquila pq em fim descobri o comando switch case.


atraves dele eu atribui um port a uma variavel e leio o valor dessa variavel e apartir dela eu defino no programa oq o MCU deve fazer.

graças a esse comando posso controlar um LCD, ou até mesmo outros dispositivos como o 8255. vlw pela ajuda ai pessoal.