ايران ويج

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

من این مدار ساده رو نمیتونم را ه بندازم. خیلی سادست ولی احتمالا من یه اشتباه خیلی تابلو دارم که جواب نمیگیرم. اگه شما اشکالی میبینید کمکم کنید.

قراره با هربار زدن کلید به عددی که رو ال سی دی نوشته یه واحد اضافه بشه.
تورو خدا نخندین که دارم دیونه میشم.

کد php:
$regfile "m8def.dat"
Config Lcd 16 2
Config Lcdpin 
Pin Db4 Portb.2 Db5 Portb.3 Db6 Portb.4 Db7 Portb.5 Portb.1 Rs Portb.0
Config Portc 
Input
Config Portb 
Output
Cursor Off
Dim A 
As Integer As Integer As Integer As Integer As Integer
0
Locate 1 
7
Lcd A
Portc 
255

Do
If 
Portc.0 0 Then
Waitms 100
Portc.0 
1
1
Cls
Locate 1 
7
Lcd A
End 
If
Loop 

برنامه و فایل پروتئوس رو آپ میکنم.
مهندس شما هم که این مشکل رو داری !
http://forum.iranled.com/showthread.php?tid=14177

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

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

Config Lcdpin 
Pin Db4 Portb.2 Db5 Portb.3 Db6 Portb.4 Db7 Portb.5 Portb.1 Rs Portb.0
Config Lcd 
16 Cursor Off Cls

Config Portc 
Input Portb Output

Dim A 
As Integer As Integer As Integer As Integer As Integer

Locate 1 
7
Lcd A

Portc 
63

Do
   If 
Pinc.0 0 Then
      A 
1
      Cls 
Locate 1 Lcd A
      Waitms 300
   End 
If
Loop 

و اینم فایل که الان درسته و باید بفهمی ایرادت کجاست !

هر جای برنامه رو هم سوال بود چرا این گذاشتم بپرس!
دمت گرم

یعنی هروقت خواستم یه عدد از یه پورت بگیرم باید به جای مثلا portc بنویسم pinc

درست فهمیدم؟

خودم گفتما:

یه مثلا مهندس نوشته است:احتمالا من یه اشتباه خیلی تابلو دارم که جواب نمیگیرم
[/align]بنام خدا ...

سلام خدمت همه دوستان خوبم !
من وقعا خوشحالم که خیلی اتفاقی با یه همچین سایتی اشنا شدم !
این اولین پست من هستش ! ( ایشالله که اخرین پستم نباشه ! ) Shy
فقط میتونم بگم ممنونم از تمام کاربران سایت مخصوصا مدیران عزیز !
من که خیلی دارم استفاده میکنم !!!

و اما اصل مطلب :
من هر چی به این برنامه نگاه میکنم نمیتونم خوب بفهمم که قضیه چیه !! Smile
1- اول این که بهتره وقتی ورودی می خواین تعریف کنین از pinX.X بجایی portX.X استفاده کنید !!
2- شما PORTC رو input ( ورودی ) تعریف کردین !! اینطور که من فهمیدم به ورودی نمیشه مقدار داد ولی شما مقدار دادین ( PORTC = 63 ) !! ( البته من هم یک تازه کار هستم، ولی با اطلاعاتی که از اینترنت و کتاب های که خوندم دارم... ، شاید هم اطلاعات من غلط باشه ! یکی از مهندسین توضیح بدن اگه من اشتباه میکنم pllz ! )
3- شما چرا این همه متغیر تعریف کردین ؟؟ در صورتی که فقط از یک متغیر بیشتر استفاده نکردین !!
4- ...
حالا اگه من اشتباه میکنم دوستان لطف کنن به من هم بفهمونن که قضیه چیه !! Smile

و اما من یه برنامه واسه این کار نوشتم ! ( یعنی با زدن هر بار کلید یک واحد به عدد روی LCD اضافه شه، اینجا میزارم که اگه مشکلی داشت دوستان مشکل رو حل کنن ) !

[align=left]
کد php:
$regfile "m16def.dat"
$crystal 8000000
Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Pinb.0 Db5 Pinb.1 Db6 Pinb.2 Db7 Pinb.3 Rs Pinb.4 Pinb.5
Config Pinb.6 
Input
Config Debounce 
150
Dim A 
As Byte

   Nasser
:
          Do
          
Debounce Pinb.6 Jacki
          
Goto Nasser
          Loop
   Jacki
:
         
Incr A
         Cls
         Lcd A
         
Goto Nasser 

و من الله التوفیق ...
1- مهندس برای ورودی تعریف کردن سه روش داره !

کد php:
Config Portb Input 
کد php:
Config Portb 
کد php:
Ddrb 


2- مهندس تو بسکام اگه پایه ای رو رودی تعریف کنی و بعدش یکش کنی یعنی مقاومت پوول اپ داخلیش رو فعال کردی !

3- این تقصیر من نیست !
تو برنامه اقا هادی بودش !

4- تبریک می گم ورودتون رو !
می تونی جهت آشنایی بیشتر خودتون رو اینجا معرفی کنین :
http://forum.iranled.com/showthread.php?...1#pid54061

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

می شه ساده تر کرد :

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

Config Lcdpin 
Pin Db4 Pinb.0 Db5 Pinb.1 Db6 Pinb.2 Db7 Pinb.3 Rs Pinb.4 Pinb.5
Config Lcd 
16 Cursor Off Cls

Ddrb 
0

Dim A 
As Byte

Do
      
Debounce Pinb.6 Ant Gosub
Loop

Ant
:
   
Incr A
   Cls 
Lcd A
Return 
(۱۳-شهریور-۱۳۸۸, ۰۶:۱۵:۰۴)jacki14 نوشته است: [ -> ]3- شما چرا این همه متغیر تعریف کردین ؟؟ در صورتی که فقط از یک متغیر بیشتر استفاده نکردین !!

سلام

خوش اومدین

متغیر ها مال خودمه پولشو دادم (شوخی)

این برنامه که اینجا گذاشتم فقط یه قسمت از یه برنامه بزرگتری بود که نوشته بودم (یعنی فقط این قسمتش مشکل داشت) متتغیر های بعدی هم تو قسمت هایی که اینجا نیست استفاده میشه.


(۱۳-شهریور-۱۳۸۸, ۰۶:۱۵:۰۴)jacki14 نوشته است: [ -> ]2-شما PORTC رو input ( ورودی ) تعریف کردین !! اینطور که من فهمیدم به ورودی نمیشه مقدار داد ولی شما مقدار دادین ( PORTC = 63 )

کاملا درسته، ممنون