ايران ويج

نسخه‌ی کامل: مشکل با وصل کردن صفحه کلید به میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
آقا شرمنده من اصلا متوجه منظور این جدول نمیشم
بابا من که مثل شماها حرفه ای نیستم با من زیر دیپلمی حرف بزنید

دوست عزیز آقای WhiteNoise فکر کنم شما قرار بود فایل پرتیوس بزارین

خدا هر دو نفر تونو خیر بده که در حال کمک به تازه واردان بی تجربه یا کم تجربه ای مثل من هستید

با تشکر
بفرمایید
میتونید یه کی پد رو اینجوری متصل کنین
[تصویر:  zkos1geekb7qmd5xjlvj.png]
دقیقا 2 ثانیه بعد از اینکه از صفحه عکس گرفتم پروتئوسم هنگ کرد (ایکسپایر شده )
برا همین نتونستم فایل خود پروتئوسو بزارم
ولی خوب اینک کار همونو میکنه
یه برنامه هم نوشتم با تفکیک پایه ها که اونم براتون میزارم
(راستی آقا ابراهیم شما جایی میشناسید یه پچ پروتئوس درست حسابی داشته باشه پدرمو در آورده این پروتئوس)
اینم یه برنامه برا این کار
البته وقت نشد رو فایل پروتئوس تستش کنم
ولی تو شبیه سازی خود بسکام سالم بود
همچنین باید بگم که این برنامرو میشه خیلی خیلی خیلی کوتاه تر از این نوشت
ولی برا اینکه بتونید راحت شماره پایه ها رو درک کنید براتون تجزیش کردم
کد php:
$regfile "m32def.dat" $crystal 1000000
   Config Kbd 
Portd
      Config Lcd 
16 2
 Config Lcdpin 
Pin Db7 Pina.2 Db6 Pina.3 Db5 Pina.4 Db4 _
   Pina.5 
Pina.0 Rs Pina.1

Dim Key 
As Byte
Main
:
   Do
   
Key Getkbd()
   If 
Key 0 Then
   
Goto 1
   
Elseif Key 1 Then
   
Goto 2
   
Elseif Key 2 Then
   
Goto 3
   
Elseif Key 4 Then
   
Goto 4
   
Elseif Key 3 Then
   
Goto A
   
Elseif Key 5 Then
   
Goto 5
   
Elseif Key 6 Then
   
Goto 6
   
Elseif Key 7 Then
   
Goto B
   
Elseif Key 8 Then
   
Goto 7
   
Elseif Key 9 Then
   
Goto 8
   
Elseif Key 10 Then
   
Goto 9
   
Elseif Key 11 Then
   
Goto C
   
Elseif Key 12 Then
   
Goto 12
   
Elseif Key 13 Then
   
Goto 13
   
Elseif Key 14 Then
   
Goto 14
   
Elseif Key 15 Then
   
Goto D

   End 
If
Loop
1
:
 
Cls
 Lcd 
"1"
 
Goto Main
2
:
  
Cls
  Lcd 
"2"
 
Goto Main
3
:
 
Cls
 Lcd 
"3"
 
Goto Main
4
:
 
Cls
 Lcd 
"4"
 
Goto Main
5
:
 
Cls
 Lcd 
"5"
 
Goto Main
6
:
 
Cls
 Lcd 
"6"
 
Goto Main
7
:
 
Cls
 Lcd 
"7"
 
Goto Main
8
:
 
Cls
 Lcd 
"8"
 
Goto Main
 9
:
  
Cls
  Lcd 
"9"
 
Goto Main
 A
:
   
Cls
  Lcd 
"A"
 
Goto Main
 B
:
   
Cls
  Lcd 
"B"
 
Goto Main
 C
:
   
Cls
  Lcd 
"C"
 
Goto Main
 12
:
    
Cls
  Lcd 
"#"
  
Goto Main
 13
:
     
Cls
  Lcd 
"0"
  
Goto Main
 14
:
     
Cls
  Lcd 
"*"
  
Goto Main
 D
:
 
Cls
  Lcd 
"D"
 
Goto Main


End                                                         
'end program 
برنامه ای که دوستمون نوشته خیلی زیاده و در کارهای بزرگ طراح دچار مشکل میشه ...
شما میتونی از این برنامه استفاده کنی...
من تو خط دوم مقدار کلید رو هم برات گذاشتم که ببینی چه اتفاقی میوفته...
کد:
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.7 , Db5 = Porta.6 , Db6 = Porta.5 , Db7 = Porta.4 , E = Porta.3 , Rs = Porta.2
Config Kbd = Portd , Debounce = 150 , Delay = 100
    : Dim A As Byte , B As Byte
  Cursor Off
   Cls
Do

    A = Getkbd()
if a<16 then
     B = Lookup(a , Ebi)
      Home
       Lcd B ; "  "
        Home L
         Lcd A ; " "
