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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.