Lowcost-Board mit 89S8253

von Harald Körner





Vor einigen Jahren habe ich begonnen, mich mit Mikrocontrollern zu befassen. Nach vielen vergeblichen Versuchen – Mikrocontroller gibt es ja unübersehbar viele-  bin ich auf das 89S8252-Flash-Board bei Elektor gestoßen und die zugehörigen beschreibenden Elektor-Beiträge. Das Board habe ich aufgebaut und alles funktionierte prächtig. Erste praktische Anwendungen sind im Einsatz.



Aber Probleme entstanden dadurch, dass es von ATMEL nur noch den 89S8253 gab und mein neuer Laptop keine alte serielle Schnittstelle mehr hatte. Also war Kreativität gefragt! Einige Test-Boards wurden entworfen, bestückt und weggeschmissen. Doch es gab auch bald Erfolge. Unter anderem entstand eine low-cost-Variante für den Newcomer, die ich  hiermit vorstellen möchte.

Eigenschaften:

- Leitungsmuster einseitig, ohne Brücken, auch von Anfängern zu ätzen.
- Flash-Programmierung blitzschnell vom Compiler-Programm über Parallel – Port:
  nur 4 Leitungen und Ground.
- Durch MC AT 89S8253 viele Portleitungen verfügbar, ohne das alles zu eng und  
  winzig  ausfällt.
- Programmierung mit BASCOM –8051 Version 2.014.0: Download samt Handbuch
  gratis!
- Viele Funktionen: 4x7-Segment Display, Blink-LEDs, 2 Taster...
- Anschluß AD-Wandler TLC549 kein Problem.
- Bauteilkosten ca. 10€ plus einiges aus der Bastelkiste.
- Verpolschutzdiode verhindert Nervositätsunfälle.




Dieses Board ist gedacht für den Bastler, der sich neu in die Thematik einarbeiten möchte, ohne viel Geld zu investieren und der sich nicht mit schwierigem Assemblerkommandos oder C befassen will. Wozu denn auch, BASCOM ist kinderleicht und der compilierte Code nur etwas weniger effektiv als Assembler.


Schaltungsbeschreibung und Aufbau

1.      Stromversorgung
Nach der Verpolschutzdiode folgt ein Ladekondensator und der bewährte Spannungsregler 7805 nebst Stützkondensator und Kontroll-LED.
Die Schaltung läuft mit fast jedem Steckernetzteil von 8 – 10 Volt, die Klinkenbuchse ist entsprechend auszuwählen. Die vier großen Lötpunkte gestatten die Verwendung unterschiedlicher Buchsen.

2.      Display und Ports
Als Display werden 4 Sieben-Segment-Anzeigen 13,5 mm mit gemeinsamer Anode verwendet, auf das Leitungsmuster passt Kingbright SA 52-11.
Zur Ansteuerung sind beliebige PNP – Kleinsignaltransistoren verwendbar.
Es werden hierfür die Ports P0 und P2 verwendet. An Port P3 sind zwei Ein-Taster vorgesehen und von Port P1 sind P1.0 bis P1.4 frei verfügbar bzw. mit LED bestückt.

3.      Microcontroller
Für den Microcontroller wird in eine 40-polige IC-Fassung verwendet. Quarz 11.059 MHz mit 2 x 2-3pF und Reset-Logik entsprechen der Standardbe-schaltung. Zur Flash-Programmierung wird die SPI-Schnittstelle des Controllers mit den Portanschlüssen P1.5, P1.6 und P1.7 sowie Reset und GND verwendet. Für den Anschluß an den Parallelport des PC werden diese Leitungen auf ein Stück Buchsenleiste (5 Buchsen lang), vergoldet, Rastermaß 2,54 geführt.

4.      Anschluß an den PC
Es wird der parallele (Drucker-) Port des PC verwendet. Die Leiterplatte für dem 25-poligen Sub-D Stecker DB25 ist nur ein Vorschlag. Findige Bastler können ein altes Druckerkabel umbauen und die drei Widerstände im Steckergehäuse unterbringen. Als Kabel wird möglichst flexibles dünnes Litzenkabel verwendet (z.B. dünnes Steuerkabel oder ein halber Meter altes USB-Kabel, GND kommt dann an die Schirmlitze). Zum Einstecken in das Board dient ein Stück Siftleiste, vergoldet , passend zu der Buchsenleiste. Die relativ kleine Stiftleiste sollte zur Verbindung mit dem Kabel auf einen Streifen Universal-Leiterplatte gelötet werden und das ganze oberhalb der Steckerstifte mit etwas Epoxy – Kitt  ummantelt werden. Aber Vorsicht mit dem Stecker, die Ausgänge der Parallelschnittstelle sind nicht kurzschlußfest! Wem das zu riskant ist, der sollte besser hier eine 9-polige Sub-D Steckverbindung verwenden.

 