end if
Loop
Ebi:
Data 10 , 20 , 30 , 60 , 9 , 6 , 3 , 50 , 8 , 5 , 2 , 0 , 7 , 4 , 1 , 40
'Data 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15
البته فراموش نکن
عکسی که گزاشتم کی بردش برعکسه
یعنی برا مواقع عملی جواب میده
تو پروتئوس بزاری جواب نمیده
(۰۳-دى-۱۳۸۹, ۱۵:۰۴:۴۳)WhiteNoise نوشته است: [ -> ]البته فراموش نکن
عکسی که گزاشتم کی بردش برعکسه
یعنی برا مواقع عملی جواب میده
تو پروتئوس بزاری جواب نمیده
دوست عزیز برنامه ای که من نوشتم با ترتیب پایه هاییه که شما وصل کرده بودین...
تو پروتئوس هم جواب میده
نقل قول: دوست عزیز برنامه ای که من نوشتم با ترتیب پایه هاییه که شما وصل کرده بودین...
تو پروتئوس هم جواب میده
برای شما بله
ولی برنامه من نه
برنامه خودم رو اون جواب نمیده
در ضمن بنده مهرداد هستم:d
آقا ابراهیم
تو پروتئوس هیچ کدوم از برنامه ها با هیچ کدوم از نقشه ها نمیخونه
البته عوض کردم پروتئوسو
تو7.7باید کنتراستو تنظیم کنیم یا همینجوری زمینش کنیم مثل بقیه پروتئوسا جواب یده؟
(۰۳-دى-۱۳۸۹, ۱۶:۱۹:۲۹)WhiteNoise نوشته است: [ -> ]
نقل قول: دوست عزیز برنامه ای که من نوشتم با ترتیب پایه هاییه که شما وصل کرده بودین...
تو پروتئوس هم جواب میده
برای شما بله
ولی برنامه من نه
برنامه خودم رو اون جواب نمیده
در ضمن بنده مهرداد هستم:d
آقا ابراهیم
تو پروتئوس هیچ کدوم از برنامه ها با هیچ کدوم از نقشه ها نمیخونه
البته عوض کردم پروتئوسو
تو7.7باید کنتراستو تنظیم کنیم یا همینجوری زمینش کنیم مثل بقیه پروتئوسا جواب یده؟
اگه منظورت ال سی دیه که زمینش کن...
زمینش کردم
ولی با هیچکدوم برنامه ها جواب نداد
اصلا انگار نه انگار کیپدی هستو میکرویی
خود سیو پروتئوسو بزارم؟
با سلام
ببخشید من امروز کلاس داشتم و نبودم
آقا مهرداد من از روی عکسی که شما داده بودید مدار رو بستم اما جواب نداد حتی جا به جا کردم بر عکس کردم و... اما به قول خودت هیچ مداری داخل پرتیوس خوب عمل نمیکنه

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

از هر دو شما دوستان و استادان و برادران عزیز سمیمانه تشکر میکنم
کوچیک هر دوی شما
فرزاد
کد:
$regfile = "m32def.dat"
$crystal = 8000000   سرعت کاری...البته برای تنظیمش باید تو فیوز بیتها تنظیم بشه
Config Lcd = 16 * 2 معرفی ال سی دی

Config Lcdpin = Pin , Db4 = Porta.7 , Db5 = Porta.6 , Db6 = Porta.5 , Db7 = Porta.4 , E = Porta.3 , Rs = Porta.2
طریقه اتصال ال سی دی به میکرو
Config Kbd = Portd , Debounce = 150 , Delay = 100
اتصال کی پد به پورت bو برای جلوگیری از نویز کلید ها یا BOUNCE این تاخیر رو ایجاد میکنیم..
    : Dim A As Byte , B As Byte معرفی متغییر ها از نوع بایت
  Cursor Off کرسر یا مکان نما خاموش
   Cls پاک کردن ال سی دی
Do حلقه بینهایت

    A = Getkbd() هر چی مقدار کی پد هست بریز تو متغییر آ
if a<16 then   اگر آ کوجکتر از 16 بود انوقت
     B = Lookup(a , Ebi) هر چی مقدار آ هست رو از زیر برنامه ebi بریز تو b..
یعنی فرض کن عددی که کی پد میربزه تو آ صفر هست اونوقت میکرو میره به زیر برنامه ebi و اولین عدد (که من برات مشخص کردم از صفر تا 15 رو ) رو میریزه تو b
      Home  مکان نما سطر اول ستون اول
       Lcd B ; "  " نمایش بده b رو... و یه جا خالی ایجاد کن
        Home L مکان نما سطر اول ستون دوم
         Lcd A ; " " نمایش بده آ رو
end if انتهای شرط
Loop انتهای حلقه و برگشت به do
Ebi: زیر برنامه
Data 10 , 20 , 30 , 60 , 9 , 6 , 3 , 50 , 8 , 5 , 2 , 0 , 7 , 4 , 1 , 40
'Data 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15
ممنون از توضیحاتت
اما اگه میشه اینارو بیشتر توضیح بده

Config Kbd = Portd , Debounce = 150 , Delay = 100
اتصال کی پد به پورت bو برای جلوگیری از نویز کلید ها یا BOUNCE این تاخیر رو ایجاد میکنیم


B = Lookup(a , Ebi)


Cursor Off کرسر یا مکان نما خاموش



Home مکان نما سطر اول ستون اول



Lcd B ; " " نمایش بده b رو... و یه جا خالی ایجاد کن


Home L مکان نما سطر اول ستون دوم



راستی اینا چی هستند؟
Data 10 , 20 , 30 , 60 , 9 , 6 , 3 , 50 , 8 , 5 , 2 , 0 , 7 , 4 , 1 , 40
'Data 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15

صفحه‌ها: 1 2 3 4