• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 00:54:50 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 00:54:50 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31710
Online Today: 164
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 41
Guests: 110
Total: 151
dimitris585
mayia psarikoglou
ThanosV
dr.giorgos
HlektrikhPatata
fpapat
sofoklhs_pizza
Born_Confused
jm555
al3xts
Yamal
fkagk
Zaxarenia
ඞ
Nikos_313
mavropan
acolak
Saint_GR
panos98
Athinaaz
noys
Deviate
daphnenik
christinabisdeki
Kwst@ss_
kimxnas
freskoulhs
Chr1sgr
george polymeros
Elenit
aalmpanb
Northern Eagle
andyy
miltan8
Mikekmp
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
THMMY.gr > Forum > Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών  > 8ο Εξάμηνο > Μικροεπεξεργαστές και Περιφερειακά > AVR Εποχή > [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 8 9 [10] 11 12 ... 31 Go Down Print
Author Topic: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες  (Read 64026 times)
dim
Honoured Member
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
**********
Gender: Male
Posts: 1564


finding emo


View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #135 on: June 21, 2009, 22:31:44 pm »

Quote from: Am@NiTa on June 21, 2009, 20:06:57 pm
Στο θεμα 2  1/9/2006 οταν λεει ενεργοποιει 3 εξοδους,ζηταει να εχουμε 111 η να εχουμε 000 ωστε π.χ αν συνδεσουμε εκει ledakia να αναψουν;
 

Νομίζω ότι δουλεύουμε με 1 σε αυτό το μάθημα..

Σε κάθε περίπτωση μπορείς να πεις στην αρχή θεωρώ ενεργή έξοδο το 1, και είσαι οκ
Logged
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #136 on: June 22, 2009, 01:28:57 am »

Για το θεμα αυτο εκανα 2 υλοποιησεις αλλα μου φαινονται τεραστιες
Πρωτη υλοποιηση:
include "m128def.inc"
.def temp=R16
.def inp=R17
.def count=R18
.cseg
.org 0
   jmp reset
.org $0100
pol_4: .DB 4, 8, 12, 16, 20, 24, 28
pol_6: .DB 6, 12, 18, 24, 30
pol_9: .DB 9, 18, 27

reset:
 ldi temp,LOW(RAMEND)
 out SPL,temp
 ldi temp,HIGH(RAMEND)
 out SPH,temp
 clr temp
 out DDRA,temp
 ldi temp,0b00000111
 out DDRB,temp
 clr temp
 out PORTB,temp
 in inp,PINA
 clr count
 ldi ZL,LOW(2*pol_4)
 ldi ZH,HIGH(2*pol_4)
comp1:
 inc count
 cpi count,8                                     ;το βαζω να μετραει οσο τα στοιχεια το pol_4 
 breq load2
 lpm temp,Z+
 cp temp,inp
 brne comp1
 ldi temp,0b00000001 
 out PORTB,temp
load2:
 ldi ZL,LOW(2*pol_6)
 ldi ZH,HIGH(2*pol_6)
comp2:
 inc count
 cpi count,14                  ;συνεχιζει να μετραει απο πριν μεχρι να φτασει τα 8 πριν+5 τωρα του pol_6
 breq load3
 lpm temp,Z+
 cp temp,inp
 brne comp2
 sbi PORTB,1       
load3:
 ldi ZL,LOW(2*pol_9)
 ldi ZH,HIGH(2*pol_9)
comp3:
 inc count
 cpi count,18                  ;και εδω συνεχιζει 8 απο το pol_4, 5 απο το pol_6 και 3 απο το pol_9
 breq next
 lpm temp,Z+
 cp temp,inp
 brne comp3
 sbi PORTB,2

next:
 rjmp reset

.undef temp
.undef inp
.undef count


Υποτιθεται οτι αν ειναι πολλαπλασιο του 4 γινετε set το 0 bit του PORTB, πολλαπλασιο του 6 το 1 bit του PORTB και πολλαπλασιο του 9 το 2 bit του PORTB. Σε περιπτωση οπως π.χ το 24 που ειναι πολλαπλασιο του 4 και του 6, γινετε set το 0 bit του PORTB και μετα οταν το συγκρινει με τα στοιχεια του pol_6 γινετε set και το 1 bit του PORTB(γι'αυτο και εβαλα και εντολη SBI)

Δευτερη Υλοποιηση:

include "m128def.inc"
.def temp=R16
.def inp=R17
.def count=R18
.cseg
.org 0
   jmp reset
.org $0100
pollaplasia: .DB 4,8,16,20,28,12,24,6,30,18,9,27

reset:
 ldi temp,LOW(RAMEND)
 out SPL,temp
 ldi temp,HIGH(RAMEND)
 out SPH,temp
 clr temp
 clr count
 out DDRA,temp
 ldi temp,0b00000111
 out DDRB,temp
 clr temp
 out PORTB,temp
 ldi ZL,LOW(2*pollaplasia)
 ldi ZH,HIGH(2*pollaplasia)
compare:
 lpm temp,Z+
 in inp,PINA
 inc count
 cpi count,13      ;12 ειναι ολα τα στοιχεια του pollaplasia,αρα στη 13η μετρηση θα ξαναρχισει απο την αρχη
 breq next
 cp temp,inp
 brne compare
 cpi count,6
 brlo pol4
 cpi count,6
 brne pol46
 cpi count,7
 brne pol46
 cpi count,10
 brlo pol6
 cpi count,10
 breq pol69
 ldi temp,0b00000100
 out PORTB,temp
 rjmp next
pol4:
 ldi temp,0b00000001
 out PORTB,temp
 rjmp next
pol46:
 ldi temp,0b00000011
 out PORTB,temp
 rjmp next
pol6:
 ldi temp,0b00000010
 out PORTB,temp
 rjmp next
pol69:
 ldi temp,0b00000110
 out PORTB,temp
next:
 rjmp reset

.undef temp
.undef inp
.undef count

Στο pollaplasia βαζω πρωτα τα πολλαπλασια του 4 μετα τα κοινα του με το 6,δλδ το 12 και το 24,ακολουθουν τα πολλαπλασια του 6,μετα τα κοινα πολλαπλασια του 6 και του 9 (δλδ το 18)και τελος τα πολλαπλασια του 9.
Επειτα εχω βαλει στο προγραμμα να μετραει ο count σε ποια θεση του pollaplasia εγινε match.Αν ειναι κατω απο τη θεση 6(δλδ ενα απο τα 4,8,16,20,28)τοτε αναβει το 0 bit του portb.Αν ειναι στη θεση 6 η 7 τοτε αναβει το 0 και 1 bit του portb (αφου τα 12,24 ειναι κοινα για το 4 και το 6) κ.ο.κ

Λειτουργουν σωστα αλλα δεν ξερω αμα ειναι προγραμματα με ελαχιστες εντολες.Ειδικα το δευτερο εχει πολλα branches.Δε μπορω να σκεφτω κατι πιο απλο

Κατι ακομα στο pollaplasia το βαλα μεχρι και τα 30,γιατι εχουμε εισοδο 5 bits αρα ο μεγιστος αριθμος που θα συγκριθει με τα στοιχεια του pollaplasia ειναι το 31
« Last Edit: June 22, 2009, 02:01:27 am by Am@NiTa » Logged

!!!Go out, create thunder, and stand right under!!!
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #137 on: June 22, 2009, 14:47:06 pm »

Για τον ADC λεει:

ADSC (ADC Start Conversion) bit : In Free Running Mode, you must set this bit to start the first conversion. The following conversions will be started automatically. In Single Conversion Mode, you must set it to start each conversion. This bit will be cleared by hardware when a normal conversion is completed. Remember that the first conversion after the ADC is enabled is an extended conversion. An extended conversion will not clear this bit after completion ??????
Δλδ μετα το πρωτο πρωτο conversion πρεπει να κανουμε clear εμεις το ADSC bit;Και αν ναι πως;Με 1 η 0;

Logged

!!!Go out, create thunder, and stand right under!!!
dim
Honoured Member
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
**********
Gender: Male
Posts: 1564


finding emo


View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #138 on: June 22, 2009, 14:56:35 pm »

Η πρώτη conversion έχω την εντύπωση ότι απορρίπτεται ως άκυρη γιατί δεν είναι ακριβής,
οπότε ακολουθεί και η 2η η οποία είναι έγκυρη..

Άρα θα έλεγα ότι δεν υπάρχει ανάγκη να κάνεις εσύ clear..
Οι έγκυρες μετατροπές γίνονται clear από hardware

Μπορεί να κάνω λάθος όμως..ας ακουστούν  και άλλοι..
Logged
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #139 on: June 22, 2009, 16:31:45 pm »

και κατι ακομα σορρυ Tongue οταν λεει κλεινουμε τις βανες τι εξοδο θα εχουμε στο port?
Logged

!!!Go out, create thunder, and stand right under!!!
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #140 on: June 22, 2009, 18:18:40 pm »

Στο θεμα με τις βανες.Τo ledaki θα αναβοσβηνει συνεχεια αν ενεργοποιηθει; δλδ μπορουμε απλα να κανουμε in temp,PIND7(οπου συνδεεται και το εξωτερικο clock) και μετα out PORTA,temp (ας πουμε οτι το led ειναι εκει συνδεδεμενο) και loop μετα;δλδ θα αναβοσβηνει συμφωνα με το ρολοι το εξωτερικο του 1sec;γινεται αυτο;
Ποοοοο καζανι εχει γινει το κεφαλι μου
« Last Edit: June 22, 2009, 18:48:48 pm by Am@NiTa » Logged

!!!Go out, create thunder, and stand right under!!!
Ianna
Θαμώνας
****
Gender: Female
Posts: 427



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #141 on: June 22, 2009, 18:57:15 pm »

Amanita για να μην νιώθεις μόνη, κι εγώ μίκρο διαβάζω τώρα απλά ακόμη δεν έχω δει το θέμα που έλυσες...μόλις το δω θα επανέλθω για συζήτηση..
Logged

The Crown Of My Work..Is What I Shall Gain..At The End Of My Days...
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #142 on: June 22, 2009, 20:41:43 pm »

Ευχαριστω Smiley οτι αποριες εχω τις λεω τωρα για να μην τις ξεχασω
Logged

!!!Go out, create thunder, and stand right under!!!
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #143 on: June 22, 2009, 22:20:39 pm »

Τωρα που το σκεφτομαι για το ledaki αν το βαλω να τραβαει απο το ext clock θα πρεπει να το συγχρονισω.Δλδ να μετρησω ολους τους κυκλους μεχρι να ολοκληρωθει η διαδικασια κ να βαλω ενα delay..Η μαλλον καλυτερα αφου θα σταματησει η μετρηση μιας και το m1 και το m2 εχουν ξεπερασει τις τασεις τους,θα χρησιμοποιησω τον timer και το OC2
Logged

!!!Go out, create thunder, and stand right under!!!
ederlezi
Ανερχόμενος/Ανερχόμενη
**
Posts: 78


View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #144 on: June 23, 2009, 11:41:21 am »

Καλημέρα σε ολους!! Μια χαρη θα ήθελα,αν μπορει καποιος να γραψει κανα θεμα στο forum-πχ αυτο με τις βανες-μπας και παρουμε μπρος κι εμεις οι ασχετοι  Tongue
Ευχαριστω πολυ εκ των προτερων!!
Logged
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #145 on: June 23, 2009, 13:24:43 pm »

Θα προσπαθησω να το ανεβασω οπως το ελυσα χωρις να ειμαι σιγουρη καθολου,απλα αμα μπορει καποιος να μου διευκρινισει καποια πραγματα.
1ον. O ADC ειναι 12 bit.Αυτο τι σημαινει; το αποτελεσμα που θα μας δινει θα ειναι Vin*4096/Vref ;
2ον. Τα conversion θα ξεκινησουν μεσα στο Τ2_CMP (interrupt handling routine οταν μετρησει ο counter 3 λεπτα);
3ον. Εναν counter αν θελουμε να το ξαναρυθμισουμε απο την αρχη στη μεση ενος προγραμματος,τι κανουμε; ξαναφορτωνουμε τις registers του counter;η αυτο θα προκαλεσει κανα προβλημα;

Θα το ανεβασω σε λιγο αν ειναι.Αλλα να ξερετε ουτε που ξερω αν ειναι σωστο
Logged

!!!Go out, create thunder, and stand right under!!!
ederlezi
Ανερχόμενος/Ανερχόμενη
**
Posts: 78


View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #146 on: June 23, 2009, 14:26:11 pm »

Quote from: Am@NiTa on June 23, 2009, 13:24:43 pm
Θα προσπαθησω να το ανεβασω οπως το ελυσα χωρις να ειμαι σιγουρη καθολου,απλα αμα μπορει καποιος να μου διευκρινισει καποια πραγματα.
1ον. O ADC ειναι 12 bit.Αυτο τι σημαινει; το αποτελεσμα που θα μας δινει θα ειναι Vin*4096/Vref ;
2ον. Τα conversion θα ξεκινησουν μεσα στο Τ2_CMP (interrupt handling routine οταν μετρησει ο counter 3 λεπτα);
3ον. Εναν counter αν θελουμε να το ξαναρυθμισουμε απο την αρχη στη μεση ενος προγραμματος,τι κανουμε; ξαναφορτωνουμε τις registers του counter;η αυτο θα προκαλεσει κανα προβλημα;

Θα το ανεβασω σε λιγο αν ειναι.Αλλα να ξερετε ουτε που ξερω αν ειναι σωστο
Σ'ευχαριστω πολύ και μην αγχεσαι για το αν ειναι σωστο!! Μας κανει και με λαθακια  Wink
Logged
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #147 on: June 23, 2009, 16:07:07 pm »

Δε θελω να σας παρω στο λαιμο μου,το κανα τωρα ετσι και ο θεος βοηθος.Φαινεται να λειτουργει στο avrstudio.Πρεπει να ναι πολυ μπακαλικος ο τροπος γενικα.Αλλα μια ιδεα ριχνω

Ο ADC λεει οτι ειναι 12μπιτος.Εγω πηρα με 2 εισ την 12,αλλα δεν ξερω αμα ισχυει.

Vref = 5.12    Aρα ο ΑDC για ταση 4.25 θα δειχνει 4.25*4096/5.12=3400 (110101001000 σε 12μπιτο - αρα ο ADCH πρεπει να ειναι 00001101 και ο ADCL 001001000).Για ταση 4.8 8α εχουμε 3840 (111100000000 αρα ADCH=00001111 και
ADCL=00000000).Συνεπως στην πρωτη περιπτωση,δλδ οταν κανουμε conversion to M1 συγκρινουμε το ΑDCH με το 00001101,αν ειναι μικροτερο ολα οκ και προχωραμε στο δευτερο conversion,αν ειναι μεγαλυτερο τοτε κλεινει η Βανα1, αν ειναι ισο συγκρινουμε το ADCL με το 001001000.Εδω αν το ΑDCL ειναι μικροτερο ολα οκ και προχωραμε στο δευτερο conversion, αν ειναι μεγαλυτερο τοτε κλεινει η Βανα1
Στην περιπτωση του 4.8V αρκει να συγκρινουμε μονο το ΑDCH με το 00001111
Αυτα ολα γινονται στο AD_RESULT

.include "m128def.inc"
.def temp=R16
.def adc1=R17
.def adc2=R18
.def count=R19
.cseg
.org 0
  jmp reset
  jmp EXT_INT0  ;edw erxetai otan to PIND0 ginei 1(gia na ksanaru8misoume ton counter k na anavosvhnei to lampaki
.org $012
  jmp T2_CMP   ;edw erxetai otan o counter exei metrhsei 3mins
.org $002A
  jmp AD_CMP  ;edw erxetai otan exei teleiwsei to conversion sto adc
.org $0100
reset:
 ldi temp,LOW(RAMEND)
 out SPL,temp
 ldi temp,HIGH(RAMEND)
 out SPH,temp
 clr temp
 sts DDRF,temp      ; 8etoume input ta pin tou PORTF,edw exoume ta adcn inputs tou adc (!prosoxh sts kai oxi out!)
 out DDRD,temp       ; PIND7 timer2 input (dld edw syndeetai to ekswteriko roloi tou timer)
 out DDRB,temp       ; PΟRΤB7 OC2 (dld sto portb7 8a syndesoyme to ledaki)
 ldi temp,0b00000011
 out DDRA,temp       ; ta ports gia tis banes einai ouptus,xrhsimopoioume to bit 0 kai to bit 1
 ldi temp,0b00001111 ;arxika o timer einai oc2 disconnected,ctc,external clock on rising edge
 out TCCR2,temp
 ldi temp,179             ;8eloume na metraei 3 lepta=180sec
 out OCR2,temp
 clr temp
 out TCNT2,temp
 ldi temp,0b10000000  ;energopoioume to compare match interrupt
 out TIMSK,temp
 clr temp
 out ADMUX,temp    ;Aref,internal Vref turned off(vazoumeemeis tash anaforas 5.12V,adlar=0,travaei apo to adc0)
 ldi temp,0b10011101
 out ADCSRA,temp  ;energopoioume ton adc,to adc interrupt kai prescaler sta 32
 ldi temp,0b00000011
 sts EICRA,temp    ;the rising edge of int0(pou einai sundedemeno sto Pind0 generates an interrupt
                              request.Auto to interrupt to xrhsimopoiw otan ta m1 kai m2 exoun kseperasei tis taseis tous
                              etsi wste na ru8misw ton counter apo thn arxh me compare match sto 1 sec,kai na exoyme
                              to OC2 tou na anavosvhnei to ledaki
 ldi temp,0b00000001  ; to Int0 gia external interrupt
 out EIMSK,temp
 clr count                  ;ton count ton xrhsimopoiv gia diafora loops
 sei
 rjmp AD_RESULT
 nop
 rjmp reset


--------------------------------------------------------------------------------------------------------------------------
 AD_RESULT:                  
 set                                  ;8etoume T=1 wste na blockarei to programma kai na perimenei interrupt.To 1o interrupt
                                         8a proel8ei apo ton counter,otan ftasei ta 3mins(T2_CMP)
loop1:                              
 brts loop1
 ldi temp,0b00001101       ;edw 8a proxwrhsei otan epistrepsei apo to T2_CMP,opou exoume valei clt(T=0)
 cp adc2,temp
 brlo conversion2
 ldi temp,0b01001000
 cp adc1,temp
 brlo conversion2
 ldi temp,0b00000001
 out PORTA,temp
conversion2:
 ldi temp,0b00000001
 out ADMUX,temp                ;pame sto deutero conversion,travame apo to adc1
 sbi ADCSRA,6                   ;start of conversion
 clr count
 ldi count,14                        ;edv twra den kserw ama ekana kala,alla epeidh 8elei 13 kuklous gia na teleiwsei
                                           to conversion,evala ena delay.Otan teleiwsei to conversion,to                                        
loop2:                                 ADIF ginete 1,kai afou to I=1,phdaei sto AD_CMP
 dec count
 brne loop2
 ldi temp,0b00001111
 cp adc2,temp
 brlo AD_RESULT
 ldi temp,0b00000011
 out PORTA,temp  
 sbi DDRD,0                        ;epeidh 8elw na uparksei external interrupt molis kleisoun kai oi 2 banes,prokalw ena rising
 sbi PORTD,0                       edge ston PIND0,gia na pame sto EXT_INTO kai na valoume to counter na kanei compare
 sbi DDRB,7                         an 1 sec.To OC2 vgainei apo to PortB7 ara gia na fainetai prepei na to kanoume output
loop3:
 rjmp loop3                        ;den kserw poshn wra 8elei na anavosvhnei ara to afhnw na looparei Tongue
 ret

-----------------------------------------------------------------------------------------------------------------------------------------------
T2_CMP:                              ;edw erxetai otan o counter ftasei sta 3mins k exoume compare match
 sei                                       ;energopoiw to I gia na mporesw na exw interrupt apo ton ADC
 sbi ADCSRA,6                      ;start of conversion
 ldi count,26                           ;pali ena delay mexri na teleiwsei to conversion
loop4:
 dec count
 brne loop4
 clt                                      ;ka8arizw to T etsi wste otan epistrepsei sto AD_RESULT,na mporesei na proxwrhsei
 reti                                      parakatw kai na kanei tous upologismous pou 8elei me ta adch kai adcl
 

AD_CMP:                      ;molis teleiwsei to conversion fortwnontai stis registers adc1 kai adc2 ta apotelesmata tou adc
 in adc1,ADCL                  
 in adc2,ADCH
 reti

EXT_INT0:                          ;otan kleisoun kai oi 2 banes,prokaloume ena rising edge sto PIND0 kai erxetai edw
 ldi temp,0b00011111           ru8mizoume to counter wste na kanei compare ana 1 sec,me OC2 connected,kai xwris
 out TCCR2,temp                  interrupt enable
 ldi temp,1
 out OCR2,temp
 clr temp
 out TCNT2,temp
 ldi temp,0b00000000
 out TIMSK,temp
 reti




.undef temp
.undef adc1
.undef adc2
.undef count




Αυτα,τωρα τι να πω δεν ξερω.
« Last Edit: June 23, 2009, 17:02:47 pm by Am@NiTa » Logged

!!!Go out, create thunder, and stand right under!!!
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #148 on: June 23, 2009, 16:14:39 pm »

Τεραστια μου φαινεται.Καποια ****** εχω κανει μαλλον
Logged

!!!Go out, create thunder, and stand right under!!!
Am@NiTa
Θαμώνας
****
Gender: Female
Posts: 345



View Profile
Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
« Reply #149 on: June 24, 2009, 13:42:34 pm »

Τον timer/counter0 με external clock 32khz αφου μπορουμε να τον κανουμε prescale μπορουμε να τον χρησιμοποιησουμε για να αναβοσβηνει ενα ledaki σε 1 sec σωστα?που αλλου τον χρησιμοποιουμε;
Logged

!!!Go out, create thunder, and stand right under!!!
Pages: 1 ... 8 9 [10] 11 12 ... 31 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...