תוכנה לpic16f84a

הפורום הראשי, אתר הרובוטיקה הישראלי

המנהלים: אסף פוניס, גיא יונה

תוכנה לpic16f84a

הודעהעל ידי Mishka » ש' מרץ 27, 2010 8:28 pm

שלום
ביומיים האחרונים הצלחתי סוף סוף לפנות זמן, לבנות צורב, ולהתחיל לצרוב את הרכיב הנ"ל, אך עדיין יש לי חור בנושא התוכנה, אסמך לעזרתכם.
נ.ב. אני כותב באסמבלר דרך mplab

אני מעלה ארך מסויים לרגיסטר W, ולפי טבלה לבצע פעולות שונות
נגיד אם W יהיה 01H, אני רוצה: goto op1
אם ' יהיה 02H, אני רוצה goto op2
וכו'.
אני לא מצליח לעשות את ההשוואה הזאת של W לערכים קבועים מראש.
כיצד אני עושה זאת?

תודה
מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

ממליץ

הודעהעל ידי Ngel » ש' מרץ 27, 2010 10:51 pm

אני ממליץ לך לעבור לשפת C51

זאת ועוד הפקודה שאתה מנסה היא
JNE
חפש בגוגל פקודות של אסמבלר
Ngel
משתמש ותיק
משתמש ותיק
 
הודעות: 310
הצטרף: א' פברואר 04, 2007 6:47 pm

הודעהעל ידי אמנון » ש' מרץ 27, 2010 11:19 pm

מיכאל שלום
בנוסף תעבור על האתר הבא:
http://www.mstracey.btinternet.co.uk/pi ... ogtut1.htm

וכאן :
http://www.mikroe.com/en/books/picbook/picbook.htm

אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

הודעהעל ידי ארי גרינשפון » א' מרץ 28, 2010 5:17 am

מיכאל שלום,
הפקודה שנתנאל כתב לך היא פקודת קפיצה כאשר הערכים לא שווים
JNE – Jump Not Equal
כדי לבדוק בדפי הנתונים של המיקרו מעבד אם הוא תומך בפקודות קפיצה
אם כן אז זה יכול להקל על כתיבת התוכנית
אם לא אז אתה יכול לכתוב קוד ללא פקודות הקפיצה
למשל הפסודו קוד הבא :
יש לך שני ערכים
value1;
value2;
נזיז ערך 1 לרגיסטר W
movf value1, W
נחסר ערך 1 מערך 2
subwf value2, W
אם נקבל תוצאה ששווה לאפס אז שני הערכים שווים
btfsc STATUS, Z
btfsc = bit test f and skip if clear //
נבצע את הפעולה אם שני הערכים שווים
goto values_equal
אם הערכים לא שווים אז נדלג לכאן
nop

אם יש לך הרבה ערכים אז כדאי לך לעשות את זה בטבלה
ואז תצטרך להשתמש בפקודה gotostateX
כאשר X הוא מספר הערך
למשל X עבור הערך הראשון כאשר מתחילים לספור מאפס אז X=0
עבור הערך השני X=1, עבור הערך השלישי X=2 וכן הלאה...

ארי גרינשפון
ארי גרינשפון
משתמש ותיק
משתמש ותיק
 
הודעות: 189
הצטרף: ש' מרץ 15, 2008 2:58 pm

הודעהעל ידי Mishka » א' מרץ 28, 2010 11:56 am

ארי, תודה, כבר ניסיתי משהוא דומה, אך כנראה שהתבלבלתי, בכל מקרא אכשיו זה עובד, זה הקוד:
movlw value1
movwf 1dh
movlw value2
subwf 1dh,1
btfsc 1dh,0
goto notequal
goto equal

תודה גם לNEGEL ולאמנון.
NEGEL, אינני מכיר את C51, ולא יודע האם זה יתאים למיקרובקר, אני מעדיף נכון לכרגע לשחק עם משהוא שבדקתי, למדתי, וזה עובד.
בנוסף JNE זאת פקודה שMPLAB לא מכיר, אך השתמשתי ברעיון שלה.
אמנון, תודה על האתרים, מהראשון למדתי את כל מה שאני משתמש בו, על האתר השיני אני עוד יחרוש

