27
Labor Mikrocomputertechnik Spielzeugsortie rer Dozent: Prof. J. Walter Betreuer: W. Loes Gruppe: 12 Teilnehmer: Fadoua Akoucham Rick Hauschwitz

Labor Mikrocomputertechnik

  • Upload
    buck

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

Labor Mikrocomputertechnik. Spielzeugsortierer. Dozent:Prof. J. Walter Betreuer:W. Loes Gruppe: 12 Teilnehmer:Fadoua Akoucham Rick Hauschwitz. Gliederung. Problemstellung / Aufgabenstellung Black Box Schaltplan Struktogramm Quellcode Vorführung. Problemstellung: - PowerPoint PPT Presentation

Citation preview

Page 1: Labor Mikrocomputertechnik

Labor Mikrocomputertechnik

Spielzeugsortierer

Dozent: Prof. J. Walter

Betreuer: W. Loes

Gruppe: 12

Teilnehmer: Fadoua Akoucham

Rick Hauschwitz

Page 2: Labor Mikrocomputertechnik

2

Problemstellung / Aufgabenstellung Black Box Schaltplan Struktogramm Quellcode Vorführung

Gliederung

Page 3: Labor Mikrocomputertechnik

3

Problemstellung:durch Spielen entsteht Unordnungeinzelne Spielsachen müssen in Handarbeit

voneinander getrennt werden

Aufgabenstellung:Entwicklung eines Geräts zum automatischen

Trennen von 2 unterschiedlichen Spielsachen

Page 4: Labor Mikrocomputertechnik

4

Blackbox

Spielzeug sortieren

E1el

St1ges

S2mech

St2

S1opt

St3

S2opt

Vcc 5V DC

Restriktionen

Spielzeug unsortiert

Startsignal

Bausteine

Metallautos

Sortierer eingeschaltet

Sortierung

Störgrößen

o mechanische Stößeo elektr./magn. Feldero Verschmutzung

o Euro_535

S3opt

Sortierung fertigS3mech

Stoppsignal

S1mech

Einschalten

Page 5: Labor Mikrocomputertechnik

5

Schaltplan

Page 6: Labor Mikrocomputertechnik

6

StruktogrammProgrammkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Page 7: Labor Mikrocomputertechnik

7

;-----------------------------------------------------------------------------------------------------------------------------------------------------------

;Programmbeschreibung;----------------------------------------------------------------------------------------------------------------------------------------------------------

Pulsweitenmodulation und 3sec.warten

TIMER 2

Frequenz der Sendediode

TIMER1

Automatisches Ausschalten des Sortierers

TIMER0

Page 8: Labor Mikrocomputertechnik

8

;Interrupts;----------------------------------------------------------------------------------------------------------------------------------------;------------------------------------------------------------------------;Interrupt Timer0;-----------------------------------------------------------------------ORG 000BH ;Interrupt-Vektor T0clr TF0 ;Flag erkanntcall ENDE ;Rufe Interrupt Service Routine aufreti;------------------------------------------------------------------------;Interrupt Timer1;-------------------------------------------------------------------------ORG 001BH ;interrupt-Vektor T1clr TF1 ;Flag erkanntcall SENDEDIODE ;Rufe Interrupt Service Routine aufreti;------------------------------------------------------------------------;Interrupt Timer2;------------------------------------------------------------------------ORG 002BH ;Interrupt-Vektor T2clr TF2 ;Flag erkanntcall Linksstellung ;Rufe Interrupt Service Routine aufreti

Page 9: Labor Mikrocomputertechnik

9

StruktogrammProgrammkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Page 10: Labor Mikrocomputertechnik

10

;------------------------------------------------------------------------------------------------------------------------------------

;Initialisierung der Timer 0,1,2;--------------------------------------------------------------------------------------------------------------------------------------;-----------------------------------------------------------------------------------------------------------------------;Timer 0 /TIMER 1;-----------------------------------------------------------------------------------------------------------------------mov TMOD,#00100001b ;16 bit timer/counter --> TIMER0

;8 bit reload timer --> TIMER1mov TH0,#00h ;LICHTS_H in TH0 ladenmov TL0,#00h ;LICHTS_L in TL0 laden

clr TF1 ;TIMER1 Flag löschenmov TH1,#0F0h ;FREQUENZ_DIODE in TH1 laden

;------------------------------------------------------------------------------------------------------------------------;TIMER2;------------------------------------------------------------------------------------------------------------------------mov T2CON,#00010001B ;Timer2 Einstellung:Timer mit f=f(osz)/12 ;Mode 0 ->Reload bei Ueberlauf

mov CCEN,#00001000B ;Compare Mode des CC1 freigeben

mov CRCH,#0B1H ;High Byte von Compare Reload Capturemov CRCL,#0E0H ;Low Byte von Compare Reload Capture

mov CCL1,#01EH ;Pulsweitenmodulation Anfangswertmov CCH1,#0FBH

Page 11: Labor Mikrocomputertechnik

11

Bsp.: TIMER 0

Sortierer soll nach 16sec. Wartezeit stoppen

16 000 000 µsec

16 000 000 µsec/65536 ≈ 245

Anfangswert des TI0 ist #0000h

und des Registers R1 #245d

Page 12: Labor Mikrocomputertechnik

12

;------------------------------------------------------------------------------------------------------------------------------------

;Initialisierung der Timer 0,1,2;--------------------------------------------------------------------------------------------------------------------------------------;-----------------------------------------------------------------------------------------------------------------------;Timer 0 /TIMER 1;-----------------------------------------------------------------------------------------------------------------------mov TMOD,#00100001b ;16 bit timer/counter --> TIMER0

;8 bit reload timer --> TIMER1mov TH0,#00h ;LICHTS_H in TH0 ladenmov TL0,#00h ;LICHTS_L in TL0 laden

