برگزیده های پرشین تولز

pic 16f877 & 16f877A

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
اگه كسي راجع به pic ها اطلاعات داره كمك كنه.
من براي پروژه اي pic16f877A خريدم .چون 16f877نبود.ولي بعد از خوندن مطالبي تو اينترنت متوجه اختلافاتي بين ايندو شدم
حالا اينجا كسي هست كمك كنه كه بتونم فايل HEXي كه براي 877 ساخته شده رو به 877A بريزونم. و درست كار كنه.
چون وقتي اين فايل رو به 877A ميريزم درست كار نميكنه.
 

GHAHRAMANI

کاربر تازه وارد
تاریخ عضویت
3 می 2005
نوشته‌ها
78
لایک‌ها
0
سن
45
محل سکونت
DirtLand
تا جایی که من می دونم تو ولتاژ کاری با هم تفاوت دارن نه چیزه دیگه شما اطلاعاتی که در مورد تفاوت این دو بدست آوردی رو اینجا قرار بده ببینیم چیه.
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
سري A :
1. يك مقايسه كننده آنالوگ اضافه داره
2. در الگوريتم برنامه ريزي هم با هم تفاوت دارن


ولي جايي نخوندم كه ولتاژشون فرق داشته باشه . بعيد ميدونم
آقايون كسي نبود به يه بنده خدا كمك كنه
 

chia

Registered User
تاریخ عضویت
18 ژانویه 2006
نوشته‌ها
243
لایک‌ها
2
محل سکونت
تو موتور خونه ي جهنم
سلام

كدهاي سري A با بقيه فرق زيادي نميكنه

اما اگه از مقايسه كننده ي انالوگ استفاده شده باشه مشكل پيش مياد

و يه فرق ديگه هم كه سري A با بقيه داره اينه كه تا20 مگاهرتز كار ميكنه اما سري معمولي تا16 مگاهرتز
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
آقا ممنون بابت جوابتون
چطوري يه فايل hex رو ميشه به زبان اصليش برگردوند تا دوباره اونو hex كرد؟؟؟
آيا اين كار امكان داره؟؟؟
 

chia

Registered User
تاریخ عضویت
18 ژانویه 2006
نوشته‌ها
243
لایک‌ها
2
محل سکونت
تو موتور خونه ي جهنم
قابلي نداشت

يه نرم افزار به اسم HexPic فايل هگز رو به اسمبلي تبديل ميكنه ميتونيد با سرچ پيداش كنيد
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
سلام دوستان
يه سوال
چرا وقتي به كمك MPLAB فايل HEX رو به asm تبديل ميكنيم. و اونو دوباره ميخواهيم به hex تبديل كنيم كلللي error ميگيره.
كسي اين كارو بلده؟؟؟
ممنون
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
چرا وقتي به كمك MPLAB فايل HEX رو به asm تبديل ميكنيم. و اونو دوباره ميخواهيم به hex تبديل كنيم كلللي error ميگيره.

اشکالاتی که گرفته نشون بدید تا بشه نظر داد (فایل با پسوند lst )
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
اشکالاتی که گرفته نشون بدید تا بشه نظر داد (فایل با پسوند lst )

از منوي file وارد قسمت import ميشم .بعد اون فايل HEX رو وارد ميكنم.
از منوي view وارد program memory ميشيم. در اين قسمت disassembly
رو نشون ميده.روي صفحه راست كليك ميكنيم و در قسمت output to file فايلي كه برگشته را seve ميكنيم.
حالا من اومدم اين فايل رو توسط MPASM به HEX تبديل كردم.ولي error ميده

