سلام
من یک پروژه دارم که یک مقدار انلوگ از سنسور میگیره و مقدارش روی سگمنت نشون میده رو نرم افزار مشکلی نداره اما حالا که پروگرام کردم قبل از اتصال سنسور پایه های خروجی میکرو در حالت hi قرار به نظر شما مشکل کجاست؟
سلام
من یک پروژه دارم که یک مقدار انلوگ از سنسور میگیره و مقدارش روی سگمنت نشون میده رو نرم افزار مشکلی نداره اما حالا که پروگرام کردم قبل از اتصال سنسور پایه های خروجی میکرو در حالت hi قرار به نظر شما مشکل کجاست؟
خوب تو برنامه حتمآ پول آپ شده دیگه...مشکلش چیه؟مگه قراره بدون سنسور کار کنه؟
درسته دایی جان - معمولا (بجز سری آرم) باقی میکرو ها وقتی قراره نمونه انالوگی قرائت بشه پایه در حالت ورودی قرار میگیره و در حال ورودی ممکنه پایه پول آپ باشه که توسط خود شما تعیین میشه ! و فکر نمی کنم مشکلی باشه
من سنسور وصل کردم ولی فرقی نکرد من تازه کارم میشه به زبان ساده تر توضیح بدین
مقدار رو نمیخونه؟
خوب پس شماتیک با برنامه رو بذار...
$regfile = "m8def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim Hosein As Word
Dim An As Single
Dim Bc As Byte
Dim B As Byte
Dim C As Byte
Config Portd = Output
Config Portb = Output
Do
(Hosein = Getadc(0
An = Hosein / 4
Bc = Pinc.0
Bc = Bc And &H01
B = An / 10
C = B * 10
C = An - C
(Portd = Lookup(b , Dta
( Portb = Lookup(c , Dta
Loop
Dta:
Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
ویرایش توسط h2k : 24-08-2012 در ساعت 00:33
لطفا در قسمت بدست اوردن مقدار خوانده شده توسط پایه adc برای نمایش روی سگمنت کمک کنید
دیتا شیت سنسور اپلود کردم
پایه 5 به مثبت 5 ولت و پایه 2 به منفی وصل کردم و پایه 4 به pc0
من که بسکام بلد نیستم...اگه تو شبیه سازی درست جواب میده مشکل از برنامه نیست پس..
ولی منظورم شماتیکی که واسه میکرو بستی بود..فک کنم کامل نبستی..به پایه ی avcc ولتاژ دادی؟با خازن و سلف؟
اره این کار انجام دادم
وقتی پایه ریست به زمین وصل میکنم سگمنت خاموش میشه علت چیه؟
اگه با c می نوشتی خیلی خوب بود
من با bascom خیلی وقت کار نکردم
اما چند نکته برات می نویسم که به ترتیب باید ببینی و چک کنی
چون اوایل من هم از این مشکلات داشتم فکر می کنم راه حل توی یکی از این موارد باشه
1.از صحت عمل کرد نرم افزارت توسط یک شبه ساز مثل protuse مطمئن شو
2.حتما فیوز بیتای میکرو تو پیکر بندی کن بعد روی میکرو write کن
( اخه وقتی رو دیفالت خودشه بعضی از پایه های میکرو کارای دیگه انجام میداند)
3.مطمئن شو که فیوز بیتهای کریستال میکروت روی همون چیزی هست که می خوای
4.وقتی داری یک برنامه مثل عمل کرد adc یا پردازش مقادیری اعمال شده بر روی میکرو ت رو آنالیز می کنی
حتما اول تو شبیه ساز با یک lcd چک کن ضرر ندار چند خط اضافه کنی و بعدش پاک کنی
5. اگه از delay استفاده میکنی ، دقت کن که در جای مناسب بنویسیش
(اوایل کار با آزمون و خطا تست کن بعد می فهمی کجاها ازش استفاده کنی )
ویرایش توسط mdsi.feb : 19-04-2013 در ساعت 08:14
واسه نمایش روی سگمنت باید اول ببینی که عددت چند رقم داره
خیلی کارها میشه کرد
با بسکام یادم نیست چکار می کردم ولی یر راه ساده اینکه با lcd عدد و نمایش بدی
(حالا فرض میگریم اعشار نمیخوای نمایش بدی)
اگه اعشار داشت و نمی خواستیش حذفش کنی
اگه یک رقم بود که میرزیمش تو b
اگه عدد دو رقمی بود خود خیلی سادس عدد تقسیم بر 10 و میریزیم تو متغییر a
باقی ماندش رو هم میرزیم تو b
حالا سگمنتا یکیش aو اون یکی b رو نشون میده
راهای دیگه رو هم تو c بلدم
ویرایش توسط mdsi.feb : 19-04-2013 در ساعت 06:04