نحوه خواندن عدد از پورت در avr


در این جا برای شما دوستان قسمتی از برنامه نویسی avr را آموزش می دهیم که در آن نحوه خواندن عدد از پورت ورودی میباشد. گاهی اوقات لازم است که در میکرو کنترلر ها مقدار را از پورت ورودی بخوانیداین برنامه طریقه خواندن مقدار را از پورت ورودی را نشان می دهد.

یک پورت از 8 عدد پین تشکیل شده است که هر کدام از این پین ها دارای یک مقدار مشخص شده می باشد.

مثلا Portb میکرو کنترلر avr از 8 عدد پین که هر کدام دارای مقدار مشخص می باشد .

 مثلا پورت B در میکرو از 8 پایه تشکیل شده است که برای هر پایه نامی مشخص شده است.

به پایه شماره 1 از پورت  PB0 گفته می شود.

به پایه شماره 2 از پورت PB1 گفته می شود.

به پایه شماره 3 از پورت  PB2 گفته می شود.

به پایه شماره 4 از پورت  PB3 گفته می شود.

به پایه شماره 5 از پورت  PB4 گفته می شود.

به پایه شماره 6 از پورت  PB5 گفته می شود.

به پایه شماره 7 از پورت  PB6 گفته می شود.

به پایه شماره 8 از پورت  PB7 گفته می شود.

این پایه ها به ترتیب بر اساس سیستم دودوهی اولویت بندی و مقدار دهی شده اند.که در جدول زیر نشان داده شده است.

 

PB7

PB6

PB5

PB4

PB3

PB2

PB1

PB0

۱۲۸

۶۴

۳۲

۱۶

8

4

2

1


مثلا:اگر شما به همه 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 می ریزد.

 A=pinb