Академический Документы
Профессиональный Документы
Культура Документы
L239D 1 $1
INTERRUPTORES 2 $2
ENGRANAJES 2 $5
CABLES 2 $4
TOTAL $37
Esquemático en Proteus.
int btn;
int btn1;
int i=0;
int estado;
long offset=0;
void InitTimer0(){
OPTION_REG = 0x85;
TMR0 = 100;
INTCON = 0xA0;
void Interrupt(){
if (TMR0IF_bit){
TMR0IF_bit = 0;
TMR0 = 100;
}
unsigned long millis()
void main() {
InitTimer0();
/*asm{
banksel TRISB
clrf TRISB
banksel TRISD
clrf TRISD
banksel ANSEL
clrf ANSEL
clrf ANSELH
banksel PORTB
clrf PORTB
banksel PORTD
ANSEL=0;
ANSELH=0;
TRISA=1;
TRISB=0;
TRISD=0;
PORTA=0;
PORTB=0;
PORTD=0;
PORTC=0;
treset = EEPROM_Read(0x02);
//INICIO DE PROGRAMA
while (1){
PORTD=0;
offset=millis();
asm{
estado=PORTA.RA0;
if (estado==0){
btn=1;
while (btn==1){
asm{
time1=millis()-offset;
tneto=time1-tanterior;
EEPROM_Write(0x02,tneto);
//Activa el motor para abrir la puerta de garaje
PORTD.RD0=1;
PORTD.RD1=0;
PORTD.RD3=1;
PORTD.RD4=0;
if (tneto>1000){
asm{
asm{
//PORTD.RD0=0;
//PORTD.RD1=1;
delay_ms(10000);
break;
}
}}