توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : 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
لطفا در قسمت بدست اوردن مقدار خوانده شده توسط پایه adc برای نمایش روی سگمنت کمک کنید
دیتا شیت سنسور اپلود کردم
پایه 5 به مثبت 5 ولت و پایه 2 به منفی وصل کردم و پایه 4 به pc0
من که بسکام بلد نیستم...اگه تو شبیه سازی درست جواب میده مشکل از برنامه نیست پس..
ولی منظورم شماتیکی که واسه میکرو بستی بود..فک کنم کامل نبستی..به پایه ی avcc ولتاژ دادی؟با خازن و سلف؟
اره این کار انجام دادم
وقتی پایه ریست به زمین وصل میکنم سگمنت خاموش میشه علت چیه؟
اره این کار انجام دادم
وقتی پایه ریست به زمین وصل میکنم سگمنت خاموش میشه علت چیه؟
خوب طبیعیه..وقتی به زمین وصل میکنی میره تو حالت ریست دیگه...باید به مثبت وصل کنی نه زمین...
mdsi.feb
19-04-2013, 04:13
اگه با c می نوشتی خیلی خوب بود
من با bascom خیلی وقت کار نکردم
اما چند نکته برات می نویسم که به ترتیب باید ببینی و چک کنی
چون اوایل من هم از این مشکلات داشتم فکر می کنم راه حل توی یکی از این موارد باشه
1.از صحت عمل کرد نرم افزارت توسط یک شبه ساز مثل protuse مطمئن شو
2.حتما فیوز بیتای میکرو تو پیکر بندی کن بعد روی میکرو write کن
( اخه وقتی رو دیفالت خودشه بعضی از پایه های میکرو کارای دیگه انجام میداند)
3.مطمئن شو که فیوز بیتهای کریستال میکروت روی همون چیزی هست که می خوای
4.وقتی داری یک برنامه مثل عمل کرد adc یا پردازش مقادیری اعمال شده بر روی میکرو ت رو آنالیز می کنی
حتما اول تو شبیه ساز با یک lcd چک کن ضرر ندار چند خط اضافه کنی و بعدش پاک کنی
5. اگه از delay استفاده میکنی ، دقت کن که در جای مناسب بنویسیش
(اوایل کار با آزمون و خطا تست کن بعد می فهمی کجاها ازش استفاده کنی )
mdsi.feb
19-04-2013, 04:26
واسه نمایش روی سگمنت باید اول ببینی که عددت چند رقم داره
خیلی کارها میشه کرد
با بسکام یادم نیست چکار می کردم ولی یر راه ساده اینکه با lcd عدد و نمایش بدی
(حالا فرض میگریم اعشار نمیخوای نمایش بدی)
اگه اعشار داشت و نمی خواستیش حذفش کنی
اگه یک رقم بود که میرزیمش تو b
اگه عدد دو رقمی بود خود خیلی سادس عدد تقسیم بر 10 و میریزیم تو متغییر a
باقی ماندش رو هم میرزیم تو b
حالا سگمنتا یکیش aو اون یکی b رو نشون میده
راهای دیگه رو هم تو c بلدم :mrgreen:
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.