clr TF1 ;TIMER1 Flag löschenmov TH1,#0F0h ;FREQUENZ_DIODE in TH1 laden

;------------------------------------------------------------------------------------------------------------------------;TIMER2;------------------------------------------------------------------------------------------------------------------------mov T2CON,#00010001B ;Timer2 Einstellung:Timer mit f=f(osz)/12 ;Mode 0 ->Reload bei Ueberlauf

mov CCEN,#00001000B ;Compare Mode des CC1 freigeben

mov CRCH,#0B1H ;High Byte von Compare Reload Capturemov CRCL,#0E0H ;Low Byte von Compare Reload Capture

mov CCL1,#01EH ;Pulsweitenmodulation Anfangswertmov CCH1,#0FBH

Page 13: Labor Mikrocomputertechnik

13

StruktogrammProgrammkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Page 14: Labor Mikrocomputertechnik

14

AN:setb TR1 ;Timer 1 startensetb TR0 ;Timer 0 startensetb P4.0 ;LED "Start" anmov CCL2,#0BAH ;Sortierfinger linksmov CCH2,#0FAH ;1,35ms Pulsweite

;--------------------------------------------------------------------------------------------------------------------------------------

-;Start durch Tastendruck;---------------------------------------------------------------------------------------------------------------------------------------

Page 15: Labor Mikrocomputertechnik

15

Programmkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Struktogramm

Page 16: Labor Mikrocomputertechnik

16

;--------------------------------------------------------------------------------------------------------------------------------------

-;Signalabfrage;---------------------------------------------------------------------------------------------------------------------------------------

START:

jb EMPFAENGER,LICHTSCHRANKE

;Signal Empfänger -> Sprung

jnb HALLSENSOR,WEICHE

;Signal Hallsensor -> Sprung

jnb STOPP_TASTE, STOPP

;Signal Stopptaste -> Sprung

jmp START

Page 17: Labor Mikrocomputertechnik

17

Programmkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Struktogramm

Page 18: Labor Mikrocomputertechnik

18

;---------------------------------------------------------------------------------------------------------------------------------------

;Lichtschranke;--------------------------------------------------------------------------------------------------------------------------------------

LICHTSCHRANKE:mov R1,#245d ;245 in Register 1 ladenclr TR0 ;Timer0 stoppenmov TL0,#00H ;Anfangswerte des Timers 0mov TH0,#00Hsetb TR0 ;TIMER 0 wieder startenclr TF0jmp START ;Sprung in Hauptschleife

Page 19: Labor Mikrocomputertechnik

19

Programmkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Struktogramm

Page 20: Labor Mikrocomputertechnik

20

;----------------------------------------------------------------------------------------------------------------------------------------

;HALLSENSOR;---------------------------------------------------------------------------------------------------------------------------------------

WEICHE:

mov CCH2,#0FCh ;Sortierfinger ;rechter

Anschlag

mov CCL2,#018h ;1ms Pulsweite

setb F0 ;Flag setzen

jmp START

Page 21: Labor Mikrocomputertechnik

21

Linksstellung: ;ISR Timer 2

jnb F0, FERTIG ;Flag gesetzt?

djnz R4, FERTIG

clr F0 ;Flag rücksetzen

mov CCL2,#0BAH ;Sortierfinger links

mov CCH2,#0FAH ;1,35ms Pulsweite

mov R4,#150d ;150 in Register R4

FERTIG:

ret

;-------------------------------------------------------------------------------------------------------------------------------------

;Interrupt Service Routine;--------------------------------------------------------------------------------------------------------------------------------------

Page 22: Labor Mikrocomputertechnik

22

Programmkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Struktogramm

Page 23: Labor Mikrocomputertechnik

23

;----------------------------------------------------------------------------------------------------------------------------------------

;Stopptaste;---------------------------------------------------------------------------------------------------------------------------------------

STOPP:

mov CCL2,#082H ;Anfangsstellung Mitte

mov CCH2,#0FBH ;1,1ms Pulsweite

clr TR0 ;TIMER 0 stoppen

clr TR1 ;TIMER 1 stoppen

clr LED_START ;LED_START aus

clr LED_FERTIG;LED_FERTIG aus

jmp ABFRAGE

Page 24: Labor Mikrocomputertechnik

24

StruktogrammProgrammkopf

Programmbeschreibung

Interrupt-Vektoren

Initialisierungen

Abfrage „Start“-Tasteja nein

Signalabfrage

Lichtschranke Hallsensor „Stopp“-Taste

Wartezeitneustarten

Weicheverfahren

5s warten

Weichezurückfahren

Sortier-vorgangbeenden

Schleife

Schleife

Ausschalt-Wartezeit

Programmende

Page 25: Labor Mikrocomputertechnik

25

ENDE: ;ISR Timers 0djnz R1,UP5mov R1,#245d ;245 in Register 1mov CCL2,#082h ;Anfangsstellung Mittemov CCH2,#0FBh ;1,1ms Pulsweiteclr TR1 ;TIMER 1 stoppenclr TR0 ;TIMER 0 stoppenclr P4.0 ;LED_START aussetb P4.1 ;LED_FERTIG anjmp ABFRAGE ;SPRUNGUP5:ret

;-------------------------------------------------------------------------------------------------------------------------

;Interrupt Service Routine;--------------------------------------------------------------------------------------------------------------------------

Page 26: Labor Mikrocomputertechnik

26

Verbesserungen

Antrieb

stärkere Spannungsversorgung besseren Sensor

z.B.: Induktiver Sensor Aufbewahrung der Spielzeuge

z.B.: Trichter

Page 27: Labor Mikrocomputertechnik

27

Vielen Dank für die Aufmerksamkeit