AT90s4433 - Uhrzeit mit BASCOM

Gast #2236383
Lesenswert?

Hallo,
ich habe seit langem mal wieder meine Mikrocontroller aus dem Schrank 
geholt, da ich für ein Aquarium eine Steuerung basteln wollte.
Ein Punkt ist z.B. Dimmen über die 1-10V Schaltung.
Es soll morgens halt langsam angehen und eine Stunde später auf ca. 80% 
sein.

Dummerweise musste ich jetzt feststellen das Bascom AVR mir sagt das die 
Timer Funktion nicht für meinen Mikrocontroller supported wäre.

$regfile = "4433def.dat"
$crystal = 4000000


Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , 
Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcd = 16 * 2                                         'configure 
lcd screen
Config 1wire = Portd.7                                      'DS1820 Pin
Config Portd = Output
Config Portb = Input
Config Clock = Soft

Es kommt beim kompilieren zu den Fehlern:
error 210 line 10 Bit definition not found [AS2
error 232 line 10 not supported for the selected micro


Laut Datenblatt unterstützt der 4433 doch timer.

Hat jemand Rat?

Danke!
Gast #2236404
Lesenswert?

hab nur noch ein paar von denen hier rum liegen, werde dann eh auf die 
atmega wechseln. Aber nur wegen der Uhr jetzt erst neue bestellen...
Wie wurde das denn vorher gemacht?
Es musst doch noch codebeispiele geben, oder ging das nicht vorher?
Gast #2236419
Lesenswert?

Hi

>hab nur noch ein paar von denen hier rum liegen, werde dann eh auf die
>atmega wechseln. Aber nur wegen der Uhr jetzt erst neue bestellen...
>Wie wurde das denn vorher gemacht?

Mit zählen. Aber dein Programm scheint auf den Asynchron-Mode eines 
Timers zuzugreifen zu wollen. Und das hat der 4433 nicht.

MfG Spess
Gast #2236454
Lesenswert?

Ja, da muss man "von Hand" zählen. Z.b. so:
1
$regfile = "4433def.dat"
2
$crystal = 4000000
3
'$sim
4
Dim Sekunde As Integer
5
Config Timer1 = Timer , Prescale = 64
6
Enable Timer1
7
On Timer1 Sekundeisr
8
Enable Interrupts
9
Start Timer1
10

11
Do
12
  Print Sekunde
13
Loop
14

15
End
16

17
Sekundeisr:
18
  Timer1 = 3036
19
  Incr Sekunde
20
  If Sekunde = 60 Then Sekunde = 0
21
Return

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren