مدرس و مدیر گروه سابق دانشکده فنی و حرفه ای انقلاب اسلامی، طراح و مسئول برق در چندین شرکت تولیدی |
نحوه خواندن عدد از پورت در avr
در این جا برای شما دوستان قسمتی از برنامه نویسی avr را آموزش می دهیم که در آن نحوه خواندن عدد از پورت ورودی میباشد. گاهی اوقات لازم است که در میکرو کنترلر ها مقدار را از پورت ورودی بخوانیداین برنامه طریقه خواندن مقدار را از پورت ورودی را نشان می دهد.
یک پورت از 8 عدد پین تشکیل شده است که هر کدام از این پین ها دارای یک مقدار مشخص شده می باشد.
مثلا Portb میکرو کنترلر avr از 8 عدد پین که هر کدام دارای مقدار مشخص می باشد . برای تفهیم این جمله ادامه مطالب را دنبال نمایید.
(جهت خواندن ادامه متن بر روی ادامه مطلب کلیک نمائید)
مثلا پورت B در میکرو از 8 پایه تشکیل شده است که برای هر پایه نامی مشخص شده است.
به پایه شماره 1 از پورت PB0 گفته می شود.
به پایه شماره 2 از پورت PB1 گفته می شود.
به پایه شماره 3 از پورت PB2 گفته می شود.
به پایه شماره 4 از پورت PB3 گفته می شود.
به پایه شماره 5 از پورت PB4 گفته می شود.
به پایه شماره 6 از پورت PB5 گفته می شود.
به پایه شماره 7 از پورت PB6 گفته می شود.
به پایه شماره 8 از پورت PB7 گفته می شود.
این پایه ها به ترتیب بر اساس سیستم دودوهی اولویت بندی و مقدار دهی شده اند.که در جدول زیر نشان داده شده است.
مثلا:اگر شما به همه 8 تا پین های پورت ، صفر منطقی (صفر ولت ) وصل نمایید مقدار خوانده شده میکرو از این پورت 0 است.به این صورت که میکرو ابتدا مقدار پایه PB0 را خوانده و در عددی که برای ان مشخص شده ضرب میکند که طبق جدول بالا این عدد مقدارش 1 می باشد در نتیجه مقدار خوانده شده از ورودی که صفر است ( به دلیل وصل کردن این پایه به صفر ولت ( را در 1 ضرب می کند و جواب صفر می شود.
برای بقیه پایه نیز این عمل را انجام می هد و سپس در مرحله اخر تمامی جواب ها را با هم جمع می کند.
که در زیر نشان داده شده است.(لازم به یاداوری است که در مثال ما تمامی پایه ها به صفر ولت وصل شده اند)
در قسمت بالا اعدادی که رنگ ان ها ابی است مقدار خوانده شده میکرو از ان پایه بوده است.
اعدادی که با رنگ بنفش مشخص شده است ضریب هر خانه (مقدار مشخص شده برای هر خانه می باشد)
اعدادی که با رنگ قرمز مشخص شده است حاصل ضرب مقدار خوانده شده میکرو از هر پایه ضربدر ضریب ان خانه می باشد.
سپس میکرو مقادیر بدست امده را با هم جمع می کند و مقدار کلی خوانده شده از پورت B مشخص می شود مانند نمونه زیر که مقدار خوانده شده از کل پورت B برابرصفر می باشد.
حال اگر به پایه 1 (PB0) پورت B ولتاژ 5 ولت را وصل نمایید که برای میکرو به منزله 1 منطقی می باشد و به پایه های 2و3و4و5 پورت B که به ترتیب یعنی PB4,PB3,PB2 , PB1 ولتاژ صفر ولت را وصل نمایید که برای میکرو به منزله صفر منطقی می باشد و به پایه های 6و7 و8 پورت B که به ترتیب یعنی PB7,PB6,PB5 ولتاژ 5 ولت را وصل نمایید که میکرو ان را یک منطقی می خواند مقدار خوانده شده از پورت به صورت زیر حساب می شود.
سپس میکرو مقدار جواب های بدست امده را با هم جمع می کند ومقدار خوانده شده از یک پورت بدست می اید.
به همین سادگی اعداد بدست می اید.
حال دستوری که می توان به کمک ان این کار را انجام داد در زیر اورده شده است که مقدار خوانده شده از پورت B را در متغییر A می ریزد.
در این قسمت برنامه ای برای شما اماده شده است که مقدار را از پورت های B و D توسط میکرو خوانده می شود و بر روی LCD نشان داده می شود و این عمل هر 1 ثانیه یک بار اتفاق می افتد که در زیر در عکس نشان داده شده است.
ابتدا در برنامه مقدار پورت ها را صفر در نظر گرفته ایم و فقط کافی است ولتاژ 5 ولت به پایه متصل شود و دیگر نیاز نیست ولتاژ صفر ولت را به ورودی اعمال کنید برای همین از یک دیپ سوییچ در ورودی پورت استفاده شده که ولتاژ 5 ولت را به پایه ها قطع و وصل می کند.
برای بزرگ تر و بهتر دیدن عکس بر روی ان کلیک نمایید.
منبع:سایت اختصاصی مقالات و مدارات الکترونیک-یزد کیت دات کام
جهت دانلود برنامهاین جا کلیک کنید
رمز قرار داده شده بر روی فایل :www.yazdkit.com
![]() |
POWERED BY BLOGFA.COM |
![]() |