ΑΥΤΟ ΤΟ ΜΕΡΟΣ ΤΩΝ ΑΣΚΗΣΕΩΝ, ΕΙΝΑΙ ΑΠΟ ΤΟ ΒΙΒΛΙΟ “Δομή και Λειτουργία Μικροεπεξεργαστών και μικροελεγκτών” ΤΟΥ ΠΡΩΤΟΥ ΚΕΦΑΛΑΙΟΥ. ΟΙ ΑΣΚΗΣΕΙΣ ΕΙΝΑΙ ΓΡΑΜΜΕΝΕΣ ΜΕ ΚΩΔΙΚΑ ASSEMBLY.
Άσκηση 1: Να γραφεί κώδικας που θα δημιουργεί έναν καταχωρητή REG1. Στον REG1 αρχικά θα μεταφέρεται ο δυαδικός αριθμός Β'(ΟΝΟΜΑ)'. Τέλος το περιεχόμενο του REG1 να μεταφέρεται στον καταχωρητή PORTB.
LIST P=16F628
INCLUDE "P16F628.inc"
REG1 EQU 0x20
ORG 0x00
MOVLW b'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW b'00000000'
MOVWF TRISB
BCF STATUS,RP0
LOOP
MOVLW b'10101110'
MOVWF REG1
MOVF REG1,0
MOVWF PORTB
GOTO LOOP
END
Άσκηση 2: Να γραφεί κώδικας όπου θα δημιουργεί 3 καταχωρητές, REG1, REG2, REG3. Αρχικά θα μεταφέρεται ο δυαδικός αριθμός Β'(ΟΝΟΜΑ+ΕΠΙΘΕΤΟ)' στον καταχωρητή REG1 και ο δυαδικός αριθμός Β'(ΟΝΟΜΑ*3+ΕΠΙΘΕΤΟ)' στον καταχωρητή REG2. Στη συνέχεια θα μεταφέρονται τα περιεχόμενα του καταχωρητή REG1 στον REG3. Τέλος τα περιεχόμενα του REG3 θα μεταφερθούν στον καταχωρητή PORTB.
LIST P=16F628
INCLUDE "P16F628.inc"
REG1 EQU 0x20
REG2 EQU 0x21
REG3 EQU 0x22
ORG 0x00
MOVLW b'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW b'00000000'
MOVWF TRISB
BCF STATUS,RP0
LOOP
MOVLW b'10101110'
MOVWF REG1
MOVLW b'10011100'
MOVWF REG2
MOVF REG1,0
MOVF REG1,0
MOVWF REG3
MOVF REG3,0
MOVWF PORTB
GOTO LOOP
END
Άσκηση 3: Να γραφεί κώδικας όπου θα δημιουργεί 3 καταχωρητές, REG1, REG2, REG3. Αρχικά θα μεταφέρεται ο δυαδικός αριθμός Β'(ΟΝΟΜΑ+ΕΠΙΘΕΤΟ)' στον καταχωρητή REG2 και ο δυαδικός αριθμός Β'(ΟΝΟΜΑ*3+ΕΠΙΘΕΤΟ)' στον καταχωρητή REG3. Στη συνέχεια θα μεταφέρονται τα περιεχόμενα του καταχωρητή REG2 στον REG1. Τέλος τα περιεχόμενα του REG1 θα μεταφερθούν στον καταχωρητή PORTB.
LIST P=16F628
INCLUDE "P16F628.inc"
REG1 EQU 0x20
REG2 EQU 0x21
REG3 EQU 0x22
ORG 0x00
MOVLW b'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW b'00000000'
MOVWF TRISB
BCF STATUS,RP0
LOOP
MOVLW b'10101110'
MOVWF REG2
MOVLW b'10010010'
MOVWF REG3
MOVF REG2,0
MOVWF REG1
MOVF REG1,0
MOVWF PORTB
GOTO LOOP
END
Άσκηση 7: Να γραφεί κώδικας στον οποίο θα υπάρχουν 2 καταχωρητές REG1, REG2. Αρχικά θα μεταφέρεται ο δυαδικός αριθμός Β'(ONOMA)' στον καταχωρητή REG1 και μέσω του W θα μεταφέρεται στον καταχωρητή REG2. Τέλος, το περιεχόμενο του REG2 θα μεταφέρεται στον καταχωρητή PORTB.
LIST P=16F628
INCLUDE "P16F628.inc"
REG1 EQU 0x20
REG2 EQU 0x21
ORG 0x00
MOVLW b'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW b'00000000'
MOVWF TRISB
BCF STATUS,RP0
LOOP
MOVLW b'10101110'
MOVWF REG1
MOVF REG1,0
MOVWF REG2
MOVF REG2,0
MOVWF PORTB
GOTO LOOP
END
Άσκηση 8: Να γραφεί κώδικας όπου θα δημιουργεί 3 καταχωρητές, REG1, REG2, REG3. Αρχικά θα μεταφέρεται ο δυαδικός αριθμός Β'(ΟΝΟΜΑ+ΕΠΙΘΕΤΟ)' στον καταχωρητή REG1 και ο δυαδικός αριθμός Β'(ΟΝΟΜΑ*3+ΕΠΙΘΕΤΟ)' στον καταχωρητή REG2. Στη συνέχεια θα μεταφέρονται τα περιεχόμενα του καταχωρητή REG2 στον REG3. Τέλος τα περιεχόμενα του REG2 θα μεταφερθούν στον καταχωρητή PORTB.
LIST P=16F628
INCLUDE "P16F628.inc"
REG1 EQU 0x20
REG2 EQU 0x21
REG3 EQU 0x22
ORG 0x00
MOVLW b'00000111'
MOVWF CMCON
BSF STATUS,RP0
MOVLW b'00000000'
MOVWF TRISB
BCF STATUS,RP0
LOOP
MOVLW b'10101110'
MOVWF REG1
MOVLW b'10110001'
MOVWF REG2
MOVF REG2,0
MOVWF REG3
MOVF REG2,0
MOVWF PORTB
GOTO LOOP
END
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου