תפריט English Ukrainian רוסי עמוד הבית

ספרייה טכנית בחינם לחובבים ואנשי מקצוע ספריה טכנית בחינם


אינציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל
ספרייה חינם / ערכות של מכשירים רדיו-אלקטרוניים וחשמליים

מתכנתים מתחילים של מיקרו-בקרי PIC. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל

ספריה טכנית בחינם

אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל / חובב רדיו מתחיל

הערות למאמר הערות למאמר

[אירעה שגיאה במהלך עיבוד ההוראה הזו]

בהתבסס על הניסיון שלי להתחיל ללמוד תכנות מיקרו-בקר, אנסה לתת כמה עצות מעשיות על כתיבת תוכניות ב-Assembler. כל דוגמאות התכנות המובאות להלן ניתנות ביחס לבקרי Pic ממשפחת ה-Microchip הבינוניים, כמתאימים ביותר להתחיל לשלוט, בשל הארכיטקטורה הפשוטה יחסית שלהם ומערכת פקודות האסמבלר הלא מסובכת שלהם.

ניתן להשתמש בתוכנות המוצעות בצורה של פקודות מאקרו מוכנות (תתי שגרות שלמות).הן אינן קשורות לבקר ספציפי, לכן בעת ​​הגשת הבקשה, עליך לקחת בחשבון את הנתונים מגיליונות הנתונים.

1. שימוש בפסיקות גלישה בטיימר TMR0 (RTCC)

ניקח את תדר השעון - Fclock. = 4,096 מגה-הרץ (קוורץ סטנדרטי). אז זמן המחזור יהיה t c = 1 / Ftact. * 4 = 0,97656 µs

INI_TMR ; אתחול מצב פסיקה מ-RTCC
bsf STATUS,RP0 ; בחר בנק 1
movlw b'00000100'
movwf OPTION ; מדד קדם ל-RTCC 1:32
bcf STATUS,RP0 ; בנק 0
movlw b'10100000'
movwf INTCON ; הפסקת RTCC מופעלת
movlw.96; טען את המספר המקדים 96 ל-RTCC
movwf TMR0

בוא נקבל את זמן ההפרעה:
ti = tc * 32 * (256 - 96 = 160)
t i = 0,97656 * 32 * 160 = 5 µs = 000 אלפיות השנייה

עכשיו, אם אתה מכניס לולאה אינסופית לתוכנית כלשהי שלך (מה שנקרא לולאת המתנה לפסיקה), וסוף התוכנית מועבר ללולאה זו, נקבל התייחסות זמן של 5 אלפיות השנייה ולאחר ההפרעה, התוכנית יחזור לכתובת המצוינת על ידי וקטור הפסיקה (בדרך כלל 04h ). לשם מה זה יכול לשמש - חפש עוד.

אז:

;
אורג '0
התחל ; תחילת הפעלת התוכנית לאחר
; להפעיל
org 04h; וזו הכתובת של וקטור הפסיק, שבו
רָאשִׁי; התוכנית הראשית תבוצע
;
START ; כאן מתרחש בדרך כלל האתחול החובה.
INI_TMR ; ריכוזיות של יציאות, מצבים, אוגרים וכו'.
INI_PORTS
לולאה
לולאה goto ; וזהו מחזור אינסופי
;--------------------------------------------------------- -

ראשי
; לאחר מכן מגיע גוף התוכנית הראשית,
; שבו יש צורך ליצור תוכנית שירות פסיקה מ-RTCC,
; נקרא על ידי הפקודה CALL:

ServTMR
btfsc INTCON,RTIF ; בדוק את דגל ההפרעה מ-RTCC ו
התקשר ל-SET_TMR ; אם "כן", אז אתחול TMR0 שוב
לחזור ; אם "לא" - חזור למקום שבו נקרא ServTMR
; תוכנה ראשית
;
SET_TMR movlw .96
movwf TMR0 ; טען שוב את המספר 96
bcf INTCON,RTIF ; אפס את דגל ההדק
retfie ; חזרה עם הפעלת פסיקה ב-ServTMR, ו
; ואז לתוכנית הראשית

דוגמה לשימוש בפסיקה מ-RTCC כדי לקבל פולס שני באחת מהיציאות, למשל, יציאה B - RB0: אנו משתמשים באוגר Rsec, אשר חייב להיות מוצהר קודם לכן בשדה הכתובת של האוגרים הפועלים.

לפיכך, ביציאה של יציאה RB0, רמת האות תשתנה מ-'0' ל-'1' בכל שנייה.

באוגרי בקרים, המידע הוא בדרך כלל בצורה בינארית (בקוד בינארי). אבל לעתים קרובות יש צורך להשיג מידע בצורה עשרונית בינארית (קוד BCD), למשל, כדי לשלוט במדד בן שבעה מקטעים.

