Προς το περιεχόμενο

8051


panakart

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλισπερα θα ηθελα την βοήθεια σας εχω σαν εργασια να συνδεσω δυο κωδικες του 8051 εναν που εμφανηζει γαρμματα και ενα για ηχο.Αυτο που πρεπει να κανουμε ειναι να βγαζει ενα γραμμα μετα να ακουγεται ο ηχος ,παλι γραμμα ηχος κτλ.Οριστε οι δυο κωδικες:

ORG 000H

 

CLR P1.7

START:

MOV DPTR,#TABLE

MOV R0,#10 ;TOTAL 10 CHAR.

NEXTC:

MOV R3,#20

REPEAT:

MOV R2,#10000000B ;COLUMN

MOV R1,#0

NEXT:

MOV A,R1 ;DATA POINTER

MOVC A,@A+DPTR

MOV P2,A

MOV A,R2

MOV P0,A

CALL DELAY

RR A

MOV R2,A

 

MOV P0,#00H ;TURN OFF LED

INC R1

CJNE R1,#5,NEXT

 

DJNZ R3,REPEAT

 

INC DPTR ;NEXT CHAR.

INC DPTR

INC DPTR

INC DPTR

INC DPTR

 

DJNZ R0,NEXTC

MOV P0,#00H ;TURN OFF LED

CALL GYUI

JMP START

;=========================================

TABLE DB FEH,90H,90H,90H,60H ;P

DB 3EH,48H,88H,48H,3EH ;A

DB FEH,20H,10H,08H,FEH ;N

DB 3EH,48H,88H,48H,3EH ;A

DB 7CH,82H,92H,94H,5EH ;G

DB 00H,82H,FEH,82H,00H ;I

DB 7CH,82H,82H,82H,7CH ;O

DB 80H,80H,FEH,80H,80H ;T

DB 00H,82H,FEH,82H,00H ;I

DB 64H,92H,92H,92H,4CH ;S

;=========================================

; DELAY 5mS

;=========================================

DELAY:

MOV R6,#10

DL1:

MOV R7,#249

DJNZ R7,$

DJNZ R6,DL1

RET

GYUI:

MOV R6,#0

DL2:

MOV R7,#249

DJNZ R7,$

DJNZ R6,DL2

RET

END

ORG 000H

 

ΗΧΟΣ:

START:

MOV R0,#100

NEXT2:

MOV R1,#200

NEXT1:

SETB P3.7

CALL DELAY

CLR P3.7

CALL DELAY

DJNZ R1,NEXT1

DJNZ R0,NEXT2

 

CALL DL05S

 

JMP START

 

;==============================

; DELAY 0.05mS

;==============================

DELAY:

MOV R7,#25

DJNZ R7,$

RET

 

;==============================

; DELAY 3S

;==============================

DL05S:

MOV R5,#30

DL2: MOV R6,#200

DL1:

 

MOV R7,#249

DJNZ R7,$

DJNZ R6,DL1

DJNZ R5,DL2

RET

END

Αν γνωριζει καποιος θα ηθελα πολυ την βοηθεια του ευχαριστω!

Δημοσ.

βρες που τελειώνει το "γράψιμο" ενός χαρακτήρα και παρέμβαλε σαν "διαδικασία" τον κωδικα του ηχου.

 

Εχεις καταλάβει τι κάνει ο κώδικας που έβαλες;

Δημοσ.

Εχω καταλαβει το τι κανει,εχω κανει καποιες προσπαθειες το προβλημα ειναι οτι δεν μπορω να βρω καποιο compiler για assembly γλωσσα για να ελέγχω αν υπαρχουν λαθη.Παω δηλαδη στα τυφλα μεχρι να ερθει η μερα που έχω εργαστηριο

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...