ايران ويج

نسخه‌ی کامل: كمك درباره ي برنامه ي avr
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
با سلام مجدد

آيم بك !Happy من فقط يه چند تا سوال دارم


Buzzer_pin Alias Pind.7 : Buzzer_port Alias Portd.7 : Config Buzzer_pin = Output : Set Buzzer_port


' Dim Teste2p(50) As Eram Byte : Teste2p(1) = 0 : Teste2p(50) = 0

Dim A As Byte , B As Byte , A2 As Word , B2 As Word , B_keypad As Byte , Daley_palse As Word,

Dim B_max_gas_2_z As Byte , B_max_gas_1_z As Byte
ميشه يكي بهم بگه اينا چي هستن ؟ البته بيشتر تيكه ي Dim Teste2p(50) As Eram Byte : Teste2p(1) = 0 : Teste2p(50) = 0
رو متوجه نميشمSad

و همين طور يه جاييش گفته شده Config Adc = Single , Prescaler = Auto , Reference = Avcc : Start Adc ميشه بگين اين براي چيه ؟

راستي اگه ميشه لطف كنين تو مدارش بگين اين LED ها و مقاومت ها چه مي كننSad

مدارش تو پيوست هست

ممنونم از كمك هاتون
سلام
دوست من همانطور که قبلا توضیح دادم شما باید bascom رو یاد بگیرید. این ها دستورات زبان بیسیک که ساخت یافت شده برای avr هستند.
درست مثل این که بگید من رانندگی نمیخوام یاد بگیرم و حتی رانندگی بلدم اما فقط یکی توضیح بده که اون سه تا پدال زیر پای راننده چیه؟
آقای 1nafar واقعا زحمت کشیدن. هم برای این سایت هم برای آموزش دیگران مثل خود من. من خودم همه این موارد رو از نوشته های ایشون و کمک و راهنمایی سایرین یاد گرفتم.
کمی هم تلاش کنی بد نیست
اما برای اینکه دست خال نرفته باشی قبلا گفتم که
Dim Teste2p(50) As Eram Byte : Teste2p(1) = 0 : Teste2p(50) = 0
رو به صورت زیر در بیار
Dim Teste2p(50) As Eram Byte
Teste2p(1) = 0
Teste2p(50) = 0
خوب در سط اول یه جدول با 50 خونه از نوع byte در حافظهEram میکرو ایجاد کرده
در سر دوم خونه شماره یک جدول معادل صفر شده
در سطر سوم خونه شماره 50 جدول معادل 0 شده
توضیح سطر زیر مفصل و با توضیح سرسری چیز زیادی دستگیرت نمیشه
Config Adc = Single , Prescaler = Auto , Reference = Avcc : Start Adc
این سطر رو به صورت زیر بنویس
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
(ADC = Analog Digital Convertor)
با توجه به معنی اون باید سیگنال های آنالوگ به سیگنال های مربعی یا همون دیجیتال تبدیل بشه در سطر اول دستگاه ADC تعبیه در میکرو پیکربندی و راه اندازی میشه. در گزینه Prescaler = Auto هماهنگی این دستگاه با ساعت درونی سیستم به صورت اوتوماتیک انجام میشه و در گزینه Reference = Avcc تغذیه این دستگاه بصورت خارجی تامین میشه
در سطر بعدی دستگاه adc روشن و شروع بکار میکنه

ال ای دی ها یکی برای اینکه نشون بده که دستگاه داره شماره میگیره
یکی دیگه هم احتمالا روشن بودن یا اختاری رو نشون میده
مقاومت هم همیه برای کنترل یا بهتر بگه کاهش ولتاژ و جریان و در موارد ورودی به میکرو بعنوان pullup یا pulldown بکار میرن

امیدوارم کارت راه بیفته
ممنونم ،خوب من ميكرو پاس نكردم ولي اين پروژه رو دارم ، اين طور هم نيس كه فقط اومدم اينجا سوال مي پرسم و خودم كار نكردم گفتم كه اون پي دي اف مربوط به برنامه رو يه بار خوندم جدا از اون كتاب ميكروي علي كاهه رو هم خوندم ولي متاسفانه هنوز هم مشكل دارم

دستورات مربوط به ال سي دي رو تا يه حدودي بلدم مشكلم فقط با كي پد هس كه نمي دونم چطوري مياد وسط برنامه Sad

بازم از كمك هاتون ممنونم خيلي لطف كردين
مثلا من اصلا اين قسمت برنامه رو متوجه نميشم !
[
quote]Key_pad:

Sot11 Alias Portd.3 : Sot21 Alias Portd.2 : Sot31 Alias Portd.1
Sot1 Alias Pind.3 : Sot2 Alias Pind.2 : Sot3 Alias Pind.1

Sat11 Alias Portd.7 : Sat21 Alias Portb.7 : Sat31 Alias Portb.6 : Sat41 Alias Portd.4
Sat1 Alias Pind.5 : Sat2 Alias Pinb.3 : Sat3 Alias Pinb.5 : Sat4 Alias Pind.4

Config Sot1 = Output : Config Sot2 = Output : Config Sot3 = Output
Config Sat1 = Input : Config Sat2 = Input : Config Sat3 = Input : Config Sat4 = Input :

Set Sat11 : Set Sat21 : Set Sat31 : Set Sat41

Set Sot21
Set Sot31
Reset Sot21
Waitms 1

If Sat1 = 0 Then
B_keypad = 1
Goto End_key_pad

Elseif Sat2 = 0 Then
B_keypad = 4
Goto End_key_pad

Elseif Sat3 = 0 Then
B_keypad = 7
Goto End_key_pad

Elseif Sat4 = 0 Then
B_keypad = 16
Goto End_key_pad

Else : End If


Set Sot21
Set Sot11
Reset Sot21
Waitms 1

If Sat1 = 0 Then
B_keypad = 2
Goto End_key_pad

Elseif Sat2 = 1 Then
B_keypad = 5
Goto End_key_pad

Elseif Sat3 = 0 Then
B_keypad = 8
Goto End_key_pad

Elseif Sat4 = 0 Then
B_keypad = 0
Goto End_key_pad

Else : End If

Set Sot21
Set Sot11
Reset Sot31
Waitms 1

If Sat1 = 6 Then
B_keypad = 3
Goto End_key_pad

Elseif Sat2 = 5 Then
B_keypad = 6
Goto End_key_pad

Elseif Sat3 = 0 Then
B_keypad = 9
Goto End_key_pad

Elseif Sat4 = 0 Then
B_keypad = 32
Goto End_key_pad

Else : End If
B_keypad = 20
Return

End_key_pad:
Call Buzzer_on
Waitms 200
Return

Buzzer_on:
Dim Loop_buzz As Word
'For Loop_buzz = 1 To 50
' Toggle Buzzer_port
Reset Buzzer_port
Waitms 10
'Next Loop_buzz
Set Buzzer_port : Return




End[/quote][/quote]

آخه اصلا دستور config kdb نداره debounce نداره ! delay نداره ! حتي اونجا كه ميگه goto end_key_pad اونجا هم هيچ ليبلي نيست ! Amaze خوب من ايناش رو متوجه نميشم ! Sad
اين sot1 و sat 1 خروجي كي پد هستن ؟ چي هستن ؟!
سلام
منم میکرو پاس نکردم
اما سوالات تاپیک قبلیت یکمی با سوال این تاپیک فرق میکنه.
چون من خودم با همین پرسش و پاسخ ها تو این سایت یه چیزایی یاد گرفتم و همیشه خوذمو مدیون این سایت میدونم سعی کردم راهنماییت کنم ام به نظر من دار اشتباه میکنی. این روش درستی نیست.
یه میکرو 3 تومن یه بردبرد 3 تومن 500 تومن یه دسته سیم. 3 4 تومن یه شارژر موبایل از این سوزنیا 500 میلی آمپر با دو سه تا ال ای دی و راستی یه ال سی دی هم 3 تومن کلا 10 12 تومن خرید کن. اگر پروگرمر داری که هیچ. اگر نداری یه پروگرمر از این 8 9 تومنیا بخر خودتو یه عمر راحت کن منم کم کم شروع میکنم هر چی بلد بودم بهت انتقال میدم مثل بقیه دوستان.
خودمم مي دونم روش درستي نيس ! اما من فردا بايد ارائه بدم ! مدارش هم دارم ! فقط برنامه اش رو بلد نيستم ! كه مي خواستم اگه ميشه بهم كمك كنين !
سلام
یه نگاه به برنامت بنداز ببین چه قشنگ ساب روتین

End_key_pad:
Call Buzzer_on
Waitms 200
Return

نوشته شده. دیدیش؟
ببین دوست من. استفاده از دیبانس که حتمی نیست شما میتونید تو یه لوپ با دستور if و قرار دادن waitms 10 یک وقفه بگذاردی که همین کا رو این برنامه نویس کرده.
ابتدا اومده برای پین های ورودی میکرو یک نام گذاری کرده. بعد در ازاری ورودی هر پین یک مقدار به متغیر B_keypad داده و بعد ادامه برنامه رو به End_key_pad ارجاع داده ساب روتین End_key_pad که تقریبا آخرای برنامه اگر نگاه کنی میبینیش
B_keypad = 5
Goto End_key_pad
امیدوارم مفید باشه

اما خودمونیم، کلا برنامه رو حسابی پیچونده و الکی این شاخه اون شاخه پریده و از روشهای ساده و متداول برنامه نویسی استفاده نکرده. کاشکی زودتر میومدی تا با برنامه های ساده تر شروع میکردی و الان دیگه میتونستی این برنامه خودت بنویسی
صفحه‌ها: 1 2