نميدونم چرا وقتي disassembler ميشه اين مدلي ميشه
0000 0183 CLRF 0x3
0001 3001 MOVLW 0x1
0002 008A MOVWF 0xa
0003 29E1 GOTO 0x1e1
0004 00FD MOVWF 0x7d
0005 0803 MOVF 0x3, W
0006 0183 CLRF 0x3
0007 00CF MOVWF 0x4f
0008 0804 MOVF 0x4, W
0009 00D0 MOVWF 0x50
000A 080A MOVF 0xa, W
000B 00D1 MOVWF 0x51
000C 018A CLRF 0xa
000D 0871 MOVF 0x71, W
000E 00D6 MOVWF 0x56
000F 0872 MOVF 0x72, W
0010 00D7 MOVWF 0x57
0011 0873 MOVF 0x73, W
0012 00D8 MOVWF 0x58
0013 0874 MOVF 0x74, W
0014 00D9 MOVWF 0x59
0015 0875 MOVF 0x75, W
0016 00DA MOVWF 0x5a
0017 0876 MOVF 0x76, W
0018 00DB MOVWF 0x5b
0019 0877 MOVF 0x77, W
001A 00DC MOVWF 0x5c
001B 0878 MOVF 0x78, W
001C 00DD MOVWF 0x5d
001D 0879 MOVF 0x79, W
001E 00DE MOVWF 0x5e
001F 087A MOVF 0x7a, W
0020 00DF MOVWF 0x5f
0021 087B MOVF 0x7b, W
0022 00E0 MOVWF 0x60
0023 087C MOVF 0x7c, W
0024 00E1 MOVWF 0x61
0025 0863 MOVF 0x63, W
0026 00E2 MOVWF 0x62
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
ممنون بابت لينك. خيلي كمك كرد.
ولي هنوز مشكل من حل نشده. آيا فايل HEXي كه براي 877 ساخته شده را ميشه به 877A خوروند(شرمنده اگه زياد خودموني شدم)
چون مدار من به درستي كار نميكنه.

بله برتامه 877 بر روی 877A قابل اجراست
تفاوت های این دو مدل در این فایل که در سایت سازتده هست بیان شده
http://ww1.microchip.com/downloads/en/DeviceDoc/39591a.pdf
شما از چه برنامه و همچنین چه نوع سخت افزاری برای پروگرام کردن میکرو استفاده می کنید ؟
ایا مدار سخت افزاری طرح شما به درستی طراحی و بر روی فیبر پیاده سازی شده ؟ برنامه میکرو مشکلی ندارد؟
در نهایت یک برنامه ساده (مثل نوسان یک ثانیه ای پایه ای از میکرو) را روی میکرو بریزید و سلامت پروگزامر و میکرو و مدار را ازمایش کنید
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
بله برتامه 877 بر روی 877A قابل اجراست
تفاوت های این دو مدل در این فایل که در سایت سازتده هست بیان شده
http://ww1.microchip.com/downloads/en/DeviceDoc/39591a.pdf
شما از چه برنامه و همچنین چه نوع سخت افزاری برای پروگرام کردن میکرو استفاده می کنید ؟
ایا مدار سخت افزاری طرح شما به درستی طراحی و بر روی فیبر پیاده سازی شده ؟ برنامه میکرو مشکلی ندارد؟
در نهایت یک برنامه ساده (مثل نوسان یک ثانیه ای پایه ای از میکرو) را روی میکرو بریزید و سلامت پروگزامر و میکرو و مدار را ازمایش کنید

از برنامه IC_PROG و همچنين سخت افزار JDM
http://www.ucapps.de/mbhp/mbhp_jdm_v2_sm.gif

راستي يه موضوع ديگه اينكه ماجراي bootloader براي پروگرم كردن چيه.
http://www.microchipc.com/PIC16bootload/

