PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : استفاده از چند کانال adc در ميکرو atmega16



m.riahi
28-11-2014, 01:42
میخواستم بدونم چطوری میشه از چند کانال adc میکرو atmega16 (در بسکام )استفاده کرد.
مثلا از 4 کانال که هرکدام کار خاصی انجام دهند

abbasalifix
28-11-2014, 12:56
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim V1 As Word
Dim V2 As Word
Dim V3 As Word
Do
V1 = Getadc(0)
V2 = Getadc(1)
V3 = Getadc(2)
Print "v1;" ; V1
Print "v2;" ; V2
Print "v3;" ; V3

Waitms 500
Loop
End 'end program



سلام
این یک نمونه کد هست
باید پایه avcc رو به 5 ولت و پایه agnd رو به زمین وصل کنید
هرکدوم رو خواستید بخونید طبق نمونه ای که گذاشتم خونده میشه
این برنامه نمونه هارو به پورت سریال میفرسته

- - - Updated - - -


$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim V1 As Word
Dim V2 As Word
Dim V3 As Word
Do
V1 = Getadc(0)
V2 = Getadc(1)
V3 = Getadc(2)
Print "v1;" ; V1
Print "v2;" ; V2
Print "v3;" ; V3

Waitms 500
Loop
End 'end program



سلام
این یک نمونه کد هست
باید پایه avcc رو به 5 ولت و پایه agnd رو به زمین وصل کنید
هرکدوم رو خواستید بخونید طبق نمونه ای که گذاشتم خونده میشه
این برنامه نمونه هارو به پورت سریال میفرسته

m.riahi
28-11-2014, 16:22
ممنون از جوابتون
فکر کنم من خیلی بد سوالمو توضیح دادم
چون ورودی های adc میکرو به صورت mux هستن (یعنی در یک زمان فقط یک ورودی فعاله) میخواستم بدونم اگه از چند کانال adc بخوایم استفاده کنیم نیاز به فرمانی نداریم ؟ میکرو چطور میفهمه که کدوم ورودی adc فعاله؟
یه مثال میزنم: اگه بخوایم ورودی adc0 ولتاژ ، ورودی adc1 جریان ، adc2 فرکانس ، adc3 مقاومت رو بخونن ( مثل یه مولتی متر ) چطور باید مشخص کنیم که در هر لحظه کدوم ورودی فعاله ؟ نیاز به فرمان نداره ؟؟

abbasalifix
28-11-2014, 18:24
نه نیاز به فرمان خاصی نیست منتهی موفقع خوندن مقدار ها باید شماره پایه مورد نظرتون رو وارد کنید مثلا برای adc0 باید با فرمان


Getadc(0)
اون رو بخونید