- Código: Selecionar todos
10m
______/\/\/\_______
| |
1K | +2 vcc |
___/\/\/\_____|_____|\ __| 7 |
| | | \ | saida
| | | \_6______|___________________
| | | /
BOBINA | 3_ | /__ gnd4
| | | |/ _|_
| 22uf == | _
_| _ | _|_gnd
_ gnd _|_ _
_
Moderadores: andre_luis, 51, guest2003, Renie
10m
______/\/\/\_______
| |
1K | +2 vcc |
___/\/\/\_____|_____|\ __| 7 |
| | | \ | saida
| | | \_6______|___________________
| | | /
BOBINA | 3_ | /__ gnd4
| | | |/ _|_
| 22uf == | _
_| _ | _|_gnd
_ gnd _|_ _
_
10m
______/\/\/\_________
| |
1K | +2 vcc |
___/\/\/\___________|__________|\ __| 7 |
| | | \ | saida
| | | \_6___|___________________
| | | /
BOBINA | 3_ | /__ gnd4
| | | |/ _|_
| 22uf == | _
_| _ | _|_gnd
gnd _|_gnd
unsigned int cnt = 0;
void interupcao() {
cnt++;
TMR0 =6;
INTCON = 0x20;
PIR1.TMR1IF = 0;
TMR1H = 0x00;
TMR1L = 0x00;
}
void main() {
OPTION_REG = 0x80;
TMR0 = 6;
INTCON = 0xA0;
OPTION_REG.T0CS = 0;
OPTION_REG.PSA = 0;
OPTION_REG.PS2 = 0;
OPTION_REG.PS1 = 0;
OPTION_REG.PS0 = 1;
T1CON = 1;
PIR1.TMR1IF = 0;
TMR1H = 0x80;
TMR1L = 0x00;
PIE1.TMR1IE = 1;
INTCON = 0xC0;
PIR1.TMR1CS=1;
PIR1.T1OSCEN=0;
T1CON.TMR1ON=1;
ADCON1 = 0X06;
TRISB = 0;
PORTB = 0x0;
cnt = 0;
while (1){
{
interupcao() ;
if (cnt >= 1000) {
PORTB.f0 = ~PORTB.f0;
cnt = 0;
//INTCON =0;
}
}
}
}
/* clock 4mhz!!
Valor inicial do TMR0 = 256 – 250 =6
Calculando o tempo do timer0 x prescaler = tempo do estouro do timer0
Tempo do timer0 = 250
prescaler = 4
Tempo do estouro do timer0 = 250 x 5 = 1000us
Tempo do estouro do timer0 = 1000us
Valor do cont = (1s/ 1000us) = (1000000us/1000us) = 1000
cnt = 1000
*/
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante