نحوه خواندن عدد از پورت در avr
در این جا برای شما دوستان قسمتی از برنامه نویسی avr را آموزش می دهیم که در آن نحوه خواندن عدد از پورت ورودی میباشد. گاهی اوقات لازم است که در میکرو کنترلر ها مقدار را از پورت ورودی بخوانیداین برنامه طریقه خواندن مقدار را از پورت ورودی را نشان می دهد.
یک پورت از ۸ عدد پین تشکیل شده است که هر کدام از این پین ها دارای یک مقدار مشخص شده می باشد.
مثلا Portb میکرو کنترلر avr از ۸ عدد پین که هر کدام دارای مقدار مشخص می باشد . برای تفهیم این جمله ادامه مطالب را دنبال نمایید.مثلا پورت B در میکرو از ۸ پایه تشکیل شده است که برای هر پایه نامی مشخص شده است.
به پایه شماره ۱ از پورت PB0 گفته می شود.
به پایه شماره ۲ از پورت PB1 گفته می شود.
به پایه شماره ۳ از پورت PB2 گفته می شود.
به پایه شماره ۴ از پورت PB3 گفته می شود.
به پایه شماره ۵ از پورت PB4 گفته می شود.
به پایه شماره ۶ از پورت PB5 گفته می شود.
به پایه شماره ۷ از پورت PB6 گفته می شود.
به پایه شماره ۸ از پورت PB7 گفته می شود.
این پایه ها به ترتیب بر اساس سیستم دودوهی اولویت بندی و مقدار دهی شده اند.که در جدول زیر نشان داده شده است.
برای بزرگتر دیدن عکس بر روی عکس کلیک نمائید
مثلا:اگر شما به همه ۸ تا پین های پورت ، صفر منطقی (صفر ولت ) وصل نمایید مقدار خوانده شده میکرو از این پورت ۰ است.به این صورت که میکرو ابتدا مقدار پایه PB0 را خوانده و در عددی که برای ان مشخص شده ضرب میکند که طبق جدول بالا این عدد مقدارش ۱ می باشد در نتیجه مقدار خوانده شده از ورودی که صفر است ( به دلیل وصل کردن این پایه به صفر ولت ( را در ۱ ضرب می کند و جواب صفر می شود.
برای بقیه پایه نیز این عمل را انجام می هد و سپس در مرحله اخر تمامی جواب ها را با هم جمع می کند.
که در زیر نشان داده شده است.(لازم به یاداوری است که در مثال ما تمامی پایه ها به صفر ولت وصل شده اند)
در قسمت بالا اعدادی که رنگ ان ها ابی است مقدار خوانده شده میکرو از ان پایه بوده است.
اعدادی که با رنگ بنفش مشخص شده است ضریب هر خانه (مقدار مشخص شده برای هر خانه می باشد)
اعدادی که با رنگ قرمز مشخص شده است حاصل ضرب مقدار خوانده شده میکرو از هر پایه ضربدر ضریب ان خانه می باشد.
سپس میکرو مقادیر بدست امده را با هم جمع می کند و مقدار کلی خوانده شده از پورت B مشخص می شود مانند نمونه زیر که مقدار خوانده شده از کل پورت B برابرصفر می باشد.
حال اگر به پایه ۱ (PB0) پورت B ولتاژ ۵ ولت را وصل نمایید که برای میکرو به منزله ۱ منطقی می باشد و به پایه های ۲و۳و۴و۵ پورت B که به ترتیب یعنی PB4,PB3,PB2 , PB1 ولتاژ صفر ولت را وصل نمایید که برای میکرو به منزله صفر منطقی می باشد و به پایه های ۶و۷ و۸ پورت B که به ترتیب یعنی PB7,PB6,PB5 ولتاژ ۵ ولت را وصل نمایید که میکرو ان را یک منطقی می خواند مقدار خوانده شده از پورت به صورت زیر حساب می شود.
سپس میکرو مقدار جواب های بدست امده را با هم جمع می کند ومقدار خوانده شده از یک پورت بدست می اید.
به همین سادگی اعداد بدست می اید.
حال دستوری که می توان به کمک ان این کار را انجام داد در زیر اورده شده است که مقدار خوانده شده از پورت B را در متغییر A می ریزد.
در این قسمت برنامه ای برای شما اماده شده است که مقدار را از پورت های B و D توسط میکرو خوانده می شود و بر روی LCD نشان داده می شود و این عمل هر ۱ ثانیه یک بار اتفاق می افتد که در زیر در عکس نشان داده شده است.
ابتدا در برنامه مقدار پورت ها را صفر در نظر گرفته ایم و فقط کافی است ولتاژ ۵ ولت به پایه متصل شود و دیگر نیاز نیست ولتاژ صفر ولت را به ورودی اعمال کنید برای همین از یک دیپ سوییچ در ورودی پورت استفاده شده که ولتاژ ۵ ولت را به پایه ها قطع و وصل می کند.







سلام
آیا کاری که دو دستور
Dim A As Bit
A = Portb.0
واینA Alias Portb.0انجام می دن فرقی داره؟
salam. linke barnamei ke gozashtid download nemishe. baraye gereftane file bayad chikar konim. ba tashakor.
سلام
با عرض پوزش به دلیل مشکل پیش آمده
انشاالله با اماده شدن سرور اختصاصی که برای سایت خریداری شده تا هفته اینده کل سایت به سرور جدید انتقال خواهد یافت ومشکلات ذکر شده حل خواهد شد
سلام
بله شما در این حالت یعنی این:
Dim A As Bit
A = Portb.0
فقط متغیر a را به پایه pinb.0 نسبت می دین اما در اون اسم این پایه رو می زارین a و باید برای صدا کردن یا نوشتن دستورات مربوط به این پایه شما باید اسم a رو بنویسین و نمی تونین خود پایه رو بگین اما در حالت اول می تونین هر دو رو بگین.
mikhahim porta ra be onvane khoroji dara nazar begirim va rooye led motasel be in port 0ta 255 neshan dahad.
mishe begid chejoori bayad be led vasl kard
لطفا سوالات خود را در تالار گفتمان سایت مطرح سازید تا امکان پاسخ گویی و ارسال نقشه مدار و.. وجود داشته باشد .