Sunteți pe pagina 1din 1

'Control_temperatura.

BAS
'--------------------------------------------------------------------
'Descripcion: Programa que implementa un control todo o nada con
' histeresis mediante Atmega8.
'--------------------------------------------------------------------
$regfile = "m328pdef.dat" 'indica al compilador
el dispositivo a usar
$crystal = 16000000 'la frecuencia del
reloj (16MHz)
'$hwstack = 32
mm n. n.hv
'$swtack = 10
'$framesize = 16

Dim A As Byte
Dim B As Byte

Config Portb = Output 'Configura el puerto b


como salida

'Configura el timer1 como contador, con preescalador de 1024,

Config Timer1 = Counter , Prescale = 1024 , Clear Timer = 1


'especifiado por Compare1A
Timer1 = 0 'inicializa el timer1
en cero.

On Compare1a Muestreo1
' Muestreo1 es el LABEL a la cual debe saltar cuando de tiene una interrupcion

'Calcular el tiempo de muestro T:


' 1 segundo = 16`000000/1024 =15625
'se contara hasta el valor 15625 para un T=4s ' 15625=H3D09
Compare1a = &HF424
Enable Compare1a 'Habilita la
interrupcion por comparacion de timer1
Enable Interrupts 'Habilita las
interrupciones en general

Do
A = 0
Loop
End 'final del programa

'Rutina de interrrupcion (actualizar salida)

Muestreo1:
Timer1 = 0
If B < 15 Then
Incr B
Else
B = 0
End If

'Desarrollar el algoritmo de control:

Return 'fin de la rutina de


interrupcion

S-ar putea să vă placă și