Ajuda ,,,,,

Delphi

02/05/2003

Alguem sabe fazer esse codigo em delphi ?


O próximo passo é escrever o programa. Acredito que você até já saiba o que fazer. Mas, em todo caso...

#include <unistd.h>
include <asm/io.h>
include <stdio.h>

main() {

int i,b; // b é o byte que iremos enviar à porta

ioperm(0x378,1,1); // pedimos permissão para escrever...

b = 1; // começamos enviando o byte 1, para acender
// o primeiro LED

for(;;) { // início do loop infinito

for(i=1;i<8;i++) { // luzinha para um lado...
usleep(500000); /* você precisa fazer o programa
dormir pelo menos 1 micro segundo
antes de enviar outro byte para a
paralela! 500.000 micro segundos
foi um tempo que eu achei razoável
para perceber este efeito.
*/

outb(b, 0x378); // enviamos o byte para porta

b = b >> 1; // movemos os bits 1 posição à direita
}

for(i=8;i>1;i--) { // luzinha pro outro lado..
usleep(500000);
outb(b, 0x378);
b = b << 1;
}
}
}


Evdias

Evdias

Curtidas 0

Respostas

Kroki

Kroki

02/05/2003

Não entendi como e oke vc quer fazer com o Led,mas estude isso;
var
dado:byte;{dado de 8 bits a enviar}
begin
dado:=$ff {binario 11111111,todos leds acesos}
asm
jmp @ini
@loop1:
mov ecx,$ffffff {aqui começa loop de atraso,procure um valor}
dec ecx
jnz @loop1
ret
@ini:
mov dx,$378 {nào é preciso pedir permissao para saida simples}
mov al,dado
out dx,al {saida de byte}
call @loop1 {espera um pouco}
mov al,$0 {apaga leds}
out dx,al {saida de dados}
call @loop1 {loop de atraso denovo}
end;
desenvolva esse codigo as suas nescessidades.


GOSTEI 0
POSTAR