בואו נסתכל על דוגמאות להמרת קוד בינארי b2 לעשרוני בינארי BCD ולהיפך.

באוגר של 8 סיביות, אתה יכול לכתוב מספר מ-0 עד 255 (מ-b'00000000' ל-b'11111111') בקוד בינארי. הבה נמיר את המספר הבינארי לשלוש ספרות של קוד עשרוני בינארי - "מאות", "עשרות" ו"יחידות". לשם כך נשתמש ברישומים הבאים, עליהם יש להצהיר מראש בשדה הכתובת של פנקסי העבודה:

Rbin - רישום המאחסן מספר בקוד בינארי b2
ראן - מאות אוגר של קוד BCD
Rdec - רישום עשרות של קוד BCD
Rsim - קוד BCD "אחד" אוגר

אנו מבצעים טרנספורמציות באמצעות פעולות של חיסור המספרים 100, ולאחר מכן 10, סופרים את מספר החיסורים החיוביים.

FORM_1S ; בכל מחזור, והוא נמשך עקב הפסקת RTCC
incf Rsec,w ; 5 MS, הגדל את רישום Rsec ב-1 למספר 200
xorlw .200; (5 אלפיות השנייה * 200 = שנייה אחת)
btfsc STATUS,z
עבור אל OUT_PORT ; ב-Rsec = 200 דגל z = '1' ומעבר לשליטה
; פין RB0 של יציאה B
לחזור ; לחזור לתוכנית הראשית
;
OUT_PORT btfss PORTB,0 ; בדוק את המצב של פין RB0
עבור אל OUT_ON ; אם RB0 ='0', אז הגדר ל'1'
bcf PORTB,0; אחרת, הגדר ל-'0'
goto main ; לחזור לתוכנית הראשית
;
OUT_ON bsf PORTB,0 ; הגדר RB0 = '1'
ללכת הראשי

CON_100 movlw .100 ; להפחית 100 מרבין ולבדוק את זה
subwf Rbin,w ; התוצאה אינה שלילית. דגל 'c' = 1 מתי
btfss STATUS,c ; תוצאה > או = 0, ו-'c' = 0 כאשר < 0
עבור אל CON_10
incf ראן,פ; סופר את מספר ה"מאות"
movwf רבין; תוצאת החיסור מאוחסנת תחילה בפנקס
צריך ל-CON_100 ;סוללה ורק אז לחזור ל-Rbin
; כדי לא לאבד את השאר כאשר שלילי
; תוצאה של חיסור.
CON_10 movlw .10 ; אנו מגדירים "עשרות" באותו אופן
subwf Rbin,w
btfss STATUS,c
goto end_con
incf Rdec,f
movwf רבין
goo CON_10;
end_con
movf Rbin,w
movwf Rsim; לאחר חיסור, הזינו את היתרה ל"יחידות"
;המשך בהפעלת התוכנית

המרה הפוכה של קוד BCD ל-b2. אנו משתמשים באותם אוגרים Rhan, Rdec, Rsim שבהם המספר נמצא בקוד BCD, רושמים RbinH - הספרה המשמעותית ביותר ו-RbinL - הספרה הפחות משמעותית למספרים (> 255) בקוד b2 ובאוגרי העזר RM1 - " multiplicand", RM2 - "מכפיל" .כדי להמיר BCD ל-b2 צריך להכפיל "מאות" ב-100, "עשרות" ב-10 ולהוסיף הכל יחד עם "יחידות" ובהתחשב בהעברה לספרה המשמעותית ביותר במידת הצורך לצורך הכפל אנו משתמשים בפעולת החיבור.

B2X_100 movlw .99 ; המרה "מאות".
movwf RM2 ; מכפיל = מספר התוספות (100) פחות אחת
movf Rhan,w
movwf RM1 ; multiplicand = "מאות"
loopX100 addwf RM1,w btfsc STASTUS,c ; בדיקת ההעברה לספרה המשמעותית ביותר
incf RbinH,f; אם יש העברה
decfsz RM2,f ; לשלוט במספר התוספות
goto loopX100
movwf RbinL; תוצאת התוספת מוזנת לרישום ml. קטגוריה
;
B2X_10 movlw .9 ; המרה "עשרות".
movwf RM2 ; מכפיל = מספר התוספות (10) פחות אחת
movf Rdec,w
movwf RM1 ; multiplicand = "עשרות"
loopX10 addwf RM1,w ; כאן לא ניתן לבדוק את ההעברה, כי תוֹצָאָה
decfsz RM2,f ; תמיד < 255
goto loopX10
addwf RbinL,f; הוסף את התוצאה של המרה "עשרות".
btfsc STATUS,c ; תוך התחשבות בהעברה אפשרית בהפרשות
incf
RbinH,f
movf Rsim,w
addwf Rbin,f; הוספת "יחידות" תוך התחשבות בהעברה אפשרית
btfsc STATUS,c
incf RbinH,f

סיום התמורות ויישום נוסף של התוכנית. ברגיסטרים RbinL ו-RbinH קיבלו מספר של 16 סיביות בקוד b2.

כדי לבצע את הפעולה האריתמטית של החלוקה, באנלוגיה לכפל שנדון לעיל, נעשה שימוש בפעולת החיסור. נניח שעלינו לחלק מספר שנמצא ברגיסטרים RHsum (סיביות מסדר גבוה) ו-RLsum (סיביות מסדר נמוך) במחלק (בואו ניקח מחלק לא > 255) שנמצא באוגר Rdel.

נזין את התוצאה לתוך האוגרים RHrez ו-RLrez (ספרות גבוהות ונמוכות, בהתאמה):

OP_DEL
movf Rdel,w
subwf Rlsum,w
btfss STATUS,c ; בוא נבדוק אם התוצאה שלילית?
goto DEF_carry ; אם "כן", אז אנו מבצעים הלוואה מאמנות. קטגוריה
incf RLrez,f; לספור את מספר החיסורים תוך התחשבות
btfsc STATUS,c ; מעבר אפשרי לדרגה בכירה
incf RHrez,f
movwf RLsum ; אנחנו משחזרים את השאר כדי לא להפסיד
עבור אל OP_DEL ; אם תוצאת החיסור שלילית
;
DEF_carry
movlw 0h
xorwf RHsum,w ; האם כולם עברו מדרג בכיר לזוטר?
btfsc STATUS,z ; אם "כן", כלומר. RHdel = 0 וב-OP_DEL neg-
עבור אל OUT_ DEL ; צאט. תוצאה - סוף חלוקה ויציאה
decf RHsum,f; אם "לא" - הלוואה מהקטגוריה הבכירה ופרו-
incf RLrez,f; בוא נמשיך
btfsc STATUS,c ; בדיקת הצורך בהעברה לספרה הסטנדרטית
incf RHrez,f
עבור אל OP_DEL

מחבר: ולדימיר ד., degvv@mail.ru; פרסום: cxem.net

ראה מאמרים אחרים סעיף חובב רדיו מתחיל.

תקרא ותכתוב שימושי הערות על מאמר זה.

<< חזרה

חדשות אחרונות של מדע וטכנולוגיה, אלקטרוניקה חדשה:

עור מלאכותי לחיקוי מגע 15.04.2024

בעולם טכנולוגי מודרני בו המרחק הופך להיות נפוץ יותר ויותר, חשוב לשמור על קשר ותחושת קרבה. ההתפתחויות האחרונות בעור מלאכותי על ידי מדענים גרמנים מאוניברסיטת Saarland מייצגים עידן חדש באינטראקציות וירטואליות. חוקרים גרמנים מאוניברסיטת Saarland פיתחו סרטים דקים במיוחד שיכולים להעביר את תחושת המגע למרחקים. טכנולוגיה חדשנית זו מספקת הזדמנויות חדשות לתקשורת וירטואלית, במיוחד עבור אלה שמוצאים את עצמם רחוקים מיקיריהם. הסרטים הדקים במיוחד שפיתחו החוקרים, בעובי של 50 מיקרומטר בלבד, ניתנים לשילוב בטקסטיל וללבוש כמו עור שני. סרטים אלה פועלים כחיישנים המזהים אותות מישוש מאמא או אבא, וכמפעילים המשדרים את התנועות הללו לתינוק. הורים הנוגעים בבד מפעילים חיישנים המגיבים ללחץ ומעוותים את הסרט הדק במיוחד. זֶה ... >>

פסולת חתולים של Petgugu Global 15.04.2024

טיפול בחיות מחמד יכול להיות לעתים קרובות אתגר, במיוחד כשמדובר בשמירה על ניקיון הבית שלך. הוצג פתרון מעניין חדש של הסטארטאפ Petgugu Global, שיקל על בעלי החתולים ויעזור להם לשמור על ביתם נקי ומסודר בצורה מושלמת. הסטארט-אפ Petgugu Global חשפה אסלת חתולים ייחודית שיכולה לשטוף צואה אוטומטית, ולשמור על הבית שלכם נקי ורענן. מכשיר חדשני זה מצויד בחיישנים חכמים שונים המנטרים את פעילות האסלה של חיית המחמד שלכם ופועלים לניקוי אוטומטי לאחר השימוש. המכשיר מתחבר למערכת הביוב ומבטיח פינוי פסולת יעיל ללא צורך בהתערבות של הבעלים. בנוסף, לאסלה קיבולת אחסון גדולה הניתנת לשטיפה, מה שהופך אותה לאידיאלית עבור משקי בית מרובי חתולים. קערת המלטה לחתולים של Petgugu מיועדת לשימוש עם המלטה מסיסת במים ומציעה מגוון זרמים נוספים ... >>

