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

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

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

Mensagempor renan-papaco » 22 Jun 2012 13:37

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?
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Mensagempor tcpipchip » 22 Jun 2012 14:01

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);
}
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor mastk » 22 Jun 2012 14:26

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.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor renan-papaco » 22 Jun 2012 20:44

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?
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Mensagempor renan-papaco » 22 Jun 2012 20:50

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?
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56

Mensagempor enigmabox » 22 Jun 2012 20:59

Digita 8051 na busca deste site:

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

Todos em portugues pra começar!
enigmabox
 

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

Mensagempor renan-papaco » 14 Jun 2013 00:53

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.
Sabe quem mais programa um 8051 com ROM externa? MINHA MÃE! HOOOOOOOOOOOOOOOOOO
Avatar do usuário
renan-papaco
Byte
 
Mensagens: 292
Registrado em: 17 Jun 2012 15:56


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x