Vom Centronics–Anschluss werden die Leitungen D0, D2, D3, BUSY und GND verwendet. In die drei Datenleitungen wird je ein Widerstand 220 Ohm eingelötet.

Es gelten folgende Kofigurationen:

Centronics Sub D 25pol.                 Mikrocontroller
Leitung        Stecker-Pin                  Leitung            Port –Adr.      Pin


D0                   2                                     MOSI                    P1.5                6
D2                   4                                     RESET                 Reset              9
D3                   5                                     SCK                      P1.7                8
BUSY              11                                   MISO                    P1.6                7
GND               18-25                             GND                                             20       



SCK:     Taktleitung
MISO:    Daten lesen
MOSI:    Daten schreiben
RESET: Reset-Leitung                       







5.      Aufbau des Boards
Sind alle Löcher gebohrt, wird zuerst die Stromversorgung bestückt und die Spannung gemessen. Sie soll 4,9 – 5,0 V betragen. Dann LED`s und 7-Segment-Anzeigen mit Widerständen und Transistoren einlöten sowie den 40-pol. IC-Sockel. Durch Antippen mit dünnen Drahtspitzen (die mit GND bzw. 5 V verbunden sind) in die jeweiligen Sockelkontakte wird die 7- Segment-Anzeige geprüft. Dann die restlichen Bauteile einlöten, den Schaltkreis richtig herum einsetzen und es kann losgehen.




6. Software

Als ideale Programmiersprache erwies sich für den Mikrocontroller AT 89S5253
BASCOM-8051 von MCS-Elektronik. Sie erlaubt unter anderem die direkte Programmierung des MC und die compilierten Programme laufen sehr schnell.
Die Handhabung ist BASIC-typisch einfach. Die kostenlose Demo-Version erlaubt ausreichend umfangreiche Programme und wird heruntergeladen von der Seite www.mcselec.com über downloads / BASCOM / BASCOM-8051 / setupdemo.zip und das umfangreiche Handbuch als pdf-Datei gleich mit dazu.
Nach Entpacken erhält man setupdemo.exe, die erstmal installiert werden muss. Man hat nun BASCOM 8051 Version 2.0.14.0. BASCOM-exe kann gestartet werden. Es öffnet sich BASCOM 8051 IDE.  

  
Vor Beginn ist der Compiler wie folgt einzustellen:

Options→Compiler→Output:                 Binary file; HEX file
                               →Communication:  Baudrate 2400; Frequency 11.059 MHz
                                                               COM 1; Parity None; Databits 8
                                                               StopBits 1; Handshake None; Emulat. TTY
                               →Programmer:       Sample Electronics ISP Programmer
                                                               Parallel LPT-adress 378; Port delay 2
                               →Environment:       Font Bold nicht

Nun kann man sich unter File→Open→Samples schon mal ein paar Beispiel-programme anschauen. Hat man ein eigenes Programm erstellt, gespeichert und war die Compilierung erfolgreich (daran zu erkennen, daß neben xxx.BAS auch xxx.BIN und xxx.HEX gebildet worden sind), so kann man „send to chip“ anklicken. Es öffnet sich der Sample Electronics ISP Programmer. Als Chip den 89S8253 auswählen und mit dem Button “Auto program chip“ wird alles auf den Controller geflasht. Das Programm startet auf dem Board meist selbst, ansonsten Steckverbinder abziehen und Reset drücken. Viele auf dem Board lauffähige Programme, u.a. Frequenzzähler, Digitalvoltmeter und Signalgenerator sind in dem Buch „Basiskurs Mikrocontroller“ von Burkhard Kainka zu finden. Auf www.b-kainka.de stehen sie unter „Mikrocontroller“ zum download bereit.

Kleines Testprogramm:

Wenn die LED an der Portleitung P1.0 blinkt, ist alles in Ordnung!


Adressierung der 7-Segment-Anzeige binär und dezimal:

   P0.7    0.6    0.5     0.4       0.3    0.2    0.1    0.0
      d        c        e       dp        b       g       a        f            DEZ          Ziffer

      0        0        0       1          0       1       0       0               20              0
      1        0        1       1          0       1       1       1             183              1
      0        1        0       1          0       0       0       1               81              2    usw.



Siehe auch:
Der AT89S8253 im Flash-Board 


zurück