|
Usuários online |
|
Nenhum usuário online |
|
Nós temos 2 visitantes online |
|
Usuários Registrados |
| 1850 registrados | | 1 hoje | | 4 esta semana | | 10 no mês | | Último: |
rogerio.bru | |
|
 |
|
|
|
Re:Memoria de Bit do 8051 (1 visualizando) (1) Visitante
Favorito por: 0
|
|
|
TÓPICO: Re:Memoria de Bit do 8051
|
rhungria (Usuário)
Fresh Boarder
Mensagens: 1
|
|
Memoria de Bit do 8051 2 Mês atrás
|
Popularidade: 0
|
|
Olá estou utilizando o microcontrolador 8051 para ser mais exato o at89X52, e compilando o código com o keil, estudando uC 8051 observei que o endereço de memoria 20h a 2Fh poder ser endereçados bit a bit de 00h a 1Fh. Então o que estou saber como leio o endereço do bit em C:
Ex: uma Variavel tipo Bit receberer o bit do endereço 15h.
Outra dúvida tem como ler uma faixa de bit continuos mas em bytes difentes?
Depois se é possivel gravar em um byte ou mais bytes dependendo da faixa de bit lida.
EX: tipo copiar os bits de 03h a 0Fh, oque resultara na cópia de 1byte e mais os 4 bits dos menos significativos do próximo byte.
Att.
Rodrigo Martins
|
|
|
|
|
|
|
O administrador desabilitou acesso publico para escrita.
|
rdmeneze (Usuário)
Fresh Boarder
Mensagens: 1
|
|
Re:Memoria de Bit do 8051 1 Mês, 3 Semanas atrás
|
Popularidade: 0
|
|
Olá,
pelo que sei do 8051 não é possível realizar a operação que você está desejando. O principal motivo para isso é o modo de endereçamento existente para bits na arquitetura x51.
Acredito que a melhor opção para você é trabalhar com os bits individualmente ou então trabalhar com a manipulação dos bytes através das instruções de deslocamento( >> , << ), setbit e clearbit.
As operações SetBit e ClearBit podem ser implementadas usando os operadores de bit OU (|), E(&) e negação(~). Por exemplo, para setar um bit faça
char A;
A = 0x00;
A |= 0x01; // seta bit A^0
// para setar outros bits é simples.
A operação de zerar um bit é semelhante:
A &= ~(0x01); // apaga bit A^0
gosto de usar a operação de negação binária pois é mais fácil de lembrar que estou manipulando o bit 0. A optra opção é fazer
A &= 0xFE;
Agora, para manipular um bit em um endereço específico, acredito que vccê tenha que usar o modificador sfr à sua variável "char" e associar esse o endereço 0x20 à essa variável.
Espero ter ajudado em algo.
|
|
|
|
|
|
|
O administrador desabilitou acesso publico para escrita.
|
|
|
|
|
|
|
|
 |
|