האטרקטיביות של גברים אכפתיים 14.04.2024

הסטריאוטיפ שנשים מעדיפות "בנים רעים" כבר מזמן נפוץ. עם זאת, מחקר עדכני שנערך על ידי מדענים בריטים מאוניברסיטת מונאש מציע נקודת מבט חדשה בנושא זה. הם בדקו כיצד נשים הגיבו לאחריות הרגשית של גברים ולנכונותם לעזור לאחרים. ממצאי המחקר עשויים לשנות את ההבנה שלנו לגבי מה הופך גברים לאטרקטיביים לנשים. מחקר שנערך על ידי מדענים מאוניברסיטת מונאש מוביל לממצאים חדשים לגבי האטרקטיביות של גברים לנשים. בניסוי הראו לנשים תצלומים של גברים עם סיפורים קצרים על התנהגותם במצבים שונים, כולל תגובתם למפגש עם חסר בית. חלק מהגברים התעלמו מההומלס, בעוד שאחרים עזרו לו, כמו לקנות לו אוכל. מחקר מצא שגברים שהפגינו אמפתיה וטוב לב היו מושכים יותר לנשים בהשוואה לגברים שהפגינו אמפתיה וטוב לב. ... >>

חדשות אקראיות מהארכיון

הסמארטפון Vivo Xplay נשלט על ידי הראייה 27.03.2013

טכנולוגיית מעקב עיניים צוברת פופולריות בקרב יצרניות הסמארטפונים: LG וסמסונג כבר הכריזו על השימוש בה, ובקרוב תצטרף גם החברה הסינית BBK Communication Technology. לפי המקור, סמארטפון הדגל החדש BBK Vivo Xplay יתמוך בטכנולוגיות מעקב אחר עיניים ובקרת מחוות של משתמשים.

מצלמה של 5 מגה פיקסל תשמש לזיהוי תנועות עיניים ומחוות. כפי שדווח, בעזרתו ומבלי לגעת במסך, ניתן יהיה לגלול בין דפי אינטרנט ולשנות את קנה המידה שלהם, להגדיל או להקטין תמונות. ככל הנראה, כיוון המבט של המשתמש יילקח בחשבון גם בצפייה בסרטון, כפי שמיושם בסמסונג גלקסי S 4 וב-LG Optimus G Pro.

על הדרך, המקור אישר כי ה-Vivo Xplay יתבסס על מערכת Qualcomm Snapdragon 600 עם שבב בודד (מעבד מרובע ליבות 1,7 גיגה-הרץ), וגודל המסך יהיה חמישה אינץ' ברזולוציה של 1920 x 1080 פיקסלים. התצורה שלו תכלול 2 GB של זיכרון RAM, מצלמה אחורית של 13 מגה פיקסל וסוללת 3200 מיליאמפר/שעה.

הסמארטפון יוצע עם זיכרון פנימי של 16 או 32 גיגה-בייט, כאשר עלות המוצר תחל ב-480 דולר.

עוד חדשות מעניינות:

▪ חילוף החומרים נחלש בנוער

▪ חשף את סוד המים הלא-קפואים על מאדים

▪ מערכת קירור נוזלי Alphacool Eiswolf GPX-Pro AiO Radeon VII M01

▪ רמקול נייד Sony Extra Bass SRS-XB33

▪ הנח טחנות רוח בחוזקה

עדכון חדשות של מדע וטכנולוגיה, אלקטרוניקה חדשה

 

חומרים מעניינים של הספרייה הטכנית החופשית:

▪ חלק באתר רכב. מבחר מאמרים

▪ מאמר כלכלה. הערות הרצאה

▪ מאמר כיצד הקיסר פול הראשון עמד לעזור לנפוליאון במלחמה נגד בריטניה הגדולה? תשובה מפורטת

▪ מאמר ההרכב הפונקציונלי של טלוויזיות Supra. מַדרִיך

▪ מאמר מי מהיר יותר? אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל

▪ כתבה קווי חשמל עיליים עם מתח מעל 1 קילו וולט. מרחקים בין חוטים ובין חוטים וכבלים לפי תנאי הריקוד. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל

השאר את תגובתך למאמר זה:

שם:


אימייל (אופציונלי):


להגיב:





כל השפות של דף זה

בית | הספרייה | מאמרים | <font><font>מפת אתר</font></font> | ביקורות על האתר

www.diagram.com.ua

www.diagram.com.ua
2000-2024