O texto está pronto...
Agora está sendo revisado e convertido para LATEX.
Fica bem mais apresentável
http://www.inf.furb.br/~maw/asm51/pagina_livro_pic.pdf
Moderadores: andre_luis, 51, guest2003, Renie
//o exemplo abaixo mostra a interrupcao do TIMER0
unsigned cnt;
void interrupt() {
cnt++; // Incrementa contador a cada interrupcao
TMR0L = 96;
INTCON = 0x20; // Seta T0IE, e reseta T0IF
}
void main() {
T0CON = 0xC4; //prescaler para TMR0
TRISB = 0; // PORTB é saida
PORTB = 0xFF; // Inicializa PORTB
TMR0L = 96;
INTCON = 0xA0; // Habilita interrupcao TIMER0
cnt = 0; // Inicializa contador
do {
if (cnt == 400) {
PORTB = ~PORTB; // Inverte leds no PORTB
cnt = 0; // zera contador
}
} while(1); // loop sem fim
}
//o exemplo abaixo mostra a interrupcao do TIMER
import com.*;
public class Interrupt extends UVMRunnable implements TimerListener {
private int count;
public synchronized void Timer(TimerEvent e){
count++;
PortIO.togglePort(PortIO.PORTB);
}
public void run(){
PeriodicTimer timer = getPeripheralFactory().createPeriodicTimer(
this, 400, PeripheralFactory.EVENT_PRIORITY_BACKGROUND);
try{
timer.start();
}catch(PeripheralUnavailableException e){
System.out.println("PeripheralUnavailableException");
}
PortIO.setTris(0, PortIO.PORTB);
PortIO.setPort(255, PortIO.PORTB);
while( true ){
doEvents();
}
}
}
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante