ΔΙΑΣΥΝΔΕΣΗ ΦΩΤΟΔΙΟΔΩΝ ΑΣΚΗΣΗ 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΟΜΕΑΣ ΙV ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ
ΨΕΥΔΟΕΝΤΟΛΕΣ EQU Δήλωση σταθερών ROM.StartEQU$0160 PortA.DataEQU$0000 Γίνεται αντιστοίχηση ενός αριθμού σε ένα εύκολο μνημονικό
ORIGINATE ( ΤΟΠΟΘΕΤΗΣΗ ) ORG$0160 Η μνήμη προγράμματος του HC705C8 ξεκινά στη διεύθυνση 0160hex
FCB – Field Constant Byte ORG $1FF0 FCB $00 Ο αριθμός 0 (1byte) γράφεται στη θέση μνήμης $1FF0 $1FF0 00
FDB – Field Double Byte Rom.Start EQU $0160 ORG $1FFE FDB Rom.Start Ο αριθμός 0160 hex (2 bytes) γράφεται στη θέση μνήμης $1FFE $1FFE 0160
ΔΙΑΣΥΝΔΕΣΗ ΦΩΤΟΔΙΟΔΩΝ Στην άσκηση αυτή θα μελετηθεί η διασύνδεση φωτοδιόδων (leds) σε θύρα εξόδου του μικροελεγκτή, ο έλεγχός της κατάστασής τους από πρόγραμμα.
Άναμμα 8 LED Σκοπός Η διασύνδεση 8 led στον μικροελεγκτή και ο έλεγχος της κατάστασής του από πρόγραμμα. Πρόβλημα Να σχεδιαστεί το κύκλωμα που να συνδέει ένα led στον ακροδέκτη PA# του μικροελεγκτή και να γραφεί πρόγραμμα το οποίο θα ανάψει το led. Να επεξηγηθεί η λειτουργία του προγράμματος και να δοθεί το διάγραμμα ροής.
ΣΥΝΔΕΣΗ LED ΜΕ PA0 PORT ΘΕΤΙΚΗ ΛΟΓΙΚΗ
BSET εντολή BSET n, Μ Operation Mn ← 1 Description Set bit n (n = 7, 6, ) in location M.
BCLR εντολή BCLR n, Μ Operation Mn ← 1 Description CLEAR bit n (n = 7, 6, ) in location M.
H port A του μ C Κάθε pin της port A του μ C μπορεί να λειτουργήσει είτε ως είσοδος είτε ως έξοδος. Η εντολή BSET 3,$0004 θέτει το PA3 σε « κατάσταση » εξόδου H εντολή BSET 3,$0000 γράφει (Write) λογικό 1 στην έξοδο PA3
Execution time Execution time = N cycles x t operation t e = 3 x 0.5us = 1.5us
DELAY Με την Εντολή NOP N cycles = 2 Execution time = N cycles x t operation = 1 μ s
BHMATA Ανάπτυξη πηγαίου κώδικα Assemble/Compile file Debbuger Simulation only Programmer Τελικός έλεγχος