תגידו, GOTOSTATEX זאת פקודה שMPLAB מכיר? אפשר בבקשה לקבל חלק מקוד שאני יראה איך משתמשים בה?
נכון לאכשיו אני יאלץ להשתמש בקוד שרשמתי למעלה, ולחזור עליו 9 פעמים. נראה, אולי את רובו אני יכניס לפונקציה.

עוד שאלה, כיצד אני עושה שmovlw 5eh יעלה לW את הערך ששמור בכתובת 5EH ולא את הערך 5EH?

מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

הודעהעל ידי ארי גרינשפון » א' מרץ 28, 2010 9:37 pm

מיכאל שלום,
כדי ש movlw 5eh יעלה לרגיסטר W את הערך ששמור בכתובת 5EH ולא את הערך 5EH
אתה יכול להשתמש למשל בפקודה
movf 0X5e, W
שהיא מעבירה את הערך השמור ב 0X5e לרגיסטר W.

ארי גרינשפון
ארי גרינשפון
משתמש ותיק
משתמש ותיק
 
הודעות: 189
הצטרף: ש' מרץ 15, 2008 2:58 pm

הודעהעל ידי Mishka » א' מרץ 28, 2010 11:39 pm

ארי, תודה, התקדמתי הרבה, אך שוב נתקתי
אני משתמש בפונקצייה הבאה לשם ההשואה:
subwf comparereg,1
btfss comparereg,0
goto op2 ;equal
;not equal -> contine
יש לי ערך השמור בcompareref, ובw. אם הם זהים אני רוצה לקפוץ לop2, ואם לא, אז להמשיך בביצוע התוכנה.
הכל עובד טוב ויפה עבור הארכים 0X01, ו0X02, אך כאשר אני מגיעה ל0X03, הוא אומר שזה זהה ל0X01, כנל לגבי 0X02ו 0X04.
נראה לי שהפונקציה משווה רק את הביט הראשון של הערך, ולא את כולו.
כיצד פותרים את הבעייה הנ"ל?

מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

הודעהעל ידי ארי גרינשפון » ב' מרץ 29, 2010 1:05 pm

מיכאל שלום,
btfss comparereg, 0
השורה הזאת בודקת את ביט 0 בערך comparereg
ואז הפונקציה משווה רק את הביט הראשון של הערך, ולא את כולו.
אני מניח שבהתחלה הזזת את המידע לרגיסטר W
movf compareref, 0
ואז עשית
subwf comparereg, 1
לפקודת subwf וגם פקודות אחרות, מרימות את ביט הדגל (FLAG) ברגיסטר STATUS
ולכן צריך לבדוק את ביט אפס של רגיסטר STATUS כדי לראות אם שני הערכים שווים.

ארי גרינשפון
ארי גרינשפון
משתמש ותיק
משתמש ותיק
 
הודעות: 189
הצטרף: ש' מרץ 15, 2008 2:58 pm

הודעהעל ידי Mishka » ב' מרץ 29, 2010 1:38 pm

לא ממש הבנתי אותך
אני מעלה שני ערכים, אחד לW והשיני לCOMPAREREG
ואז השורות הבאות
subwf comparereg,1
btfss comparereg,0
goto op2 ;equal
;not equal -> contine

אתה יכול בבקשה בעזרת דוגמה(כי אני עדיין חלש בקטע התוכנה) להסביר למה אתה מתכוון בFLAG של STATUS REGISTER?

מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

הודעהעל ידי Mishka » ב' מרץ 29, 2010 2:04 pm

הצלחתי!! תודה!!
במקום השורה
btfss comparereg,0
היה צריך
btfsc 03H,2
03H זה הSTATUS

לכל המעוניינים אתר מתויין המסביר על Pic מסדרת הPic16

שוב תודה לכולם, אם אני יתקע, אני יודיע

מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

Re: תוכנה לpic16f84a

הודעהעל ידי xalmek » ו' נובמבר 17, 2023 9:19 pm

xalmek
רובוטריק
רובוטריק
 
הודעות: 246834
הצטרף: ה' נובמבר 16, 2023 10:48 am

Re: תוכנה לpic16f84a

הודעהעל ידי xalmek » ש' דצמבר 02, 2023 8:08 pm

сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтtuchkasсайтсайт
xalmek
רובוטריק
רובוטריק
 
הודעות: 246834
הצטרף: ה' נובמבר 16, 2023 10:48 am

Re: תוכנה לpic16f84a

הודעהעל ידי xalmek » ש' פברואר 03, 2024 1:03 am

audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolutionnaphtheneseriesnarrowmouthednationalcensusnaturalfunctornavelseedneatplasternecroticcariesnegativefibrationneighbouringrightsobjectmoduleobservationballoonobstructivepatentoceanminingoctupolephononofflinesystemoffsetholderolibanumresinoidonesticketpackedspherespagingterminalpalatinebonespalmberry
papercoatingparaconvexgroupparasolmonoplaneparkingbrakepartfamilypartialmajorantquadruplewormqualityboosterquasimoneyquenchedsparkquodrecuperetrabbetledgeradialchaserradiationestimatorrailwaybridgerandomcolorationrapidgrowthrattlesnakemasterreachthroughregionreadingmagnifierrearchainrecessionconerecordedassignment
rectifiersubstationredemptionvaluereducingflangereferenceantigenregeneratedproteinreinvestmentplansafedrillingsagprofilesalestypeleasesamplingintervalsatellitehydrologyscarcecommodityscrapermatscrewingunitseawaterpumpsecondaryblocksecularclergyseismicefficiencyselectivediffusersemiasphalticfluxsemifinishmachiningspicetradespysale
stunguntacticaldiametertailstockcentertamecurvetapecorrectiontappingchucktaskreasoningtechnicalgradetelangiectaticlipomatelescopicdampertemperateclimatetemperedmeasuretenementbuildingtuchkasultramaficrockultraviolettesting
xalmek
רובוטריק
רובוטריק
 
הודעות: 246834
הצטרף: ה' נובמבר 16, 2023 10:48 am

Re: תוכנה לpic16f84a

הודעהעל ידי xalmek » ש' מרץ 02, 2024 6:39 pm

audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolutionnaphtheneseriesnarrowmouthednationalcensusnaturalfunctornavelseedneatplasternecroticcariesnegativefibrationneighbouringrightsobjectmoduleobservationballoonobstructivepatentoceanminingoctupolephononofflinesystemoffsetholderolibanumresinoidonesticketpackedspherespagingterminalpalatinebonespalmberry
papercoatingparaconvexgroupparasolmonoplaneparkingbrakepartfamilypartialmajorantquadruplewormqualityboosterquasimoneyquenchedsparkquodrecuperetrabbetledgeradialchaserradiationestimatorrailwaybridgerandomcolorationrapidgrowthrattlesnakemasterreachthroughregionreadingmagnifierrearchainrecessionconerecordedassignment
rectifiersubstationredemptionvaluereducingflangereferenceantigenregeneratedproteinreinvestmentplansafedrillingsagprofilesalestypeleasesamplingintervalsatellitehydrologyscarcecommodityscrapermatscrewingunitseawaterpumpsecondaryblocksecularclergyseismicefficiencyselectivediffusersemiasphalticfluxsemifinishmachiningspicetradespysale
stunguntacticaldiametertailstockcentertamecurvetapecorrectiontappingchucktaskreasoningtechnicalgradetelangiectaticlipomatelescopicdampertemperateclimatetemperedmeasuretenementbuildingtuchkasultramaficrockultraviolettesting
xalmek
רובוטריק
רובוטריק
 
הודעות: 246834
הצטרף: ה' נובמבר 16, 2023 10:48 am

Re: תוכנה לpic16f84a

הודעהעל ידי xalmek » ה' מאי 02, 2024 10:14 pm

xalmek
רובוטריק
רובוטריק
 
הודעות: 246834
הצטרף: ה' נובמבר 16, 2023 10:48 am

הבא

חזור אל פורום הרובוטיקה

מי מחובר

משתמשים הגולשים בפורום זה: Bing [Bot], Google [Bot] ו 6 אורחים

cron