ايران ويج

نسخه‌ی کامل: خواندن مقدار 8 بیتی ADC
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام من یه ولوم دارم و میخوام با این ولوم مقدار یه pwm رو از 0 تا 255 تغییر بدم

تو بسکام باید مقدار adc رو تو یه متغیر از نوع word بریزم

حالا باید چه طوری این مقدار رو که از adc خونم رو بدم به یکی از کانال های pwm?

با تشکر.
اگه منظورتون رو درست فهمیده باشم باید این کار رو انجام بدبد:با دستور
کد php:
Select Case Ad1
Case 0 To 100
Pwm1a 
230

Case 100 To 200
Pwm1a 
229

Case 200 To 300
Pwm1a 
227

Case 300 To 400
Pwm1a 
225

Case 400 To 500
Pwm1a 
222

Case 500 To 600
.
.
.
.
End Select 
یا اینکه pwm رو برابر با یک متغیر از نوع word قرار بدبد و تو دستور بالا به جای pwm از اون متغیر استفاده کنید
سلام
یکی از دوستان این پروژه رو گذاشتن رو سایت
به بخش پرتال سایت برید
فکر کنم اسمش"کنترل دور موتور با ولوم" باشه

خوش باشید
منظورم این بود:

کد php:
dim W as Word

W
=getadc(0)

pwm1a=
ولی تو خط آخر w از نوع word هست چه طوری میتونم به byte تبدیلش کنم؟
چه طوری ADC رو تو مد 8 بیتی راه اندازی کنم؟

من این طوری راه اندازیش کردم:

کد php:
Config Adc Single Prescaler Auto Reference Avcc 

با تشکر.
انقدرها هم پيچيده نيست ها !!!
اگر ADC 10 بيت هست ، يعني ماكسش 1024 هست. ماكس PWM 8 بيت هم 255 ، خوب يه تناسب ببند!
1024/255 تقريبا مي شه 4
يعني هر 4 واحد تغيير در ADC معادل يك واحد تغيير در PWM
به عبارت ديگه ، مقدار ADC رو كه مي خوني تقسيم بر 4 كن و بريزش توي PWM .

تبديل نوع متغييرها هم كامپايلر اتوماتيك انجام مي دهه.
سخت بود!!
این رو موتجه نشدم "تبديل نوع متغييرها هم كامپايلر اتوماتيك انجام مي دهه."

یعنی من این کار رو کنم درسته؟
کد php:
dim w as word

dim b 
as byte

b
=w/
درسته؟
اگر تعداد بيت ها هموني باشه كه گفتم و مثال زدم، بله درسته.
البته خيلي وقته با بسكام كار نكردم ، اما احتمال خيلي زياد همونطور كه گفتم تبديل رو انجام مي دهه.

اگر رنج بيت واحدهاي مختلف هم تفاوتي دارهه ، يه تناسب جديد مثل چيزي كه گفتم ببنديد.