Hola compadres..
Pues bien ahora cuelgo el 2do ejemplo hecho por el pana doppel, pero para AVR en BASCOM..

La verdad no encontre en BASCOM ningun comando que funcione como el comando BUTTON de Proton, pero bueno, el problema se soluciona utilizando un IF..
Aca el codigo, cualquier consulta pues ya saben...
SALUDOS DESDE ECUADOR




"*****************************************************************
" BOTON Y SUBRUTINA ALTERNAR
"
"La verdad no encontre un comando parecido al BUTTON de Proton aca
"en Bascom AVR, pero se lo utiliza con un IF y todo solucionado.
"*****************************************************************
"*****************************************************************
" DECLARACION DEl CRISTAL A USAR
"*****************************************************************
$crystal = 1000000 " definir cristal interno del atmega8 1MHz la frecuencia
"*****************************************************************
" DECLARACION DE PINES COMO ENTRADA Y/O SALIDA
"*****************************************************************
Ddrb.1 = 1 " configurar el pin B1 como salida
Portb.1 = 0 " ambas instrucciones
Ddrb.0 = 1 " configurar el pin B0 como salida
Portb.0 = 0 " ambas instrucciones
Ddrb.2 = 0 " configurar el pin B2 como entrada en estado 1 logico
Portb.2 = 1 " ambas instrucciones
Led1 Alias Portb.0 " RENOMBRA AL PIN B0
Led2 Alias Portb.1 " RENOMBRA AL PIN B1
Switch Alias Pinb.2 " RENOMBRA AL PIN B2
"*****************************************************************
" PROGRAMA PRINCIPAL
"*****************************************************************
Main: " RUTINA PRINCIPAL
Set Led1 " ENCENDER LED1 B0
Set Led2 " ENCENDER LED2 B1
Waitms 500 " TIEMPO DE ENCENDIDO 0.5 SEG
Reset Led2 " APAGAR LED2 B1
Reset Led1 " APAGAR LED1 B0
Waitms 500
If Switch = 0 Then
Waitms 50
Goto Alternar
End If " ANTIREBOTE HASTA SOLTAR EL SWITCH
Goto Main " LAZO INFINITO DE RUTINA MAIN
Alternar:
Set Led1 " ENCENDER LED1 B0
Reset Led2 " APAGAR LED2 B1
Waitms 500 " TIEMPO DE ENCENDIDO 0.5 SEG
Set Led2 " ENCENDER LED2 B1
Reset Led1 " APAGAR LED1 B0
Waitms 500
If Switch = 0 Then
Waitms 50
Goto Main
End If
Goto Alternar
End
"**********************************************
" FIN
"**********************************************
Desde este link pueden descargar los archivos necesarios para la compilacion y la simulacion en Proteus..
http://miarroba.com/foros/ver.php?foroid=348538&temaid=3885278Un fuerte abrazo compadres

