ΑΛΔΞΑΝΓΡΔΙΟ ΣΔΥΝΟΛΟΓΙΚΟ ΔΚΠΑΙΓΔΤΣΙΚΟ ΙΓΡΤΜΑ ΘΔΑΛΟΝΙΚΗ ΥΟΛΗ ΣΔΥΝΟΛΟΓΙΚΧΝ ΔΦΑΡΜΟΓΧΝ ΣΜΗΜΑ ΗΛΔΚΣΡΟΝΙΚΗ ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΑΛΔΞΑΝΓΡΔΙΟ ΣΔΥΝΟΛΟΓΙΚΟ ΔΚΠΑΙΓΔΤΣΙΚΟ ΙΓΡΤΜΑ ΘΔΑΛΟΝΙΚΗ ΥΟΛΗ ΣΔΥΝΟΛΟΓΙΚΧΝ ΔΦΑΡΜΟΓΧΝ ΣΜΗΜΑ ΗΛΔΚΣΡΟΝΙΚΗ ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ"

Transcript

1 ΑΛΔΞΑΝΓΡΔΙΟ ΣΔΥΝΟΛΟΓΙΚΟ ΔΚΠΑΙΓΔΤΣΙΚΟ ΙΓΡΤΜΑ ΘΔΑΛΟΝΙΚΗ ΥΟΛΗ ΣΔΥΝΟΛΟΓΙΚΧΝ ΔΦΑΡΜΟΓΧΝ ΣΜΗΜΑ ΗΛΔΚΣΡΟΝΙΚΗ ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ ΑΝΑΠΣΤΞΖ ΔΦΑΡΜΟΓΧΝ ΜΔ ΣΖΝ ΔΗΡΑ ΜΗΚΡΟΔΛΔΓΚΣΧΝ MEGA ΣΖ ATMEL ΠΟΤΓΑΣΖ : ΚΑΛΑΜΑΡΑ ΑΛΔΞΑΝΓΡΟ ΔΗΖΓΖΣΖ ΚΑΘΖΓΖΣΖ : ΑΠΟΤΝΙΓΗ ΘΔΟΓΟΙΟ ΘΔΑΛΟΝΗΚΖ

2 ΠΔΡΙΔΥΟΜΔΝΑ ΔΛΗΓΑ ΠΔΡΗΛΖΦΖ....1 ΔΗΑΓΧΓΖ ΟΗ ΔΝΝΟΗΔ ΣΟΤ ΜΗΚΡΟΔΛΔΓΚΣΖ,ΣΟΤ ΜΗΚΡΟΔΠΔΞΔΡΓΑΣΖ ΚΑΗ ΣΟΤ ΜΗΚΡΟΤΠΟΛΟΓΗΣΖ....3 ΟΗ ΜΗΚΡΟΔΛΔΓΚΣΔ AVR ΣΖ ATMEL ΣΑ ΤΣΑΣΗΚΑ ΜΔΡΖ ΔΝΟ ΜΗΚΡΟΔΛΔΓΚΣΖ....6 Ζ ΜΝΖΜΖ ΚΑΣΑΥΧΡΖΣΔ ΓΗΑΚΟΠΔ (INTERRUPTS) ΓΗΑΚΟΠΖ ΔΠΑΝΝΔΚΗΝΖΖ (RESET) WATCHDOG TIMER ΑΝΑΛΟΓΗΚΔ ΓΗΑΤΝΓΔΔΗ H MONAΓΑ ΣΟΤ ΜΔΣΑΣΡΟΠΔΑ ΣΑΖ (ADC PERIPHERAL) ΥΡΟΝΗΣΔ - ΜΔΣΡΖΣΔ (TIMER/COUNTERS) ΟΗ ΠΡΟΓΗΑΗΡΔΣΔ ΣΧΝ XΡΟΝΗΣΧΝ. 28 O TIMER O TIMER O ΠΡΟΓΗΑΗΡΔΣΖ ΣΟΤ ΣΗΜΔR1..31 Ζ ΛΔΗΣΟΤΡΓΗΑ ΤΛΛΖΦΖ ΣΟΤ TIMER1(TIMER1 CAPTURE)..32 ΛΔΗΣΟΤΡΓΗΑ ΔΞΟΓΟΤ ΤΓΚΡΗΖ ΣΟΤ TIMER1 (OUTPUT COMPARE)...35 ΓΗΑΜΟΡΦΧΖ ΠΛΑΣΟΤ ΠΑΛΜΧΝ ΜΔ ΣΟΝ TIMER1 (PWM) ΑΠΔΗΚΟΝΗΖ Δ ΔΝΓΔΗΚΣΖ LED 7 ΣΟΜΔΧΝ ΟΓΖΓΖΖ ΚΗΝΖΣΖΡΧΝ ΜΔ ΣΟΤ ΜΗΚΡΟΔΛΔΓΚΣΔ AVR

3 ΟΓΖΓΖΖ ΚΗΝΖΣΖΡΧΝ DC ΟΓΖΓΖΖ ΒΖΜΑΣΗΚΟΤ ΚΗΝΖΣΖΡΑ ΟΓΖΓΖΖ ΚΗΝΖΣΖΡΑ SERVO OΓΖΓΖΖ ΟΘΟΝΖ ΤΓΡΧΝ ΚΡΤΣΑΛΧΝ...48 ΔΗΡΗΑΚΖ ΔΠΗΚΟΗΝΧΝΗΑ ΜΔ ΣΟ USART ΣΟ ΠΡΧΣΟΚΟΛΛΟ SPI.. 55 ΣΟ ΠΡΧΣΟΚΟΛΛΟ I 2 C..60 H ΓΟΜΖ ΣΟΤ ΠΡΧΣΟΚΟΛΛΟΤ Η 2 C 61 ΣΟ ΠΡΧΣΟΚΟΛΛΟ 1 WIRE.. 65 ΑΗΘΖΣΖΡΑ ΘΔΡΜΟΚΡΑΗΑ 1 WIRE (DS18B20) O ΜΔΣΑΓΛΧΣΣΗΣΖ CODEVISION Ο ΠΡΟΓΡΑΜΜΑΣΗΣΖ PonyProg Ζ ΠΛΑΚΔΣΑ ΔΦΑΡΜΟΓΧΝ ΓΗΑ ΣΟΤ AVR ΒΗΒΛΗΟΓΡΑΦΗΑ ΠΑΡΑΡΣΖΜΑ ATMEGA L293D

4 ΠΔΡΙΛΗΦΗ ηελ αθόινπζε δηπισκαηηθή εξγαζία έρνπλ αλαπηπρζεί εθπαηδεπηηθέο εθαξκνγέο, νη νπνίεο ζα βνεζήζνπλ ηνλ αξράξην ρξήζηε ησλ κηθξνειεγθηώλ AVR λα εμνηθεησζεί καδί ηνπο πξνγξακκαηίδνληαο κε ηελ βνήζεηα ηεο γιώζζαο πξνγξακκαηηζκνύ C. ηηο επόκελεο ζειίδεο γίλεηαη ιόγνο γηα ηελ εζσηεξηθή δνκή ησλ κηθξνειεγθηώλ,θαζώο θαη γηα ηηο πεξηθεξεηαθέο κνλάδεο ηνπ κηθξνειεγθηή (timers,adc,pwm ) όπνπ δίλνληαη παξαδείγκαηα εθηειέζηκνπ θώδηθα καδί κε ηελ θπθισκαηηθή δηαζύλδεζε ησλ εθαξκνγώλ. ηελ πιαθέηα ησλ εθαξκνγώλ πνπ θαηαζθέπαζα ζηα πιαίζηα ηεο εξγαζίαο, έρνπκε ηελ επθαηξία λα κειεηήζνπκε ηελ δηαζύλδεζε ελόο ATMEGA16 κε δηάθνξεο κνλάδεο όπσο κε νζόλε LCD, led displays,κε ην L293, ζεηξηαθή επηθνηλσλία κε ην USARΣ,ξνιόη πξαγκαηηθνύ ρξόλνπ θαζώο θαη εθαξκνγέο ζε πξσηόθνιια επηθνηλσλίαο όπσο ην SPI, I 2 C θαη 1 wire. INTRODUCTION In the following diplomatic project, the educational applications that have been developed, will help the novice user to familiarize with the AVR microcontrollers, programming it, with the help of C programming language. In the following pages there is a reference about the internal structure of microcontrollers and the peripheral units of microcontroller (timers, ADC, PWM) will be analyzed with examples of executable code with the applications schematic connection. In the circuit board developed for the project, the applications that are reported give us the opportunity to study the connection of ATMEGA16 with various external units such as screen LCD, led displays, the L293, serial communication with the USART, real time clock and applications based in communication protocols such as the SPI, I2C and 1 wire. 1

5 ΔΙΑΓΧΓΗ Σα ηειεπηαία ρξόληα ε Atmel ήηαλ πξσηνπόξνο ζηελ αλάπηπμε κλήκεο ηερλνινγίαο flash. Οη κλήκεο flash είλαη κε πηεηηθέο, επαλαπξνγξακκαηηδόκελεο πνπ ζπρλά ρξεζηκνπνηνύληαη ζε δηάθνξα πξνηόληα ηερλνινγίαο όπσο ςεθηαθέο θσηνγξαθηθέο κεραλέο, θνξεηέο ζπζθεπέο αλαπαξαγσγήο ήρνπ θαη κεηξηθέο θάξηεο ππνινγηζηώλ. Απηήλ ηελ ηερλνινγία κλήκεο ελζσκάησζε ζηνπο κηθξνειεγθηέο ηεο ηνπο AVR. Οη κηθξνειεγθηέο νινέλα ρξεζηκνπνηνύληαη πεξηζζόηεξν ζηελ θαζεκεξηλή καο δσή. Δθηηκάηαη πσο σο ην ηέινο ηεο ηξέρνπζαο δεθαεηίαο έλα κέζν ζπίηη ζα πεξηιακβάλεη νπζηαζηηθά ζπζηήκαηα ησλ 50 έσο θαη 100 ζπλνιηθά κηθξνειεγθηώλ, νη νπνίνη ζα ειέγρνπλ δηάθνξεο ζπζθεπέο όπσο είλαη ηα ςεθηαθά ηειέθσλα,νη θνύξλνη κηθξνθπκάησλ, νη ζπζθεπέο αλαπαξαγσγήο εηθόλαο, νη ζπζθεπέο ηειενξάζεσο θαζώο επηζεο θαη ηα αληίζηνηρα ηειερεηξηζηήξηα, ηα πιεληύξηα πηάησλ, ηα ζπζηήκαηα αζθαιείαο θαη δηάθνξα άιια. Δίλαη γεγνλόο πσο νη κηθξνειεγθηέο είλαη πην πξνζηηνί ζηελ ρξήζε ηνπο ζε ζπζηήκαηα ειέγρνπ ζε ζρέζε κε εηδηθά ςεθηαθά θπθιώκαηα πνπ πινπνηνύλ πνιύπινθεο κεραλέο θαηαζηάζεσλ θαη πνιύ πην νηθνλνκηθνί ζε πεξηπηώζεηο αλαβάζκηζεο. Οη ηδηόηεηεο απηέο πνπ απνξξένπλ από ηελ ρξήζε ησλ κηθξνειεγθηώλ νδεγνύλ ζε γεληθά νηθνλνκηθόηεξεο ιύζεηο θαη κεγαιύηεξα θέξδε γηα απηόλ πνπ ζα ηνπο επηιέμεη γηα ηελ αλάπηπμε εθαξκνγώλ. Δθεί άιισζηε νθείιεηαη θπξίσο θαη ε ξαγδαία αλάπηπμε ησλ κηθξνειεγθηώλ. Παξαηεξείηαη γεληθόηεξα κηα καδηθή ρξήζε ησλ κηθξνειεγθηώλ ζε επίπεδν εηδηθώλ δηαηάμεσλ ζπζηεκάησλ θαη δηαθόξσλ εμαξηεκάησλ πνπ δηαηίζνληαη ζην εκπόξην, γεγνλόο ην νπνίν θαλεξώλεη κηα ζεκαληηθή πεγή κεγάινπ νηθνλνκηθνύ νθέινπο. πλεπώο θξίλεηαη απαξαίηεηε ε γλώζε ησλ κηθξνειεγθηώλ γηα ηελ αλάπηπμε απνδνηηθώλ αληαγσληζηηθώλ εθαξκνγώλ. 2

6 ΟΙ ΔΝΟΙΔ ΣΟΤ ΜΙΚΡΟΔΛΔΓΚΣΗ,ΣΟΤ ΜΙΚΡΟΔΠΔΞΔΡΓΑΣΗ ΚΑΙ ΣΟΤ ΜΙΚΡΟΤΠΟΛΟΓΙΣΗ Έρνπκε ζπλεζίζεη λα αθνύκε ηνπο όξνπο απηνύο ρσξίο θαλέλαλ ηδηαίηεξν δηαρσξηζκό. Χζηόζν, θάζε έλαο από ηνπο παξαπάλσ όξνπο έρεη δηαθξηηή ζεκαζία θαη είλαη ζεκαληηθό λα θαηαλνήζνπκε ηηο κεηαμύ ηνπο δηαθνξέο ζην ζεκείν απηό. Έλαο κηθξνεπεμεξγαζηήο είλαη νπζηαζηηθά κηα κνλάδα θεληξηθήο επεμεξγαζίαο (ή CPU) πινπνηεκέλε κέζα ζε έλα νινθιεξσκέλν θύθισκα. Πξηλ από πνιιά ρξόληα, κηα ηέηνηα κνλάδα επεμεξγαζίαο - CPU - ζρεδηάδνληαλ κε ηε βνήζεηα πνιιώλ δηαθξηηώλ νινθιεξσκέλσλ θπθισκάησλ κεζαίαο θαη κεγάιεο θιίκαθαο νινθιήξσζεο (MSI θαη LSI). Ζ γλσζηή εηαηξία Intel, παξνπζηάδνληαο ην 4004, έζεζε όιεο ηηο απαξαίηεηεο κνλάδεο πνπ πεξηιακβάλεη ηππηθά κηα CPU (όπσο ηελ αξηζκεηηθή ινγηθή κνλάδα ή ALU, ηνλ απνθσδηθνπνηεηή) εληνιώλ, ηνπο θαηαρσξεηέο, θπθιώκαηα ειέγρνπ δηαύισλ, θ.ι.π.), εληόο ελόο απινύ νινθιεξσκέλνπ θπθιώκαηνο (chip) θαη έηζη "γελλήζεθε" ν κηθξνεπεμεξγαζηήο. Ο 4004 ήηαλ έλαο απιόο κηθξνεπεμεξγαζηήο ησλ 4 δπαδηθώλ ςεθίσλ (bits) - (δειαδή είρε ηελ δπλαηόηεηα επεμεξγαζίαο δεδνκέλσλ ππό ηελ κνξθή ιέμεσλ ησλ 4-bits ηε θνξά), ν νπνίνο ζρεδηάζηεθε γηα λα ρξεζηκνπνηεζεί σο κνλάδα επεμεξγαζίαο αξηζκώλ ζε κηα αξηζκνκεραλή. Όηαλ κηα ηέηνηα δηάηαμε, όπσο έλαο κηθξνεπεμεξγαζηήο, καδί κε ηα απαξαίηεηα θπθιώκαηα ππνζηήξημεο-πεξηθεξεηαθέο κνλάδεο εηζόδνπ - εμόδνπ θαη κλήκε πξνγξάκκαηνο θαη δεδνκέλσλ - ηνπνζεηεζνύλ καδί ζην ίδην πιηθό, έηζη ώζηε λα ζρεκαηίζνπλ έλαλ ζηνηρεηώδε ππνινγηζηή, εηδηθόηεξα ζε εθαξκνγέο ειέγρνπ θαη ιήςεο δεδνκέλσλ, ε δηάηαμε πνπ πξνθύπηεη θαιείηαη κηθξνϋπνινγηζηήο. Με άιια ιόγηα αλ ζέιακε λα ζρεδηάζνπκε έλα θύθισκα βαζηζκέλν ζηνλ δεκνθηιή κηθξνεπεμεξγαζηή 8088, ή γηα ηνλ ίδην ιόγν αθόκε θαη ηνλ 8085, ηνπνζεηνύζακε επίζεο κλήκε EPROM γηα ηελ απνζήθεπζε ηνπ πξνγξάκκαηνο, κλήκε RAM γηα ηελ απνζήθεπζε κεηαβιεηώλ θαη απνηειεζκάησλ δηαθόξσλ πξάμεσλ, θαζώο επίζεο θαη κεξηθέο κνλάδεο εηζόδνπ - εμόδνπ γηα ηελ δηαζύλδεζε ηνπ ζπζηήκαηνο κε ην πεξηβάιινλ ηνπ, ζα είρακε νπζηαζηηθά ζρεκαηίζεη έλαλ κηθξνϋπνινγηζηή. Δπεθηείλνληαο ηελ παξαπάλσ ινγηθή, όηαλ όιεο νη παξαπάλσ δηαθξηηέο κνλάδεο πνπ απνηεινύλ έλαλ κηθξνϋπνινγηζηή ηνπνζεηεζνύλ κέζα ζην ζώκα ηνπ ίδηνπ νινθιεξσκέλνπ θπθιώκαηνο, ε δηάηαμε πνπ πξνθύπηεη θαιείηαη κηθξνειεγθηήο. Ζ εηαηξία 3

7 Texas Instruments πξαγκαηνπνίεζε ηελ είζνδν ηεο ζηνλ ρώξν ησλ κηθξνειεγθηώλ, παξνπζηάδνληαο ηνλ πξώην κηθξνειεγθηή ηεο από ηνλ νπνίνλ πξνέθπςε ε νηθνγέλεηα ησλ κηθξνειεγθηώλ TMS1000. Σα κέιε ηεο ζεηξάο ησλ κηθξνειεγθηώλ TMS1000 δηέζεηαλ ηθαλνπνηεηηθά κεγέζε κλήκεο RAM θαη ROM θαζώο επίζεο θαη αξθεηέο κνλάδεο εηζόδνπ - εμόδνπ (I/O) θαη ρξεζηκνπνηήζεθαλ επξύηαηα σο ειεγθηέο θνύξλσλ κηθξνθπκάησλ, ζε βηνκεραληθνύ ηύπνπ ρξνληζηέο (Industrial Timers) θαη ζε ζπζηήκαηα αξηζκνκεραλώλ. ήκεξα πιένλ έρνπλ εκθαληζηεί πνιιέο θαη δηαθνξεηηθέο νηθνγέλεηεο κηθξνειεγθηώλ, όπσο νη κηθξνειεγθηέο ηεο ζεηξάο 8048 θαη 8051 ηεο Intel, ε ζεηξά 68HC11 ηεο Motorola, ε ζεηξά κηθξνειεγθηώλ Ε8 ηεο Zilog, νη κηθξνειεγθηέο PIC ηεο Microchip, ε ζεηξά Ζ8 ηεο Hitachi θαη πξόζθαηα ε νηθνγέλεηα ησλ κηθξνειεγθηώλ AVR ηεο εηαηξίαο Atmel. Μηα ζπγθεθξηκέλε νηθνγέλεηα κηθξνειεγθηώλ πξνζδηνξίδεη έλα ζύλνιν πνιιώλ δηαθνξεηηθώλ κηθξνειεγθηώλ, νη νπνίνη δηαζέηνπλ ηνλ ίδην θεληξηθό ππξήλα αιιά θάζε έλαο από απηνύο δηαηίζεηαη ζε δηαθνξεηηθή ζπζθεπαζία, πεξηιακβάλεη δηαθνξεηηθέο πεξηθεξεηαθέο κνλάδεο, ιεηηνπξγεί ζε δηαθνξεηηθέο ηαρύηεηεο, θ.ι.π. Όπσο είδακε νη νξηζκνί ησλ ελλνηώλ κηθξνειεγθηήο, κηθξνεπεμεξγαζηήο θαη κηθξνϋπνινγηζηήο είλαη αθξηβείο θαη δηαθξηηνί κεηαμύ ηνπο, σζηόζν απνηειεί θνηλoηππία πιένλ ε ρξήζε ησλ παξαπάλσ όξσλ ρσξίο λα γίλεηαη πάληα ν ζσζηόο δηαρσξηζκόο. Έηζη ε αζάθεηα πνπ επηθξαηεί ζρεηηθά κε ηνπο όξνπο απηνύο απνηειεί κηα πξαγκαηηθόηεηα ηελ νπνία κάιινλ νθείινπκε λα δερζνύκε. ρεηηθά κε ηελ ρξεζηκνπνηνύκελε νξνινγία, ν όξνο κηθξνειεγθηήο αλαθέξεηαη ζε έλα νινθιεξσκέλν θύθισκα κε ελζσκαησκέλεο πεξηθεξεηαθέο κνλάδεο (ζύξεο, ρξνληζηέο, ζεηξηαθέο ζύξεο επηθνηλσλίαο, θ.ι.π.) θαη κνλάδεο κλήκεο, εθηόο από ηελ θεληξηθή κνλάδα επεμεξγαζίαο (CPU).Σν αληηπξνζσπεπηηθό κνληέιν ησλ κηθξνειεγθηώλ AVR, κε ελζσκαησκέλε κλήκε πξνγξάκκαηνο θαη δεδνκέλσλ, ζύξεο εηζόδνπ - εμόδνπ, ρξνληζηέο θαη ζεηξηαθέο ζύξεο, απνηειεί έλαλ κηθξνειεγθηή κε ηελ έλλνηα πνπ δόζεθε πην πάλσ. ΟΙ ΜΙΚΡΟΔΛΔΓΚΣΔ AVR ΣΗ ATMEL Καηά ηελ δηαδηθαζία αλάπηπμεο κηαο εθαξκνγήο πνπ βαζίδεηαη ζε θάπνηα ζπγθεθξηκέλε πξνδηαγξαθή, ε αλάγθε πινπνίεζεο κε ρξήζε δηαθξηηώλ ςεθηαθώλ θπθισκάησλ, ε νινθιεξσκέλσλ θπθισκάησλ PLD ή αθόκα θαη κηθξνειεγθηώλ, πξνζδηνξίδεηαη πάληα από ηνλ ίδην ηνλ ζρεδηαζηή ηεο εθαξκνγήο. Χζηόζν είλαη γεγνλόο 4

8 όηη πάξα πνιιέο εθαξκνγέο κπνξνύλ λα πινπνηεζνύλ απνηειεζκαηηθά κε ρξήζε θάπνηνπ κηθξνειεγθηή, ελώ ζε αξθεηέο από απηέο κπνξνύκε λα εθκεηαιιεπηνύκε ηα ζεκαληηθά πιενλεθηήκαηα ησλ κηθξνειεγθηώλ AVR πνπ πεξηγξάθνληαη πεξηιεπηηθά ζηε ζπλέρεηα. Θα αλαθεξζνύκε κε πεξηζζόηεξεο ιεπηνκέξεηεο ζηα ραξαθηεξηζηηθά ησλ κηθξνειεγθηώλ AVR, αιιά ζην ζεκείν απηό ζεσξείηαη ρξήζηκε κηα ζύληνκε πεξηγξαθή ησλ θπξηόηεξσλ ηδηνηήησλ ησλ κηθξνειεγθηώv απηώλ. Έηζη ζπλνπηηθά, νη κηθξνειεγθηέο AVR ηεο Atmel παξνπζηάδνπλ ηα αθόινπζα ραξαθηεξηζηηθά: 1. πλδπάδνπλ ηελ αξρηηεθηνληθή Risc κε σο επί ην πιείζηνλ ζηαζεξνύ κήθνπο εληνιέο, δηαδηθαζίεο απνζήθεπζεο - θόξησζεο ζηελ κλήκε θαη 32 θαηαρσξεηέο γεληθήο ρξήζεο. 2. Μεραληζκό ζπλερνύο δηνρέηεπζεο εληνιώλ (instruction pipeline) ζε δύν ζηάδηα, πνπ επηηαρύλεη ζεκαληηθά ηελ δηαδηθαζία εθηέιεζεο. 3. Οη πεξηζζόηεξεο από ηηο εληνιέο πνπ πεξηιακβάλεη ην ξεπεξηόξην ηνπο εθηεινύληαη ζηελ δηάξθεηα κηαο πεξηόδνπ ηνπ θεληξηθνύ ξνινγηνύ. 4. Λεηηνπξγνύλ ζε ζπρλόηεηεο ρξνληζκνύ κέρξη ηνπο 20 MHz. 5. Γηαζέηνπλ κεγάιε πνηθηιία ζε όηη αθνξά ελζσκαησκέλεο πεξηθεξεηαθέο κνλά δεο όπσο, ςεθηαθέο εηζόδνπο - εμόδνπο (I/O), κεηαηξνπείο αλαινγηθνύ ζήκαηνο ζε ςεθηαθό ή ADC, κλήκε ηύπνπ EEPROM, ρξνληζηέο, κνλάδεο αζύγρξνλεο ζεηξηαθήο επηθνηλσλίαο ή UART (Universal Asynchronous Receiver Transmitter), ξνιόγηα πξαγκαηηθνύ ρξόλνπ (RTC ή Real Time Clock), κνλάδεο δηακόξθσζεο εύξνπο παικώλ (PWM ή Pulse Width Modulation), θ.ι.π. 6. Δλζσκαησκέλεο κλήκεο πξνγξάκκαηνο θαη δεδνκέλσλ. 7. Γπλαηόηεηα πξνγξακκαηηζκνύ εληόο ηνπ ζπζηήκαηνο (ISP ή In-System Programmable) 8. Γηαηίζεληαη ζε ζπζθεπαζίεο ησλ 8 έσο 64 αθξνδεθηώλ νπόηε θξίλνληαη θαηάιιεινη γηα έλαλ κεγάιν αξηζκό δηαθνξεηηθώλ εθαξκνγώλ. 9. Δίλαη πεξίπνπ 12 θνξέο ηαρύηεξνη θαη πην απνδνηηθνί ζε ζρέζε κε ηνπο ειεγ θηέο θιαζηθήο αξρηηεθηνληθήο CISC (Complex Instruction Set Computer). 10. Δπξεία πεξηνρή ηάζεσλ ιεηηνπξγίαο από 2.7 V έσο 6.0 V. 11. Ζ ζρεηηθά απιή αξρηηεθηνληθή ηνπο δίλεη ην πιενλέθηεκα ηνπ κηθξνύ ζε απαίηεζε θύθινπ εθκάζεζεο ζηνπο αξραξίνπο. 5

9 ΣΑ ΤΣΑΣΙΚΑ ΜΔΡΗ ΔΝΟ ΜΙΚΡΟΔΛΔΓΚΣΗ 1. Μονάδα κενηπικήρ επεξεπγαζίαρ: Ζ κνλάδα θεληξηθήο επεμεξγαζίαο ή Central Processing Unit (CPU), απνηειεί ηελ "θαξδηά" ελόο κηθξνειεγθηή. Δθηειεί αλάθιεζε δεδνκέλσλ (fetch) από ηελ κλήκε πξνγξάκκαηνο ππό κνξθή εληνιώλ, απνθσδηθνπνηεί ηηο εληνιέο απηέο θαη ζηε ζπλέρεηα ηηο εθηειεί. Ζ κνλάδα CPU απνηειείηαη από θαηαρσξεηέο (registers), ηελ αξηζκεηηθή ινγηθή κνλάδα (Arithmetic Logic Unit ή ALU), ηνλ απνθσδηθνπνηεηή εληνιώλ (instruction decoder) θαη δηάθνξα θπθιώκαηα ειέγρνπ. 2. Μνήμη ππογπάμμαηορ: ηελ Μλήκε Πξνγξάκκαηνο απνζεθεύνληαη νη εληνιέο πνπ ζρεκαηίδνπλ ηνλ θνξκό ηνπ πξνγξάκκαηνο. Γηα ηελ ρξήζε κεγαιύηεξσλ ζε κήθνο πξνγξακκάησλ, ην είδνο ηεο κλήκεο απηήο κπνξεί αλ ρσξηζηεί ζε εζσηεξηθή κλήκε πξνγξάκκαηνο θαη εμσηεξηθή κλήκε πξνγξάκκαηνο, όπσο ζπκβαίλεη ζε κεξηθνύο ηύπνπο ειεγθηώλ. Ζ κλήκε πξνγξάκκαηνο είλαη κηα κε-πηεηηθή κλήκε non-volatile memory) θαη κπνξνύκε λα ηελ ζπλαληήζνπκε ζε δηάθνξνπο ηύπνπο όπσο απηόλ ηελ EEPROM (Ζιεθηξηθά Δπαλαπξνγξακκαηηδόκελε Μλήκε Αλάγλσζεο Μόλν ή Electrically Erasable Read Only Memory), ηελ EPROM Δπαλαπξνγξακκαηηδόκελε Μλήκε Αλάγλσζεο Μόλν ή Erasable Read Only Memory), ηελ Μλήκε Σαρείαο Απνζήθεπζεο Flash Memory ), ηελ Μλήκε ROM ηύπνπ Μάζθαο Mask ROM) θαη ηελ Μλήκε Με Αλαζηξέςηκνπ Πξνγξακκαηηζκνύ On-Time Programmable ή ΟΣΡ). 3. Μνήμη RAM: Ζ Μλήκε Σπραίαο Πξνζπέιαζεο Random Access Memoiy ή RAM, απνηειεί ηελ κλήκε δεδνκέλσλ ηνπ ειεγθηή, δειαδή ρξεζηκνπνηείηαη από ηνλ ειεγθηή γηα ηελ απνζήθεπζε δεδνκέλσλ. Ζ CPU ρξεζηκνπνηεί ηελ κλήκε RAM γηα ηελ απνζήθεπζε κεηαβιεηώλ θαζώο επίζεο θαη ηελ ιεγόκελε ηνίβα (ή Stack). Ζ ζηνίβα ρξεζηκνπνηείηαη από ηελ CPU γηα ηελ πξνζσξηλή απνζήθεπζε ησλ ιεγόκελσλ δηεπζύλζεσλ επηζηξνθήο, κε ζθνπό λα ζπλερίζεη ηελ εθηέιεζε ηνπ πξνγξάκκαηνο πνπ είρε δηαθνπεί γηα ηελ εμππεξέηεζε θάπνηαο ππνξνπηίλαο Subroutine) ή θάπνηαο ξνπηίλαο δηαθνπήο Interrupt routine). 4. Σαλανηωηήρ Υπονιζμού: Ο κηθξνειεγθηήο εθηειεί έλα πξόγξακκα όπσο απηό εκθαλίδεηαη κέζα ζηελ κλήκε πξνγξάκκαηνο, κε έλαλ θαζνξηζκέλν ξπζκό. Ο ξπζκόο απηόο θαζνξίδεηαη από ηελ ζπρλόηεηα ιεηηνπξγίαο ηνπ ηαιαλησηή ρξνληζκνύ. Ο Σαιαλησηήο Υξνληζκνύ (Clock Oscillator) κπνξεί λα είλαη έλαο εζσηεξηθόο ηαιαλησηήο ηύπνπ RC, ή έλαο ηαιαλησηήο πνπ πινπνηείηαη κε θάπνην εμσηεξηθό ζηνηρείν ρξνληζκνύ, όπσο γηα παξάδεηγκα έλαο θξύζηαιιν ραιαδία (Quartz), έλα 6

10 θύθισκα ζπληνληζκνύ LC ή αθόκα θαη έλα απιό θύθισκα RC. Ζ ιεηηνπξγία ηνπ ηαιαλησηή μεθηλά ζρεδόλ ακέζσο κεηά ηελ εθαξκνγή ηεο ηάζεο ηξνθνδνζίαο. 5. ύζηημα επαναηοποθέηηζηρ και Κύκλωμα ανίσνεςζηρ βςθίζεων ηάζηρ: Σν Κύθισκα. Δπαλαηνπνζέηεζεο ή κεδεληζκνύ ή απιά Reset, πνπ δηαζέηεη έλαο κηθξνειεγθηήο, εμαζθαιίδεη ην γεγνλόο όηη όιεο νη εζσηεξηθέο κνλάδεο θαη ηα θπθιώκαηα ειέγρνπ ηνπ κηθξνειεγθηή ζα μεθηλήζνπλ λα ιεηηνπξγνύλ θαηά ηελ εθαξκνγή ηεο ηξνθνδνζίαο, από θάπνηα πξνθαζνξηζκέλε αξρηθή θαηάζηαζε ελώ όινη νη θαηαρσξεηέο ηνπ ζπζηήκαηνο βξίζθνληαη ζε θαηάιιειεο αξρηθέο ηηκέο. Από ηελ άιιε πιεπξά, ην θύθισκα αλίρλεπζεο βύζηζεο ηεο ηάζεο ηξνθνδνζίαο (brownout detector), είλαη έλα επίζεο εζσηεξηθό θύθισκα ειέγρνπ ην νπνίν παξαθνινπζεί ζπλερώο ην επίπεδν ηεο ηάζεο ηξνθνδνζίαο θαη εθόζνλ αληρλεπηεί θάπνηα ζηηγκηαία βύζηζε ζηελ ηάζε απηή, ηόηε απηόκαηα ζέηεη ηνλ κηθξνειεγθηή ζε ιεηηνπξγία επαλαηνπνζέηεζεο, έηζη ώζηε λα πξνζηαηεπηνύλ ηα πεξηερόκελα ησλ θαηαρσξεηώλ θαη ηεο κλήκεο από πηζαλή θαηαζηξνθή ή αιινίσζε, πξάγκα πνπ ζα νδεγνύζε ηνλ κηθξνειεγθηή ζε εζθαικέλε ιεηηνπξγία. 6. ειπιακή θύπα επικοινωνίαρ: Έλα από ηα πιένλ εύρξεζηα ζπζηαηηθά ελόο κηθξνειεγθηή, απνηειεί ε ζεηξηαθή ζύξα επηθνηλσλίαο. Ζ ζύξα απηή ρξεζηκνπνηείηαη γηα ηελ επηθνηλσλία ηνπ ειεγθηή κε δηάθνξεο εμσηεξηθέο δηαηάμεηο ππό ηελ κνξθή ζεηξηαθήο κεηάδνζεο δεδνκέλσλ. Ζ ζύξα απηή κπνξεί λα ιεηηνπξγήζεη ζε νπνηαδήπνηε ηαρύηεηα κεηάδνζεο δεδνκέλσλ ηπρόλ απαηηεζεί. Ζ ιεηηνπξγία ηεο βαζίδεηαη ζην όηη ιακβάλεη δεδνκέλα από ηνλ κηθξνειεγθηή, ηα νπνία νιηζζαίλεη πξνο ηελ έμνδν ππό κνξθή ελόο δπαδηθνύ ςεθίνπ (bit) ηε θνξά. Δληειώο παξόκνηα, ιακβάλεη δεδνκέλα από ηελ αληίζηνηρε είζνδν ηεο θαη πάιη κε ηε κνξθή ελόο bit ηε θνξά, ζρεκαηίδνληαο έηζη κε 8 ηέηνηα bits, κηα ιέμε ηνπ 1 byte, ηελ νπνία θαη αληηγξάθεη ζην εζσηεξηθό ηνπ ειεγθηή. Οη ζεηξηαθέο ζύξεο απαληώληαη ζε δύν ηύπνπο, ηελ αζύγρξνλε ζεηξηαθή ζύξα θαη ηελ ζύγρξνλε ζεηξηαθή ζύξα. Γηα ηελ ιεηηνπξγία κηαο ζύγρξνλεο ζεηξηαθήο ζύξαο απαηηείηαη θαη ε παξνπζία ελόο πξόζζεηνπ ζήκαηνο ζπγρξνληζκνύ (clock), αληίζεηα κε ηελ αζύγρξνλε ζεηξηαθή ζύξα ζηελ νπνία δελ απαηηείηαη ε ύπαξμε ελόο ηέηνηνπ ζήκαηνο, δηόηη νη απαξαίηεηεο πιεξνθνξίεο ζπγρξνληζκνύ θαη ρξνληζκνύ γεληθόηεξα, ελζσκαηώλνληαη ζην ζύλνιν ησλ δεδνκέλσλ πνπ κεηαδίδνληαη ζεηξηαθά κε ηε κνξθή ηεο δηάξθεηαο εκθάληζεο ησλ εθάζηνηε bits πνπ απνηεινύλ ηελ πιεξνθνξία, θαζώο επίζεο θαη κε ηε ρξήζε πξόζζεησλ bits κε ηα νπνία ζεκαηνδνηείηαη ε έλαξμε θαη ε παύζε κηαο ζπγθεθξηκέλεο κεηάδνζεο.. 7

11 7. Φηθιακή θύπα ειζόδος-εξόδος: Ο κηθξνειεγθηήο ρξεζηκνπνηεί ηηο ςεθηαθέο ζύξεο εηζόδνπ-εμόδνπ κε ζθνπό ηελ αληαιιαγή δεδνκέλσλ από θαη πξνο ην εμσηεξηθό πεξηβάιινλ. ε ζύγθξηζε κε κηα ζεηξηαθή ζύξα, κε ηελ νπνία ηα δε δνκέλα αληαιιάζζνληαη ππό κνξθή ζπξκνύ κε εθπνκπή ελόο bit ηε θνξά, ε ςεθηαθή ζύξα εηζόδνπ εμόδνπ αληαιιάζζεη δεδνκέλα ππό ηε κνξθή νκάδσλ ησλ 8 bits, ή δηαθνξεηηθά, ηνπ 1 byte. 8. Αναλογική θύπα ειζόδος-εξόδος: Γεληθά, κπνξνύκε λα έρνπκε αλαινγηθέο εηζόδνπο ρξη\αςνπνηώληαομεηαηξνπείοαλα?.νγηθνύ ήκαηνο ζε Φεθηαθό (Analog to Digital Converter ή ADC). Έλαο ηππηθόο κηθξνειεγθηήο κπνξεί λα δηαζέηεη κηα ελζσκαησκέλε κνλάδα κεηαηξνπήο ADC ή αθόκα θαη ζε κεξηθέο πεξηπηώ ζεηο, έλαλ απιό ελζσκαησκέλν αλαινγηθό ζπγθξηηή, ν νπνίνο ρξεζηκνπνηείηαη καδί κε θαηάιιειν ινγηζκηθό έηζη ώζηε λα κπνξεί λα εθηειεί κεηαηξνπέο αλα ινγηθνύ ζε ςεθηαθό. Οη κεηαηξνπείο αλαινγηθνύ ζήκαηνο ζε ςεθηαθό ρξεζηκν πνηνύληαη γηα ηελ αλάγλσζε δεδνκέλσλ από αηζζεηήξεο όπσο γηα παξάδεηγκα, αηζζεηήξεο πίεζεο θαη ζεξκνθξαζίαο. Οη αηζζεηήξεο απηνί ζπλήζσο παξάγνπλ κηα ηάζε ε νπνία είλαη αλάινγε ηεο κεηξνύκελεο θπζηθήο παξακέηξνπ. Δπίζεο, κπνξνύκε λα έρνπκε θαη αλαινγηθέο εμόδνπο, ρξεζηκνπνηώληαο θάπνηεο κνλά δεο νη νπνίεο θαινύληαη, Μεηαηξνπείο Φεθηαθνύ ήκαηνο ζε Αλαινγηθό (Digital to Analog Converter ή DAC). Αθόκε, νη πεξηζζόηεξνη κηθξνειεγθηέο είλαη εθν δηαζκέλνη κε Γηακνξθσηέο Δύξνπο Παικώλ (Pulse Width Modulators ή PWM), κε ηε βνήζεηα ησλ νπνίσλ κπνξνύκε λα ιάβνπκε αλαινγηθέο ηάζεηο κέζα από θαηάιιεια θίιηξα ηύπνπ RC. Οη κεηαηξνπείο ςεθηαθνύ ζήκαηνο ζε αλαινγηθό ρξεζηκνπνηνύληαη γηα ηελ νδήγεζε θηλεηήξσλ, εηδηθώλ κνλάδσλ απεηθόληζεο (όπσο νη παιαηόηεξεο νζόλεο κε κπάξα από LED, γλσζηέο θαη κε ηελ νλνκαζία VU-Meter), γηα ηελ αλαπαξαγσγή ζεκάησλ ήρνπ ή κνπζηθήο γεληθόηεξα 9. Υπονιζηήρ: Έλαο Υξνληζηήο (Timer) ρξεζηκνπνηείηαη από ηνλ κηθξνειεγθηή γηα ηνλ ρξνληζκό ή θαη ηελ ζεκαηνδόηεζε δηαθόξσλ γεγνλόησλ, γηα παξάδεηγκα, είλαη πηζαλό λα επηζπκνύκε λα απνζηείινπκε δεδνκέλα ζε κηα εμσηεξηθή νζόλε κε έλαλ ζπγθεθξηκέλν ξπζκό. Ο ρξνληζηήο ρξεζηκνπνηείηαη από ηνλ κηθξνειε γθηή γηα λα παξάγεη απηόλ ηνλ δεηνύκελν ξπζκό. Έλαο ρξνληζηήο κπνξεί λα ρξεζηκνπνηεζεί επίζεο θαη γηα ηελ θαηακέηξεζε γεγνλόησλ, ηα νπνία κπνξνύλ 8

12 λα είλαη είηε εζσηεξηθά είηε εμσηεξηθά. ε κηα ηέηνηα πεξίπησζε, ν ρξνληζηήο θαιείηαη θαη απιά, Μεηξεηήο (Counter). 9. Υπονιζηήρ επιηήπηζηρ: Έλαο ρξνληζηήο εηδηθνύ ζθνπνύ, ηνλ νπνίνλ ζπλα ληνύκε ζπρλά ζηνπο ζύγρξνλνπο κηθξό ειεγθηέο, είλαη θαη ν Υξνληζηήο Δπηηήξε ζεο (WatchDog Timer ή WDT). Ο ρξνληζηήο απηόο ρξεζηκνπνηείηαη ζπλήζσο γηα ηελ απνθπγή ηεο πηζαλήο θαηάξξεπζεο ηνπ ζπζηήκαηνο (crash). Ζ ιεηηνπξ γία ηνπ ρξνληζηε επηηήξεζεο έρεη σο εμήο. Από ηελ ζηηγκή πνπ ζα ελεξγνπνηε ζεί (ή όπσο ιέγεηαη, "ζα νπιηζηεί"), ιεηηνπξγεί απμαλόκελα έλαο εζσηεξηθόο κεηξεηήο ζε θάπνηνλ ζπγθεθξηκέλν ξπζκό. Αλ ην Πξόγξακκα ρξήζεο δελ κεδε λίζεη (ή επαλαζέζεη) ηνλ κεηξεηή απηόλ, ηόηε θάπνηα ζηηγκή ζα επέιζεη ε ιεγόκελε ππεξρείιηζε (Overflow) ηνπ παξαπάλσ κεηξεηή θαη ζα επαλαηνπνζεηεζεί ν κηθξνειεγθηήο (ιεηηνπξγία reset). Έηζη όηαλ ρξεζηκνπνηείηαη ν ρξνληζηήο επηηήξεζεο, ην πξόγξακκα ρξήζεο ζα πξέπεη λα είλαη εθνδηαζκέλν κε θαηάιιειεο εληνιέο, έηζη ώζηε ζε ηαθηά ρξνληθά δηαζηήκαηα λα κπνξεί λα κεδελίδεη ηνλ ρξνληζηή WDT, πιεξνθνξώληαο ηνλ έηζη όηη ην ζύζηεκα εξγάδεηαη θαη δελ έρεη θαηαξξεύζεη. Ζ ινγηθή απηήο ηεο ηερληθήο ειέγρνπ ζηεξίδεηαη ζηελ ππόζεζε, όηη αλ ην πξόγξακκα ρξήζεο δελ κεδελίζεη ηνλ ρξνληζηή WDT, απηό πηζαλόηα ηα ζεκαίλεη όηη ην πξόγξακκα έρεη απνηύρεη ζε θάπνηα πξνζπάζεηα ηνπ είηε εμαηηίαο πηζαλήο θαηάξξεπζεο, ή γεληθόηεξα θάπνηαο απξόβιεπηεο ζπκπεξηθνξάο, νπόηε είλαη πξνηηκόηεξν λα εθθηλήζεη δηαδηθαζία επαλαηνπνζέηεζεο. 10. Ρολόι ππαγμαηικού σπόνος: Έλαο αθόκε εηδηθνύ ζθνπνύ ρξνληζηήο είλαη θαη ην ιεγόκελν Ρνιόη Πξαγκαηηθνύ Υξόλνπ (Real Time Clock ή RTC), ηνπ νπνίνπ ζθνπόο είλαη ε κέηξεζε θαη ε δηαηήξεζε ηεο ηξέρνπζαο ώξαο ηεο εκέξαο, ηεο εκεξνκελίαο, θ.ι.π. Μπνξεί λα ρξεζηκνπνηεζεί γηα ηελ ζεκαηνδόηεζε ζπγθε θξηκέλσλ γεγνλόησλ κε γλώκνλα ηελ ηξέρνπζα ώξα. 9

13 τυπικό διάγραμμα ενόσ μικροελεγκτι 10

14 Η ΜΝΗΜΗ Ζ ιεηηνπξγία ηεο κλήκεο ησλ κηθξνειεγθηώλ AVR ηεο ATMEL είλαη βαζηζκέλε ζην πξόηππν ηνπ HARVARD ζην νπνίν ην κέξνο ηεο κλήκεο είλαη ρσξηζκέλν ζε δηάθνξα ηκήκαηα έηζη ώζηε λα επηηπγράλεηαη γξήγνξε πξόζβαζε ζε απηή θαζώο θαη λα παξνπζηάδεη απμεκέλε ρσξεηηθόηεηα. ηελ ζπλέρεηα ζα εμεηάζνπκε ηελ κλήκε ελόο κεζαίνπ κεγέζνπο κηθξνειεγθηή,όπσο ν ATMEGA16. ΜΝΗΜΗ FLASH Ζ κλήκε flash μεθηλάεη από ηελ δηεύζπλζε 0x0000 θαη ην ηέινο εμαξηάηαη από ηνλ θάζε κηθξνειεγθηή(έσο 0x1FFF ζηνλ mega16). Ζ κλήκε flash είλαη κηα κε πηεηηθή κλήκε θαη ρξεζηκνπνηείηαη γηα λα απνζεθεύεη ηνλ εθηειέζηκν θώδηθα θαη ηηο ζηαζεξέο κεηαβιεηέο ελόο πξνγξάκκαηνο,επεηδή πξέπεη λα κείλνπλ ζηελ κλήκε ηνπ κηθξνειεγθηή αθόκα θαη αλ ε ηξνθνδνζία ζηακαηήζεη. Σν κήθνο ησλ ιέμεσλ ηεο κλήκεο flash είλαη 16bit.Αλ θαη ε κλήκε flash κπνξεί λα πξνγξακκαηίδεηαη μαλά θαη μαλά, ελ ηνύηνηο δελ ππάξρεη πξόζβαζε εγγξαθήο ζε απηήλ από ην πξόγξακκα ηνπ κηθξνειεγθηή. Απηό ζεκαίλεη πσο πξέπεη λα πξνγξακκαηηζηεί εμσηεξηθά. Έηζη ινηπόλ από ηελ πιεπξά ηνπ πξνγξακκαηηζηή ε κλήκε flash ζπκπεξηθέξεηαη ζαλ κηα κλήκε ROM(read only memory). εύξνο 16 bit 11

15 Η ΜΝΗΜΗ ΓΔΓΟΜΔΝΧΝ Ζ κλήκε δεδνκέλσλ (data memory) νπζηαζηηθά πεξηέρεη ηξεηο δηαθνξεηηθέο πεξηνρέο κλήκεο αλάγλσζεο-εγγξαθήο. Ζ ρακειόηεξε πεξηνρή πεξηέρεη ηνπο 32 θαηαρσξεηέο γεληθήο ρξήζεο. Αθνινπζνύλ 64 θαηαρσξεηέο εηζόδνπ εμόδνπ(i/o registers)θαη ζηελ ζπλέρεηα αθνινπζεί ε πεξηνρή κλήκεο SRAM. ΚΑΣΑΥΧΡΗΣΔ Οη επεμεξγαζηέο ησλ ππνινγηζηώλ θαη ησλ κηθξνειεγθηώλ δηαζέηνπλ θάπνηεο ζπζθεπέο απνζήθεπζεο νη νπνίεο νλνκάδνληαη θαηαρσξεηέο. Ζ απνζήθεπζε ζε απηνύο 12

16 γίλεηαη πξνζσξηλά γηα κηθξό ρξνληθό δηάζηεκα,εηζη ώζηε ν επεμεξγαζηήο λα θάλεη ηηο ιεηηνπξγίεο πνπ ρξεηάδεηαη. ΚΑΣΑΥΧΡΗΣΔ ΓΔΝΙΚΗ ΥΡΗΗ Οη θαηαρσξεηέο γεληθήο ρξήζεο θαηαιακβάλνπλ ηηο 32 ρακειόηεξεο ζέζεηο ζηελ κλήκε δεδνκέλσλ (όπσο θαίλεηαη θαη ζην ζρήκα 2.2). Απηνί νη θαηαρσξεηέο ρξεζηκνπνηνύληαη γηα λα απνζεθεύνπλ πξνζσξηλά δεδνκέλα,απνηειέζκαηα πξάμεσλ,ηνπηθέο κεηαβιεηέο θαη κεξηθέο θνξέο λα ρξεζηκνπνηνύληαη γηα έκκεζε δηεπζπλζηνδόηεζε. Με ιίγα ιόγηα ν επεμεξγαζηήο ρξεζηκνπνηεί απηνύο ηνπο 32 θαηαρσξεηέο θαηά ηελ δηάξθεηα εθηέιεζεο ηνπ πξνγξάκκαηνο. Ζ ρξήζε ησλ 32 θαηαρσξεηώλ ειέγρεηαη από ηνλ C compiler θαη ζηελ νπζία δελ απαζρνιεί ηνλ πξνγξακκαηηζηή (εθηόο αλ ρξεζηκνπνηoπκε assembly) ΚΑΣΑΥΧΡΗΣΔ ΔΙΟΓΟΤ-ΔΞΟΓΟΤ ηνλ atmega16 νη θαηαρσξεηέο εηζόδνπ-εμόδνπ θαηαιακβάλνπλ ηηο επόκελεο 64 ζέζεηο κλήκεο ζηελ κλήκε δεδνκέλσλ. Ο θαζέλαο από απηνύο ηνπο θαηαρσξεηέο παξέρεη πξόζβαζε ζηνπο θαηαρσξεηέο ειέγρνπ, ή ηα δεδνκέλα από ηηο πεξηθεξεηαθέο ζπζθεπέο πνπ εκπεξηέρνληαη ζηνλ κηθξνειεγθηή. Κάζε θαηαρσξεηήο εηζόδνπ-εμόδνπ έρεη όλνκα, δηεύζπλζε I/Ο, θαη κηα δηεύζπλζε SRAM. Ι/Ο όνομα Ι/Ο διεύθςνζη Γιεύθςνζη Πεπιγπαθή καηασωπηηή καηασωπηηη SRAM DDRA 0X1A 0X3A θαηαρ. θαηεύζπλζεο porta DDRB 0X17 0X37 θαηαρ. θαηεύζπλζεο PortB PORTA 0X1B 0X3B θαηαρ. δεδνκέλσλ porta SREG 0X3F 0X5F Καηαρ. θαηάζηαζεο(status) 13

17 Αληηζηνηρίδνληαο έλα όλνκα ζε έλαλ θαηαρσξεηή, είλαη πην εύθνιν γηα ηνλ πξνγξακκαηηζηή λα ζπκάηαη ην όλνκα ηνπ, παξά ηελ δηεύζπλζε ηνπ. ε έλαλ κεηαγισηηηζηή C δελ καο απαζρνιεί πνην όλνκα αληηζηνηρεί ζε πνηα δηεύζπλζε. Απηή ηελ δνπιεηά ηελ αλαιακβάλεη ν κεηαγισηηηζηήο. Κάζε πξόγξακκα πεξηέρεη κηα επηθεθαιίδα #include (header file) ε νπνία αληηζηνηρίδεη ηα νλόκαηα κε ηηο δηεπζύλζεηο θάζε θαηαρσξεηή. #include <mega16.h> main() DDRA=0XFF; DDRB=0X00; //όια ηα bit ηεο porta σο είμνδνη // όια ηα bit ηεο portb σο είζνδνη while(1) PORTA=PINB //δηαβαζε ηελ portb θαη γξάςε ζηελ porta Σν παξαπάλσ πξόγξακκα δηαβάδεη ηα pins ηεο portb ρξεζηκνπνηώληαο ηνλ θαηαρσξεηή PINB I/O θαη γξάθεη ην απνηέιεζκα ζηελ porta.o κεηαγισηηηζηήο παίξλεη ηηο δηεπζύλζεηο ησλ θαηαρσξεηώλ θαη ηηο αληηζηνηρεί νλνκαζηηθά (DDRA, DDRB, PORTA, PINB) όια απηά εκπεξηέρνληαη ζην αξρείν #include θαη ζηελ ζπγθεθξηκέλε πεξίπησζε αλαθέξνληαη ζηνλ κηθξνειεγθηή atmega16. 14

18 Η ΜΝΗΜΗ SRAM Ζ κλήκε sram ρξεζηκνπνηείηαη γηα λα απνζεθεύεη κεηαβιεηέο νη νπνίεο δελ ρσξάλε ζηνπο θαηαρσξεηέο θαζώο θαη γηα λα απνζεθεύνπλ ηελ ζηνίβα ηνπ επεμεξγαζηή (stack). Σα δεδνκέλα ζπλήζσο απνζεθεύνληαη μεθηλώληαο από ηελ δηεύζπλζε 0x0060 θαη ζηακαηνύλ ζηελ δηεύζπλζε 0x045F γηα ηνλ κηθξνειεγθηή atmega16. Η ΜΝΗΜΗ EEPROM Ζ κλήκε eeprom είλαη κηα κε-πηεηηθή κλήκε. Γειαδή ηα δεδνκέλα κε ηελ δηαθνπή ηεο ηξνθνδνζίαο δηαηεξνύληαη αλαιινίσηα κέρξη ηελ επόκελε πξνζπέιαζε ηεο. Ζ eeprom μεθηλάεη από ηελ δηεύζπλζε 0x000 θαη ζηνλ mega16 θηάλεη ηελ 0x1FF. Βέβαηα ην κέγεζνο ηεο eeprom εμαξηάηαη από ηνλ εθάζηνηε κηθξνειεγθηή. ηελ eeprom έρνπκε ηελ δπλαηόηεηα λα εγγξάςνπκε δεδνκέλα, θαζώο θαη λα αλαθηήζνπκε. Θα ήηαλ ηδαληθό λα κπνξνύζακε λα ηελ ρξεζηκνπνηήζνπκε γηα λα απνζεθεύνπκε ηηο κεηαβιεηέο καο εθεί ζπλερώο,δειαδή λα ηελ ρξεζηκνπνηνύζακε σο sram.όκσο ν κεγάινο ρξόλνο πνπ απαηηεί γηα λα θάλεη κηα εγγξαθή (πεξίπνπ 1ms γηα λα εγγξάςεη 1 byte) θαζώο θαη ν πεξηνξηζκέλνο ρξόλνο δσήο ηεο ( θύθινη εγγξαθήο) ηελ θάλεη θαηάιιειε κόλν γηα κεηαβιεηέο θαη ηηκέο πνπ ρξεηάδνληαη λα κείλνπλ ζηελ κλήκε ηνπ κηθξνειεγθηή αθόκα θαη αλ δηαθνπεί ε ηξνθνδνζία. ΓΙΑΚΟΠΔ (INTERRUPTS) Μηα Γηαθνπή Interrupt) απνηειεί έλαλ κεραληζκό ξνήο ειέγρνπ ν νπνίνο απαληάηαη ζηνπο πεξηζζόηεξνπο ειεγθηέο. ε έλα ζύζηεκα επεμεξγαζηή ην νπνίν αιιειεπηδξά κε ην πεξηβάιινλ ηνπ, ιακβάλνπλ ρώξα πνιύ ζπρλά δηάθνξεο ελέξγεηεο αζύγρξνλεο θύζεο, όπσο γηα παξάδεηγκα, ην πάηεκα ελόο δηαθόπηε ηελ ζηηγκή πνπ θαηαθζάλεη θάπνηα πιεξνθνξία ζηελ ζύξα ζεηξηαθήο επηθνηλσλίαο. Δίλαη θπζηθά αδύλαην γηα ην ζύζηεκα ηνπ επεμεξγαζηή, λα εμεηάδεη ηαπηόρξνλα όισλ ησλ εηδώλ ηηο πηζαλέο ελέξγεηεο ειέγρνληαο ζπλερώο ηηο πεξηθεξεηαθέο κνλάδεο γηα ηπρόλ άθημε λέσλ δεδνκέλσλ. Θεσξείηαη πξνηηκόηεξν λα ππάξρεη ε δπλαηόηεηα ζηηο δηάθνξεο πεξηθεξεηαθέο κνλάδεο λα "αλαθνηλώλνπλ" θαηά θάπνηνλ ηξόπν, ηελ άθημε λέσλ δεδνκέλσλ. Σνλ ξόιν απηόλ 15

19 αλαιακβάλεη ν κεραληζκόο ησλ δηαθνπώλ. Μηα πεξηθε-ξεηαθή κνλάδα είλαη ζε ζέζε λα "δηαθόςεη" ηελ ξνή ηεο ιεηηνπξγίαο ηνπ θύξηνπ πξνγξάκκαηνο, νπόηε ν επεμεξγαζηήο απνθόπηεηαη από ηελ θαλνληθή ηνπ ιεηηνπξγία κε ζθνπό λα εμεηάζεη ηελ πεγή πνπ πξνθάιεζε ηελ ζπγθεθξηκέλε δηαθνπή θαη λα ελεξγήζεη αλάινγα. Αθνύ εθηειεζηνύλ νη απαξαίηεηεο ελέξγεηεο πνπ έρνπλ ζρέζε κε ηελ δηαθνπή, ν έιεγρνο ηεο ξνήο ιεηηνπξγίαο επηζηξέθεη ζην θύξην πξόγξακκα θαη ζπγθεθξηκέλα ζην ζεκείν όπνπ εκθαλίζηεθε ε δηαθνπή. Έλα ηκήκα πξνγξάκκαηνο πνπ αθνξά ηελ εμππεξέηεζε κηαο δηαθνπήο είλαη νπζηαζηηθά κηα ππν-ξνπηίλα κε ηελ δηαθνξά όηη ε εθηέιεζε απηήο ηεο ξνπηίλαο εμππεξέηεζεο δηαθνπήο, δε πξνβιέπεηαη από ηνλ επεμεξγαζηή λα ζπκβεί ζε θάπνηα ζπγθεθξηκέλε ρξνληθή ζηηγκή. Οη κηθξνειεγθηέο ηεο νηθνγέλεηαο AVR δηαζέηνπλ έλα ζύζηεκα δηαθνπώλ κε αξθεηά πινύζηα δνκή. Ζ δπλαηόηεηα ελεξγνπνίεζεο δηαθνπώλ έρεη δνζεί ζηηο πεξηζζόηεξεο από ηηο δηαζέζηκεο πεξηθεξεηαθέο κνλάδεο ησλ κηθξνειεγθηώλ έηζη ώζηε λα κελ είλαη απαξαίηεην ν ειεγθηήο λα εμεηάδεη θάζε ζηηγκή δηαδνρηθά όιεο ηηο κνλάδεο απηέο.ζ αθνινπζία ησλ γεγνλόησλ πνπ ζπλνδεύνπλ ηελ εκθάληζε κηαο δηαθνπήο, πεξηιακβάλεη: 1. Ζ αληίζηνηρε πεξηθεξεηαθή κνλάδα πιεξνθνξεί ην ζύζηεκα όηη αηηείηαη κηα δηαθνπή. 2. Οινθιεξώλεηαη ε εθηέιεζε ηεο εληνιήο πνπ βξίζθνληαλ ζε εμέιημε θαηά ηελ εκθάληζε ηεο αίηεζεο δηαθνπήο. 3. Ζ δηεύζπλζε ηεο επόκελεο εληνιήο ηνπ θύξηνπ πξνγξάκκαηνο πνπ δηεθόπε, απνζεθεύεηαη ζηελ ζηνίβα ηνπ ζπζηήκαηνο (είηε απηή αληηζηνηρεί ζε κνλάδα πιηθνύ ή ηκήκα ινγηζκηθνύ) 4. Φνξηώλεηαη ε δηεύζπλζε ηεο πξώηεο εληνιήο ηεο ξνπηίλαο εμππεξέηεζεο δηαθνπήο ζηνλ κεηξεηή πξνγξάκκαηνο (PC). 5. Ο επεμεξγαζηήο εθηειεί ηελ Ρνπηίλα Δμππεξέηεζεο Γηαθνπήο (Interrupt Service Routine ή ISR). 6. Ζ νινθιήξσζε ηεο εθηέιεζεο ηεο ξνπηίλαο εμππεξέηεζεο δηαθνπήο ζεκαηνδνηείηαη κε ρξήζε ηεο εληνιήο RETI (Δπηζηξνθή από Ρνπηίλα Γηαθνπήο ή RETturn from Interrupt). 7. Ο επεμεξγαζηήο θνξηώλεη ηνλ κεηξεηή πξνγξάκκαηνο κε ηελ δηεύζπλζε πνπ είλαη απνζεθεπκέλε ζηελ ζηνίβα, νπόηε ζπλερίδεηαη θαλνληθά ε εθηέιεζε ηνπ θύξηνπ πξνγξάκκαηνο από ην ζεκείν πνπ εκθαλίζηεθε ε δηαθνπή. ηνπο κηθξνειεγθηέο AVR όιεο νη δηαθνπέο έρνπλ ηελ ίδηα πξνηεξαηόηεηα. Γελ επηηξέπεηαη κηα δηαθνπή λα μεθηλήζεη, όηαλ κηα άιιε δηαθνπή είλαη ζε εμέιημε. ηελ 16

20 πεξίπησζε πνπ δπν δηαθνπέο ζα αηηεζνύλ ηαπηόρξνλα, ζα εθηειεζηεί πξώηα απηή κε ην ρακειόηεξν αξηζκεκέλν δηάλπζκα δηεύζπλζεο. Διεφθυνςη Νοφμερο Αιτία διακοπήσ Περιγραφή ζναρξησ διανφςματοσ 0x Reset Εξωτερ.επανεκινθςθ,watchdog 0x External interrupt 0 Σιμα ςτο pin INT0 0x External interrupt 1 Σιμα ςτο pin INT1 0x Timer 2 compare Όταν ο ςυγκριτισ του timer2 ςυμπίμπτει 0x Timer 2 overflow Όταν ο timer2 υπερχειλίηει Οη δηαθνπέο πξέπεη λα αξρηθνπνηεζνύλ πξηλ γίλνπλ ρξεζηκνπνηεζνύλ ε γίλνπλ ελεξγέο. Ζ αξρηθνπνίεζε είλαη κηα δηαδηθαζία 2 βεκάησλ. Αξρηθά πξέπεη θάλνπκε ελεξγέο ηηο δηαθνπέο,έηζη ώζηε λα ελεξγνπνηεζνύλ θαη ζηελ ζπλέρεηα λα αξρηθνπνηήζνπκε όιεο ηηο ελεξγέο δηαθνπέο. Δλεξγνπνίεζε ησλ δηαθνπώλ ζεκαίλεη πσο πξέπεη λα ζέζνπκε ηελ ινγηθή ηηκή 1 ζηνλ θαηαρσξεηή ειέγρνπ (control register) ζηελ αληίζηνηρε δηαθνπή πνπ ζέινπκε λα ρξεζηκνπνηήζνπκε. Γηα παξάδεηγκα βιέπνπκε ηνλ γεληθό θαηαρσξεηή ειέγρνπ δηαθνπώλ (GICR) ΒΙΣ 7 ΒΙΣ 6 ΒΙΣ 5 ΒΙΣ 4 ΒΙΣ 3 ΒΙΣ 2 ΒΙΣ 1 ΒΙΣ 0 ΗΝΣ1 ΗΝΣ0 ΗΝΣ Ο θαηαρσξεηήο GICR ρξεζηκνπνηείηαη γηα λα ελεξγνπνηήζεη εμσηεξηθέο δηαθνπέο. Γηα παξάδεηγκα ζέηνληαο ην bit INT0 ζα ελεξγνπνηήζεη ηελ δηαθνπή interrupt 0. Αληίζηνηρα ζέηνληαο ην bit ΗΝΣ0 ζα ελεξγνπνηεζεί ε δηαθνπή interrupt 1. Θέηνληαο θαη ηα 2 bit INT0 θαη INT1 ζα ελεξγνπνηεζνύλ θαη νη 2 δηαθνπέο. Γηα παξάδεηγκα όηαλ έλα hardware ζήκα εκθαληζηεί ζην pin INT1,γίλεηαη ε ινγηθή πξάμε AND κε ην αληίζηνηρν bit ηνπ GICR. Αλ ην απνηέιεζκα είλαη ινγηθό 1,ηόηε ε δηαθνπή 17

21 επηηξέπεηαη λα εθηειεζηεί. Tν δεύηεξν βήκα είλαη λα ελεξγνπνηήζνπκε ην bit ηνπ θαηαρσξεηή θαηάζηαζεο (status reg) πνπ αλαθέξεηαη ζηηο νιηθέο δηαθνπέο (global interrupts). Γηα λα γίλεη απηό ζηελ γιώζζα πξνγξακκαηηζκνύ C πξέπεη λα γξάςνπκε ηελ εμήο γξακκή θώδηθα: #asm( sei ) Ζ παξαπάλσ γξακκή ζεκαίλεη πσο ζην ζεκείν εθείλν ηνπ θώδηθα ζα ελεξγνπνηεζνύλ νη δηαθνπέο. Ζ ςεπδνεληνιή #asm ζεκαίλεη πσο κέζα ζην όξηζκα ζα είλαη θώδηθαο assembly. Ζ νδεγία πνπ δίλνπκε SEI ζεκαίλεη πσο ζα ελεξγνπνηεζνύλ νη δηαθνπέο. παξαθάησ ζα δνύκε έλα απιό παξάδεηγκα γξακκέλν ζε γιώζζα C #include <mega16.h> interrupt [EXT_INT0] void ext_int0_isr(void) PORTC=PORTC^0x1; //αλαβόζβεζε ην pin 0 ζηελ πνξηα c void main(void) DDRC=0x01 ; //νξηζκόο ηεο πόξηαο c σο έμνδνο GICR=0x40 ; //ζέζε ην bit γηα ελεξγνπνίεζε ηεο interrupt 0 MCUCR=0x02 ; //ζέζε ην bit ISC01 γηα ελεξγνπνηεζε δηαθνπώλ ζην //θαζνδηθν ζεκεην ηνπ παικνύ #asm( sei ) //ελεξγνπνίεζε όισλ ησλ δηαθνπώλ while(1); 18

22 1 2 ην πξόγξακκα αλαβνζβήλεη ηo led πνπ είλαη ζηελ portc ζην bit 0 θάζε θνξά πνπ ην push button πνπ είλαη ζπλδεκέλν ζην pin INT0 παηηέηαη. Παξαθάησ βιέπνπκε ην θύθισκα ηεο εθαξκνγήο καο. VCC VCC 10k SW1 VCC IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA16 10k LED ΓΙΑΚΟΠΗ ΔΠΑΝΝΔΚΙΝΗΗ (RESET) Ζ επαλεθθίλεζε απνηειεί κηα εηδηθή δηαθνπή. Έρεη ηελ πςειόηεξε πξνηεξαηόηεηα από όιεο ηηο δηαθνπέο θαη από νπνηνλδήπνηε θώδηθα εθηειείηαη ζηνλ κηθξνειεγθηή. Οη αηηίεο πνπ κπνξνύλ λα πξνθαιέζνπλ κηα δηαθνπή επαλεθθίλεζεο είλαη νη εμήο:1) Αλ έλα ινγηθό 0 εκθαληζηεί ζην pin reset γηα δηάζηεκα κεγαιύηεξν από 50ns, 2)Aλ ε ηάζε ηξνθνδνζίαο πέζεη θάησ από έλα πξνθαζνξηζκέλν επηπεδν, ηόηε ν κηθξνειεγθηήο επαλαηνπνζεηείηαη θαη ην πξόγξακκα μεθηλά από ηελ αξρή γηα λα πξνζηαηέςεη ηελ ιεηηνπξγία ηνπ πξνγξάκκαηνο από ηπρόλ αζηαζείο ιεηηνπξγίεο 3) Αλ ν κεηξεηήο watchdog timer κεδελίζεη, πξάγκα πνπ ζεκαίλεη πσο γηα θάπνην ιόγν ην πξόγξακκα δελ ιεηηνπξγεί ζσζηά. 19

23 WATCHDOG TIMER Ο watchdog timer είλαη κηα ζπζθεπή αζθαιείαο. Δίλαη ζρεδηαζκέλν έηζη ώζηε λα πξνθαιεί επαλεθθίλεζε ζηνλ κηθξνειεγθηή, όηαλ απηόο έρεη κπεξδεπηεί ή εθηειεί νπνηνλδήπνηε άιινλ θώδηθα από απηόλ πνπ είλαη ζρεδηαζκέλνο λα εθηειεί. Ο watchdog timer είλαη έλαο κεηξεηήο πνπ πξνθαιεί επαλεθθίλεζε όηαλ απηόο κεδελίζεη από ηελ ηηκή πνπ κεηξνύζε. Όηαλ ην πξόγξακκα εθηειείηαη θαλνληθά ηόηε θνξηώλνπκε ε επαλεθθηλνύκε ηνλ watchdog timer έηζη ώζηε απηόο λα κελ κεδελίζεη θαη πξνθαιέζεη reset. Ζ νπζία ηνπ ζέκαηνο είλαη πσο αλ ην πξόγξακκα θνιήζεη γηα θάπνην ιόγν, ηόηε ε επαλαθνξά ηνπ κηθξνειεγθηή ζα μεθηλήζεη ην πξόγξακκα θαλνληθά. Παξαθάησ βιέπνπκε ηνλ θαηαρσξεηή ειέγρνπ ηνπ watchdog timer WDTCR Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 WDTOE WDE WDP2 WDP1 WDP0 Bit(s) Όνομα Πεπιγπαθή WDTOE Watchdog Timer Of Enable Δπηηξέπεη ηελ απελεξγνπνηεζε ηνπwdt WDE Watchdog Timer Enable Δλεξγνπνηεί ηνλ WDT WPx Watchdog Prescaler Bit x Θέηεη ηνλ ρξόλν timeout ηνπ WDT Σν ξνιόη ρξνληζκνύ ηνπ watchdog timer είλαη μερσξηζηό από απηό ηνπ ππόινηπνπ ζπζηήκαηνο. Ζ ζπρλόηεηα ηνπ εμαξηάηαη από ηελ ηάζε ηξνθνδνζίαο ηνπ κηθξνειεγθηή. Αλ ε ηάζε ηξνθνδνζίαο είλαη 5 volt, ε ζπρλόηεηα ηνπ watchdog timer είλαη πεξίπνπ 1 MHz. Παξαθάησ βιέπνπκε ηα bit ηνπ θαηαρσξεηή WDTCR πνπ αλαθέξνληαη ζηνλ πξνδηαηξέηε πνπ κπνξεί λα ρξεζηκνπνηεζεί,αλάινγα κε ηνλ επηζπκεηό ρξόλν επαλεθθίλεζεο ηνπ watchdog timer. Δπίζεο βιέπνπκε ηελ εμάξηεζε ηεο ζπρλόηεηαο από ηελ ηάζε ηξνθνδνζίαο ηνπ κηθξνειεγθηή 20

24 WDP2 WDP1 WDP0 Time out (5 volt VCC) Time out (3 volt VCC) ms 16ms ms 34ms ms 68ms ms 140ms ms 260ms ms 550ms ms 1000ms ms 2200ms Παξαθάησ βιέπνπκε έλα παξάδεηγκα κε ηνλ watchdog timer ζηνλ κηθξνειεγθηή mega 16 #include <mega16.h> static unsigned int waiter; void main(void) DDRC=0x01; while (PINA.0==1) //ζέζε ην PORTC.0 γηα έμνδν //πεξίκελε λα παηεζεί ην κπνπηόλ ; WDTCR=0x0b; //ελεξγνπνίεζε ηνπ watchdog timer κε ρξόλν επαλεθθίλεζεο //130ms 21

25 while(pina.0==0) // γηα όζν δηάζηεκα ην pina.0 είλαη παηεκέλν,κείλε ζηελ //ξνπηίλα #asm( wdr ) ++waiter ; //επαλεθθίλεζε ηνλ κεηξεηή ηνπ WDT ζπλερώο //απμεζε ηελ κεηαβιεηή waiter if (waiter ==50000) PORTC.0=PORTC.0^1; waiter=0; //κεδέληζε ηελ κεηαβιεηή waiter while(1); Όηαλ ην πξόγξακκα μεθηλάεη,παξακέλεη κέζα ζην πξώην while loop κέρξη λα παηεζεί ην pushbutton. Όηαλ παηεζεί ην button ην πξόγξακκα ελεξγνπνηεί ηνλ watchdog timer. ε απηό ην ζεκείν ν WDT πξέπεη λα επαλαηνπνζεηεζεί πξηλ ππεξρεηιίζεη θαη πξνθαιέζεη reset (κεηά από 120ms). Γηα όζν δηάζηεκα ην pushbutton είλαη παηεκέλν ην πξόγξακκα παξακέλεη ζην δεύηεξν while loop. Δθεί ν WDT επαλαηνπνζεηείηαη κέζσ ηεο εληνιήο #asm( wdt );.Απηή ε εληνιή είλαη ζε γιώζζα assembly θαζώο δελ ππάξρεη αληίζηνηρε γηα ηελ γιώζζα C. ε απηό ην δηάζηεκα βιέπνπκε ην led Πνπ είλαη ζπλδεκέλν ζηελ portc λα αλαβνζβήλεη. Αλ αθήζνπκε ην pushbutton, ηόηε ην πξόγξακκα ζα κεηαβεί ζην πξώην while loop.δπεηδή ν WDT δελ επαλαηνπνζεηείηαη ηώξα ζα πξνθαιεί reset ζην ζύζηεκα κεηά από 130ms Χο απνηέιεζκα δελ ζα παξαηεξνύκε ηίπνηα ζην παξάδεηγκα καο. 22

26 1 2 παξαθάησ βιέπνπκε ην hardware θύθισκα ηνπ παξαδείγκαηόο καο. VCC VCC VCC IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) 10k LED 10k SW1 ATMEGA16 ΑΝΑΛΟΓΙΚΔ ΓΙΑΤΝΓΔΔΙ ε αληίζεζε κε ηνπο κηθξνειεγθηέο πνπ απνηεινύλ ςεθηαθά ζπζηήκαηα, ε θύζε ιεηηνπξγεί αλαινγηθά. Οη κηθξνειεγθηέο κπνξνύλ λα ρεηξίδνληαη αλαινγηθά ζήκαηα, αθνύ πξνεγνπκέλσο ηα κεηαηξέςνπλ ζε ςεθηαθά. Έλαο κηθξνειεγθηήο AVR εκπεξηέρεη κία κνλάδα κεηαηξνπήο αλαινγηθνύ ζήκαηνο ζε ςεθηαθό(analog to digital conversion peripheral), θαζώο επίζεο θαη κία κνλάδα αλαινγηθήο ζύγθξηζεο (analog comparator peripheral). Οη κηθξνειεγθηέο ρξεζηκνπνηνύλ κεηαηξνπείο ADC γηα λα κεηαηξέςνπλ αλαινγηθέο πνζόηεηεο όπσο ε ζεξκνθξαζία θαη ε ηάζε ζε ςεθηαθή κνξθή, όπσο επίζεο γηα κεηαηξνπή ερεηηθνύ ζήκαηνο ζε ςεθηαθό θαη πιεζώξα άιινλ αληίζηνηρσλ εθαξκνγώλ. Ζ δηαδηθαζία ηεο ςεθηνπνίεζεο ελόο ζήκαηνο ζηεξίδεηαη ζηελ αλαινγία. Σν απνηέιεζκα ηεο ςεθηνπνίεζεο ελόο ζήκαηνο από ηνλ ADC είλαη έλαο δπαδηθόο αξηζκόο 8 ε 12 bit, ν νπνίνο είλαη αλάινγνο κε ηελ ηάζε πιήξνπο θιίκαθαο. Γηα παξάδεηγκα έζησ πσο εθαξκόδνπκε 2 volt ζε κηα είζνδν ελόο ADC ζηελ νπνία ε πιήξε θιίκαθα είλαη 5 volt. Ζ ςεθηαθή ιέμε ζα είλαη 40% ηεο πιήξεο θιίκαθαο (2/5=0.4). Έλαο κεηαηξνπέαο ησλ 8 bit ζα καο παξέρεη εμόδνπο από 0 κέρξη ε 255,ελώ έλαο κεηαηξνπέαο ησλ 10 bit ζα καο παξέρεη εμόδνπο από 0 κέρξη ε ην παξαπάλσ παξάδεηγκα όπνπ ε ηάζε ήηαλ 2 23

27 volt κε πιήξε θιίκαθα ηα 5 volt, έλαο ADC ησλ 8 bit ζα δηαβάζεη ην 40% ηνπ 255 δειαδή ην 102. Ζ ζρέζε ηάζεο εηζόδνπ κε ηελ ςεθηαθή ηάζε εμόδνπ δίλεηαη από ηελ ζρέζε V εηζόδνπ /V πιήξνπο θιίκαθαο = x / 2 n -1, όπνπ x είλαη ε ςεθηαθή έμνδνο θαη n είλαη ν αξηζκόο ησλ bits. Έλα πνιύ ζεκαληηθό κέγεζνο πνπ πξέπεη λα παίξλνπκε ππόςηλ καο είλαη ε ηάζε αλάιπζεο ε νπνία δίλεηαη από ηνλ ηύπν V αλάιπζεο =V πιήξεο θιίκαθαο / 2 n -1. ην παξαπάλσ παξάδεηγκα ε ηάζε αλάιπζεο ζα είλαη V=5/(2 8-1)=5 /255=20mV. Απηό ζεκαίλεη πσο ζηελ θαιύηεξε πεξίπησζε ε δηαθξηηηθόηεηα ηνπ ADC ζα αλέξρεηαη ζηα 20mV. H MONAΓΑ ΣΟΤ ΜΔΣΑΣΡΟΠΔΑ ΣΑΗ (ADC PERIPHERAL) H κνλάδα ADC έρεη ηελ δπλαηόηεηα λα παξάγεη αλάιπζε κέρξη 10 bit, θαζώο θαη λα ιεηηνπξγεί ζε ηαρύηεηεο εώο 15ksps(kilo samples per second). Μπνξεί λα δηαβάδεη ηελ ηάζε ζε έλα από ηα νθηώ δηαθνξεηηθά pin εηζόδνπ ηνπ κηθξνειεγθηή θάζε θνξά, πξάγκα πνπ ζεκαίλεη πσο κπνξεί ρξεζηκνπνηήζεη εσο νθηώ δηαθνξεηηθέο εηζόδνπο δηαδνρηθά. Σνλ ADC ηνλ ειέγρνπλ δπν θαηαρσξεηέο. Ο θαηαρσξεηήο θαηάζηαζεο θαη ειέγρνπ ηνπ ADC ADCSRA ( adc control and status register) θαη ν θαηαρσξεηήο πνιύπιεμεο ADMUX (adc multiplexer select register), o oπνίνο ειέγρεη πνηα από ηηο νθηώ πηζαλέο εηζόδνπο πξόθεηηαη λα ρξεζηκνπνηεζεί από ηνλ ADC. Γηα ηελ ιεηηνπξγία ηνπ o ADC απαηηεί ε ζπρλόηεηα ξνινγηνύ πνπ ζα ηξέρεη λα θπκαίλεηαη από 50Khz έσο 200Khz γηα λα έρεη κέγηζηε αλάιπζε ζηηο ηηκέο ηνπ. Μεγαιύηεξεο ηηκέο από 200Khz επηηξέπνληαη, αιιά ε αλάιπζε ηνπ ADC κεηώλεηαη. Ζ ζπρλόηεηα ιεηηνπξγίαο ηνπ ADC ιακβάλεηαη κε έλαλ ηξόπν παξόκνην όπσο κε ηνλ πξνδηαηξέηε ζηνπο ρξνληζηέο. Σα ηξία ιηγόηεξν ζεκαληηθά bits ηνπ θαηαρσξεηή ADCSRA ειέγρνπλ ηελ δηαίξεζε ηνπ θεληξηθνύ ξνινγηνύ ηνπ ζπζηήκαηνο. Γηαηξώληαο ηελ ζπρλόηεηα ηνπ ζπζηήκαηνο κε θάπνην από ηνλ ζπλδηαζκό ηνλ ηξηώλ bit πξέπεη λα παίξλνπκε ρξόλν αλάκεζα ζηα 50Khz θαη ζηα 200 Khz. Παξαθάησ βιέπνπκε ηνλ θαηαρσξεηή ADCSRA. Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 24

28 BIT ADEN ADSC ADATE ADIF ΑDIE ΑDPS2 ADPS1 ADPS0 ΠΔΡΗΓΡΑΦΖ Δλεξγνπνίεζε ηνπ ADC. Σν ζέηνπκε ινγηθό 1 γηα ελεξγνπνίεζε Έλαξμε κεηαηξνπήο ηνπ ADC. Λεηηνπξγία δηαδνρηθώλ κεηαηξνπώλ εκαία δηαθνπήο ινγν νινθιήξσζεο κεηαηξνπήο ηνπ ADC Δπηηξέπεη ην interrupt λα ζπκβεη ιόγν νινθιήξσζεο κηαο κεηαηξνπήο Βit ειέγρνπ ηνπ πξνδηαηξέηε Ζ κνλάδα ηνπ ADC είλαη πην αξγή από ηνλ επεμεξγαζηή. Αλ ινηπόλ ν ADC έθαλε ζπλερώο κεηαηξνπέο ζα ζπαηαινύζε πνιύηηκε επεμεξγαζηηθή ηζρύ ηεο cpu. Έηζη ζπλήζσο ν ADC ρξεζηκνπνηείηαη κε ηελ ιεηηνπξγία ησλ δηαθνπώλ, εηδηθά ζε εθαξκνγέο απαηηεηηθέο γηα ππνινγηζηηθή ηζρύ. Παξόια απηά κπνξνύκε λα ηνλ ιεηηνπξγήζνπκε ζε free running mode,όπνπ ζα θάλεη κεηαηξνπέο ζπλερώο όζν πην γξήγνξα είλαη δπλαηώλ. Όηαλ ρξεζηκνπνηνύκε ηνλ κηθξνειεγθηή ζηελ ιεηηνπξγία free running είλαη απαξαίηεην λα απελεξγνπνηήζνπκε ηηο δηαθνπέο ζην ζύζηεκά καο, λα δηαβάζνπκε ηα δεδνκέλα ηνπ ADC θαη ζηελ ζπλέρεηα λα ελεξγνπνηήζνπκε πάιη ηηο δηαθνπέο πνπ ηπρόλ έρνπκε κέζα ζην πξόγξακκά καο. Απηή ε δηαδηθαζία πξέπεη λα γίλεη γηα λα είκαζηε ζίγνπξνη πσο ηα δεδνκέλα καο ζα είλαη ζσζηά, ρσξίο ην πξόγξακκα λα πξνζπαζεί λα δηαβάζεη ηνλ ADC, όηαλ απηόο αλαλεώλεη ηα δεδνκέλα ηνπ. Παξαθάησ βιέπνπκε ηνλ ζπλδπαζκό ησλ ηξηώλ ιηγόηεξν ζεκαληηθώλ bit ηνπ ADCSRA θαζώο θαη ηελ πξνδηαίξεζε πνπ πξνζθέξνπλ. ADPS2 ADPS1 ADPS0 Παξάγνληαο δηαίξεζεο ζπλδπαζκόο ησλ ADC bit ηνπ πξνδηαηξέηε 25

29 Γηα ηελ αξρηθνπνίεζε ηνπ ADC ζπλήζσο αθνινπζνύληαη ηα παξαθάησ βήκαηα 1) Θέηνπκε ηα 3 ρακειόηεξα bit ηνπ ADCSR ζηνλ επηζπκεηό ρξόλν πξνδηαίξεζεο. 2) ζέηνπκε ην ADIE ζε ινγηθό 1 γηα ηελ ελεξγνπνίεζε ησλ δηαθνπώλ 3) ζέηνπκε ην ADEN ζε ινγηθό 1 γηα ηελ ελεξγνπνίεζε ηνπ ADC. 4) ζέηνπκε ην ADSC γηα άκεζε έλαξμε κεηαηξνπήο ηνπ ζήκαηνο εηζόδνπ. Γηα έλαλ ιόγν πξνδηαίξεζεο 8, νη παξαθάησ γξακκέο θώδηθα ζα αξρηθνπνηήζνπλ ηνλ ADC γηα λα δηαβάζεη κηα αλαινγηθή ηάζε πνπ εθαξκόδεηαη ζην pin ADC2. ADMUX=2; //δηάβαζε ηελ αλαινγηθή ηάζε ζην ADC2 ADCSR=0Xcb; //ελεξγνπνίεζε ηνπ ADC,ησλ δηαθνπώλ,ε δηαίξεζε ηνπ //ξνινγηνύ /8 θαη άκεζε έλαξμε κεηαηξνπώλ Ζ παξαπάλσ αξρηθνπνίεζε ζέηεη ηνλ ADC ζε ιεηηνπξγία, ζα ηνλ αξρηθνπνηήζεη θαη ζα μεθηλήζεη λα θάλεη κεηαηξνπέο ζηελ ηάζε πνπ εθαξκόδεηαη ζην pin ADC2. Παξαθάησ ζα αλαπηύμνπκε κηα εθαξκνγή ε νπνία ζα αληρλεύεη ην επίπεδν ηάζεο πνπ εθαξκόδεηαη ζηελ είζνδν ADC3 ζε έλαλ κηθξνειεγθηή atmega16. Αλάινγα κε ην επίπεδν ηεο ηάζεο ζα αλάβεη θαη ην αληίζηνηρν led. Έηζη αλ ε ηάζε είλαη κεγαιύηεξε από 3 Volt ζα αλάβεη ην θόθθηλν led, αλ ε ηάζε είλαη αλάκεζα από 2 Volt θαη 3 Volt ζα αλάβεη ην πξάζηλν led θαη αλ ε ηάζε είλαη κηθξόηεξε από 2 Volt ζα αλάβεη ην πνξηνθαιί led. #include <mega16.h> #define leds portc #define red 0b #define green 0b #define yellow 0b Interrupt [ADC_INT] void adc_isr(void) Unsigned int adc_data; adc_data=adcw; //ςεπδνεληνιή ηνπ compiler,ελώλεη ηα 2 byte ηνπ ADC if (adc_data >(3*1023)/5 // Leds=red; Else if(adc_data<(2*1023)/5) Leds=yellow; 26

30 Else Leds=green; ADCSRA=ADCSRA 0x40; //μεθίλα κηα λέα κεηαηξνπή void main(void) DDRC=0xe0; //ηα 3 πην ζεκαληηθά bit σο έμνδνο ADMUX=0x3; //ην ADC3 σο έμνδνο ADCSRA=0Xce; //ελεξγνπνίεζε ηνπ ADC, /64,ελεξγνπνίεζε δηαθνπώλ #asm( sei ) //ελεξγνπνίεζε όισλ ησλ δηαθνπώλ. While(1); ΥΡΟΝΙΣΔ - ΜΔΣΡΗΣΔ (TIMER/COUNTERS) Oη timer/counters είλαη από ηηο πην θνηλέο δηαηάμεηο πνπ ρξεζηκνπνηνύληαη ζε έλαλ κηθξνειεγθηή. Δίλαη πνιύ επέιηθηεο πεξηθεξεηαθέο κνλάδεο θαη ρξεζηκνπνηνύληαη γηα λα κεηξάλε πεξίνδνπο, λα βξίζθνπλ ην εύξνο ελόο παικνύ, λα κεηξάλε ηαρύηεηα, λα βξίζθνπλ ηελ ζπρλόηεηα ελόο ζήκαηνο ή λα παξέρνπλ ζήκαηα ρξνληζκνύ. Οη timer/counters είλαη ζηελ νπζία δπαδηθνί κεηξεηέο. Όηαλ ρξεζηκνπνηνύληαη ζηελ ιεηηνπξγία ηνπ ρξνληζηή, νη δπαδηθνί κεηξεηέο κεηξάλε ηηο πεξηόδνπο πνπ εθαξκόδνληαη ζηηο εηζόδνπο ηνπο,ελώ ζηελ ιεηηνπξγία ηνπ κεηξεηή, κεηξάλε ηνπο παικνύο πνπ δέρνληαη ζηηο εηζόδνπο ηνπο. Οη κηθξνειεγθηέο AVR δηαζέηνπλ κεηξεηέο εύξνπο 8-bit θαη 16-bit. ε θάζε πεξίπησζε κηα αλαγθαία ελέξγεηα πνπ πξέπεη λα θάλεη ην πξόγξακκα,είλαη λα ειέγρεη πόηε νη κεηξεηέο θηάλνπλ ηελ κέγηζηε ηηκή ηνπο θαη επαλεθθηλνύληαη. ηελ πεξίπησζε ησλ 8-bit κεηξεηώλ απηό ζπκβαίλεη όηαλ θηάζεη ηελ δεθαδηθή ηηκή 255. Έπεηηα ν κεηξεηήο επηζηξέθεη ζην 0. Όηαλ έρνπκε κεηξεηή εύξνπο 16-bit ην ίδην πξάγκα ζπκβαίλεη όηαλ θηάζεη ζηελ δεθαδηθή ηηκή Σν πόηε θηάλεη έλαο κεηξεηήο ζηελ ππεξρείιηζε ηνπ,πξέπεη λα ην γλσξίδεη ην πξόγξακκα,έηζη ώζηε λα ππάξρεη αθξίβεηα ζηα απνηειέζκαηα πνπ δηέπνληαη από ηνπο ρξνληζηέο. 27

31 Μεξηθνί κηθξνειεγθηέο AVR δηαζέηνπλ δύν ρξνληζηέο ησλ 8-bit (ηππηθά ηνλ timer0 θαη ηνλ timer2) θαη έλαλ ησλ 16-bit (ηππηθά ηνλ timer1) αλ θαη απηή ε δηάηαμε ησλ κεηξεηώλ εμαξηάηαη από ηνλ εθάζηνηε κηθξνειεγθηή πνπ ρξεζηκνπνηνύκε. ηελ ζπλέρεηα ζα δνύκε ηνπο πξνδηαηξέηεο ρξόλνπ πνπ έρνπλ νη ρξνληζηέο, θαζώο θαη παξαδείγκαηα κε ηηο πην ζπλεζηζκέλεο ρξήζεηο ησλ κεηξεηώλ. ΟΙ ΠΡΟΓΙΑΙΡΔΣΔ ΣΧΝ XΡΟΝΙΣΧΝ Oη κνλάδεο ησλ ρξνληζηώλ κπνξνύλ λα ρξεζηκνπνηνύλ κεγάιε πνηθηιία εζσηεξηθώλ ζπρλνηήησλ,νη νπνίεο πξνθύπηνπλ από ηελ δηαίξεζε ηνπ θεληξηθνύ ξνινγηνύ ηνπ κηθξνειεγθηή ή από κηα εμσηεξηθή πεγή. Ο θαηαρσξεηήο timer counter control register (TCCRx) εκπεξηέρεη ηα bits ειέγρνπ ηνπ πξνδηαηξέηε CSx2 CSx1 θαη CSx0 ηα νπνία νξίδνπλ ηελ ζπρλόηεηα ιεηηνπξγίαο ηνπ ρξνληζηή θαζώο θαη ηελ πεγή ηνπ ρξνληζκνύ. παξαθάησ βιέπνπκε ηνλ θαηαρσξεηή TCCRx θαζώο θαη ηνλ ζπλδηαζκν ησλ bit πνπ θαζνξίδνπλ ηελ πεγή ρξνληζκνύ. Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 CS02 CS01 CS00 CS02 CSO1 CS Timer 0 απελεξγνπνηεκέλνο πρλόηεηα ζπζηήκαηνο CK πρλόηεηα ζπζηήκαηνο/8 CK/ πρλόηεηα ζπζηήκαηνο/64 CK/ πρλόηεηα ζπζηήκαηνο/256 CK/ πρλόηεηα ζπζηήκαηνο/1024 CK/ Δμσηεξηθό Pin T0 (ζηελ θαζνδν ηνπ παικνύ) Δμσηεξηθό Pin Σ0 (ζηελ άλνδν ηνπ παικνύ) 28

32 TIMER 0 O timer0 είλαη ηππηθά έλαο ρξνληζηήο εύξνπο 8 bit. Υξεζηκνπνηείηαη ζπρλά γηα λα δίλεη ζήκα ρξνληζκνύ ζε κηα δηαθνπή. Ξεθηλάεη λα κεηξάεη από 0 θαη κόιηο θηάζεη ηελ ηηκή 255 ππεξρεηιίδεη θαη μεθηλάεη από ηελ αξρή. Σελ ζηηγκή ηεο ππεξρείιηζεο πξνθαιεί κηα δηαθνπή ζην πξόγξακκα. Αλ ζηελ δηαθνπή ηνπνζεηήζνπκε κηα ξνπηίλα πνπ ζα θαηαγξάθεη ησλ αξηζκό ησλ δηαθνπώλ,γίλεηαη θαηαλνεηό πσο κπνξνύκε λα πεηύρνπκε ρξόλνπο κεγάιεο αθξίβεηαο. Έζησ ινηπόλ πσο ζέινπκε λα θάλνπκε έλα led λα αλαβνζβήλεη θάζε 0.5 sec.σν led to ηνπνζεηνύκε ζην ιηγόηεξν ζεκαληηθό bit ηεο portc ελόο κηθξνειεγθηή mega16. Δπεηδή ζέινπκε ε δηαθνπή λα εκθαλίδεηαη θάζε 0.5 sec,είλαη πξνθαλέο πσο ζέινπκε ν κεηξεηήο λα κεηξάεη γηα δηάζηεκα 0.5 sec. Όπσο βιέπνπκε θαη ζην ζρήκα παξαθάησ ε ζπρλόηεηα ηνπ ξνινγηνύ είλαη 6 MHz. Δπηιέγνληαο πξνδηαηξέηε ρξόλνπ ηζν κε 1024 ζα έρνπκε : 6MHz /1024 =5859KHz όπνπ ε πεξίνδνο ζα είλαη 1/5859=171κs.Απηό ζεκαίλεη πσο θάζε 171κs ζα εκθαλίδεηαη έλαο παικόο ρξνληζκνύ ζηνλ timer0.δπεηδή ν timer0 έρεη εύξνο 8 bit,κέρξη ηελ ππεξρείιηζε ηνπ ζα έρεη κεηξήζεη 255 παικνύο. Άξα 256*171κs=43,69ms. Καηαιαβαίλνπκε πσο ν κέγηζηνο ρξόλνο πνπ κπνξνύκε λα κεηξήζνπκε πξηλ ππεξρεηιίζεη ν timer0 είλαη 43,69 ms. Γηα λα επηηύρνπκε ρξόλν ίζν κε 500ms ζα θνξηώζνπκε ζηνλ timer 0 ηελ ηηκή =197(γηαηί 59*171κs=10,089ms.Έηζη ζα πεηύρνπκε ρξόλν πεξίπνπ ίζν κε ίζν κε 10ms κέρξη λα ππεξρείιηζε ν timer0.ηε ζπλέρεηα ζα βάινπκε έλαλ κεηξεηή κέζα ζηελ ξνπηίλα ηεο δηαθνπήο έηζη ώζηε ζε θάζε δηαθνπή λα απμάλεη ηελ ηηκή ηνπ θαηά έλα κέρξη λα θηάζεη ηνλ αξηζκό 50.Άξα ζα είλαη ηειηθά 50*10ms=500ms=0,5s.Παξαθάησ βιέπνπκε ην θύθισκα ηεο εθαξκνγήο καο. θαζώο θαη ην αλάινγν software. 29

33 #include <mega16.h> static unsigned int time_count; //ξνπηίλα ππεξρείιηζεο ηνπ timer0 interrupt [TIM0_0VF] void timer0_ovf_isr(void) TCNT0=197; ++time_count //νξηζκόο γηα κέηξεζε 10ms //αύμεζε ηνλ κεηξεηή if (time_count==2950) PORTC.0=(PORTC.0^1) //θάλε XOR ην pin 0 ηεο πόξηαο c //γηα λα αλαβνζβήζεη ην led time_count=0; void main (void) DDRC=0x01; //θάλε ην bit0 ηεο Portc έμνδν //ζέζε ηνλ πξνδηαηξέηε γηα CLK/1024 TCCR0=0x5; TCNT0==0x00; OCR0=0x00; TIMSK=0x01; //ελεξγνπνίεζε δηαθνπήο από ηνλ timer0 30

34 #asm( sei ) //ελεξγνπνίεζε δηαθνπώλ while(1); TIMER 1 O timer1 είλαη πην πνιύπινθνο θαη ρξεζηκνπνηείηαη ζε πεξηζζόηεξεο εθαξκνγέο από ηνλ timer 0. Δθηόο από ηηο ιεηηνπξγίεο ηνπ timer0, ν timer1 δηαζέηεη ηνλ θαηαρσξεηή capture κε εύξνο 16 bit θαζώο επίζεο πεξηέρεη θαη δύν θαηαρσξεηέο ζύγθξηζεο εύξνπο 16 bit. Ο θαηαρσξεηήο capture κπνξεί λα ρξεζηκνπνηεζεί γηα κέηξεζε εύξνπο παικνύ ή λα κεηξάεη ρξόλνπο. Οη θαηαρσξεηέο ζύγθξηζεο ρξεζηκνπνηνύληαη γηα λα παξάγνπλ ζπρλόηεηεο ή παικνύο από ηνλ timer/counter ζε έλα pin εμόδνπ ηνπ κηθξνειεγθηή. ηελ ζπλέρεηα ζα δνύκε απηέο ηηο δύν ιεηηνπξγίεο ηνπ timer1 TIMER1 PRESCALER Παξά ηηο δηαθνξέο πνπ παξνπζηάδεη ν timer1 ζε ζρέζε κε ηνλ timer0,νπζηαζηηθά πξόθεηηαη γηα έλαλ δπαδηθό κεηξεηή. Έηζη όπσο ζηνλ timer0 αιιά θαη ζε όιεο ηηο πεξηθεξεηαθέο κνλάδεο ηνπ κηθξνειεγθηή ππάξρεη έλαο θαηαρσξεηήο ειέγρνπ. Απηόο ν θαηαρσξεηήο είλαη ν TCCR1 (Timer Counter Control Register).Απνηειείηαη από δύν επηκέξνπο θαηαρσξεηέο ηνλ TCCR1A θαη ηνλ TCCR1B. Ο TCCR1A ειέγρεη ηελ ιεηηνπξγία ηνπ ζπγθξηηή ηνπ timer1 θαη ηελ ιεηηνπξγία ηεο δηακόξθσζεο παικώλ. Αξρηθά όκσο ζα εμεηάζνπκε ηνλ TCCR1B. O TCCR1B ειέγρεη ειέγρεη ηνλ πξνδηαηξέηε, ηνλ πνιππιέθηε εηζόδνπ θαζώο θαη ηελ ιεηηνπξγία ηεο ζύιιεςεο (capture). Παξαθάησ βιέπνπκε ηνλ θαηαρσξεηή TCCR1B Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ICNC1 ICNS1 WGM WGM CS12 CS11 CS10 31

35 Bit ICNC1 ICES1 WGM1 CS12 CS11 CS10 Λειηοςπγία Αππνξηςε θνηλνύ ζνξύβνπ ζηελ ιεηηνπξγία ηεο ζύιιεςεο Δπηινγή θαησθιηνύ γηα ζύιιεςε (1 θαηά ηελ αλνδν,0 ζηελ θαζνδν) Έιεγρνο Bit επηινγήο ζήκαηνο ρξνληζκνπ. Αθξηβώο όπσο ν timer0 Bit επηινγήο ζήκαηνο ρξνληζκνπ. Αθξηβώο όπσο ν timer0 Bit επηινγήο ζήκαηνο ρξνληζκνπ. Αθξηβώο όπσο ν timer0 Η ΛΔΙΣΟΤΡΓΙΑ ΤΛΛΗΦΗ ΣΟΤ TIMER1(TIMER1 CAPTURE) Γηα λα κεηξήζνπκε κηα πεξίνδν ρξόλνπ κε ηνλ timer0 ππήξρε ε απαίηεζε λα μεθηλήζνπκε ηνλ κεηξεηή ζηελ αξρή ηνπ γεγνλόηνο θαη λα ηνλ ζηακαηήζνπκε θαζώο ηειεηώζεη απηό. ηελ ζπλέρεηα έπξεπε λα δηαβάζνπκε ηνλ ρξόλν από ηνλ θαηαρσξεηή ηνπ timer counter.ζ ίδηα δνπιεηά γίλεηαη δηαθνξεηηθά ζηνλ timer1 δηόηη ν timer1 ζπλερώο κεηξάεη. Γηα λα κεηξήζνπκε έλα γεγνλόο θαηαγξάθνπκε ηνλ ρξόλνπ ηεο έλαξμεο ηνπ γεγνλόηνο, ηνλ ρξόλν ιήμεο θαη ζηελ ζπλέρεηα αθαηξνύκε ηνπο δύν ρξόλνπο. Γηα παξάδεηγκα αλ μεθηλήζνπκε από ηελ Θεζζαινλίθε γηα λα πάκε ζηα Σξίθαια κπνξνύκε λα θνηηάμνπκε ζην ξνιόη καο ηελ ώξα πνπ μεθηλήζακε από Θεζζαινλίθε θαη ηελ ώξα πνπ θηάζακε Σξίθαια. Έηζη πνιύ απιά λα αθαηξέζνπκε ηνπο ρξόλνπο θαη λα δνύκε πόζν ρξνληθό δηάζηεκα ηαμηδεύακε. ηνλ timer1 απηή ε δηαδηθαζία ειέγρεηαη από ηνλ θαηαρσξεηή ICR1 (Ηnput Capure Register) O ICR1 είλαη έλαο θαηαρσξεηήο εύξνπο 16 bit (εκπεξηέρεη ηνπο θαηαρσξεηήο ICR1H θαη ICR1L).Σν ζήκα πνπ ζα ζπιιεθζεί κπνξεί δώζεη εθθίλεζε ζηνλ ICR1L θαηά ην θαηώθιη αλόδνπ ηνπ ή θαηά ην θαηώθιη θαζόδνπ ηνπ. Απηό ειέγρεηαη από ηνλ bit ICES1 ηνπ ΣCCR1B. 32

36 Δπεηδή κόλν έλαο θαηαρσξεηήο ππάξρεη δηαζέζηκνο γηα ηελ ιεηηνπξγία ηεο ζύιιεςεο, γίλεηαη αληηιεπηό πσο πξέπεη ε αλάγλσζε ηνπ θαηαρσξεηή λα γίλεη γξήγνξα πξηλ έξζεη ε επόκελε εγγξαθή θαη καο θαηαζηξέςεη ηα δεδνκέλα. Γηα λα κπνξεί λα είλαη εθηθηό απηό κηα δηαθνπή ελεξγνπνηείηαη θάζε θνξά πνπ λέα δεδνκέλα ζπιιακβάλνληαη από ηνλ ICR1. Δηζη ππάξρεη ρξόλνο ώζηε λα ζσζνύλ ηα δεδνκέλα γξήγνξα. Ο timer1 παξέρεη επίζεο ηελ ιεηηνπξγία ηεο απόξξηςεο θνηλνύ ζνξύβνπ ζηελ είζνδν ηνπ ICP (input capture pin). Έηζη ηπρώλ απόηνκεο δηαθπκάλζεηο ηάζεο απνξξίπηνληαη θαη πξνζηαηεύεηαη έηζη ε ιεηηνπξγία ηεο ζύιιεςεο από ιαλζαζκέλν ρξόλν έλαξμεο. Όηαλ ε ιεηηνπξγία απόξξηςεο θνηλνύ ζνξύβνπ είλαη ελεξγνπνηεκέλε,ηόηε ην pin ICP πξέπεη λα θάλεη κεηξήζεη ηέζζεξα δείγκαηα πξηλ αξρίζεη λα θάλεη capture o κηθξνειεγθηήο. ην παξαθάησ παξάδεηγκα ζα κεηξήζνπκε ηελ πεξίνδν ελόο ηεηξαγσληθνύ ζήκαηνο θάλνληαο ρξήζε ηελ ιεηηνπξγία ζύιιεςεο (capture) κε ηνλ κηθξνειεγθηή atmega16. #include <mega16.h> //νξηζκόο ηεο portc σο έμνδν #define period_out PORTC unsigned char ov_counter //κεηξεηήο γηα ηελ ππεξρείιηζε ηνπ timer1 unsigned int starting_edge,ending_edge unsigned int clocks; //ζέζε απνζήθεπζεο γηα ηνπο παικνύο //ξνπηίλα δηαθνπήο ηνπ timer1 interrupt [TIM1_OVF] void timer1_ovf_isr(void) ++ov_counter ; //αύμεζε ηνλ κεηξεηή όηαλ γίλεη ε δηαθνπή //ξνπηίλα δηαθνπήο γηα ηελ ιεηηνπξγία ηεο ζύιιεςεο interrupt [TIM1_CAPT] void timer_capt_isr(void) 33

37 //ζπλδπαζκόο ησλ δύν 8 bit θαηαρσξεηώλ ζε έλαλ 16 bit ending_edge=256*icr1h+icr1l; clocks=(unsigned long)ending_edge+((unsigned long)ov_counter*65536) -(unsigned long)starting_edge; period_out=~(clocks/750); ov_counter=0; starting_edge=ending_edge; void main(void) DDRC=0Xff; //νξηζκόο ηεο portc σο έμνδνο TCCR1A=0; //απελεξγνπνίεζε όισλ ησλ ιεηηνπξγηώλ θπκκαηνκνξθώλ ηνπ //timer1 TCCR1B=0xC2; TIMSK=0x24; #asm( sei ) //νξηζκόο γηα clock/8 θαη ελεξγνπνίεζε ηνπ capture //ελεξγνπνίεζε δηαθνπώλ από ππεξρείιηζε ηνπ timer1 θαζώο //θαη ηεο ιεηηνπξγίαο capture //ελεξγνπνίεζε όισλ ησλ δηαθνπώλ while(1) ; 34

38 Όηαλ μεθηλάεη λα ηξέρεη ην πξόγξακκα όηαλ ν παικόο πνπ εθαξκόδεηαη ζην pin ICP ηνπ κηθξνειεγθηή βξίζθεηαη ζε άλνδν, ελεξγνπνηείηαη ε δηαθνπή capture θαη ν κεηξεηήο ICR1 αξρίδεη λα κεηξάεη. Όηαλ ν timer1 ππεξρεηιίζεη,ηόηε ελεξγνπνηείηαη ην interrupt ηεο ππεξρείιηζήο ηνπ. Δθεί απμάλνπκε ηελ ηηκή ελόο κεηξεηή θάζε θνξά πνπ ζπκβαίλεη ε δηαθνπή. Μέζα ζηελ ξνπηίλαο δηαθνπήο ηεο ζύιιεςεο (capture) ζπλδπάδνπκε ην ICR1H κε ην ICR1L έηζη ώζηε λα πξνθύςεη νιόθιεξνο ν αξηζκόο ησλ 16 bit. Απηό κπνξνύκε λα ην θάλνπκε θάλνληαο νιίζζεζε ηνλ ICR1H θαηά 8 ζέζεηο δεμηά ή πνιύ απιά πνιιαπιαζηάδνληαο ηνλ κε ηνλ αξηζκό 256. Έπεηηα ζηελ κεηαβιεηή clocks βξίζθνπκε πόζνπο παικνύο ρξεηάζηεθε ν κηθξνειεγθηήο γηα λα θαζνξίζεη ηελ αξρή θαη ην ηέινο ηνπ πξνο κέηξεζε παικνύ. ηελ ζπλέρεηα δηαηξνύκε ηνλ αξηζκό ησλ παικώλ κε ηελ ζπρλόηεηα ιεηηνπξγίαο ηνπ timer1 (ζηελ πεξίπησζή καο 750Khz) γηα λα βξνύκε ζε ms πόζν ρξόλν ήηαλ ν πξνο κέηξεζε παικόο. ΛΔΙΣΟΤΡΓΙΑ ΔΞΟΓΟΤ ΤΓΚΡΙΗ ΣΟΤ TIMER1 (OUTPUT COMPARE) Ζ ιεηηνπξγία εμόδνπ ζύγθξηζεο ρξεζηκνπνηείηαη από ηνλ κηθξνειεγθηή γηα λα παξάγεη ζήκαηα εμόδνπ. Σα ζήκαηα απηά κπνξεί λα είλαη είηε ηεηξαγσληθνί παικνί,είηε αζύκκεηξα ζήκαηα πνπ κπνξεί λα πνηθίινπλ ζε ζπρλόηεηα ή ηελ ζπκκεηξία ηνπο. Ζ ζύγθξηζε απνηειεί κηα απνθιεηζηηθά εζσηεξηθή δηαδηθαζία ζηνλ κηθξνειεγθηή ζε αληίζεζε κε ηελ ιεηηνπξγία ζύιιεςεο όπνπ έπξεπε λα έρεη ν κηθξνειεγθηήο εμσηεξηθό εξέζηζκα ζην pin ICP. ηελ ιεηηνπξγία ηεο ζύγθξηζεο ην πξόγξακκα θνξηώλεη κηα ηηκή ζηνλ θαηαρσξεηή ζύγθξηζεο εμόδνπ. Απηή ε ηηκή ζπγθξίλεηαη κε ηελ ηηκή ηνπ θαηαρσξεηή timer/counter θαη αλ ζπκπίπηνπλ, ηόηε ιακβάλεη ρώξα κηα δηαθνπή ε νπνία δξα ζαλ ζπλαγεξκόο πξνηξέπνληαο ηνλ επεμεξγαζηή λα εθηειέζεη κηα ζπλάξηεζε πνπ αληηζηνηρεί ζην ζήκα πνπ ηελ πξνθάιεζε. ηελ ζπλέρεηα βιέπνπκε ηνλ θαηαρσξεηή ΣCCR1A Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 Δπηπξόζζεηα ε ιεηηνπξγία ηεο ζύγθξηζεο κπνξεί λα αιιάμεη ηελ ινγηθή θαηάζηαζε ηνπ πξνθαζνξηζκέλν pin ΟC1x,ζύκθσλα κε ηνλ παξαθάησ πίλαθα. 35

39 COM1x1 COM1x0 Απνηέιεζκα 0 0 Υσξίο έμνδν 0 1 Δλαιιαγή ινγηθνύ επηπέδνπ ζην OC1x 1 0 Σνπνζέηεζε ζε ινγηθό 0 ηνπ OC1x 1 1 Σνπνζέηεζε ζε ινγηθό 1 ηνπ OC1x Γηα παξάδεηγκα έζησ πσο ζέινπκε ν κηθξνειεγθηήο λα παξάγεη έλα ηεηξαγσληθό ζήκα ζπρλόηεηαο 7,5Khz.Γειαδή ε πεξίνδόο ηνπ είλαη 1/7500Ζz=133κο. Αλ ε ζπρλόηεηα ηνπ ξνινγηνύ καο είλαη 6Μhz, απηό ζεκαίλεη πσο κε έλαλ πξνδηαηξέηε CLK/8 ζα έρνπκε ζπρλόηεηα 750Khz(ε πεξίνδνο 1,33κο). Δκείο ζέινπκε ν παικόο καο λα ελαιιάζζεηαη θάζε 133κο/2=66,7κο.Άξα έρνληαο σο δεδνκέλν ηελ ζπρλόηεηα ηνπ ξνινγηνύ πξέπεη λα ηζρύεη γηα ηελ αιιαγή ηεο θαηάζηαζεο ηνπ pin OC1A 66,7κο/1.33κο=50 θύθινη ξνινγηνύ όπσο βιέπνπκε ζην ζρήκα #include <mega16.h> interrupt [TIM1_COMPA] void timer1_compa_isr(void) 36

40 OCR1A=OCR1A+50; //ελαιιαγή εμόδνπ ζε 50 θύθινπο //OCR1AL //o OCR1A εκπεξηέρεη ηνλ OCR1AH θαη ηνλ void main(void) DDRD=0x20; TCCR1B=0x40; ΤCCR1B=0x02; TIMSK=0x20; #asm ( sei ) //ξύζκηζε ηνπ pin PD5 σο έμνδν //ξύζκηζε γηα ελαιιαγή θάζε θνξά πνπ έρνπκε ηαίξηαζκα //ξύζκηζε ηνπ ξνινγηνύ γηα CLK/8 //ελεξγνπνίεζε ησλ δηαθνπώλ ιόγσ ζύγθξηζεο //ελεξγνπνίεζε όισλ ησλ δηαθνπώλ while(1); ΓΙΑΜΟΡΦΧΗ ΠΛΑΣΟΤ ΠΑΛΜΧΝ ΜΔ ΣΟΝ TIMER1 (PWM) Μηα από ηηο κεζόδνπο γηα λα κεηαηξέςνπκε έλα ςεθηαθό ζήκα ζε αλαινγηθό(digital to analog converter), είλαη κε ηελ ρξήζε δηακόξθσζεο πιάηνπο παικώλ (PWM). Μεηαβαιιόληαο ην duty cycle ελόο παικνύ ε κέζε ηηκή ηεο ηάζεο κεηαβάιιεηαη αληίζηνηρα. Φηιηξάξνληαο ηελ έμνδν ηνπ παικνύ, κπνξνύκε λα πάξνπκε ηελ επηζπκεηή ηηκή ηεο ηάζεο πνπ καο ελδηαθέξεη.to θηιηξάξηζκα κπνξεί λα γίλεη κε έλα απιό δηθηύσκα RC όπσο βιέπνπκε ζηελ παξαθάησ εηθόλα 37

41 PWM input R1 averege dc output C1 O timer1 αιιάδεη ηελ ιεηηνπξγία ηνπ έηζη ώζηε λα είλαη ζε ζέζε λα παξάγεη παικνύο PWM κε ηελ ελζσκαησκέλε απηή ιεηηνπξγία ηνπ. Καηά ηελ δηάξθεηα ηεο ιεηηνπξγίαο PWM ν timer1 μεθηλάεη λα κεηξάεη από ην κεδέλ κέρξη κηα άλσ ηηκή πνπ ηνπ νξίδνπκε θαη από ηελ άλσ ηηκή σο ην κεδέλ. Ζ άλσ ηηκή εμαξηάηαη από ηελ αλάιπζε πνπ ηνπ νξίδνπκε. Έρνπκε ηελ δπλαηόηεηα λα ηνπ νξίζνπκε αλάιπζε ησλ 8 bit ησλ 9 bit θαη ησλ 10 bit αιιάδνληαο ηνλ ζπλδπαζκό ησλ WGM bit ζηνλ θαηαρσξεηή TCCR1A. Ο ζπλδπαζκόο απηόο ησλ bit επεξεάδεη ηελ ηειηθή ηηκή πνπ ζα θηάζεη ν κεηξεηήο, θαζώο θαη ηελ ζπρλόηεηα ηεο PWM θπκκαηνκνξθήο. Παξαθάησ βιέπνπκε ηα bit WGM11 θαη WGM10 ηνπ θαηαρσξεηή TCCR1A. 38

42 WGM11 WGM10 Ανάλςζη PWM Άνω ηιμή timer 0 0 Pwm off Pwm off bit bit bit 1024 Eάλ γηα παξάδεηγκα επηιέμνπκε ην ξνιόη ηνπ ζπζηήκαηνο λα ηξέρεη κε 6Mhz,πξνδηαηξέηε CLK/8 θαη αλάιπζε ησλ 8 bit ζα έρνπκε σο απνηέιεζκα ε άλσ ηηκή ηνπ timer1 λα είλαη 511. Ζ ζπρλόηεηα ηόηε ηνπ pwm παικνύ ζα καο δίλεηαη από ηελ ζρέζε f pwm =f system clock /(πξνδηαηξέηε*2*άλσ ηηκή) Έηζη έρνπκε 6Mhz/(8*2*511)= 733.8Hz.Kαηά ηνλ ζρεδηαζκό ελόο ζπζηήκαηνο πξέπεη λα ιάβνπκε ππόςηλ καο ηελ επηζπκεηή ηηκή ζπρλόηεηαο πνπ ζέινπκε λα επηηύρνπκε θαη λα δνθηκάζνπκε πνηα αλάιπζε είλαη απηή πνπ πιεζηάδεη πεξηζζόηεξν ζηε δεηνύκελε ζπρλόηεηα. Σν duty cycle ηνπ PWM παικνύ εμαξηάηαη από ηελ ηηκή πνπ είλαη θαηαρσξεκέλε ζηνλ θαηαρσξεηή ζύγθξηζεο εμόδνπ. Αλ γηα παξάδεηγκα ζέινπκε έλα duty cycle 20% ζα πξέπεη λα θνξηώζνπκε ζηνλ output compare register κηα ηηκή πνπ λα είλαη 20% ηεο ηηκήο θνξπθήο ηνπ παικνύ pwm. ην παξαθάησ παξάδεηγκα ην πξόγξακκα παξάγεη ηέζζεξα δηαθνξεηηθά duty cycle(10%,20% 30% θαη 40%) κηαο ζπρλόηεηαο πνπ είλαη θνληά ζηα 2Κhz. Έρνληαο έλαλ θξύζηαιιν ησλ 8 Mhz θαη δηαιέγνληαο αλάιπζε ησλ 8-bit κε πξνδηαηξέηε CLK/8,ζύκθσλα κε ηνλ παξαπάλσ ηύπν παίξλνπκε κηα ζπρλόηεηα 1,96 Khz ε νπνία είλαη πνιύ θνληά ζηελ δεηνύκελε ζπρλόηεηα. #include <mega16.h> #define PWM_select (PINA & 3) void main(void) unsigned int old_sw ; //απνζήθεπζε παιαηώλ ηηκώλ ησλ δηαθνπηώλ 39

43 PORTA=0x03; DDRD=0x20; TCCR1A=0x9 //θάλε ηα 2 lsb ηεο porta είζνδν //νξηζκόο ηνπ OCA σο έμνδν 1//ζύγθξηζε γηα ρακειε εμνδν,ελεξγνπνίεζε ηνπ Pwm //θαη αλάιπζε 8-bit TCCR1B=0x02; //πεγή ρξνληζκνύ ην ξνιόη θαη ν πξνδηαηξέηεο CLK/8 while(1) if (PWM_select!=old_sw) old_sw=pwm_select switch (PWM_select) case 0: OCR1A=25; //10 % duty cycle break; case 1: OCR1A=51; //20 % duty cycle break; case 2:OCR1A=76; //30 % duty cycle break; case 3:OCR1A=102; // 40 % duty cycle default: break; 40

44 ην παξαπάλσ πξόγξακκα ρξεζηκνπνηήζακε ηελ ζπλζήθε switch case ε νπνία αλάινγα ζε πνηα θαηάζηαζε βξίζθεηαη ε κεηαβιεηή PWM_select εθηειεί ην αληίζηνηρν case. To πξόγξακκα απηό ζα εθηειείηαη ζπλερώο, θαζώο ε ζπλζήθε while(1) ηζρύεη πάληα. ΑΠΔΙΚΟΝΙΗ Δ ΔΝΓΔΙΚΣΗ LED 7 ΣΟΜΔΧΝ Ο ελδείθηεο 7 ηνκέσλ απνηειείηαη από ηνπο ηνκείο (a, b, c, d, e, f, g) θαηάιιεια ηνπνζεηεκέλνπο έηζη ώζηε λα είλαη δπλαηή ε απεηθόληζε αξηζκώλ θαη θαη' επέθηαζε νξηζκέλσλ γξακκάησλ. Κάζε ηνκέαο ηνπ ελδείθηε απνηειείηαη από έλα ή πεξηζζόηεξα leds αλάινγα κε ην κέγεζνο ηνπ. Πέξα από ηνπο 7 ηνκείο ζηνπο ελδείθηεο ππάξρεη ηηο πεξηζζόηεξεο θνξέο θαη έλαο επηπιένλ ηνκέαο γλσζηόο σο δεθαδηθή ηειεία (decimal point ή dp). Υξεζηκεύεη ζηηο πεξηπηώζεηο όπνπ απαηηείηαη ε έλδεημε δεθαδηθώλ ςεθίσλ ζε απεηθόληζε κε 2 ή πεξηζζόηεξνπο ελδείθηεο. Οη ελδείθηεο δηαθξίλνληαη ζε δύν είδε: ζε ελδείθηεο θνηλήο θαζόδνπ νη νπνίνη ζπκβαδίδνπλ κε ηε ζεηηθή ινγηθή (έρνπλ θνηλή ηελ θάζνδν όισλ ησλ leds) θαη ζε ελδείθηεο θνηλήο αλόδνπ νη νπνίνη ζπκβαδίδνπλ κε ηε αξλεηηθή ινγηθή (έρνπλ θνηλή ηελ άλνδν όισλ ησλ leds). ην παξαπάλσ ζρήκα βιέπνπκε πνηνπο ηνκείο πξέπεη λα αλάςνπκε αλάινγα κε ην ςεθίν πνπ ζέινπκε λα εκθαλίζνπκε. ηελ ζπλέρεηα ζα νδεγήζνπκε έλαλ ελδείθηε 7 ηνκέσλ θνηλήο θαζόδνπ κε ηνλ κηθξνειεγθηή ATMEGA16.Σν πξόγξακκα πνπ ζα δνύκε 41

45 εκθαλίδεη ζην led display ηνπο αξηζκνύο από ην 0 κέρξη ην 9 κε ρξνληθή δηαθνξά κεηαμύ ηνπο ελόο δεπηεξνιέπηνπ. Μόιηο ν αξηζκόο θηάζεη ζην 9, ηόηε αξρίδεη πάιη από ην 0. #include <mega16.h> #include <delay.h> int i; unsigned number[10]= //απνζεθεύνπκε ηνπο ηνκείο πνπ ζέινπκε λα αλάβνπκε 0b //0 //θάζε θνξά ζηνλ πίλαθα number 0b //1 0b //2 0b //3 0b //4 0b //5 0b //6 0b //7 0b //8 0b //9 ; main() DDRA=0xFF; //H PORTA σο έμνδνο while(1) PORTA=number[i]; delay_ms(1000); i=i+1; if (i>9) i=0; //δηάβαζε ηα πεξηερόκελα ηνπ πίλαθα ζηελ ζέζε i //θαη νδήγεζέ ηα ζηελ porta. 42

46 a b c d e f g dot +V2 +V1 8 3 Led Display. U1 0 VCC 0 IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA RPAC ΟΓΗΓΗΗ ΚΙΝΗΣΗΡΧΝ ΜΔ ΣΟΤ ΜΙΚΡΟΔΛΔΓΚΣΔ AVR Oη θηλεηήξεο είλαη εμαξηήκαηα κε απμεκέλεο αλάγθεο γηα ξεύκα. Οδεγώληαο έλαλ θηλεηήξα απεπζείαο από ηελ έμνδν ηνπ κηθξνειεγθηή ζα νδεγνύζακε ζηελ θαηαζηξνθή ηνπ γηαηί έρνπλ σο αλώηαην όξην ξεύκαηνο εμόδνπ ηα 40mA. Τπάξρνπλ αξθεηνί ηξόπνη νδήγεζεο κεγάισλ θνξηίσλ από κηθξνειεγθηέο. ηα παξαθάησ παξαδείγκαηα έρεη ρξεζηκνπνηεζεί κηα γέθπξα H ζε κνξθή νινθιεξσκέλνπ θπθιώκαηνο. ηελ ζπλέρεηα ζα δνύκε πσο κπνξνύκε λα νδεγήζνπκε βεκαηηθνύο θηλεηήξεο (κνλνπνιηθνύο θαη δηπνιηθνύο), θηλεηήξεο servo, αιιά θαη απινύο DC θηλεηήξεο. ΟΓΗΓΗΗ ΚΙΝΗΣΗΡΧΝ DC ην παξαθάησ παξάδεηγκα ζα νδεγήζνπκε έλαλ θηλεηήξα dc κηθξήο ηζρύνο κε ρξήζε ηνπ νινθιεξσκέλνπ θπθιώκαηνο L293. Σν ζπγθεθξηκέλν νινθιεξσκέλν κπνξεί λα νδεγήζεη 2 δηαθνξεηηθνύο dc θηλεηήξεο. Σν ξεύκα πνπ κπνξεί λα δώζεη είλαη 1A αλά θαλάιη (ή αλά θηλεηήξα). Ζ ηξνθνδνζία ηνπ είλαη δηπιή θαη κπνξεί λα είλαη από 4,5V κέρξη 36V. ε πεξίπησζε πνπ νη θηλεηήξεο καο "ηξαβάλε" πεξηζζόηεξν από 300 mα ξεύκα, είλαη πξνηηκόηεξν λα ηνπνζεηήζνπκε κία ςήθηξα πάλσ ζην νινθιεξσκέλν, γηα λα κελ έρνπκε ζεξκηθή θπγή θαη θαηαζηξνθή ηνπ. Παξαθάησ βιέπνπκε ζην ζρεκαηηθό έλαλ κηθξνειεγθηή ATMEGA16 λα νδεγεί έλαλ θηλεηήξα ζπλερνύο ξεύκαηνο. 43

47 1 2 VCC=5V VCC=5V 0 IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA ,2 EN 1A 1Y GROUND GROUND 2Y 2A VCC2 VCC1 4A 4Y GROUND GROUND 3Y 3A 3,4 EN l293 MG MOTOR DC 0 ΟΓΗΓΗΗ ΒΗΜΑΣΙΚΟΤ ΚΙΝΗΣΗΡΑ Οη βεκαηηθνί θηλεηήξεο, είλαη κεραλέο πνπ κεηαηξέπνπλ αθνινπζίεο ειεθηξηθώλ παικώλ ζε κεραληθή θίλεζε. Υξεζηκνπνηνύληαη ζε πάξα πνιιέο ζύγρξνλεο νηθηαθέο θαη επαγγεικαηηθέο ζπζθεπέο όπσο ζηνπο εθηππσηέο θαη ζηα θσηνηππηθά κεραλήκαηα, έρνληαο σο θαζήθνληα ηελ αθξηβή πεξηζηξνθή ησλ αμόλσλ ηνπο. Έλαο βεκαηηθόο θηλεηήξαο ραξαθηεξίδεηαη από έλα πιήζνο παξακέηξσλ όπσο ε ηηκή ηνπο, ην κέγεζνο, ην ζρήκα,ε ηζρύο,ε ηάζε ηξνθνδνζίαο εθ ησλ νπνίσλ ε ζεκαληηθόηεξε αθνξά ην πιήζνο ησλ βεκάησλ πνπ απαηηνύληαη γηα κηα πιήξε πεξηζηξνθή ηνπ ξόηνξα. Ζ πεξηζηξνθή ηνπ ξόηνξα κπνξεί λα γίλεηαη κε πιήξε ε κε κηζά βήκαηα. Ζ νδήγεζε κε κηζά βήκαηα απμάλεη πάληα ηελ αθξίβεηα κεηαηόπηζεο ηνπ ξόηνξα, γεγνλόο πνπ έρεη ζαλ ζπλέπεηα ηελ αθόκα πην αθξηβή πεξηζηξνθή ηνπ ειεγρόκελνπ κεραληθνύ ζηειέρνπο. 44

48 VCC=5V VCC=5V 0 IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA ,2 EN VCC1 1A 4A 1Y 4Y GROUND GROUND GROUND GROUND 2Y 3Y 2A 3A VCC2 3,4 EN l L1 1B 2A L2 2B 1A Παξαπάλσ βιέπνπκε ηα 2 πελία ηνπ βεκαηηθνύ θηλεηήξα ζπλδεκέλα ζηελ έμνδν ηνπ L293. Tα ζήκαηα ειέγρνπ, όπσο βιέπνπκε ζηνλ παξαθάησ πίλαθα, πξέπεη λα αληαπνθξίλνληαη ζε κηα ζπγθεθξηκέλε αθνινπζία ηεζζάξσλ βεκάησλ έηζη ώζηε λα έρνπκε ζηξέςε ηνπ θηλεηήξα. Σςλιγμα 1Α Σςλιγμα 2Α Σςλιγμα 1Β Σςλιγμα 2Β ΒΗΜΑ ΒΗΜΑ ΒΗΜΑ ΒΗΜΑ ηελ ζπλέρεηα βιέπνπκε ην αληίζηνηρν πξόγξακκα ζηνλ κηθξνειεγθηή καο. #Include<mega16.h> #include<delay.h> main() DDRA=0xFF; //νξηζκόο ηεο porta σο έμνδν while(1) PORTA=0b ; delay_ms(20); PORTA=0b ; delay_ms(20); PORTA=0b ; 45

49 delay_ms(20); PORTA=0b ; delay_ms(20); ΟΓΗΓΗΗ ΚΙΝΗΣΗΡΑ SERVO Οη ζεκεξηλνί ζεξβνθηλεηήξεο είλαη εμαηξεηηθά ζπκπαγείο, παξόηη εθηόο από ηνλ ίδην ηνλ κεραληζκό θίλεζεο πεξηιακβάλνπλ εμεηδηθεπκέλα ειεθηξνληθά νδήγεζεο ε είζνδνο ησλ νπνίσλ ρξεζηκνπνηεί απιά ινγηθά ζήκαηα TTL ε CMOS. Ζ ηζρύο ηελ νπνία είλαη ζε ζέζε λα παξάζρνπλ νη ηζρπξόηεξνη εμ απηώλ κπνξεί λα είλαη αξθεηά κεγάιε, ελώ ζπρλά ζπλνδεύνληαη από έλα ζεβαζηό πιήζνο αμεζνπάξ όπσο βξαρίνλεο, θαη δηάηξεηνη ηξνρνί ηα νπνία δηεπθνιύλνπλ ηελ πξνζαξκνγή ηνπο κε ηα θηλνύκελα ζηειέρε. Έλαο ζεξβνθηλεηήξαο δηαζέηεη κόιηο 3 θαιώδηα ρξσκαηηθά θσδηθνπνηεκέλα. Σν θόθθηλν θαη ην καύξν θαιώδην ρξεζηκνπνηνύληαη γηα ηελ ηξνθνδνζία ηνπ θηλεηήξα, κε κηα ηάζε κεηαμύ 4,8V θαη 6V. To ηξίην θαιώδην (ζπλήζσο θίηξηλν ε ιεπθό), ρξεζηκνπνηείηαη γηα λα κεηαθέξεη ζηνλ ζεξβνθηλεηήξα ηηο εληνιέο κε ηελ κνξθή δηακνξθσκέλσλ παικώλ θαηά πιάηνο (PWM) ζεκάησλ. Ο ξπζκόο επαλάιεςεο ζα πξέπεη λα είλαη ηέηνηνο ώζηε κεηαμύ ησλ δηαδνρηθώλ παικώλ ε παύζε λα κελ είλαη κεγαιύηεξε από 10ms εώο 20ms. O ξπζκόο επαλάιεςεο δελ είλαη θξίζηκνο, αιιά βνεζά ηνλ θηλεηήξα λα δηαηεξήζεη ηελ ζέζε πνπ νξίδεη ην πιάηνο ησλ ιακβαλόκελσλ παικώλ. Δάλ νη παικνί δελ επαλαιακβάλνληαη, ν ζεξβνθηλεηήξαο ζα νδεγεζεί ζηελ ζέζε πνπ ππνδεηθλύεη ν ηειεπηαίνο ιεθζείο παικόο, αιιά κόιηο απηόο ζηακαηήζεη ε ειάρηζηε δύλακε ζηνλ άμνλα κπνξεί λα κεηαθηλήζεη ηνλ θηλεηήξα θαη λα ράζεη ηελ επηζπκεηή ζέζε. Θέζε θηλεηήξα 1.5 ms 1ms 10 20ms 2ms 10 20ms ms

50 Έλαο παικόο δηάξθεηαο 1.5ms θέξλεη ηνλ ζεξβνθηλεηήξα ζηελ ζέζε εξεκίαο, ηηο 90 κνίξεο. Έλαο παικόο δηάξθεηαο 1ms ππνρξεώλεη ηνλ θηλεηήξα λα πεξηζηξαθεί πξνο ηελ αθξαία αξηζηεξή ζέζε ηνπ πνπ ζηελ ζπγθεθξηκέλε πεξίπησζε είλαη 0 κνίξεο. Αληίζηνηρα ζε έλαλ παικό δηάξθεηαο 2 ms κπνξνύκε λα γπξίζνπκε ηνλ θηλεηήξα σο ηηο 180 κνίξεο. Δλδηάκεζεο ηηκέο είλαη δπλαηόλ λα επηηεπρζνύλ κεηαβάιινληαο ην πιάηνο ηνπ παικνύ κεηαμύ 1ms θαη 2 ms. ηελ ζπλέρεηα βιέπνπκε ηνλ θώδηθα όπνπ κπνξνύκε λα ειέγμνπκε ηελ θνξά θίλεζεο ελόο ζεξβνθηλεηήξα. #include <mega16.h> #include <delay.h> main() DDRB=0xFF; //Οξηζκόο ηεο portb σο έμνδν DDRA=0x00; //Oξηζκόο ηεο Porta σο είζνδν. int i; i=0; While(1) If (PORTA.0==1) i=i+50; //αλ ην Porta.0 είλαη 1 ηόηε κεηαηόπηζε αξηζηεξά If (PORTA.1==1) i=i-50; αλ ην Porta.1 είλαη 1 ηόηε κεηαηόπηζε δεμηά PORTB.0==1; delay_us(1500-i); PORTB.0==0; delay_ms(20); 47

51 2 1 VCC VCC VCC VCC 0 IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA L293? ,2 EN VCC1 1A 4A 1Y 4Y GROUND GROUND GROUND GROUND 2Y 3Y 2A 3A VCC2 3,4 EN L A - 0 MG1 MOTOR SERVO Σν θύθισκα νδήγεζεο ηνπ ζεξβνθηλεηήξα. OΓΗΓΗΗ ΟΘΟΝΗ ΤΓΡΧΝ ΚΡΤΣΑΛΧΝ Πολλζσ από τισ ςφγχρονεσ θλεκτρονικζσ εφαρμογζσ απαιτοφν μονάδα απεικόνιςθσ με περιςςότερεσ δυνατότθτεσ από τουσ ενδείκτεσ των 7 τομζων. Η εταιρία Hitachi ζχει δθμιουργιςει ζναν ελεγκτι με όνομα HD44780 ο οποίοσ ζχει κακιερωκεί και είναι ςε κζςθ να ελζγχει τθν απεικόνιςθ ςε οκόνεσ υγρών κρυςτάλλων. Πολλζσ εταιρίεσ καταςκευάηουν μονάδεσ απεικόνιςθσ χρθςιμοποιώντασ τον ελεγκτι τθσ εταιρίασ Hitachi ι και ελεγκτζσ τρίτων εταιριών. Μια μονάδα οκόνθσ υγρών κρυςτάλλων αποτελείται από μία οκόνθ, ζναν ελεγκτι και δφο ολοκλθρωμζνα οδιγθςθσ τθσ οκόνθσ όπωσ βλζπουμε παρακάτω. 48

52 ε κία νζόλε πγξώλ θξπζηάιισλ δηαθξίλνπκε ηα pins πνπ βιέπνπκε ζην παξαπάλσ ζρεδηάγξακκα. PIN Δ R/W RS DB7 DB0 VD VEE VSS ΠΔΡΙΓΡΑΦΗ ΔΝΑΒLEΑξρηθνπνίεζε κεηάδνζεο. Eγγξαθή δεδνκέλσλ θαηά ηελ ελαιιαγή από high ζε low. Αληίζηνηρα αλάγλσζε δεδνκέλσλ θαηά ηελ ελαιιαγή από low se high. READ/WRITE.Όηαλ είλαη 0 κπνξνύκε λα γξάςνπκε δεδνκέλα ζηελ νζόλε,ελώ όηαλ είλαη 1 κπνξνύκε λα δηαβάζνπκε δεδνκέλα από απηήλ REGISTER SELECT. Όηαλ είλαη 0 ηα bytes πνπ ζηέιλνληαη ζηελ νζόλε ιακβάλνληαη σο εληνιέο. Γηαθνξεηηθά ιακβάλνληαη σο δεδνκέλα ραξαθηήξσλ Γηεύζπλζε δεδνκέλσλ εύξνπο 8 bit. Ρύζκηζε αληίζεζεο ηεο νζόλεο Σξνθνδνζία γείσζε Γηα λα ζηείινπκε δεδνκέλα ζηελ νζόλε πξέπεη λα αθνινπζήζνπκε νξηζκέλνπο πξνθαζνξηζκέλνπο θαλόλεο αξρηθνπνίεζεο πνπ βξίζθνπκε ζην datasheet απηήο. Ο κεηαγισηηηζηήο codevision καο πξνζθέξεη έηνηκεο ηηο αξρηθνπνηήζεηο απηέο απινπζηεύνληαο έηζη ηελ πξνζπέιαζε ηεο δίλνληαο καο ηελ δπλαηόηεηα λα παξάγνπκε γξήγνξα θαη εύθνια εθαξκνγέο πνπ ζηεξίδνληαη ζε νζόλε πγξώλ θξπζηάιισλ. ηελ ζπλέρεηα ζα εκθαλίζνπκε ζε lcd 2x16 πνπ είλαη ζπλδεκέλε ζηελ PORTΑ ελόο κηθξνειεγθηή ATMEGA16 ηελ ιέμε HELLO. #Include <mega16.h> #asm //πεξηιακβάλνπκε θώδηθα assembly ζην πξόγξακκά καο..equ lcd_port=0x1b ;PORTA //νξηζκόο ηεο porta σο ηελ πόξηα πνπ έρνπκε #endasm // ζπλδεκέλε ηελ lcd oζόλε. #include <lcd.h> //πεξηιακβάλνπκε ηηο ξνπηίλεο νδήγεζεο ηεο νζόλεο main() DDRΑ=0xFF; //H PORTΑ σο έμνδνο lcd_init(16); //αξρηθνπνίεζε ηεο νζόλεο γηα 2 γξακκέο θαη 16 ζηήιεο lcd_gotoxy(0,0); //εληνιή θαζνξηζκνύ ζεκείν εθθίλεζεο εγγξαθήο ζηελ νζόλε. Τν //θείκελν ζα μεθηλήζεη από ηελ ζέζε 0,0 ηεο νζόλεο printf( HELLO ); //εκθάληζε ηνπ κελύκαηνο HELLO 49

53 GND +5V Contr RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 BL+ BL VCC VCC 4k7 VCC IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA Character LCD LCD 2X16 Όπσο βιέπνπκε ζηελ νζόλε ηα D0-D3 δελ ρξεζηκνπνηνύληαη. Έηζη εμνηθνλνκνύκε ρώξν ζην pcb ηεο εθαξκνγή καο. Ζ νδήγεζε κε 4 bit δεδνκέλσλ δελ απαζρνιεί ηνλ πξνγξακκαηηζηή δηόηη εκπεξηέρεηαη ζηηο ξνπηίλεο ηνπ κεηαγισηηηζηή. ΔΙΡΙΑΚΗ ΔΠΙΚΟΙΝΧΝΙΑ ΜΔ ΣΟ USART H ζεηξηαθή επηθνηλσλία είλαη κηα δηαδηθαζία απνζηνιήο πνιιαπιώλ bit δεδνκέλσλ κέζσ ελόο απινύ θαισδίνπ. Σα bits κηαο ζεηξηαθήο απνζηνιήο ρσξίδνληαη κεηαμύ ηνπο από πξνθαζνξηζκέλα ρξνληθά όξηα. Σν USART ρξεζηκνπνηείηαη γηα λα επηθνηλσλήζεη έλαο κηθξνειεγθηήο κε δηάθνξεο άιιεο ζπζθεπέο. Μηα από απηέο νη ζπζθεπέο είλαη θαη ν ππνινγηζηήο όπνπ κέζσ ηεο ζεηξηαθήο ζύξαο κπνξεί λα έρεη ακθίδξνκε επηθνηλσλία κε ηνλ κηθξνειεγθηή. Ζ ζπλήζεο κνξθή επηθνηλσλίαο είλαη ε αζύγρξνλε ζεηξηαθή επηθνηλσλία (asynchronous serial communication). Δίλαη αζύγρξνλε κε ηελ έλλνηα πσο δελ ρξεηάδεηαη θνηλό ξνιόη ε κνλάδα απνζηνιήο ησλ δεδνκέλσλ κε ηελ κνλάδα ιήςεο απηώλ. Ζ αζύγρξνλε κεηάδνζε μεθηλάεη κε έλα bit εθθίλεζεο (start bit) θαη ζηακαηάεη κε έλα bit πεξάησζεο ιεηηνπξγίαο (stop bit). 50

54 Λνγηθό 1 Λνγηθό 0 καηάζηαζη Off off on on on on on on on on on on off Λνγηθό επίπεδν Σύπνο bit start data data data data data data data data stop Αξηζκόο δεδνκέλσλ ηνλ παξαπάλσ πίλαθα βιέπνπκε ηελ αιιεινπρία ησλ bit δεδνκέλσλ ζε ζρέζε κε ην ινγηθό επίπεδν ηεο γξακκήο. Αξρηθά ην start bit δειώλεη ηελ αξρή ηεο κεηάδνζεο θαη αθνινπζνύλ ηα bit δεδνκέλσλ μεθηλώληαο από ην ιηγόηεξν ζεκαληηθό ςεθίν ηνπ byte θαη θαηαιήγνληαο ζην ζεκαληηθόηεξν ςεθίν. ηε ζπλέρεηα έξρεηαη ην stop bit πνπ δειώλεη ην ηέινο ηεο κεηάδνζεο. Όηαλ ην start bit ξίμεη ην ινγηθό επίπεδν ζην 0, ηόηε ν δέθηεο μεθηλάεη λα ιακβάλεη δεδνκέλα εθόζνλ πεξηκέλεη γηα ρξνληθό δηάζηεκα ίζν κε 1.5 θνξά ηνλ ρξόλν ηνπ bit. ηελ ζπλέρεηα ν δέθηεο αθηεξώλεη έλα ρξόλν bit γηα θάζε bit έηζη ώζηε λα εμαζθαιίζεη ηελ αθξίβεηα θαη ηελ αμηνπηζηία ζηελ κεηάδνζε. Όιε ε δηαδηθαζία ηνπ ρξνληζκνύ δελ απαζρνιεί άκεζα ηνλ πξνγξακκαηηζηή. Σν κόλν πνπ ζα απαζρνιήζεη ηνλ πξνγξακκαηηζηή,είλαη λα ζηγνπξεπηεί πσο νη παξάκεηξνη ηεο ζεηξηαθήο επηθνηλσλίαο ηνπ πνκπνύ θαη ηνπ δέθηε είλαη ίδηνη. Έηζη πξέπεη λα δειώζεη ηνλ ζσζηό αξηζκό ησλ bits (ζπλήζσο 8), λα δειώζεη πόηε επηζπκεί bit ηζνηηκίαο θαη λα ζέζεη ηνλ ξπζκό κεηάδνζεο. Σν USART κπνξεί λα ρξεζηκνπνηεζεί κε πνιιά κέζα κεηάδνζεο όπσο ξαδηνθύκαηα, κε ππέξπζξεο αθηίλεο, κε laser θαζώο θαη κε ράιθηλα θαλάιηα. Ο πην δηαδεδνκέλνο ηξόπνο είλαη ην RS-232. Καηαζθεπάζηεθε εηδηθά ώζηε λα είλαη ζε ζέζε λα κεηαθέξεη ζεηξηαθά ζήκαηα κε αμηνπηζηία ζε ζρεηηθά αξθεηά κεγάιεο απνζηάζεηο. ην RS- 232 ην ινγηθό 1 εθθξάδεηαη αλεζηξακκέλα κε κηα ηάζε πην αξλεηηθή από -3 volt. Αληίζηνηρα ην ινγηθό 0 εθθξάδεηαη κε κηα ζεηηθή ηάζε κεγαιύηεξε από +3 volt. Υξεζηκνπνηώληαο ινγηθέο ηάζεηο δηαθνξεηηθέο από ην 0, γίλεηαη πην εύθνινο ν έιεγρνο γηα 51

55 ζθάικαηα ζην ζύζηεκα, επεηδή έλα ζπαζκέλν θαιώδην ζα παξνπζηάδεη ηάζε 0 volt θάλνληαο έηζη ηελ βιάβε αληρλεύζηκε. Ο compiler codevision ηεο ΖP infotech εκπεξηέρεη βηβιηνζήθεο γηα ηνλ έιεγρν ηεο ζεηξηαθήο κεηάδνζεο. Ζ κεηάδνζε ζπλήζσο θαηαιήγεη ζε κηα ηεξκαηηθή ζπζθεπή, όπσο γηα παξάδεηγκα έλαο πξνζσπηθόο ππνινγηζηήο πνπ εθηειεί έλα ηεξκαηηθό πξόγξακκα. ε απηό κπνξνύκε λα ζηείινπκε ζεηξηαθά δεδνκέλα θαη λα ηα εκθαλίδνπκε ζηελ νζόλε. Ο codevision εκπεξηέρεη έλα ηεξκαηηθό πξόγξακκα γηα απηή αθξηβώο ηελ εθαξκνγή. Έλα απιό παξάδεηγκα ζα δνύκε παξαθάησ, όπνπ ζα θάλνπκε ρξήζε ηεο ζπλάξηεζεο sprintf() θαη ζα ζηείινπκε ηελ ιέμε HELLO ζε έλα ηεξκαηηθό. Ζ ζπλάξηεζε sprintf() εκπεξηέρεηαη ζην stdio.h ην νπνίν ζα ζπκπεξηιάβνπκε ζηελ αξρή ηνπ πξνγξάκκαηνο. #include <mega16.h> #include<stdio.h> //θαζηεξσκέλεο ζπλαξηήζεηο εηζόδνπ εμόδνπ Void main(void) UCR=0x18; //αξρηθνπνίεζε ηεο ζεηξηαθήο πόξηαο UBRR=0x33; //νξηζκόο ξπζκνύ κεηάδνζεο printf ( \n\ HELLO ); //εθηύπσζε ηεο ιέμεο HELLO while (1); Ζ δηαζύλδεζε USART απνηειείηαη από 3 θαηαρσξεηέο. Σνλ θαηαρσξεηή ειέγρνπ θαη θαηάζηαζεο, ηνλ θαηαρσξεηή ξπζκνύ κεηάδνζεο θαη ηνλ θαηαρσξεηή δεδνκέλσλ. Απηνί νη θαηαρσξεηέο κπνξνύλ λα έρνπλ κήθνο είηε 16 bit είηε 8 bit, αλάινγα κε ηελ πνιππινθόηεηα ηνπ USART. ηνλ atmega16 ζε θαλνληθή αζύγρξνλε ιεηηνπξγία, ν θαηαρσξεηήο ειέγρνπ ηνπ USART έρεη κήθνο 16 bit απνηεινύκελνο από 2 θαηαρσξεηέο ησλ 8 bit, ηνπο UCSRA θαη ηνλ UCSRB. Ο θαηαρσξεηήο ξπζκνύ κεηάδνζεο απνηειείηαη επίζεο από ηνλ UBRRH θαη ηνλ UBRRL νη νπνίνη ζε ζπλδηαζκό απνηεινύλ ηνλ UBRR. Παξαθάησ βιέπνπκε ηνλ θαηαρσξεηή ειέγρνπ ηνπ USART ηνλ UCSRB Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8 52

56 BIT RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8 ΠΔΡΙΓΡΑΦΗ Δλεξγνπνίεζε δηαθνπήο ιόγν ιήςεο δεδνκέλσλ Δλεξγνπνίεζε δηαθνπήο ιόγν απνζηνιήο δεδνκέλσλ Δλεξγνπνίεζε δηαθνπήο ιόγν κεδεληζκνύ ηνπ θαηαρσξεηή δεδνκέλσλ Θέηνπκε γηα ελεξγνπνίεζε ζεηξηαθήο ιήςεο Θέηνπκε γηα ελεξγνπνίεζε ζεηξηαθήο απνζηνιήο Θέηεη αξηζκό bit δεδνκέλσλ Σν έλαην bit ιήθζεθε ζε (ιεηηνπξγία 9-bit) To έλαην bit ζηάιζεθε (ζε ιεηηνπξγία 9-bit) Ζ θαηάζηαζε όπνπ βξίζθεηαη ην USART έρεη πνιύ κεγάιε ζεκαζία. Αλ ππνζέζνπκε πσο ζέινπκε λα ζηείινπκε 1 byte πιεξνθνξίαο κε έλαλ κηθξνειεγθηή πνπ ιεηηνπξγεί ζε ζπρλόηεηα 8 Μhz κε ξπζκό κεηάδνζεο 9600 ζα ρξεηαζηνύκε 1.04 ms. Οη εληνιέο πνπ κπνξεί λα εθηειέζεη ν κηθξνειεγθηήο ζε απηόλ ηνλ ρξόλν αλέξρνληαη πεξίπνπ ζηηο 8000.Ο κηθξνειεγθηήο ζα έραλε ρξόλν αλ πεξίκελε ηελ ζεηξηαθή επηθνηλσλία λα νινθιεξσζεί. Δηζη είλαη ζεκαληηθό ην πξόγξακκα λα γλσξίδεη ηελ θαηάζηαζε πνπ βξίζθεηαη ε ζεηξηαθή πόξηα. ηελ πεξίπησζε πνπ ζηείινπκε έλα byte ρξεηάδεηαη πεξίπνπ 1.04 ms λα θηάζεη ζηνλ δέθηε. Σόηε ην bit RXC ηίζεηαη ζε ινγηθό 1 ζεκαηνδνηώληαο ηελ επηηπρία ηελ ιήςεο. Καηά ηνλ ίδην ηξόπν ην UDRE ηίζεηαη ζε ινγηθό 1 όηαλ ν UDR είλαη ειεύζεξνο θαη κπνξνύκε λα θνξηώζνπκε έλα άιιν byte ζηνλ UDR γηα λα γίλεη ε ζεηξηαθή κεηάδνζε. Παξαθάησ βιέπνπκε ηνλ θαηαρσξεηή θαηάζηαζεο ηνπ USART ηνλ USCRA Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 RXC TXC UDRE FE DOR PE U2X MPCM ηελ ζπλέρεηα βιέπνπκε ζπλνπηηθά ζηνλ πίλαθα ηελ ιεηηνπξγία ηνπ εθάζηνηε bit. BIT ΠΔΡΙΓΡΑΦΗ RXC Λνγηθό 1 όηαλ γίλεη ιήςε ελόο byte. TXC Λνγηθό 1 όηαλ γίλεη απνζηνιή ελόο byte. UDRE Λνγηθό 1 όηαλ αδεηάζεη ν θαηαρσξεηήο δεδνκέλσλ UDR FE Λνγηθό 1 όηαλ ππάξρεη ζθάικα πιαηζίνπ.(όηαλ ην stop bit είλαη 0 αληί γηα 1) DOR Λνγηθό 1 όηαλ ππάξρεη επηθάιπςε ζηνλ θαηαρσξεηή UDR 53

57 PE U2X MPCM Λνγηθό 1 όηαλ ππάξρεη ζθάικα ζην bit ηζνηηκίαο Λνγηθό 1 αλ επηζπκνύκε ηνλ δηπιαζηαζκό ηεο ηαρύηεηαο απνζηνιήο Λνγηθό 1 αλ επηζπκνύκε ιεηηνπξγία πνιιαπιήο επηθνηλσλίαο ηελ ζπλέρεηα ζα δνύκε κηα εθαξκνγή όπνπ ζα είλαη ζπλδεκέλνο έλαο κηθξνειεγθηήο κε έλα pc κέζσ ηεο ζύξαο RS232 κε ηελ βνήζεηα ηνπ νινθιεξσκέλνπ MAX232.Όηαλ ν ρξήζηεο παηήζεη ζην πιεθηξνιόγην ηνπ ππνινγηζηή ην πιήθηξν a, ζα εκθαλίδεηαη έλα κήλπκα ζηελ νζόλε ην νπνίν ζα αλαθηάηαη από ηελ κλήκε ηνπ κηθξνειεγθηή. Αληίζηνηρα αλ παηήζεη ην b ζα εκθαλίδεη έλα άιιν κήλπκα, θαζώο θαη αλ παηεζεί νπνηνδήπνηε άιιν πιήθηξν ζα εκθαλίδεηαη έλα ηξίην κήλπκα. #include <mega16.h> unsigned char qcntr=0,sndcntr=0; unsigned char queue[50]; char msg1= path8hke to plhktro a ); char msg2= path8hke to plhktro b ); char msg3=den path8hke oute to a, oute to b ; interrupt [USART_TXC] void usart_transmit_isr (void) If (qcntr!= sndcntr) UDR=queue[sndcntr++]; void sendmsg (char*s) qcntr=0; sndcntr=1; queue[qcntr++]=0x0d; queue[qcntr++]=0x0a; while (*s) queue[qcntr++]=*s++; UDR=queue[0]; void main(void) 54

58 char ch; //κεηαβιεηή όπνπ απνζεθεύεηαη ν εηζεξρόκελνο ραξαθηήξαο UCSRA=0x00; /*αξρηθνπνίεζε ηνπ USART */ UCSRB=0x58; //ελεξγνπνίεζε ηνπ δέθηε, ηνπ πνκπνύ θαη ησλ δηαθνπώλ απνζηνιήο UBRRH=0x00; UBRRL=0x26; #asm( sei ) //ελεξγνπνηνύκε ηηο δηαθνπέο. while(1) if (UCSRA & 0x80) ch=udr; switch (ch) case a : sendmsg (msg1); break; case b : sendmsg (msg2); break; default: sendmsg (msg3); ΣΟ ΠΡΧΣΟΚΟΛΛΟ SPI Σν πξσηόθνιιν SPI είλαη κηα κνξθή ζεηξηαθήο επηθνηλσλίαο πνπ ππνζηεξίδεηαη θαη από ηνπο κηθξνειεγθηέο. Ζ κεηάδνζε ησλ δεδνκέλσλ γίλεηαη κε ζύγρξνλν ηξόπν. Απηό ζεκαίλεη πσο ν πνκπόο θαη ν δέθηεο κνηξάδνληαη ην ίδην ξνιόη ρξνληζκνύ έηζη ώζηε λα 55

59 αληρλεύνληαη ηα bit ζηνλ δέθηε. πλήζσο ην πξσηόθνιιν SPI ρξεζηκνπνηείηαη ζε πνιύ θνληηλέο απνζηάζεηο επηθνηλσλίαο, όπσο ε επηθνηλσλία κεηαμύ κηθξνειεγθηώλ πνπ βξίζθνληαη ζηελ ίδηα πιαθέηα. Γηαθέξεη κε ην πξσηόθνιιν USART ην νπνίν ρξεζηκνπνηείηαη ζε καθξηλόηεξεο επηθνηλσλίεο όπσο ε ζύλδεζε ελόο κηθξνειεγθηή κε έλα PC. Σν πξσηόθνιιν SPI είλαη θαηαζθεπαζκέλν έηζη ώζηε λα παξέρεη ζρεηηθά κεγάιε ηαρύηεηα επηθνηλσλίαο, επηθνηλσλία ζε κηθξή απόζηαζε ρξεζηκνπνηώληαο παξάιιεια ειάρηζηα pin ζηνλ κηθξνειεγθηή Ζ SPI επηθνηλσλία επηηπγράλεηαη κε δύν ζπζθεπέο, κηα master θαη κηα slave. Καη νη δπν ζπζθεπέο ζηέιλνπλ θαη ιακβάλνπλ δεδνκέλα ηαπηόρξνλα, όκσο ε master ζπζθεπή είλαη ππεύζπλε ζηελ παξαγσγή ηνπ ζήκαηνο ρξνληζκνύ γηα ηελ κεηαθνξά ησλ δεδνκέλσλ. Έηζη ε master ζπζθεπή έρεη ηνλ έιεγρν ηεο ηαρύηεηαο επηθνηλσλίαο ηεο κεηαθνξάο δεδνκέλσλ. Παξαθάησ βιέπνπκε ηελ ζύλδεζε κεηαμύ ηεο master θαη ηεο slave ζπζθεπήο. MOSI MSB LSB MOSI CLK MASTER LSB SLAVE MSB SS MISO MISO GND Ζ master ζπζθεπή παξέρεη ην ζήκα ρξνληζκνύ (CLK) θαη ηα 8 bit δεδνκέλσλ ηα νπνία νιηζζαίλνπλ κέζσ ηνπ MOSI pin. Σα bit εηζέξρνληαη ζηελ slave ζπζθεπή, έλα έλα ζε θάζε ρηύπν ηνπ ξνινγηνύ. Σαπηόρξνλα από ηελ slave ζπζθεπή κέζσ ηνπ MISO pin νιηζζαίλνπλ 8 δηαθνξεηηθά bit δεδνκέλσλ κε πξννξηζκό ηελ master ζπζθεπή. Τπάξρεη δπλαηόηεηα λα ζπλδεζνύλ πνιιέο ζπζθεπέο καδί ρξεζηκνπνηώληαο ηνλ ίδην δίαπιν SPI. Κάζε ζπζθεπή πνπ είλαη ζπλδεκέλε πάλσ ζηνλ δίαπιν κπνξεί λα γίλεη slave γεηώλνληαο ην pin SS. πλήζσο ηα ζήκαηα SS ζπλδένληαη κέζσ ελόο απνθσδηθνπνηεηή ζην master o oπνίνο νξίδεη πνηα ζπζθεπή ζα είλαη slave. Γηα ηνλ έιεγρν ηνπ SPI νη κηθξνειεγθηέο AVR δηαζέηνπλ ηνλ θαηαρσξεηή SPCR ηνλ νπνίν βιέπνπκε παξαθάησ. 56

60 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 BIT SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 ΠΔΡΙΓΡΑΦΗ Δλεξγνπνίεζε δηαθνπήο από ην SPI Δλεξγνπνίεζε ησλ ιεηηνπξγηώλ SPI DATA ORDER. Όηαλ είλαη 0 αλαγθάδεη ην MSB ηεο ςεθηαθήο ιέμεο λα κεηαδνζεί πξώην Master/slave select.όηαλ βξίζθεηαη ζε ινγηθό 1, ε ζπζθεπή είλαη master Πνιηθόηεηα ηνπ ζήκαηνο ρξνληζκνύ Φάζε ηνπ θπθιώκαηνο ρξνληζκνύ Ρπζκόο ξνινγηνύ ηνπ SPI Ρπζκόο ξνινγηνύ ηνπ SPI SPR1 SPR0 SCLK 0 0 System clock / System clock / System clock / System clock / 128 ηελ ζπλέρεηα ζα δνύκε κηα εθαξκνγή όπνπ ζα δηαζπλδέζνπκε δπν κηθξνειεθηέο κε ην πξσηόθνιιν SPI κε ζθνπό ηελ κεηάδνζε δεδνκέλσλ. Χο master ζπζθεπή ζα ρξεζηκνπνηήζνπκε ηνλ atmega128 θαη σο slave ζπζθεπή ηνλ atmega16. ηελ porta ηνπ atmega16 έρνπκε ζπλδέζεη κηα ζεηξά από νθηώ switches. θνπόο καο είλαη αλάινγα κε ηελ δπαδηθή αθνινπζία πνπ ζα ζρεκαηίδνπκε ελαιιάζζνληαο ηελ θαηάζηαζε ησλ δηαθνπηώλ, λα γίλεηαη ε επηθνηλσλία κέζσ SPI κε ηνλ atmega128 θαη λα αλάβνπλε ηα αληίζηνηρα led πνπ βξίζθνληαη ζηελ porta. Αληίζηνηρα νη δηαθόπηεο πνπ είλαη ζπλδεκέλνη ζηελ Portf ηνπ atmega128 ζα αλάβνπλ ηα led πνπ βξίζθνληαη ζηελ portc ηνπ at mega16. H ζύλδεζε κεηαμύ ησλ δύν κηθξνειεγθηώλ κπνξεί λα γίλεη είηε απεπζείαο είηε κε connector. ηελ ζπλέρεηα βιέπνπκε ηα ζρεκαηηθά δηαγξάκκαηα ηνπ atmega16 θαη ηνπ atmega

61 GND GND GND VCC VCC Σν θύθισκα γηα ηνλ ATMEGA128 VCC IC1 PA0 (AD0) PA1 (AD1) PA2 (AD2) PA3 (AD3) PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD7) (SCL/INT0) PD0 (SDA/INT1) PD1 (RxD1/INT2) PD2 (TxD1/INT3) PD3 (IC1) PD4 (XCK1) PD5 (T1) PD6 (T2) PD GND MISO MOSI SS CLOCK PB0 (SS) PB1 (SCK) PB2 (MOSI) PB3 (MISO) PB4 (OC0) PB5 (OC1A) PB6 (OC1B) PB7 (OC2/OC1C) PC0 (A8) PC1 (A9) PC2 (A10) PC3 (A11) PC4 (A12) PC5 (A13) PC6 (A14) PC7 (A15) (RxD0/PDI) PE0 (TxD0/PDO) PE1 (XCL0/AIN0) PE2 (OC3A/AIN1) PE3 (OC3B/INT4) PE4 (OC3C/INT5) PE5 (T3/INT6) PE6 (IC3/INT7) PE7 (ADC0) PF0 (ADC1) PF1 (ADC2) PF2 (ADC3) PF3 (TCK/ADC4) PF4 (TMS/ADC5) PF5 (TDO/ADC6) PF6 (TDI/ADC7) PF SW RESET PEN AVCC AREF VCC SW DIP XTAL1 XTAL2 (WR) PG0 (RD) PG1 (ALE) PG2 (TOSC2) PG3 (TOSC1) PG ATmega128 0 Σν θύθισκα γηα ηνλ ATMEGA16 GND MISO MOSI SS CLOCK VCC 0 0 IC PB0(T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(AIN0) PA2(ADC2) 37 5 PB3(AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC PD5(OC1A) PC0 21 PD6(ICP) PD7(OC2) ATMEGA16 VCC SW2 0 SW DIP VCC 58

62 Γηα ηελ ιεηηνπξγία ησλ δηαθνπηώλ έρνπκε ελεξγνπνηήζεη ηηο εζσηεξηθέο pull up αληηζηάζεηο ζηνπο κηθξνειεγθηέο. ηελ ζπλέρεηα βιέπνπκε ην software γηα ηνλ atmega128 θαη ηνλ atmega16 O θώδηθαο γηα ηνλ ATMEGA128 #include <mega128.h> #define SPI_output_data PORTA #define SPI_input _data PINF Interrupt [SPI_STC] void spi_isr(void) //Ρνπηίλα δηαθνπήο ηνπ SPI PORTB.0=1; //ζέηνπκε ην SS ζε πςειό δπλακηθό SPI_output_data=~SPDR; //δηαβάδνπκε ηα δεδνκέλα πνπ εζηάιεζαλ PORTB.0=0; //ζέηνπκε ην SS ζε ρακειό δπλακηθό SPDR=SPI_input_data; //δηαβάδνπκε ηα δεδνκέλα πνπ ιήθζεζαλ Void main(void) PORTA=0XFF; //μεθηλάκε κε ηα led ζβεζηά DDRA=0XFF; //ζέηνπκε ηελ πόξηα σο έμνδν PORTB=0X01; //μεθηλάκε κε ην SS ζε πςειό δπλακηθό DDRB=0X07; //ss,sck θαη ην ΜΟSI σο έμνδνο PORTF=0XFF; //Ελεξγνπνίεζε ησλ pull up αληηζηάζεσλ SPCR=0XD1; //ξύζκηζε γηα clock=375khz,ελεξγνπνίεζε ηνπ SPI θαζώο SPSR=0X00; //θαη ησλ δηαθνπώλ ιόγν ηνπ SPI #asm In r30,spsr In r30,spdr #endasm #asm( sei ) SPDR=0X00; While(1); // παξέρεηαη από ηνλ κεηαγισηηηζηή γηα θαζαξηζκό ηεο ζεκαίαο // ησλ δηαθνπώλ ηνπ SPI //ελεξγνπνίεζε ησλ δηαθνπώλ 59

63 O θώδηθαο γηα ηνλ ΑΣMEGA16 #include <mega16.h> #define SPI_output_ata PORTC #define SPI_input_data PINA Interrupt [SPI_STC] void spi_isr(void) SPI_output_data=~SPDR; SPDR=SPI_input_data; //δηαβάδνπκε ηα λέα δεδνκέλα πνπ ειήθζεζαλ //θνξηώλνπκε λέα δεδνκέλα γηα απνζηνιή Void main(void) DDRB=0X40; //ξύζκηζε ηνπ sclk,ss σο είζνδν θαη ηνπ ΜΙSO σο έμνδν DDRC=0XFF; //όια ηα pins ηεο πόξηαο σο έμνδνη PORTA=0XFF; //ελεξγνπνίεζε ησλ pull up αληηζηάζεσλ SPCR=0XC1; //ελεξγνπνίεζε ηνπ SPI θαη ησλ δηαθνπώλ ηνπ //νξηζκόο σο slave ζπζθεπή #asm In r30,spsr //παξέρεηαη από ηνλ κεηαγισηηηζηή γηα θαζαξηζκό ηεο ζεκαίαο In r30,spdr //ησλ δηαθνπώλ ηνπ SPI #endasm #asm( sei ) while(1); ΣΟ ΠΡΧΣΟΚΟΛΛΟ I 2 C Τν I 2 C είλαη ε ζπληνκνγξαθία ηνπ Inter-IC δίαπινπ. Γεκηνπξγήζεθε γηα λα δηαζύλδεεη κηθξνϋπνινγηζηέο θαη αιιά ICs ζην ίδην PCB.Ο ηξόπνο δηαζύλδεζεο ηνπ ζηεξίδεηαη ζηε ζεηξηαθή ιεηηνπξγία. ε έλα κηθξνππνινγηζηηθό ζύζηεκα απηόο ν δίαπινο εθηειεί δηεξγαζίεο πνπ θαλνληθά εθηεινύληαλ από ηνλ παξάιιειν δίαπιν. 60

64 Ζ εηαηξία Philips ηεο νπνίαο δεκηνύξγεκα είλαη ν δίαπινο I 2 C παξάγεη έλα κεγάιν αξηζκό από ειεθηξνληθέο ζπζθεπέο,νη νπνίεο ηηο πεξηζζόηεξεο θνξέο θαη γηα δηαθνξεηηθνύο ιόγνπο είλαη εμνπιηζκέλεο κε έλαλ κηθξνεπεμεξγαζηή ή κηθξνειεγθηή. Δπεμεξγαζηέο θαη πεξηθεξεηαθά chips ρξεηάδνληαη πνιιά θαιώδηα όηαλ ρξεζηκνπνηείηαη ε παξάιιειε επηθνηλσλία θαη ζαλ απνηέιεζκα πνιιά pins ζύλδεζεο πνπ κε ηελ ζεηξά ηνπο απαηηνύλ αξθεηό ρώξν πάλσ ζην PCB.Ο δίαπινο I 2 C ζηελ βαζηθή ηνπ θόξκα έρεη κέγηζηε ζπρλόηεηα κεηαθνξάο 10kbyte/sec ε νπνία αλ θαη κηθξή, είλαη αξθεηή γηα ηηο πεξηζζόηεξεο εθαξκνγέο. Λόγσ ηνπ όηη ν δίαπινο I 2 C ρξεζηκνπνηεί δύν θαιώδηα εμνηθνλνκνύκε αξθεηό ρώξν ζην PCB. Σα ICs γίλνληαη νινέλα θαη κηθξόηεξα ζε κέγεζνο δίλνληαο έηζη ηελ δπλαηόηεηα λα κεησζεί ν ρξόλνο παξάγσγεο ηνπο θαη νη θπθισκαηηθέο ηνπ δηαζηάζεηο. Ο δίαπινο I 2 C έγηλε πξόηππν ηεο ρακειήο ζε ηαρύηεηα επηθνηλσλία πάλσ ζην ίδην PCB. H ΓΟΜΗ ΣΟΤ ΠΡΧΣΟΚΟΛΛΟΤ Ι 2 C Σν πξσηόθνιιν I2C απνηειείηαη από 2 ελεξγά θαιώδηα θαη κία ζύλδεζε γείσζεο (ground). Σα ελεξγά θαιώδηα νλνκάδνληαη SDA θαη SCL θαη είλαη δηπιήο θαηεύζπλζεο (bidirectional).σν SDA είλαη ην Serial DAta line θαη ην SCL ην Serial CLock line.θάζε ζπζθεπή πνπ «θξέκεηαη» από ηνλ δίαπιν έρεη κηα κνλαδηθή δηεύζπλζε, ρσξίο λα έρεη ζεκαζία αλ πξόθεηηαη γηα κηθξνειεγθηή, κλήκε, αηζζεηήξην ε νζόλε πγξώλ θξπζηάιισλ. Κάζε ζπζθεπή κπνξεί λα ελεξγεί είηε σο master, είηε σο slave θαη αληίζηνηρα λα ιακβάλεη ε λα ζηείιεη εληνιέο αλάινγα κε ηηο απαηηήζεηο ηνπ ζπζηήκαηνο πνπ ζρεδηάδνπκε.κάζε θνξά κόλν κία ζπζθεπή πνπ βξίζθεηαη ζηνλ δίαπιν κπνξεί λα ιεηηνπξγεί σο master.ζ ζπζθεπή πνπ ιεηηνπξγεί σο master ζα εθδώζεη αξρηθά κηα εληνιή START. Με ηελ παξνπζία ηεο εληνιήο απηήο ζηνλ δίαπιν, όιεο νη ζπζθεπέο slave ζα πεξηκέλνπλ λα ζηείιεη ε master ζπζθεπή δεδνκέλα. Μεηά ην πέξαο ηεο εληνιήο έλα ζήκα STOP ζα εθδνζεί από ηελ master ζπζθεπή θαη ν δίαπινο ζα είλαη δηαζέζηκνο θαη πάιη (θαηάζηαζε idle) ζε όπνηα ζπζθεπή ρξεηαζηεί. Μεηά ηελ εληνιή start ε master ζπζθεπή ζηέιλεη ζηελ ιεσθόξν ηελ 61

65 δηεύζπλζε ηεο ζπζθεπήο πνπ ζέιεη λα έρεη πξόζβαζε θαζώο θαη έλα αλαγλσξηζηηθό byte γηα ην αλ δεηά εγγξαθή ή αλάγλσζε από ηελ ζπγθεθξηκέλε ζπζθεπή. Οη ζπζθεπέο slave ζπγθξίλνπλ ηελ δηεύζπλζε απηή κε ηελ δηθή ηνπο δηεύζπλζε θαη αλ δελ είλαη ε δηθηά ηνπο, απιά πεξηκέλνπλ ην STOP ζήκα από ηελ master ην παξαπάλσ ζρήκα βιέπνπκε ηα bit δηεπζύλζεσλ πνπ μεθηλνύλ από ην MSB θαη ζηακαηνύλ ζην bit 1.Άξα έρνπκε 7 bit γηα δηεπζπλζηνδόηεζε, δειαδή 2 7 =128 ζπζθεπέο. Σν bit 0 αληηπξνζσπεύεη ηελ εληνιή γηα εγγξαθή ή αλάγλσζε Read=1,Write=0 Ζ κεγάιε αλάπηπμε ηνπ Η2C θαη ν πεξηνξηζκόο ησλ ζπζθεπώλ πνπ πξνθύπηεη από ηελ 7 bit δηεπζπλζηνδόηεζε, ιύλεηαη κε ηελ απόδνζε δηεπζύλζεσλ 10bit.Απηό επηηπγράλεηαη ζηέιλνληαο 2 byte όπνπ ην πξώην έρεη ηελ κνξθή 11110ΥΥ όπνπ ΥΥ ηα 2 πην ζεκαληηθά bit ηεο δηεύζπλζεο. ηελ ζπλέρεηα ζηέιλεηαη θαη ην επόκελν byte κε ηα ππόινηπα 8 bit ηεο δηεύζπλζεο. Όηαλ ε δηεύζπλζε αλαγλσξηζηεί από ηελ slave σο δηθή ηεο, ηόηε ε ηειεπηαία ζηέιλεη έλα ζήκα ΑCK(ACKNOWLEDGED ) γηα λα αληηιεθζεί ε master πσο ε slave είλαη έηνηκε λα δερζεί ή λα ζηείιεη δεδνκέλα. Απηό γίλεηαη ζέηνληαο ε slave ην SDA ζε high ζηνλ έλαην παικό ηνπ SCL. Μεηά ην πέξαο ηνλ δεδνκέλσλ ε master ζπζθεπή ζα ζηείιεη έλα STOP ζήκα έηζη ώζηε λα έξζεη ν δίαπινο ζε θαηάζηαζε αδξάλεηαο(idle). Σα ζήκαηα ρξνληζκνύ ηνπ δηαύινπ καο παξέρνληαη από ηνλ κεηαγισηηηζηή θαη δελ απαζρνινύλ άκεζα ηνλ πξνγξακκαηηζηή. ηελ ζπλέρεηα ζα εμεηάζνπκε πσο κπνξνύκε λα δηαβάζνπκε ηελ ώξα πνπ καο παξέρεηαη από έλα ξνιόη πξαγκαηηθνύ ρξόλνπ ην PCF8563TD ην νπνίν ιεηηνπξγεί κε ην πξσηόθνιιν I 2 C #include <mega16.h> #asm.equ i2c_port=0x15 ;portc.equ sda_bit=1.equ sc1_bit=0 #endasm #include<pcf8563.h> 62

66 4 GND VCC 8 Void main(void) Unsigned char hout,minute,second; DDRB=0Xff; i2c_init(); rtc_init(1,rtc_clkout_off,rtc_timer_off); while(1) Rtc_get_time(&hour,&minute,&second); PORTB=~second ; VCC IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA16 R1 10K VCC R2 10K 5 6 SDA SCL U1 PCF8563 ηελ ζπλέρεηα ζα δνύκε πσο κπνξνύκε λα έρνπκε πξόζβαζε ζε κηα κλήκε epprom ηεο ATMEL (ηελ 24C02 256) πνπ ζηεξίδεηαη ζην πξσηόθνιιν I 2 C κε ηνλ κηθξνειεγθηή ATMEGA16. Σα ζήκαηα SDA θαη SCL βξίζθνληαη ζηελ PORTB. #asm.equ i2c_port=0x18 //H ιεσθόξνο I 2 C είλαη ζπλδεκέλε ζηελ PORTB ζηα bits.equ sda_bit=3 //3 θαη 4.equ scl_bit=4 63

67 #endasm #include <mega16.h> #include <i2c.h> //ζπκπεξηιακβάλνπκε ην πξσηόθνιιν I 2 C #include <delay.h> // ζπκπεξηιακβάλνπκε ηηο ξνπηίλεο θαζπζηέξεζεο. #define EEPROM_BUS_ADDRESS 0xa0 // /* δηαβάδνπκε έλα byte από ηελ EEPROM */ unsigned char eeprom_read(unsigned char address) unsigned char data; i2c_start(); i2c_write(eeprom_bus_address); i2c_write(address); i2c_start(); i2c_write(eeprom_bus_address 1); data=i2c_read(0); i2c_stop(); return data; /* εγγξαθή ελόο byte ζηελ EEPROM */ void eeprom_write(unsigned char address, unsigned char data) i2c_start(); i2c_write(eeprom_bus_address); i2c_write(address); i2c_write(data); i2c_stop(); /* αλακνλή 10ms γηα ηελ νινθιήξσζε ηεο εγγξαθήο ζηελ EPPROM */ delay_ms(10); void main(void) unsigned char i; DDRD = 0xff; PORTD = 0x00; delay_ms(1000); 64

68 4 Vss Vcc 8 /* initialize the I2C bus */ i2c_init(); /* write the byte 55h at address AAh */ eeprom_write(0xaa,0x55); /* read the byte from address AAh */ i=eeprom_read(0xaa); PORTD = i; while (1); /* loop forever */ VCC 24C WP SDA SCL R1 10K 5 6 VCC R2 10K IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA16 ΣΟ ΠΡΧΣΟΚΟΛΛΟ 1 WIRE Σν πξσηόθνιιν I wire είλαη έλαο δίαπινο επηθνηλσλίαο πνπ αλαπηύρζεθε από ηελ Dallas Semiconductor ην νπνίν παξέρεη ρακειήο ηαρύηεηαο επηθνηλσλία κε δίαπιν έλα απιό θαιώδην. Σν πξσηόθνιιν 1 wire είλαη παξόκνην κε ην I 2 C, αιιά κε ρακειόηεξνπο ξπζκνύο κεηάδνζεο από απηό. Υξεζηκνπνηείηαη γηα λα δηαζύλδεεη ζπζθεπέο ρακειήο ηζρύνο θαη ρακειήο ηαρύηεηαο όπσο ςεθηαθά ζεξκόκεηξα. Σν πιενλέθηεκά ηνπ είλαη πσο ρξεζηκνπνηεί κόλν 1 θαιώδηα γηα ηελ επηθνηλσλία ηνπ θαη γείσζε. Γηα λα επηηεπρηεί απηό ην νινθιεξσκέλν θύθισκα εκπεξηέρεη έλαλ ππθλσηή 800pF, έηζη ώζηε λα είλαη δπλαηή ε ηξνθνδνζία ηνπ κέζσ ηνπ δηαύινπ δεδνκέλσλ. Παξάιιεια κηα αληίζηαζε pull up ησλ 4.7Κ εθαξκόδεηαη ζηνλ δίαπιν έηζη 65

69 ώζηε λα δίλεη 5 volt ζην θαλάιη επηθνηλσλίαο θαη ηαπηόρξνλα λα ζηέιλεη ηελ απαηηνύκελε ηζρύ ζε όιεο ηηο ζπζθεπέο πνπ είλαη ζπλδεκέλεο πάλσ ζην ζύζηεκα καο. Ζ απνζηνιή δεδνκέλσλ μεθηλάεη από ηελ master ζπζθεπή ζηέιλνληαο κηα αιιεινπρία bit. Αξρηθά ζηέιλεηαη έλαο παικόο αξρηθνπνίεζεο ν νπνίνο θξαηάεη ηελ γξακκή ζε ινγηθό επίπεδν 0 γηα 480us. Απηή ε εληνιή αξρηθνπνηεί όιεο ηηο slave ζπζθεπέο. Έπεηηα θάζε slave ζπζθεπή δειώλεη ηελ ύπαξμή ηεο θξαηώληαο ηελ γξακκή ρακειά γηα ηνπιάρηζηνλ 60us. Γηα λα ζηείινπκε ινγηθό 1 ζηνλ δίαπιν 1 wire πξέπεη λα θξαηήζνπκε ηελ γξακκή ρακειά γηα 10us. Αληίζηνηρα γηα λα ζηείινπκε ινγηθό 0 πξέπεη λα θξαηήζνπκε ηελ γξακκή ρακειά γηα 60us. Παξαπάλσ βιέπνπκε ηνλ ρξνληζκό ησλ ζεκάησλ ειέγρνπ αξρηθνπνίεζεο θαη κεηάδνζεο ζε δίαπιν 1 wire. ΑΙΘΗΣΗΡΑ ΘΔΡΜΟΚΡΑΙΑ 1 WIRE (DS18B20) To ςεθηαθό ζεξκόκεηξν ds18b20 είλαη κηα ζπζθεπή ηεο Dallas Semiconductor. Βαζίδεηαη ζην πξσηόθνιιν 1 wire θαη έρεη πνιιά ελδηαθέξνληαη ραξαθηεξηζηηθά. 1) Έρεη έλαλ κνλαδηθό θσδηθό κήθνπο 64 bit απνζεθεπκέλν ζηελ ελζσκαησκέλε ROM ηνπ θάλνληαο έηζη δπλαηή ηελ ζύλδεζε πνιιώλ ίδησλ ζπζθεπώλ πάλσ ζηνλ ίδην δίαπιν κηαο θαη ε θάζε ζπζθεπή έρεη ηελ δηθή ηεο ηαπηόηεηα.2) 2) Μπνξεί επίζεο λα ηξνθνδνηεζεί κε ηάζεηο από 3.3 έσο 5 Volt, ελώ παξάιιεια ππνζηεξίδεη παξαζηηηθή ηξνθνδνζία όπνπ ε ηάζε ιεηηνπξγίαο ηνπ αηζζεηήξα ιακβάλεηαη κέζσ ηεο γξακκήο data.3) 3) H αλάιπζε ηεο ζεξκνθξαζίαο είλαη ειεγρόκελε από ηνλ ρξήζηε (9-12 bits). 66

70 4) Έρεη εύξνο κέηξεζεο από -55C o έσο 125C o 5) Γηαζέηεη κε πηεηηθή κλήκε κε δπλαηόηεηα νξηζκνύ ζεξκνθξαζίαο ζπλαγεξκνύ. Ο κεηαγισηηηζηήο codevisionavr εκπεξηέρεη ξνπηίλεο νδήγεζεο γηα ηνλ ζπγθεθξηκέλν αηζζεηήξα. Έηζη ν έιεγρόο ηνπ γίλεηαη γξήγνξα ρσξίο λα ρξεηάδεηαη λα αλεζπρνύκε γηα ηα ζήκαηα ρξνληζκνύ ηνπ. ηελ ζπλέρεηα ζα θαηαζθεπάζνπκε έλα ζεξκόκεηξν πνπ ζηεξίδεηαη ζηνλ αηζζεηήξα DS18B20 πνπ ζα απεηθνλίδεη ηελ ζεξκνθξαζία ηνπ ζε κηα νζόλε lcd. Ζ αλάπηπμε ηνπ θπθιώκαηνο ζα γίλεη κε ηνλ κηθξνειεγθηή ATMEGA16. #include <mega16.h> #asm.equ w1_port=0x1b //νξηζκόο ηεο πόξηαο ηνπ κηθξνειεγθηή πνπ είλαη ζπλδεκέλνο.equ w1_bit=6 //ν αηζζεηήξαο PORTΑ.6 #endasm #asm.equ lcd_port=0x15 //νξηζκόο ηεο portc γηα δηαζύλδεζε κε ηελ νζόλε #endasm #include <lcd.h> // ξνπηίλεο γηα ηελ νζόλε 2x16 #include <ds18b20.h> //ξνπηίλεο γηα ηνλ αηζζεηήξα ζεξκνθξαζίαο. #include <delay.h> #include <stdio.h> char lcd_buffer[33]; //πίλαθαο εύξνπο 33 ζέζεσλ /*Μέγηζηνο αξηζκόο ζπζθεπώλ πνπ κπνξνύκε λα ζπλδέζνπκε */ #define MAX_DEVICES 8 /* κεηαβιεηή απνζήθεπζεο ησλ θσδηθώλ ROM θάζε ζπζθεπήο*/ unsigned char rom_code[max_devices][9]; main() unsigned char i,j,devices; //νξηζκόο κεηαβιεηώλ lcd_init(16); //αξρηθνπνίεζε νζόλεο lcd_putsf("codevision AVR \n digital thermometer "); delay_ms(2000); lcd_clear(); 67

71 devices=w1_search(0xf0,rom_code); //έιεγρνο πόζσλ αηζζεηήξσλ είλαη ζπλδεκέλνη sprintf(lcd_buffer,"%u DS18B20\n SYSKEYES BRETHIKAN",devices); lcd_puts(lcd_buffer); delay_ms(2000); /* εθηύπσζε ηνπ αξηζκνύ ηεο ROM θάζε αηζζεηήξα */ if (devices) for (i=0;i<devices;i++) sprintf(lcd_buffer,"device #%u ROM\nCode is:",i+1); lcd_clear(); //θαζαξηζκόο νζόλεο lcd_puts(lcd_buffer); //εθηύπσζε string delay_ms(2000); lcd_clear(); for (j=0;j<8;j++) sprintf(lcd_buffer,"%02x ",rom_code[i][j]); lcd_puts(lcd_buffer); if (j==3) lcd_gotoxy(0,1); ; delay_ms(5000); ; else while (1); //ζηακαηάκε εδώ αλ δελ βξεζνύλ ζπζθεπέο. //Καζνξηζκόο 12 bit αλάιπζε γηα θάζε ζπζθεπή for (i=0;i<devices;) if (!ds18b20_init(&rom_code[i++][0],20,30,ds18b20_12bit_res)) //νξηζκόο θαηώηεξεο ζεξκνθξαζίαο ζηνπο 20 C θαη ε κέγηζηε ζηνπο 30 sprintf(lcd_buffer,"lathos arxikopoihshs ston \n aisththra #%u",i); lcd_clear(); 68

72 lcd_puts(lcd_buffer); while (1); /* ζηακαηάκε εδώ ζε ιάζνο αξρηθνπνίεζεο */ ; /* ιήςε θαη εθηύπσζε ζηελ νζόλε ησλ ζεξκνθξαζηώλ*/ while (1) j=1; for (i=0;i<devices;i++) sprintf(lcd_buffer,"t%u=%.3f\xdfc",j++,ds18b20_temperature(&rom_code[i][0])); lcd_clear(); lcd_puts(lcd_buffer); delay_ms(500); ; ; Όπσο κπνξνύκε λα δνύκε ζηνλ θώδηθά καο, εθόζνλ βξνύκε ηνλ αξηζκό ησλ αηζζεηήξσλ πνπ είλαη ζπλδεκέλνη πάλσ ζην 1 wire θαιώδην, ζηελ ζπλέρεηα εθηππώλνπκε ηνλ κνλαδηθό αξηζκό θάζε αηζζεηήξα ζε δεθαεμαδηθή κνξθή. ηελ ζπλέρεηα αξρηθνπνηνύκε ηνπο αηζζεηήξεο καο, δειώλνπκε ηελ ειάρηζηε ζεξκνθξαζία πνπ κπνξνύκε λα έρνπκε ζπλαγεξκό όηαλ πέζεη θάησ από απηή,ηελ κέγηζηε ζεξκνθξαζία ζπλαγεξκνύ, θαζώο θαη ηελ αλάιπζε πνπ ζέινπκε λα έρνπκε. Σαπηόρξνλα αξρηθνπνηνύκε ηνλ αηζζεηήξα θαη ζε πεξίπησζε ιάζνπο αξρηθνπνίεζεο ζηακαηάκε ην πξόγξακκα. Σν ηειεπηαίν βήκα είλαη λα δηαβάζνπκε ηελ ζεξκνθξαζία θαη λα ηελ εθηππώζνπκε κε ηελ ζπλάξηεζε lcd_puts. Όπσο δηαπηζηώλνπκε o αξηζκόο εθηύπσζεο είλαη θηλεηήο ππνδηαζηνιήο (floating) έηζη ώζηε λα παίξλνπκε θαη ην δεθαδηθό κέξνο ηεο ζεξκνθξαζίαο. ηνλ θώδηθά καο κεξηκλήζακε ώζηε λα είλαη δπλαηή ε ζύλδεζε κέρξη 8 αηζζεηήξσλ. ζεσξεηηθά κπνξνύκε λα ζπλδέζνπκε άπεηξνπο αηζζεηήξεο, κηαο θαη ν θάζε αηζζεηήξαο έρεη κνλαδηθό θσδηθό ζηελ ROM ηνπ. ην ζρεκαηηθό βιέπνπκε ζπλδεκέλν έλαλ αηζζεηήξα. 69

73 GND +5V Contr RS R/W E D4 D5 D6 D7 BL+ BL DS18B20 VCC GROUND VCC VCC 0 IC PB0(XCK/T0) PA0(ADC0) 39 3 PB1(T1) PA1(ADC1) 38 4 PB2(INT2/AIN0) PA2(ADC2) 37 5 PB3(OC0/AIN1) PA3(ADC3) 36 6 PB4(SS) PA4(ADC4) 35 7 PB5(MOSI) PA5(ADC5) 34 8 PB6[MISO) PA6(ADC6) 33 9 PB7[SCK) PA7(ADC7) RESET AREF VCC AGND GND AVCC XTAL2 PC7(TOSC2) XTAL1 PC6(TOSC1) PD0(RXD) PC PD1(TXD) PC PD2(INT0) PC PD3(INT1) PC PD4(OC1B) PC1(SDA) PD5(OC1A) PC0(SCL) 21 PD6(ICP) PD7(OC2) ATMEGA16 VCC 0 D0 R1 4K7 0 Character LCD LCD_4bit O ΜΔΣΑΓΛΧΣΣΙΣΗ CODEVISION O codevision είλαη έλαο κεηαγισηηηζηήο C γηα ηνπο AVR από ηελ HP INFOTECH. Σν πξόγξακκα ηξέρεη ζε πεξηβάιινλ 32bit θάησ από ηα ιεηηνπξγηθά ζπζηήκαηα windows 95, θαη XP. Σν πεξηβάιινλ εξγαζίαο ραξαθηεξίδεηαη από ηελ θηιηθόηεηα πξνο ηνλ ρξήζηε, δηαζέηνληαο πνιιά ελδηαθέξνληαη ραξαθηεξηζηηθά. Δθηόο από ηελ ζπλεζηζκέλεο βηβιηνζήθεο γηα ηελ C, έρνπκε ππνζηήξημε επηπιένλ γηα Μνλάδεο νζόλεο lcd To πξσηόθνιιν I 2 C Σνλ αηζζεηήξα ζενθξαζίαο LM35 ηεο national semiconductor Ρνιόγηα πξαγκαηηθνύ ρξόλνπ Σν πξσηόθνιιν 1 wire ηεο Dallas Semiconductor Φεθηαθνύο αηζζεηήξεο ζεξκνθξαζίαο (DS1820) Σν πξσηόθνιιν SPI Γηαρείξηζε ελέξγεηαο ηνπ κηθξνειεγθηή Καζπζηέξεζε πξνγξάκκαηνο (delays) 70

74 Δπίζεο δηαζέηεη έλα εξγαιείν γηα απηόκαηε αξρηθνπνίεζε πνιιώλ ζπζθεπώλ ζηνπο κηθξνειεγθηέο όπσο Πξόζβαζε ζε εμσηεξηθή κλήκε Αξρηθνπνίεζε εηζόδσλ εμόδσλ ζηνλ κηθξνειεγθηή Αξρηθνπνίεζε εμσηεξηθώλ δηαθνπώλ Αξρηθνπνίεζε ησλ κεηξεηξώλ θαη ησλ ρξνληζηώλ Αξρηθνπνίεζε ηνπ watchdog timer Αξρηθνπνίεζε ηνπ USART Αξρηθνπνίεζε ηνπ αλαινγηθνύ ζπγθξηηή Αξρηθνπνίεζε ηνπ ADC Αξρηθνπνίεζε ηνπ SPI Αξρηθνπνίεζε ηνπ δηαύινπ I 2 C Αξρηθνπνίεζε νζόλεο lcd Δπίζεο δηαζέηεη έλαλ πξνγξακκαηηζηή ν νπνηόο ζπλεξγάδεηαη κε ην STK500 ηελ ζπλέρεηα ζα δείμνπκε πόζν απιό είλαη λα δεκηνπξγήζνπκε έλα πξόγξακκα όπνπ ζα εκθαλίδεηαη έλα κήλπκα ζε νζόλε lcd κε ηελ βνήζεηα ηνπ wizard ηνπ κεηαγισηηηζηή. Αξρηθά επηιέγνπκε file new project.σν πξόγξακκα καο ξσηάεη αλ ζέινπκε λα εθηλλήζνπκε ηνλ codewizard. Θα απαληήζνπκε λαη 71

75 ηελ ζπλέρεηα ζα επηιέμνπκε από ηελ θαξηέια σο κηθξνειεγθηή πνπ ζα ρξεζηκνπνηήζνπκε ηνλ atmega16 θαη ζα νξίζνπκε σο πόξηα γηα ηελ νζόλε ηελ PORTB,θαζώο θαη ηνλ αξηζκό ησλ γξακκώλ ηεο νζόλεο. Όπσο βιέπνπκε ηελ ζηηγκή πνπ επηιέγνπκε ηελ πόξηα ηεο νζόλεο καο δείρλεη ηα αληίζηνηρα ζήκαηα απηήο ζε πνηα pin πξέπεη λα ζπλδεζνύλ δηεπθνιύλνληάο καο αθόκα πεξηζζόηεξν. ηελ ζπλέρεηα επηιέγνπκε file θαη generate. Έηζη ζα πάξνπκε έηνηκεο ηηο απαξαίηεηεο αξρηθνπνηήζεηο,ειαρηζηνπνηώληαο ηνλ θίλδπλν γηα ιάζνο ζηνλ θώδηθα πνπ ζα επζπλόηαλ ζε θαθή αξρηθνπνίεζε. Έπεηηα επηιέγνπκε file, generate save and exit θαη εκθαλίδεηαη ην παξαθάησ παξάζπξν όπνπ καο πξνηξέπεη λα ζώζνπκε ην project. Γίλνπκε έλα όλνκα θαη παηάκε save. 72

76 O παξαθάησ θώδηθαο δεκηνπξγήζεθε απηόκαηα από ηνλ νδεγό ηνπ codevision. #include <mega16.h> // Alphanumeric LCD Module functions #asm.equ lcd_port=0x18 ;PORTB #endasm #include <lcd.h> void main(void) while (1) // Place your code here ; Σν κόλν πνπ κέλεη λα θάλνπκε είλαη λα πάκε ζην ζεκείν όπνπ βιέπνπκε λα ζρόιηα place your code here θαη λα γξάςνπκε ηελ εληνιή sprintf( HELLO ); ε νπνία ζα ζηείιεη ην κήλπκα απηό ζηελ εμσηεξηθή νζόλε. Γίλεηαη εύθνια αληηιεπηό πόζν γξήγνξα κπνξνύκε λα αλαπηύμνπκε κηα εθαξκνγή κε ρξήζε ελόο compiler C. Ζ ίδηα δηαδηθαζία ζε assembly ζα απαηηνύζε επηπιένλ πξνζπάζεηα έηζη ώζηε λα νδεγεζνύλ ηα ζήκαηα ηεο νζόλεο ζσζηά. Δπηπιένλ ε εθζθαικάησζε ηνπ πξνγξάκκαηνο ζα ήηαλ πην δύζθνιε θαη κηα πηζαλόλ αλαβάζκηζε ζα ήηαλ επίπνλε. Έπεηηα επηιέγνπκε από ην κελνύ project configure θαη επηιέγνπκε ηελ θαξηέια C compiler. Eδώ βιέπνπκε ηνλ ηύπν ηνπ κηθξνειεγηή, ηελ ζπρλόηεηα ιεηηνπξγίαο ηνπ, θαζώο 73

77 θαη επηινγέο όζνλ αθνξά ην πξόγξακκα πνπ ζα δεκηνπξγεζεί. Μπνξνύκε λα ην βειηηζηνπνηήζνπκε γηα ηελ ηαρύηεηα εθηέιεζεο ηνπ θώδηθα ή γηα ην κέγεζνο ηνπ, αλάινγα κε ηηο αλάγθεο καο. Έπεηηα θιείλνπκε ηελ θαξηέια θαη επηιέγνπκε από ην κελνύ project compile θαη έπεηηα project make. Aλ δελ έρνπκε θαλέλα ιάζνο ζηνλ θώδηθά καο ζα δνύκε ην εμήο παξάζπξν πνπ ζεκαίλεη πσο ε κεηαγιώηηηζε έγηλε ζσζηά. Ο κεηαγισηηηζηήο δηαζέηεη ελζσκαησκέλν έλαλ πξνγξακκαηηζηή ν νπνίνο κπνξεί λα πξνγξακκαηίζεη θαηεπζείαλ ηνλ κηθξνειεγθηή αξθεί λα ππάξρεη κηα ζπκβαηή πιαθέηα όπσο ην STK500, ηνλ AVRISP, ηνλ AVRProg, ηνλ STK200+/300, ηνλ Dontronics DT006, ηνλ Vogel Elektronik VTEC-ISP, ηνλ Futurlec JRAVR ή ηνλ MicroTronics ATCPU/Mega

78 ηελ ζπλέρεηα επηιέγνπκε program flash εθόζνλ δηαζέηνπκε θάπνην από ηα παξαπάλσ αλαπηπμηαθά ζπζηήκαηα. Ζ πιαθέηα ησλ εθαξκνγώλ καο δελ ζπλεξγάδεηαη κε ηνλ πξνγξακκαηηζηή ηνπ codevision. Έηζη ζα ρξεζηκνπνηήζνπκε έλα freeware software ην PonyProg2000. Ο ΠΡΟΓΡΑΜΜΑΣΙΣΗ PonyProg2000 O πξνγξακκαηηζηήο PonyProg2000 είλαη έλα software αλνηρηνύ θώδηθα πνπ δεκηνπξγήζεθε από ηνλ Claudio Lanconelli. Δίλαη εύρξεζην θαη έρεη πνιιέο ιεηηνπξγίεο όπσο εθηόο από ην λα πξνγξακκαηίδεη κηθξνειεγθηέο AVR έρεη επίζεο δπλαηόηεηα λα πξνγξακκαηίδεη κηθξνειεγθηέο ηεο microchip θαζώο θαη κλήκεο eeprom. ηελ ζπλέρεηα βιέπνπκε ην πεξηβάιινλ εξγαζίαο ηνπ PonyProg2000. Δπηιέγνπκε από ην κελνύ setup interface setup θαη αθνύ είκαζηε βέβαηνη πσο ζπλδέζακε ηελ πιαθέηα καο ζηελ ζεηξηαθή ζύξα ηνπ ππνινγηζηή επηιέγνπκε ηελ αληίζηνηρε COM πνπ ρξεζηκνπνηνύκε. Έπεηηα παηάκε ην θνπκπί probe. Aλ ε ζύλδεζε έγηλε ζσζηά, ηόηε ζα ιάβνπκε ην κήλπκα test ok. Έπεηηα από ην κελνύ device επηιέγνπκε avr micro θαη atmega16. ηε ζπλέρεηα επηιέγνπκε από ην κελνύ file open device file θαη επηιέγνπκε ην αξρείν HEX από ηελ ζέζε πνπ ην έρνπκε απνζεθεπκέλν. Έπεηηα επηιέγνπκε Command θαη Program. 75

79 Η ΠΛΑΚΔΣΑ ΔΦΑΡΜΟΓΧΝ ΓΙΑ ΣΟΤ AVR Ζ πιαθέηα πνπ βιέπνπκε παξαθάησ αλαπηύρζεθε έηζη ώζηε λα είλαη δπλαηόο ν πξνγξακκαηηζκόο ηνπ κηθξνειεγθηή atmega16, θαζώο επίζεο θαη όισλ ησλ κηθξνειεγθηώλ AVR πνπ ππνζηεξίδνπλ In System Programming (ISP). Ο πξνγξακκαηηζκόο γίλεηαη κε ην PonyProg2000 ηνλ νπνίν κπνξνύκε λα θαηεβάζνπκε δσξεάλ από ηνλ δηθηπαθό ηόπν Ζ πιαθέηα καο έρεη ηηο εμήο κνλάδεο ελζσκαησκέλεο : Σνλ κηθξνειεγθηή atmega16 κε socket γηα εμσηεξηθό θξύζηαιιν θαη επηινγή γηα ηελ ηάζε αλαθνξάο Vref θαζώο θαη έλα button γηα reset Έλαλ connector ησλ 6 pin γηα πξνγξακκαηηζκό ζπζθεπώλ AVR κε ISP. Μηα ζύξα RS232 γηα επηθνηλσλία κε USART κε ειεθηξνληθό ππνινγηζηή Μηα ζύξα RS232 γηα ηνλ πξνγξακκαηηζκό ησλ ζπζθεπώλ κέζσ JTAG Μηα ζεηξηαθή κλήκε πνπ ιεηηνπξγεί κε ην πξσηόθνιιν I 2 C Έλα ξνιόη πξαγκαηηθνύ ρξόλνπ ηεο DALLAS SEMICONDUCTOR ην DS

80 Μηα κνλάδα κε δύν led displays θνηλήο θαζόδνπ ηα νπνία κπνξνύλ λα ιεηηνπξγήζνπλ κε πνιύπιεμε Μηα νζόλε lcd 2x16 Μηα κνλάδα νδήγεζεο ζπζθεπώλ ηζρύνο κε ην L293D κε ηελ νπνία έρνπκε δπλαηόηεηα λα νδεγήζνπκε επαγσγηθά θνξηία κέρξη 2A από 5 κέρξη 36V, θαζώο επίζεο θαη ηελ δπλαηόηεηα λα ηξνθνδνηήζνπκε ηελ κνλάδα κε εμσηεξηθό ηξνθνδνηηθό. 8 δηαθόπηεο ζε κνξθή dip switch. Δπίζεο ηέζζεξα push button ηα νπνία ζπλδένληαη παξάιιεια κε ηνπο ηέζζεξηο ηειεπηαίνπο δηαθόπηεο 8 Led ηα νπνίν ιεηηνπξγνύλ κε ηελ ζεηηθή ινγηθή Έλα ξάζηεξ θαζώο θαη έλα πνηελζηόκεηξν όπνπ κπνξνύκε λα έρνπκε ηάζεηο από 0 κέρξη 5 Volt θαηά επηινγή. ηελ ζπλέρεηα βιέπνπκε ηελ θάησ θαη ηελ άλσ όςε ηεο πιαθέηαο ησλ εθαξκνγώλ καο θαζώο θαη ην ζρεκαηηθό δηάγξακκα ησλ δηαζπλδέζεσλ ησλ πιηθώλ ηεο. Ο ζρεδηαζκόο ηεο πιαθέηαο έγηλε κε ην ζρεδηαζηηθό πξόγξακκα ORCAD

81 78

82 79

83 80

84 BIBΛΙΟΓΡΑΦΙΑ 1. Embedded C Programming and the Atmel AVR 2 nd edition 2007, Richard H. Barnet, Sarah Cox, Larry O Cull. 2. Πξνγξακκαηίδνληαο ηνλ Μηθξνειεγθηή ΑVR. Δθδόζεηο Σδηόια Dhananjay V Gardreν, Μάζεηε ηελ C, δεύηεξε έθδνζε, Tony Εhang. Δθδόζεηο Γθηνύξδαο, Μηθξνππνινγηζηέο-Μηθξνειεγθηέο.Αξρηηεθηνληθή-Πξνγξακαηηζκόο-Δθαξκνγέο, Πνγαξίδεο Γεκήηξεο, Δθδόζεηο ΗΧΝ Μηθξνππνινγηζηέο 1. εκεηώζεηο εξγαζηεξίνπ ηνπ ηκήκαηνο ειεθηξνληθήο ηνπ ΑΣΔΗ Θεζζαινλίθεο 6. Μηθξνππνινγηζηέο 2. εκεηώζεηο εξγαζηεξίνπ ηνπ ηκήκαηνο ειεθηξνληθήο ηνπ ΑΣΔΗ Θεζζαινλίθεο 7. Cad θαη Ζιεθηξνληθή Καηαζθεπή. εκεηώζεηο εξγαζηεξίνπ ηνπ ηκήκαηνο ειεθηξνληθήο ηνπ ΑΣΔΗ ζεζζαινλίθεο 8. AVR STK500 user manual

85 ΠΑΡΑΡΣΗΜΑ ATMEGA16 82

86 83

87 84

88 85

89 L293 86

90 87

91 88

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

Διαβάστε περισσότερα

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο. 7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Ση είλαη έλαο θαηαρσξεηήο; O θαηαρσξεηήο είλαη κηα νκάδα από flip-flop πνπ κπνξεί λα απνζεθεύζεη πξνζσξηλά ςεθηαθή πιεξνθνξία. Μπνξεί λα δηαηεξήζεη ηα δεδνκέλα ηνπ

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ

ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ Η ζεκεξηλή ξαγδαία εμέιημε ηεο ηερλνινγίαο ηεο κηθξνειεθηξνληθήο επέηξεςε ηελ θαηαζθεπή εηδηθώλ νινθιεξσκέλσλ θπθισκάησλ απνζήθεπζεο δεδνκέλσλ θαη πιεξνθνξηώλ θαηαιακβάλνπλ

Διαβάστε περισσότερα

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1 Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε

Διαβάστε περισσότερα

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

Διαβάστε περισσότερα

A 1. DDRA = 0b11110000; k = PINB; DDRC = 0xf0; PORTC = 0x0f;

A 1. DDRA = 0b11110000; k = PINB; DDRC = 0xf0; PORTC = 0x0f; μ : : - - A 1 / μ : : : _ _ : 1. μ μμ μ μ VR μ μ (STK200/CodeVision C). 2. - μ μ μμ C. _ _ μ - / μ μ μ STK200 8 8 LED. μ LED LEDn 0 Volt., SWn 5 Volt μ μ. μ ATmega16 32 -, μ 4 (ports) μ μ A,B,C D. μ 8-bit,

Διαβάστε περισσότερα

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ Εδώ ζα ππνινγίζνπκε ην κεηαζρεκαηηζκό Fourier κεξηθώλ αθόκα ζεκάησλ, πξνζπαζώληαο λα μεθηλήζνπκε από ην κεηαζρεκαηηζκό Fourier γλσζηώλ ζεκάησλ

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΘΔΜΑ Α Α1. α. Σ β. Σ γ. Λ δ. Λ ε. Λ ζη. Σ Α2. Γ Α3. 1. γ 2. ε 3. δ 4. α Β1. ΘΔΜΑ Β Οη ηειηθνί ππνινγηζηέο παίξλνπλ απνθάζεηο δξνκνιόγεζεο κόλν γηα ηα δηθά ηνπο απηνδύλακα

Διαβάστε περισσότερα

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000. ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε

Διαβάστε περισσότερα

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

Διαβάστε περισσότερα

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη 5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη Σηα πιαίζηα ηεο πέκπηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

Διαβάστε περισσότερα

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ Συστήματα Αρίθμησης Υποπλοίαρχος Ν. Πετράκος ΠΝ 1 Ειζαγωγή Τν bit είλαη ε πην βαζηθή κνλάδα κέηξεζεο. Είλαη κία θαηάζηαζε on ή off ζε έλα ςεθηαθό θύθισκα. Άιιεο θνξέο είλαη κία θαηάζηαζε high ή low voltage

Διαβάστε περισσότερα

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Σύνθεζη ηαλανηώζεων Α. Σύλζεζε δύν α.α.η ηεο ίδιας ζστνόηηηας Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Η απνκάθξπλζε

Διαβάστε περισσότερα

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ. Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,

Διαβάστε περισσότερα

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

Διαβάστε περισσότερα

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή

Διαβάστε περισσότερα

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο Γελάξεο 2011 ΗΛΔΚΣΡΟΝΙΚΑ Ι (Ύιε Γπκλαζίνπ) Διδάσκων: Σαββίδης Σάββας Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0

Διαβάστε περισσότερα

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

Διαβάστε περισσότερα

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

Διαβάστε περισσότερα

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Απλό ηλεκτπικό κύκλυμα Η δηδαζθαιία ηνπ απινύ ειεθηξηθνύ θπθιώκαηνο ππάξρεη ζην κάζεκα «Φπζηθά» ηεο Ε ηάμεο ηνπ δεκνηηθνύ θαη επαλαιακβάλεηαη ζην κάζεκα ηεο Φπζηθήο ζηε Γ ηάμε ηνπ Γπκλαζίνπ.

Διαβάστε περισσότερα

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Cpyright 2013 Λόγος & Επικοινωνία // All rights Reserved Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Αυηό ηο παιχνίδι έχει ζηόχους: 1. ηελ εθγύκλαζε ηεο αθνπζηηθήο κλήκεο ησλ παηδηώλ 2. ηελ εμάζθεζε ζηελ

Διαβάστε περισσότερα

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

Διαβάστε περισσότερα

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Οη Διαηιμήζεις για Αιολικά Πάρκα εθαξκόδνληαη γηα ηελ απνξξνθνύκελε ελέξγεηα από Αηνιηθά Πάξθα πνπ είλαη ζπλδεδεκέλα ζην

Διαβάστε περισσότερα

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KRNUGH Γηα λα θάλνπκε απινπνίεζε κηαο ινγηθήο ζπλάξηεζεο κε πίλαθα (ή ράξηε) Karnaugh αθνινπζνύκε ηα παξαθάησ βήκαηα:. Η ινγηθή ζπλάξηεζε ζα πξέπεη λα είλαη ζε πιήξε

Διαβάστε περισσότερα

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο : ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ Ον/μο:.. Γ Λσκείοσ Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη. 11-1-11 Εήηημα 1 ο : Α. Γηα ηελ ζπλάξηεζε f, λα βξείηε ην δηάζηεκα ζην νπνίν είλαη παξαγσγίζηκε θαζώο θαη

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΠΡΟΒΛΗΜΑ Σε έλα ηνπξλνπά βόιετ δήισζαλ ζπκκεηνρή νκάδεο Γπκλαζίσλ ηεο Κύπξνπ.

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ Α ΛΤΚΔΙΟΤ Ζμεπομηνία: 18/12/10 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΕΙΝΟΜΕΝΕ ΛΤ ΕΙ 1. Δίλεηαη ην πνιπώλπκν Αλ θαη., λα βξείηε ην ηειεπηαίν ςεθίν ηνπ αξηζκνύ έρνπκε:

Διαβάστε περισσότερα

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά: ΑΝΤΗΛΙΑΚΑ Η Μηκή θαη ν Νηίλνο αλαξσηήζεθαλ πνην αληειηαθό πξντόλ παξέρεη ηελ θαιύηεξε πξνζηαζία ζην δέξκα ηνπο. Τα αληειηαθά πξντόληα έρνπλ έλα δείθηε αληειηαθήο πξνζηαζίαο (SPF), ν νπνίνο δείρλεη πόζν

Διαβάστε περισσότερα

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ 6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ Σηα πιαίζηα ηεο έθηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

Διαβάστε περισσότερα

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη Μάθημα 11 Τμήμα Μάπκεηινγκ και Διοίκηζηρ Λειηοςπγιών Τα δηαγξάκκαηα θαηάζηαζεο (state diagrams) ρξεζηκνπνηνύληαη γηα λα βνεζήζνπλ ηνλ πξνγξακκαηηζηή λα θαηαιάβεη

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε Κβαντικοί Υπολογισμοί Πέκπηε Γηάιεμε Kπθισκαηηθό Mνληέιν Έλαο θιαζηθόο ππνινγηζηήο απνηειείηαη από αγσγνύο θαη ινγηθέο πύιεο πνπ απνηεινύλ ηνπο επεμεξγαζηέο. Σηνπο θβαληηθνύο ε πιεξνθνξία βξίζθεηαη κέζα

Διαβάστε περισσότερα

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Ειζαγωγή ζηη Φωηογραθία Χριζηάκης Σαζεΐδης EFIAP 1 ΜΑΘΗΜΑ 6 ο Προγράμμαηα θωηογραθικών μηχανών Επιλογέας προγραμμάηων Μαο δίλεη ηε δπλαηόηεηα λα ειέγμνπκε ην άλνηγκα δηαθξάγκαηνο θαη

Διαβάστε περισσότερα

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ Κεθάλαιο 7 Πξνζθνξά ηνπ θιάδνπ 1 Προζθορά ανηαγωνιζηικού κλάδοσ Πώο πξέπεη λα ζπλδπαζηνύλ νη απνθάζεηο πξνζθνξάο ησλ πνιιώλ επηκέξνπο επηρεηξήζεσλ ελόο αληαγσληζηηθνύ θιάδνπ γηα λα βξνύκε ηελ θακπύιε πξνζθνξάο

Διαβάστε περισσότερα

ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο. Ηιεθηξνληθά ΙΙ

ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο. Ηιεθηξνληθά ΙΙ ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο Ηιεθηξνληθά ΙΙ Γεπηέξα 14/3/2011 Δηδάζθσλ: Γηώξγνο Χαηδεησάλλνπ Τειέθσλν: 99653828 Ε-mail: georghios.h@cytanet.com.cy

Διαβάστε περισσότερα

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο

Διαβάστε περισσότερα

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

Διαβάστε περισσότερα

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H ) Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

Διαβάστε περισσότερα

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

Διαβάστε περισσότερα

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων (https://weeman.inf.ethz.ch/particletracker/) Τν Plugin particle tracker κπνξεί λα αληρλεύζεη απηόκαηα ηα ζσκαηίδηα πνπ θηλνύληαη,

Διαβάστε περισσότερα

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο Έξγν ελέξγεηα 3 (Λύζε) Σώκα κάδαο m = 4Kg εξεκεί ζηε βάζε θεθιηκέλνπ επηπέδνπ γσλίαο θιίζεο ζ κε εκζ = 0,6 θαη ζπλζ = 0,8. Τν ζώκα αξρίδεη λα δέρεηαη νξηδόληηα δύλακε θαη μεθηλά λα αλεβαίλεη ζην θεθιηκέλν

Διαβάστε περισσότερα

Αντισταθμιστική ανάλυση

Αντισταθμιστική ανάλυση Θεσξήζηε έλαλ αιγόξηζκν Α πνπ ρξεζηκνπνηεί κηα δνκή δεδνκέλσλ Γ : Καηά ηε δηάξθεηα εθηέιεζεο ηνπ Α ε Γ πξαγκαηνπνηεί κία αθνινπζία από πξάμεηο. Παξάδεηγκα: Θπκεζείηε ην πξόβιεκα ηεο εύξεζεο-έλσζεο Δίρακε

Διαβάστε περισσότερα

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο Λσμένες αζκήζεις ζηη Logo Στεδίαζη ζτημάηων με ηη τελώνα 1) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα ηεηξάγσλν πνπ ζα ζρεδηάδεη έλα ηεηξάγσλν κε πιεπξά 120. Γηα ηεηξάγσλν επαλάιαβε 4 [κπ 120

Διαβάστε περισσότερα

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) 1.1 Σςνοπτική Πεπιγπαυή Hot Spots Σα ζεκεία αζύξκαηεο πξόζβαζεο πνπ επηιέρζεθαλ αλαθέξνληαη ζηνλ επόκελν πίλαθα θαη παξνπζηάδνληαη αλαιπηηθά ζηηο επόκελεο παξαγξάθνπο.

Διαβάστε περισσότερα

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 1 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ

Διαβάστε περισσότερα

Άσκηση 1 - Μοπυοποίηση Κειμένου

Άσκηση 1 - Μοπυοποίηση Κειμένου Άσκηση 1 - Μοπυοποίηση Κειμένου Σηηο παξαθάησ γξακκέο εθαξκόζηε ηε κνξθνπνίεζε πνπ πεξηγξάθνπλ Γξακκή κε έληνλε γξαθή Γξακκή κε πιάγηα γξαθή Γξακκή κε ππνγξακκηζκέλε γξαθή Γξακκή κε Arial Font κεγέζνπο

Διαβάστε περισσότερα

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο

Διαβάστε περισσότερα

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 2 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ

Διαβάστε περισσότερα

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Μονοψϊνιο Ολιγοψώνιο Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Οπιακή αξία Δπηπξόζζεηα νθέιε από ηελ ρξήζε/θαηαλάισζε κηαο επηπξόζζεηε

Διαβάστε περισσότερα

Κάζε functional unit ρξεζηκνπνηείηαη κηα θνξά ζε θάζε θύθιν: αλάγθε γηα πνιιαπιό hardware = θόζηνο πινπνίεζεο!

Κάζε functional unit ρξεζηκνπνηείηαη κηα θνξά ζε θάζε θύθιν: αλάγθε γηα πνιιαπιό hardware = θόζηνο πινπνίεζεο! Single-cyle σλοποίηζη: Γηάξθεηα θύθινπ ίζε κε ηε κεγαιύηεξε εληνιή-worst case delay (εδώ ε lw) = ρακειή απόδνζε! Αληηβαίλεη κε αξρή: Κάλε ηελ πην απιή πεξίπηωζε γξήγνξε (ίζωο θαη εηο βάξνο ηωλ πην «ζύλζεηωλ»

Διαβάστε περισσότερα

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2011-12 Ρέππα Μαξγαξίηα FORMAT, UNFORMAT Format format , όποσ = a:, b: Μνξθνπνηεί, δειαδή πξνεηνηκάδεη

Διαβάστε περισσότερα

Η αξρή ζύλδεζεο Client-Server

Η αξρή ζύλδεζεο Client-Server Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ Είμαζηε ηυχεροί που είμαζηε δάζκαλοι Ον/μο:.. A Λσκείοσ Ύλη: Εσθύγραμμη Κίνηζη 8-11-2015 Θέμα 1 ο : 1. Η εμίζωζε θίλεζεο ελόο θηλεηνύ πνπ θηλείηαη επζύγξακκα είλαη ε x = 5t. Πνηα

Διαβάστε περισσότερα

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

Διαβάστε περισσότερα

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

Διαβάστε περισσότερα

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα

Διαβάστε περισσότερα

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ ηαηηθή ηωλ ξεπζηώλ (Τδξνζηαηηθή) Ση είλαη ηα ξεπζηά - Γεληθά Ππθλόηεηα Πίεζε Μεηαβνιή ηεο πίεζεο ζπλαξηήζεη ηνπ βάζνπο Αξρή ηνπ Pascal Τδξνζηαηηθή πίεζε Αηκνζθαηξηθή πίεζε Απόιπηε &

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΠΟΥΔΕΣ ΣΤΙΣ ΦΥΣΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΓΕΝΙΚΑ ΜΑΘΗΜΑΤΙΚΑ ΙΙ - ΦΥΕ 0 7 Ινπλίνπ 009 Απαντήσειρ στιρ ασκήσειρ τηρ τελικήρ εξέτασηρ στιρ Σςνήθειρ Διαυοπικέρ Εξισώσειρ Αγαπηηέ θοιηηηή/ηπια,

Διαβάστε περισσότερα

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2 ΛΙΜΝΗ ΤΣΑΝΤ Τν Σρήκα 1 δείρλεη ηελ αιιαγή ηεο ζηάζκεο ηεο Λίκλεο Τζαλη, ζηε Σαράξα ηεο Βόξεηαο Αθξηθήο. Η Λίκλε Τζαλη εμαθαλίζηεθε ηειείσο γύξσ ζην 20.000 π.χ., θαηά ηε δηάξθεηα ηεο ηειεπηαίαο επνρήο ησλ

Διαβάστε περισσότερα

όπνπ Κ Ρ u(t) u(t) Pe(t) e(t) 2015 Κ. Παξίζεο, Καζεγεηήο 1

όπνπ Κ Ρ u(t) u(t) Pe(t) e(t) 2015 Κ. Παξίζεο, Καζεγεηήο 1 Αλαινγηθόο ειεγθηήο Ρ (Proportional controller) Είλαη ν ειεγθηήο ν νπνίνο δίλεη ζηελ έμνδν ηνπ, ζήκα αλάινγν ηνπ ζθάικαηνο πνπ δέρεηαη ζηελ είζνδν. Η ζρέζε πνπ πξνζδηνξίδεη ηελ ζπκπεξηθνξά ηνπ ειεγθηή

Διαβάστε περισσότερα

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ Διαφάνεια 1 η ΕΚΚΙΝΗΣΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΕΙΣΟΔΟΣ ΣΤΟ BIOS UITILITY Τν ζπλεζέζηεξν πιήθηξν γηα ηελ είζνδν ζην BIOS Utility είλαη ην πιήθηξν Del. Παξόια απηά δηαθνξεηηθνί θαηαζθεπαζηέο, ρξεζηκνπνηνύλ δηαθνξεηηθά

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ Πρόβλημα 1: α) Να δείμεηε όηη αλ ζεηηθνί πξαγκαηηθνί αξηζκνί ηζρύεη: β) Αλ είλαη

Διαβάστε περισσότερα

Οργάνωση και Δομή Παρουσιάσεων

Οργάνωση και Δομή Παρουσιάσεων Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 Γενικά Η έθδνζε 8.0.0 ηνπ ελόηεηεο: Business ERP, πεξηιακβάλεη λέεο ιεηηνπξγίεο πνπ αλαιύνληαη ζηηο παξαθάησ Γεληθόηεξε ιεηηνπξγία ηεο εθαξκνγήο Εκπνξηθή Δηαρείξηζε 7/2/2013 SingularLogic

Διαβάστε περισσότερα

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training Dipl.Biol.cand.med. Stylianos Kalaitzis Stylianos Kalaitzis Μνλνϋβξηδηζκνο 1 Γπν γνλείο, εηεξόδπγνη γηα ηνλ αιθηζκό θάλνπλ παηδηά. Πνία ε πηζαλόηεηα

Διαβάστε περισσότερα

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κεθάιαην 20. Ελαχιστοποίηση του κόστους Κεθάιαην 0 Ελαχιστοποίηση του κόστους Ειαρηζηνπνίεζε ηνπ θόζηνπο Μηα επηρείξεζε ειαρηζηνπνηεί ην θόζηνο ηεο αλ παξάγεη νπνηνδήπνηε δεδνκέλν επίπεδν πξντόληνο y 0 ζην κηθξόηεξν δπλαηό ζπλνιηθό θόζηνο. Τν

Διαβάστε περισσότερα

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ 1.Απηόο πνπ ζα αλαγλσξηζηεί απνπζηάδεη γηα πνιύ θαηξό. 2.Δπηζηξέθεη κε πιαζηή ηαπηόηεηα ή κεηακνξθσκέλνο. 3.Απνκνλώλνληαη ηα δύν πξόζσπα 4.Άξζε κεηακόξθσζεο 5.Απνθάιπςε 6.Ακθηβνιίεο-απνδεηθηηθά

Διαβάστε περισσότερα

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

Ππογπαμμαηιζμόρ Ι (ΗΥ120) Ππογπαμμαηιζμόρ Ι (ΗΥ120) Δηάιεμε 10: Ταμηλόκεζε Πίλαθα Αλαδήηεζε ζε Ταμηλνκεκέλν Πίλαθα Ππόβλεμα Δίλεηαη πίλαθαο t από Ν αθεξαίνπο. Ζεηνύκελν: λα ηαμηλνκεζνύλ ηα πεξηερόκελα ηνπ πίλαθα ζε αύμνπζα αξηζκεηηθή

Διαβάστε περισσότερα

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΗΜΕΡΟΜΗΝΙΑ: /0/03 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΦΥΣΙΚΗ ΚΑΤΕΥΘΥΝΣΗΣ ΘΔΜΑ Α ΠΡΟΣΕΙΝΟΜΕΝΕ ΑΠΑΝΣΗΕΙ ΘΕΜΑΣΩΝ Α.

Διαβάστε περισσότερα

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Page 1 Υποπλοίαρτος Ν. Πεηράκος ΠΝ Αηδένηα Γνύξεηνη Ίππνη (Trojan Horses) Ινί (Viruses) Worms Root-kit Page 2 Γνύξεηνο Ίππνο (Trojan Horse) Οξηζκόο: Πξόγξακκα

Διαβάστε περισσότερα

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ ΦΤΛΛΟ ΕΡΓΑΙΑ (Θεοδώρα Γιώηη, Νικόλας Καραηάζιος- Τπεύθσνη εκ/κος Λ. Παπαηζίμπα) ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΤΜΗΜΑ:.., ΗΜΕΡΟΜΗΝΙΑ:.// Σε ακαμίδην πνπ κπνξεί λα θηλείηαη ρσξίο ηξηβέο πάλσ

Διαβάστε περισσότερα

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX Σηότοι εργαζηηρίοσ Σην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ, νη θνηηεηέο ζα εμνηθεησζνύλ κε βαζηθέο εληνιέο δηθηπαθώλ πξσηνθόιισλ νη νπνίεο βξίζθνπλ εθαξκνγή ζε πεξηβάιινληα Windows

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

Διαβάστε περισσότερα

Πνηα λνκίδεηο όηη ζα είλαη ε ζπλνιηθή αληίζηαζε κηαο ζπλδεζκνινγίαο δύν αληηζηαηώλ ζπλδεδεκέλεο ζε ζεηξά; Γηαηί;...

Πνηα λνκίδεηο όηη ζα είλαη ε ζπλνιηθή αληίζηαζε κηαο ζπλδεζκνινγίαο δύν αληηζηαηώλ ζπλδεδεκέλεο ζε ζεηξά; Γηαηί;... ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Ιζοδύναμη ανηίζηαζη ζύνδεζηρ ανηιζηαηών Η δηδαζθαιία ηεο ηζνδύλακεο αληίζηαζεο γηα ζύλδεζε αληηζηαηώλ ζε ζεηξά θαη παξάιιεια ππάξρεη ζην Αλαιπηηθό Πξόγξακκα Σπνπδώλ ζηα καζήκαηα Φπζηθήο

Διαβάστε περισσότερα

Intel Accelerate Your Code

Intel Accelerate Your Code Intel Accelerate Your Code Semester Project at Parallel & Distributed systems Dimitrios S. Tsiktsiris University of Western Macedonia Department of Informatics & Telecommunications Engineering Kozani,

Διαβάστε περισσότερα

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30

Διαβάστε περισσότερα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Κοιμωμικά δίκτυα (multiplex network) Έρεηε ινγαξηαζκό ζην Facebook? Έρεηε ινγαξηαζκό ζην LinkedIn? Έρεηε ινγαξηαζκό ζην Twitter? Αεροπορικές γραμμές της Ευρώπης(multiplex

Διαβάστε περισσότερα

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Φςζική Πποζαναηολιζμού Γ Λςκείος Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Επιμέλεια: Αγκανάκηρ Α. Παναγιώηηρ Επωηήζειρ Σωζηό- Λάθορ Να χαπακηηπίζεηε ηιρ παπακάηω πποηάζειρ ωρ ζωζηέρ ή λάθορ: 1. Η ηαιάλησζε είλαη

Διαβάστε περισσότερα

1 η Εργαζηηριακή Άζκηζη Ειζαγωγή

1 η Εργαζηηριακή Άζκηζη Ειζαγωγή 1 η Εργαζηηριακή Άζκηζη Ειζαγωγή A. Σσζκεσές Εργαζηηρίοσ Ηλεκηρονικής Ο πιηθόο εμνπιηζκόο ηνπ εξγαζηεξίνπ ειεθηξνληθήο πεξηιακβάλεη ηηο αθόινπζεο ζπζθεπέο: 1. Παικνγξάθνπο: Protec 6502 θαη Peak Tech 2020N

Διαβάστε περισσότερα

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2 TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε

Διαβάστε περισσότερα

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: 10.101.1.64/27 Υπνδίθηπν Β: 10.101.1.

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: 10.101.1.64/27 Υπνδίθηπν Β: 10.101.1. Άσκηση 1 ΠΛΗ36 1. Η κόλε πεξίπησζε λα έρνπκε ζύγθξνπζε κεηαμύ παθέησλ ησλ δύν θόκβσλ είλαη λα ζηείιεη ν δεύηεξνο πξηλ πξνιάβεη λα πιεξνθνξεζεί γηα ηελ θαηάιεςε ηνπ δηάπινπ από ηνλ άιιν. Από ηε ζηηγκή πνπ

Διαβάστε περισσότερα

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ (ΟΜΑΓΑ Β ) ΣΔΣΑΡΣΖ 18 ΜΑΪΟΤ 16 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (ΝΔΟ ΤΣΖΜΑ) ΚΑΣΔΤΘΤΝΖ (ΠΑΛΑΗΟ ΤΣΖΜΑ) (Ενδεικηικές Απανηήζεις) ΘΔΜΑ

Διαβάστε περισσότερα

Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα

Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα 1 Υπνινγηζηηθό Σύζηεκα 2 Λεηηνπξγηθό Σύζηεκα Απνηειεί ηε δηαζύλδεζε κεηαμύ ηνπ πιηθνύ ελόο ππνινγηζηή θαη

Διαβάστε περισσότερα

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Δνκή επηινγήο Απιή Επηινγή ύλζεηε Επηινγή Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ 1 Επηινγή ηελ πξάμε πνιύ ιίγα πξνβιήκαηα κπνξνύλ λα επηιπζνύλ κε ηνλ πξνεγνύκελν ηξόπν ηεο ζεηξηαθήο/αθνινπζηαθήο

Διαβάστε περισσότερα

πγθιίλνλ-απνθιίλνλ αθξνθύζην έρεη δηαηνκή εηζόδνπ A1

πγθιίλνλ-απνθιίλνλ αθξνθύζην έρεη δηαηνκή εηζόδνπ A1 Πρόβλημα πγθιίλνλ-απνθιίλνλ αθξνθύζην έρεη δηαηνκή εηζόδνπ A1 1cm ιαηκνύ 4.4cm θαη εμόδνπ A 7cm. Αλ ε πίεζε αλαθνπήο ζηελ είζνδν ηνπ αθξνθπζίνπ είλαη 1 bar θαη ε ηαρύηεηα ηνπ ήρνπ 46 m / s ππνινγίζηε ζηηο

Διαβάστε περισσότερα

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική Δίζηε μησανικόρ διοίκηζηρ μεγάληρ καηαζκεςαζηικήρ εηαιπείαρ και καλείζηε να ςλοποιήζεηε ηο έπγο πος πεπιγπάθεηαι από ηον Πίνακα 1. Κωδ.

Διαβάστε περισσότερα

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ 1 Σ. Δ. Ι. ΓΤ Σ Ι Κ Η Μ Α Κ Δ Γ Ο Ν Ι Α ΥΟΛΗ ΣΔΥΝΟΛΟΓΙΚΩΝ ΔΦΑΡΜΟΓΩΝ Σ Μ Η Μ Α Μ Η Υ Α Ν ΟΛΟ Γ Ι Α Δξγαζηήξην Μεραλνπξγηθώλ Καηεξγαζηώλ & CAD ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ ΜΑΘΗΜΑ 2: Πνηόηεηα Δπηθάλεηαο Γξ. Βαξύηεο

Διαβάστε περισσότερα

242 - Ειζαγωγή ζηοσς Η/Υ

242 - Ειζαγωγή ζηοσς Η/Υ 1 242 - Ειζαγωγή ζηοσς Η/Υ Τμήμα Μαθημαηικών, Πανεπιζηήμιο Ιωαννίνων Ακαδημαϊκό Έηος 2015-2016 Άρηια Α.Μ. (0-2-4-6-8) 2 Βαζικές αρτές ζσζηημαηικού και δομημένοσ προγραμμαηιζμού Δηαγξάκκαηα ξνήο πξνγξάκκαηνο

Διαβάστε περισσότερα

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις Έκδοζη 2.89.31 08/10/2014 Η έκδοζη 2.89.31, περιλαμβάνει : Βεληιώζεις Καηάζηαζη Υπερφριών (Ε8) Αναγγελία πρόζληυης (Ε3) 08/10/2014 1 Βεληιώζεις Καηάζηαζη Υπερφριών (Ε8) Επεηδή ζηελ ειεθηξνληθή ππνβνιή

Διαβάστε περισσότερα

11. ΜΔΣΑΣΡΟΠΔΙ D/A ΚΑΙ A/D ΔΡΩΣΗΔΙ ΑΚΗΔΙ. (β) Η ειάρηζηε κεηαβνιή ηεο αλαινγηθήο ηάζεο εμόδνπ είλαη: Vmes = = 10

11. ΜΔΣΑΣΡΟΠΔΙ D/A ΚΑΙ A/D ΔΡΩΣΗΔΙ ΑΚΗΔΙ. (β) Η ειάρηζηε κεηαβνιή ηεο αλαινγηθήο ηάζεο εμόδνπ είλαη: Vmes = = 10 11. ΜΔΣΑΣΡΟΠΔΙ D/A ΚΑΙ A/D ΔΡΩΣΗΔΙ ΑΚΗΔΙ 1. Να νξίζεηε ηελ δηαθξηηηθή ηθαλόηεηα, ηελ αθξίβεηα θαη ην ρξόλν απνθαηάζηαζεο ελόο κεηαηξνπέα D/A. Η διακπιηική ικανόηηηα (resolution) ελόο κεηαηξνπέα D/A είλαη

Διαβάστε περισσότερα

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Εισαγωγή στη Φωτογραυία Χριζηάκης Σαζεΐδης - EFIAP 1 ΜΑΘΗΜΑ 3 ο ΚΛΕΙΣΡΟ ΣΑΥΤΣΗΣΑ ΚΛΕΙΣΡΟΤ-ΕΠΙΛΟΓΗ ΚΑΣΑΛΛΗΛΗ ΣΑΥΤΣΗΣΑ Σι είναι υωτογραυική μητανή; Από πνηα κέξε απνηειείηαη: 1. Φαθό

Διαβάστε περισσότερα

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία

Διαβάστε περισσότερα

Άζθεζε 2ε ΤΣΗΜΑΣΑ ΔΛΔΓΥΟΤ ΑΝΟΙΚΣΟΤ ΒΡΟΥΟΤ ΚΑΙ MATLAB

Άζθεζε 2ε ΤΣΗΜΑΣΑ ΔΛΔΓΥΟΤ ΑΝΟΙΚΣΟΤ ΒΡΟΥΟΤ ΚΑΙ MATLAB Άζθεζε 2ε ΤΣΗΜΑΣΑ ΔΛΔΓΥΟΤ ΑΝΟΙΚΣΟΤ ΒΡΟΥΟΤ ΚΑΙ MATLAB. ςνάπηηζη μεηαθοπάρ Γηα ηε κειέηε ελόο ζπζηήκαηνο κε ην Matlab απαξαίηεηε πξνϋπόζεζε είλαη λα δεκηνπξγήζνπκε έλα κνληέιν, ώζηε λα εμεηάζνπκε ηα ραξαθηεξηζηηθά

Διαβάστε περισσότερα

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ ΚΔΦ.. ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ Οξηζκόο ηεηξαγσληθήο ξίδαο: Αλ 0 ηόηε νλνκάδνπκε ηεηξαγσληθή ξίδα ηνπ ηελ κε αξλεηηθή ιύζε ηεο εμίζσζεο:. Γειαδή ηεηξαγσληθή ξίδα ηνπ 0 ιέγεηαη ν αξηζκόο 0 πνπ όηαλ πςσζεί

Διαβάστε περισσότερα

ΣΟ ΑΠΛΟ ΕΚΚΡΕΜΕ. Σν απιό εθθξεκέο απνηειείηαη από κηα κάδα m ζηελ άθξε αβαξνύο. λήκαηνο κήθνπο L,ηνπ νπνίνπ ην άιιν άθξν είλαη εμαξηεκέλν ζε αθιόλεην

ΣΟ ΑΠΛΟ ΕΚΚΡΕΜΕ. Σν απιό εθθξεκέο απνηειείηαη από κηα κάδα m ζηελ άθξε αβαξνύο. λήκαηνο κήθνπο L,ηνπ νπνίνπ ην άιιν άθξν είλαη εμαξηεκέλν ζε αθιόλεην ΣΟ ΑΠΛΟ ΕΚΚΡΕΜΕ Σν απιό εθθξεκέο απνηειείηαη από κηα κάδα m ζηελ άθξε αβαξνύο λήκαηνο κήθνπο,ηνπ νπνίνπ ην άιιν άθξν είλαη εμαξηεκέλν ζε αθιόλεην ζεκείν. Εθηξέπνληαο θαηά γωλία θ θαη ζηε ζπλέρεηα αθήλνληαο

Διαβάστε περισσότερα

HYUNDAI. Η δηαγλσζηηθή θίζζα ησλ Hyundai έρεη 12 επαθέο θαη ηνπνζεηείηαη ζηνλ ρώξν ηνπ θηλεηήξα

HYUNDAI. Η δηαγλσζηηθή θίζζα ησλ Hyundai έρεη 12 επαθέο θαη ηνπνζεηείηαη ζηνλ ρώξν ηνπ θηλεηήξα HYUNDAI ηα κνληέια ηεο Hyundai ππάξρνπλ ηέζζεξεηο δηαθνξεηηθνί ζπλδπαζκνί θσδηθώλ βιάβεο: κνλνςήθηνη, δηςήθηνη ηεηξαςήθηνη θαη θσδηθνί πνπ αθνινπζνύλ ηα πξσηόθνιια EOBD. Γιαγνωζηική Φίζζα Η δηαγλσζηηθή

Διαβάστε περισσότερα

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ ΤΕΙ Δσηικής Μακεδονίας Τμήμα Βιομητανικού Στεδιαζμού Εργαζηήριο C 3 www.c3.teiwm.gr C 3 LAB www.c3.teiwm.gr 1 Εηζαγσγή Πεπιεσόμενα ύκβνια

Διαβάστε περισσότερα