ممنون خيلي زياد.
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
confog word برنامه شما چه عددی هست ؟ یعنی تنظیمات نوسانساز و فیوز بیت ها چه مقادیری هستند ؟ مشکل می تواند از این تنظیمات باشد .
ایا پروگرامر شما بدرستی عمل می کند و برنامه بدرستی بر روی میکرو نوشته میشود ؟ با استفاده از دکمه بازبینی(verify) در برنامه ic prog برنامه نوشته شده روی میکرو را با فایل اصلی مقایسه کنید تا از سالم بودن پروگرامر مطمئن شوید
در اخر اگر مشکل همچنان پا بر جاست یک برنامه ساده برای ازمایش عملکرد میکرو و سالم بودن ان بر روی میکرو بارگزاری کنید و از سالم بودن میکرو مطمئن شوید
در مورد bootloader ، میکروهای pic در بعضی از مدلها، برنامه کاربر( برنامه بارگزاری شده روی میکرو) علاوه بر نوشتن اطلاعات بر روی eeprom ، قادر به نوشتن بر روی حافظه برنامه ( program memory ) نیز هست به همین دلیل می توان بدون استفاده از پروگرامر و با استفاده از رابط سریال کامپیوتر (rs232 ) و یا رابط های دیگر (مثل I2C )برنامه میکرو را روی ان بارگزاری کرد و نیازی به جدا کردن میکرو از مدار و قرار دادن در پروگرامر برای برنامه ریزی مجدد نخواهد بود. به این صورت که ابتدا به کمک پروگرامر برنامه مخصوص که bootloader نام دارد روی میکرو بارگزاری میشود حال با هر بار شروع به کار میکرو ،ابتدا برنامه bootloader اجرا میشود و برای مدت کوتاهی به دنبال علائم تعریف شده برای اغاز بارگزاری می گردد و در صورت ناکامی ، میکرو را به برنامه کاربر (main program) هدایت میکند
http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm
 

manmardam

Registered User
تاریخ عضویت
4 ژانویه 2005
نوشته‌ها
977
لایک‌ها
10
محل سکونت
teh
confog word برنامه شما چه عددی هست ؟ یعنی تنظیمات نوسانساز و فیوز بیت ها چه مقادیری هستند ؟ مشکل می تواند از این تنظیمات باشد .
ایا پروگرامر شما بدرستی عمل می کند و برنامه بدرستی بر روی میکرو نوشته میشود ؟ با استفاده از دکمه بازبینی(verify) در برنامه ic prog برنامه نوشته شده روی میکرو را با فایل اصلی مقایسه کنید تا از سالم بودن پروگرامر مطمئن شوید
در اخر اگر مشکل همچنان پا بر جاست یک برنامه ساده برای ازمایش عملکرد میکرو و سالم بودن ان بر روی میکرو بارگزاری کنید و از سالم بودن میکرو مطمئن شوید
در مورد bootloader ، میکروهای pic در بعضی از مدلها، برنامه کاربر( برنامه بارگزاری شده روی میکرو) علاوه بر نوشتن اطلاعات بر روی eeprom ، قادر به نوشتن بر روی حافظه برنامه ( program memory ) نیز هست به همین دلیل می توان بدون استفاده از پروگرامر و با استفاده از رابط سریال کامپیوتر (rs232 ) و یا رابط های دیگر (مثل I2C )برنامه میکرو را روی ان بارگزاری کرد و نیازی به جدا کردن میکرو از مدار و قرار دادن در پروگرامر برای برنامه ریزی مجدد نخواهد بود. به این صورت که ابتدا به کمک پروگرامر برنامه مخصوص که bootloader نام دارد روی میکرو بارگزاری میشود حال با هر بار شروع به کار میکرو ،ابتدا برنامه bootloader اجرا میشود و برای مدت کوتاهی به دنبال علائم تعریف شده برای اغاز بارگزاری می گردد و در صورت ناکامی ، میکرو را به برنامه کاربر (main program) هدایت میکند
http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm
بله پروگرمر را چك كردم و دفعه اول نيست كه با پروگرمر كار ميكنم . به هر حال خيلي ممنونم بابت راهنماييتون.
خيلي استفاده كرديم.
اميدوارم بقيه بروبچ هم ازين تاپيك استفاده ببرن.
 
بالا