ايران ويج

نسخه‌ی کامل: مشکل با پورت ورودي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام بچه ها...یه مشکل خنده دار!
من نمیتونم از پورت های ورودی عدد دریافت کنم!
یعنی با اینکه روی پورت مثلا b همه پین ها یک هستند ولی وقتی میکرو از این پورت مقدار رو میگیره فقط نمایش میده جواب صفره!

کد:
Adad = Porta

Print "VALUE IS:" ; Adad
تا حالا همچین چیزی ندیده بودم!وقتی یه کانتر نرم افزاری میسازم اعداد میان. ولی نمیدونم چرا از پورت چیزی دریافت نمیشه.
مهندس این برنامه رو امتحان کن :

کد php:
Dim Adad as Byte
Adad 
PinA
Print "VALUE IS:" Adad 

دیدی شد !

ایرادت رو هم باید فهمیده باشی کجاست !
بابت کتاب مرسی
یه سوال دارم من تو بسکام می خوام مدام یه پورت رو بخونم اگه 1 بود
رو ال سی دی بنویسه I have data
در غیر این صورت رو ال سی دی بنویسه on data
این هم کد

کد php:
Dim W As Byte

Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Portd.1 Db5 Portd.2 Db6 Portd.3 Db7 Portd.4 Portd.5 Rs Portd.6
Do
 
Config Portb Input
 W 
Pinb
Home
If W.0 1 Then
   Lcd 
"Sensor Left"
Else
   
Lcd "Center Sensor"

End If

Waitms 100
 Cls
 Loop 

اما وقتی تو پرتوس ران می کنم وحالت های مختلف رو چک می کنم روی if اول قفل می کنه مدام sensor left می زنه
اين برنامه رو تست كن :

کد php:
$regfile "m32def.dat" $crystal 11059000

Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Portd.1 Db5 Portd.2 Db6 Portd.3 Db7 Portd.4 Portd.5 Rs Portd.6

DDRB
=PORTB.0 1

Do
    
Waitms 100  :  Home
    
If PINB.0 1 Then :
           
Lcd "Sensor Left    "
    
Else :
        
Lcd "Center Sensor"
    
End If

 
Loop 

در ضمن چجوري زمين مي كني !
پايه ول باشه يك در نظر مي گيره و بايد حتما به زمين وصل بشه !
مرسی حل شد
DDRB=0 رو هم سایر دوستان می پرسم