ايران ويج

نسخه‌ی کامل: مشکل در شبیه سازی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

من یک برنامه نوشته ام و وقتی می خواهم آن را با پروتئوس شبیه سازی کنم همیچ اتفاقی نمی افته. در حالی که وقتی کدشو که با بیسکام نوشته ام دو سه خط کم می کنم دوباره شروع به کار می کنه.

اسم خطا
کد:
PC=F4240 is outside of ROM space
آیا مشکل از برنامه ای است که در بیسکام نوشته ام؟

فایل مورد نظر:
کد:
http://smn-soft.persiangig.com/other/SMNsoft-T.rar
[/code]
مهندس حجم برنامت زیاده و تو میکرویی که می خوای جا نمی شه !!!!

بهتره فرضا اگه با مگا 16 نوشتی تو خط اول واسه مگا 32 تعریفش کنی !!!!
سلام
این پیغامو تو نرم افزار پروتئوس می ده. توی بیسکام هم وقتی کامپایل می کنم 24 درصد رو بیشتر نشون نمی ده.
این کار رو با مگا 128 هم امتحان کردم ولی باز هم همون پیغام رو داد...
درضمن حجم کد ها هم خیلی زیاد نیست.

حالا باید چی کار کنم؟
پروتئوس ورژن چنده ؟

نکنه که کرکش قدیمی باشه !

الان 7.6 با کرک ورژن 2 هستش !!!
سلام

فکر کنم مال من ورژن یک باشه. اگه میشه لینک کرک ورژن دوشو بدین.

شما ورژن دو دارین؟ اگه دارین این مدار در سیستم شما به درستی کار می کنه؟


ممنون
با کرک ورژن دو هم امتجان کردم ولی نشد.

باید چی کار کنم؟
مهندس من برنامه شما رو الان دیدم !

هر چی نگاه کردم نفهمیدم چی کار کردی !

فکر کنم عددی که می خوای بگیری از جدول برگشتیت بیشتر از حد تعیین شده هستش و واسه همون قاطی می کنه !!!

البته اگه قرار هستش که یه دماسنج درست کنی خیلی راحت تر از این کارهایی هستش که شما کردی !
من الان برنامه و نقشه ات رو یه تغییر کلی دادم و از سنسور LM35 استفاده کردم که نتیجه اش این شدش :




دماسنج با دقت دهم درجه با نمایشگر هفت قطعه ای !



این نقشه برنامه :

[تصویر:  uqpg0ue95rr9lwai5cao_thumb.png]
روش کلیک کنین تا بزرگشو ببین !


و فایل های مورد نیاز ( اصل برنامه و تست پروتئوس ) :



اینم برنامش :

کد php:
$regfile "m16def.dat" $crystal 1000000

Config Portb 
Output Portd Output

Config Adc 
Single Prescaler Auto Reference Internal

Dim A 
As Word As Word As Word
Dim First 
As Word Secend As Word Thirt As Word

Start Adc

Do

   
Getadc(7) : 25

   
If 10000 Then :
      
First 10 Secend 10 Thirt 10
   
Else :
      
First 1000 First 1000
      A 
Secend 100
      W 
Secend 100 Thirt 10
      
If First 0 Then First 14
   End 
If

   For 
0 To 50
      Set Portd.1
      Set Portd.2
      Reset Portd.0
      Portb 
Lookup(first Digits)
      
Reset Portb.7
      Waitms 10

      Set Portd.0
      Set Portd.2
      Reset Portd.1
      Portb 
Lookup(secend Digits)
      
Set Portb.7
      Waitms 10

      Set Portd.0
      Set Portd.1
      Reset Portd.2
      Portb 
Lookup(thirt Digits)
      
Reset Portb.7
      Waitms 10
   Next

Loop


End
'******** Data **********************************
Digits:
Data 63 , 6 , 91 , 79 , 102 , 109 , 125 , 7 , 127 , 111 , 64 , 128 , 56 , 70 , 00
'     
0    1   2    3    4     5     6     7   8     9     -    dp    L    +
'************************************************