یه چشمک زن سه کاناله دارم که با پتانسیومتر یک کیلومیره از adcمیخونه و ویتمس رو اجرا میکنه تو شبیه سازی درست اجرا میشه ولی برد عملیش با چرخاندن پتانسیو متر اتفاقی نمیفته مشکل از برنامه نویسیه؟ برد رو درست وصل کردم
اینم فایل برنامه و شبیه سازیش
یه چشمک زن سه کاناله دارم که با پتانسیومتر یک کیلومیره از adcمیخونه و ویتمس رو اجرا میکنه تو شبیه سازی درست اجرا میشه ولی برد عملیش با چرخاندن پتانسیو متر اتفاقی نمیفته مشکل از برنامه نویسیه؟ برد رو درست وصل کردم
اینم فایل برنامه و شبیه سازیش
ویرایش توسط 1nafar : 28-04-2014 در ساعت 09:11 دلیل: تصحیح عنوان
سلام
در صورتی که مدار رو دست بسته باشید ، یعنی :
پایه های avcc و aref رو به vcc متصل کرده باشید
فیوز بیت های مربوط به کریستال برروی 4 مگاهرتز تنظیم شده باشه .
ولوم استفاده شده خطی باشه و ولتاژ 0 تا 5 ولت رو به صورت خطی به میکروکنترلر بده
و...
شما هر سه led رو به صورت خاموش یا روشن با نور کم میبینید .
وقتی که پتانسیومتر بر روی حداکثر قرار داره led ها با تاخیر 150 میلی ثانیه و وقتی که پتانسومتر بر روی حداقل قرار داده led ها با تاخیر 50 میلی ثانیه روشن و خاموش میشن و شما نمیتونید روشن و خاموش شدن اونا رو ببینید.
بهتره تاخیر رو بیشتر کنید .
ویرایش توسط رسول21 : 28-04-2014 در ساعت 20:36
سه تا ال ای دی معمولیه
ویتش کم شده زمان خاموش و روشن شدن مشهوده ولی پتانسیو متر عمل نمیکنه نمیدونم چرا؟با ولتمتر ولتاژسر وسطی و کناری پت رو گرفتم تغییر میکنه بین صفر تا5 ولی نمیدونم چرا زمانش با تغییر پت عوض نمیشه مثل اینکه ADCاصلا فعال نیست؟کد:$regfile = "M8DEF.DAT" $crystal = 4000000 Config Portd = Output Config Adc = Single , Prescaler = Auto Dim A As Word Dim B As Word Dim E As Word Const C = 5 Const D = 100 Do Start Adc Enable Adc Portd.2 = 0 Portd.0 = 1 A = Getadc(5) B = A / C E = B + D Waitms E Portd.0 = 0 Portd.1 = 1 A = Getadc(5) B = A / C E = B + D Waitms E Portd.1 = 0 Portd.2 = 1 A = Getadc(5) B = A / C E = B + D Waitms E Loop
برنامه زیر رو تست کن :
برای تست این برنامه در عمل ، باید خروجی پتانسیومتر رو به پایه ADC0 ( پایه 23 میکروکنترلر ) متصل کنی .کد:$regfile = "M8DEF.DAT" $crystal = 4000000 Config Portd = Output Config Adc = Single , Prescaler = Auto Dim A As Word Dim B As Word Dim E As Word Const C = 5 Const D = 100 Start Adc Do Portd.2 = 0 Portd.0 = 1 A = Getadc(0) A = A * 3 Waitms A Portd.0 = 0 Portd.1 = 1 Waitms A Portd.1 = 0 Portd.2 = 1 Waitms A Loop
زمانش خیلی زیاده