עבור לתוכן

שאלה ממבחן הנדסאים (במיקרו)

Featured Replies

פורסם

מצטער על ה- Double posting אבל לא היתה אפשרות בעריכה להוסיף קובץ.

אשמח אם מישהו יוכל לפתור שאלה זו תודה !

[attachment deleted by admin]

פורסם

MOV DX,101H
IN AL,DX
MOV CX,AL
MOV DX,100H
ON: MOV AL,0H
OUT DX,AL
CALL DELAY
MOV AL,1H
OUT DX,AL
CALL DELAY
LOOP ON
RET

פורסם

הלב של התוכנית זה לדעת לעשות תוכנית שיודעת להמיר מ HEX ל DEC

מיכוון שאני בצבא אינני זוכר שום פקודה כבר... והמוח שלי חלוד מוות...

כעיקרון את צריך "למשוך" את הנתון מאותו כתובת, "להמיר אותו" ולשמר אותו

ולפי הנתון ששמרת (ב DEC) אתה קובע את הלולאה שתעשה את ההיבהובים...

אם אתה רוצה אתה יכול להתחיל לבנות אותה ואני ינסה לעזור...

אני יחפש אולי יש לי תוכנה שממירה..

הקדימו אותי :'(

פורסם
  • מחבר

ומה מטרת פקודת ה- IN וה- OUT בתוכנית הנ"ל ?

פורסם

IN קליטת נתון ממפתח קלט.

OUT שליחת נתון למפתח פלט.

פורסם

MOV DX,101H
IN AL,DX
MOV CX,AL
MOV DX,100H
ON: MOV AL,0H
OUT DX,AL
CALL DELAY
MOV AL,1H
OUT DX,AL
CALL DELAY
LOOP ON
RET

לדעתי שכחת את המצב בו הקלט הוא 0 - לפי הקוד הזה ה LED יכבה וידלק לפחות פעם אחת (אם אני זוכר נכון את שיעורי האסמבלי מי"ב). אני הייתי קודם כל מאפס את CX, מעביר אליו את AL, בודק אם הוא שווה ל 0, ואם כן - קופץ לתוית אחרת שפשוט שולחת 0 לפורט 100H (מכבה את ה LED) ומסיימת את התוכנית.

פורסם

לדעתי אתה צודק,עשיתי תיקון,ולעניות דעתי צריך לשלוח 1 לפורט 100 כדי שהמתח על הלד יהיה 0 וולט.

 MOV DX,101H
MOV CX,0H
IN AL,DX
MOV DX,100H
MOV CX,AL
JZ XX
ON: MOV AL,0H
OUT DX,AL
CALL DELAY
MOV AL,1H
OUT DX,AL
CALL DELAY
LOOP ON
XX: MOV AL,1H
MOV DX,AL
RET

פורסם

צודק - בגלל שהלד מחובר למקור מתח מצד אחד (ה 5V+), אתה חייב לתת "0" בצד השני (מכיוון הפורט) כדי שהלד ידלק.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים