Wie werkt er wel eens met een Microcontroller ???

Pagina: 1
Acties:

  • o0SmOkE0o
  • Registratie: December 2000
  • Niet online
Topic titel zegt het al... Wie heeft er wel eens mee gewerkt ?

En wat heeft tie er mee gemaakt ?

Ervaringen / ideeen ?

Ik zelf met een Atmel AT90S1200. En simpel programmeren in Basic ;)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Dit is meer iets voor de elektuur ;)

Verwijderd

Tja, met diversen, maar wat wil/zoek/vraag* je nu precies?

Verwijderd

met de 80515 ofzo.. Bij low level programming...
Eens en noooooit meer. Nix voor mij dat assembler gedoe

Verwijderd

Nix voor mij dat assembler gedoe
Maar wie zegt dat het in assembler moet? Welkom in de 21e eeuw. Tegenwoordig worden microcontrollers voornamelijk in C of C++ geprogrammeerd.

Verwijderd

Op zondag 24 februari 2002 14:17 schreef delighteddennis het volgende:

[..]

Maar wie zegt dat het in assembler moet? Welkom in de 21e eeuw. Tegenwoordig worden microcontrollers voornamelijk in C of C++ geprogrammeerd.
nee, ze worden nog altijd in assembly geprogrammeerd.
Jij schrijft ze in c, c++, pascal, basic, jal of whatever.
waarna ze gecompileerd worden naar assembly.

Verwijderd

Op zondag 24 februari 2002 18:50 schreef -Confusion- het volgende:

[..]

nee, ze worden nog altijd in assembly geprogrammeerd.
Jij schrijft ze in c, c++, pascal, basic, jal of whatever.
waarna ze gecompileerd worden naar assembly.
Mierenneuker! :) Ik pruts zelf wel eens met de PIC16F84 IC's in C. Gaat best aardig, maar debuggen is echt waardeloos (zonder onwijs dure extra tools). Heb er nog niet veel bijzonders mee gemaakt; een toerenteller en iets om een LCD display aan te sturen.

  • Martin Sturm
  • Registratie: December 1999
  • Laatst online: 10-09 23:27
Op zondag 24 februari 2002 18:50 schreef -Confusion- het volgende:

[..]

nee, ze worden nog altijd in assembly geprogrammeerd.
Jij schrijft ze in c, c++, pascal, basic, jal of whatever.
waarna ze gecompileerd worden naar assembly.
duh.

Verwijderd

nou sorry hoor :'(

  • o0SmOkE0o
  • Registratie: December 2000
  • Niet online
Op zondag 24 februari 2002 19:38 schreef hondass50 het volgende:

Heb er nog niet veel bijzonders mee gemaakt; een toerenteller en iets om een LCD display aan te sturen.
Mag ik vragen hoe je die opgebouwd hebt ? Wat gebruik je als sensor voor het toerental en hoe laat je dit zien ?

Ps. dit hoort toh allemaal in Programming of heb ik dit topic in een verkeerde rubriek geopend ?

  • o0SmOkE0o
  • Registratie: December 2000
  • Niet online
Op zondag 24 februari 2002 13:06 schreef delighteddennis het volgende:
Tja, met diversen, maar wat wil/zoek/vraag* je nu precies?
Niets bijzonders eigenlijk, ik vraag me gewoon af hoe KRACHTIG zo'n microcontroller kan zijn, wat de mogelijkheden zijn e.d. omdat het een hardstikke interessant product is (in mijn ogen dan !)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 12-09 23:01
Op zondag 24 februari 2002 18:50 schreef -Confusion- het volgende:
Jij schrijft ze in c, c++, pascal, basic, jal of whatever.
waarna ze gecompileerd worden naar assembly.
Mijn compiler compileert naar machinecode.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:32

Creepy

Tactical Espionage Splatterer

Op maandag 25 februari 2002 08:49 schreef farlane het volgende:

[..]

Mijn compiler compileert naar machinecode.
[ook nog ff miereneuk mode]
Jou compiler, compileert naar assembly, en je assembler assembleert naar machine code. Dat de compiler in staat is om de assembler meteen aan te roepen, of in de "compiler"
zit, maakt niet uit.
[/ook nog ff miereneuk mode]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Op zondag 24 februari 2002 19:38 schreef hondass50 het volgende:
Ik pruts zelf wel eens met de PIC16F84 IC's in C. Gaat best aardig, maar debuggen is echt waardeloos (zonder onwijs dure extra tools).
Kijk eens op de site van Cygnal (www.cygnal.com). Goede 8051 controllers, met de mogelijkheid om ale registers etc. van je conroller uit te lezen tijdens het runnen. Niet echt duur, en werkt erg lekker

Verwijderd

Op zondag 24 februari 2002 21:51 schreef o0SmOkE0o het volgende:

... ik vraag me gewoon af hoe KRACHTIG zo'n microcontroller kan zijn, wat de mogelijkheden zijn e.d. omdat het een hardstikke interessant product is (in mijn ogen dan !)
Is zeker een interessant product. Ben het niet voor niets gaan studeren *D

Tja, de mogelijkheden zijn eindeloss. Tegenwoordig zit in bijna ieder elektronisch artikel wel iets van een controller of processor. (Een beetje auto heeft bijvoorvbeeld een paar honderd processoren aan boord) De mogelijkheden hangen natuurlijk af van het type processor e.d.

Verwijderd

Misschien leuk om hier wat projectjes met uitwerking (schakeling, code) te posten?!

Ik ben zelf ook geinteresseerd geraakt in dit onderwerp. Heb op mijn stageadres een stapeltje elektuurs kunnen bemachtigen, er staan simpele projectjes in (irda receivers etc), maar loop tegen een te beperkte kennis van schakelingen aan. Misschien leuk om ze hier eens wat uitgebreider te behandelen, want de meeste van ons zijn toch echte softies ;)

Verwijderd

Nou zal ik niet alles gaan posten wat ik hier heb staan, maar heb hier wel een grappig iets. Als het goed is kan deze applicatie de capaciteit van een condensator meten, tussen de 10 en 1000 nF. De waarde wordt geplaatst op een LCD display. De code is ooit geschreven voor een 68HC11 van Motorola.

Aangezien het al bijna 2 jaar geleden is dat ik dit ingeklopt heb weet ikn iet meer precies het hoe en waarom, maar als je het echt wilt weten zal ik er wel eens even een blik op werpen.

Have fun!!

Dit is wel een typisch assembler voorbeeldje. Ach, C en C++ begrijpen we allemaal wel.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
* Capaciteitsmeter
* 10 nF < Cx < 1000 nF  ==> 0,25 ms < T < 25 ms

* Laatst gewijzigd : 18 september 2000


        ORG $0000
TELLER      RMB 1
OVERFLOW    RMB 1
BEGIN       RMB 2
EIND        RMB 2
TIJD        RMB 2
DEELFACT    RMB 2
CAPACITEIT  RMB 2

TEXT        FCC 'Capaciteit : '
DUIZENDTAL  RMB 1
HONDERDTAL  RMB 1
TIENTAL     RMB 1
EENHEID     RMB 1
        FCC ' nF'
        FCB EOT

        ORG VECTI1
        FDB IC1_ISR

        ORG VECTOV
        FDB TOF_ISR

        ORG VECRES
        FDB INIT_TIME

        ORG $C000
INIT_TIME   LDS #$00FF
        LDX #REGBAS
        
        BSET    TMSK2,X,PR1     ; 262 ms per ronde

INIT_LCD    LDAB    #lcd_init       ; Initialiseren LCD
        JSR lcd


INIT_IC1    BSET    TCTL2,X,EDG1A   ; Capture on low-to-high

        BSET    TMSK1,X,IC1I    ; IC1 Interrupt
        BSET    TMSK2,X,TOF     ; TOF Interrupt 

        LDD #50
        STD DEELFACT

        CLR OVERFLOW        ; Reset alles
        CLR BEGIN
        CLR BEGIN+1
        CLR EIND
        CLR EIND+1
        CLR TELLER

        CLI             ; Zet interrupt aan

WACHT       BRA WACHT           ; Wacht op interrupt

*** Interrupt van Timer Overflow ***

TOF_ISR     BRCLR   TFLG2,X,TOF,EINDE   ; Testen geldige int
        BSET    TFLG2,X,TOF     ; Resetten int

        LDAA    #$01
        STAA    OVERFLOW

        RTI

*** Interrupt van Input Compare 1 ***

IC1_ISR     BRCLR   TFLG1,X,IC1F,EINDE  ; Testen geldige int
        BSET    TFLG1,X,IC1F        ; Resetten int

        COM PORTB,X         ; Visuele check
        INC TELLER
        LDAA    TELLER
        CMPA    #$01
        BEQ PULS_BEGIN
        CMPA    #$0B
        BEQ PULS_EIND

PULS_BEGIN  LDD TIC1,X
        STD BEGIN
        CLR OVERFLOW
        BRA EINDE

PULS_EIND   LDD TIC1,X
        STD EIND
        LDAA    OVERFLOW
        BEQ BEREKEN_2

BEREKEN_1   LDD #$FFFF      ; Berekenen als overflow
        SUBD    BEGIN
        ADDD    EIND
        LDX #$0A
        IDIV            ; Delen door 10
        STX TIJD
        BRA RESET_TIJD

BEREKEN_2   LDD EIND        ; Berekenen zonder overflow
        SUBD    BEGIN
        LDX #$0A
        IDIV            ; Delen door 10
        STX TIJD

RESET_TIJD  CLR BEGIN
        CLR BEGIN+1
        CLR EIND
        CLR EIND+1
        CLR  OVERFLOW

BEREKEN_CAP LDD TIJD
        LDX DEELFACT
        IDIV
        STX CAPACITEIT
        JMP OMREKENEN

EINDE       RTI 

*-------------------------------------------------------------------
OMREKENEN   LDAA    #'0'
        STAA    DUIZENDTAL
        STAA    HONDERDTAL
        STAA    TIENTAL
        STAA    EENHEID
        LDD CAPACITEIT
DUIZEND     CPD #1000
        BLO HONDERD
        SUBD    #1000
        INC DUIZENDTAL
        BRA DUIZEND

HONDERD     CPD #1000
        BLO TIEN
        SUBD    #100
        INC HONDERDTAL
        BRA HONDERD

TIEN        CPD #10
        BLO EEN
        SUBD    #10
        INC TIENTAL
        BRA TIEN

EEN     CPD #1
        BLO PRINT
        SUBD    #1
        INC EENHEID
        BRA EEN
        RTS

PRINT       LDAB    #$00        ;LCD leegmaken
        JSR LCD 
        LDX #TEXT       ;Tekst naar LCD
        LDAB    #LCD_STRING
        JSR LCD

        LDX #REGBAS

$INCLUDE 'regs.inc'
$INCLUDE 'simlcd.inc'

Als je verder nog dingen wilt weten ensow, laat het gerust weten. Ik kan me alleen niet voorstellen dat het de bedoeling is dat ik hiero al mijn sources ff ga posten.....

Verwijderd

Op zondag 24 februari 2002 13:03 schreef wasigh het volgende:
Dit is meer iets voor de elektuur ;)
Als het goed is is er in december een cursus microcontroller programmeren begonnen in de elektuur.

Wordt daar gebruik gemaakt van een standaard 8051 processor.
Ik denk dat de liefhebber daar flink wat info uit kan halen. Die bladen zijn vast nog wel via via te krijgen. Of kijk eens op www.elektuur.nl

  • o0SmOkE0o
  • Registratie: December 2000
  • Niet online
Ik ben met een AT90S1200 begonnen en een simpel programmaatje in basic dat wat ledjes laat knipperen...

Maar wat zou ik met deze AT90S1200 nog meer kunnen doen ?

Wat heeft het voordeel van een AT90S2313, behalve meer geheugen ?

En welke programmers gebruiken jullie ?? Ik de Atmel ISP Dongle... makkelijk te bouwen... >:)

Verwijderd

Maar wat zou ik met deze AT90S1200 nog meer kunnen doen ?
Daar kan ik geen antwoord op geven. Er kan nl. zoveel. :+ Als ik zelf geen inspiratie heb om iets in elkaar te knutselen probeer ik altijd op de volgende manier een opdracht te verzinnen.
Kijk naar een beroepstak oid dat heel iets anders is dan dat je normaal doet. Bedenk daarin iets wat volgens jou heel omslachtig of raar gedaan wordt, en ga daar dan een beter systeem voor verzinnen.
Mocht je een keer problemen hebben met zo'n opdracht moet je maar weer aan de bel trekken.
Wat heeft het voordeel van een AT90S2313, behalve meer geheugen ?
Vergelijk de datasheets eens op www.atmel.com. Ik heb ff snel gekeken en kwam de volgende verschillen tegen:
- Meer instructies
- Meer geheugen
- Meer/Andere Timer/Counter
- Aanwezigheid van UART
Pagina: 1