PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : pull up قرار دادن ورودی میکرو



parisa707
13th November 2011, 08:51 PM
سلام

برای اینکه بتونید مقاومت های pull up داخلی رو فعال کنید باید مستقیما در رجیسترهای پورت بنویسید و خود بسکام دستوری برای انجام این کار نداره! البته نوشتن روی رجیستر خیلی بهتر هم هست. من یه آموزش کوچولو اینجا میذارم :

هر پورت در میکروکنترلرهای AVR سه تا رجیستر داره که عبارتند از :

1. رجیستر DDRX : این رجیستر جهت درگاه رو مشخص می کنه ، یعنی اگه برابر 0 باشه پورت بصورت ورودی تعریف میشه و اگه 1 باشه پورت ما خروجی خواهد بود.

این رجیستر بصورت پورت یا پین در دسترس هست ، به مثال های زیر توجه کنید:

DDRA=&hFF این دستور کل پورت A را ورودی تعریف می کند.
DDRA.2=1 این دستور پین A.2 را خروجی تعریف می کند.

2. رجیستر PORTx : این رجیستر درواقع رجیستر خروجی پورت هست ، به این معنی که مقدارهایی که قراره روی پورت قرار بگیرن در خودش نگه می داره! اصطلاحا میگیم روی پورت می نویسه. این رجیستر بصورت پورت و پین در دسترسه.

Portb=&h0F این دستور عدد 15 رو روی پورت B می نویسه.
Portc.1=0 این دستور مقدار 0 رو روی پین C.1 می نویسه.


3. رجیستر PINx : این رجیستر در حقیقت همون رجیستر ورودی هست که مقدار سخت افزاری موجود روی پورت رو می خونه و در خودش نگه می داره. اصطلاحا میگیم از روی پورت می خونه. این رجیستر هم ، بصورت پورت و پین در دسترس هست.

S=PinA این دستور مقدار فیزیکی موجود روی پورت A رو می خونه و در متغیر S می ریزه.
W=Pinb.3 این دستور مقدار موجود روی پین B.3 رو می خونه و در متغیر W می ریزه.

از طرفی در حالت ورودی هر یک از پین های AVR می تونن pull up یا HiZ (های ضد - امپدانس بالا) باشن ، برای pull up کردن یک پین کافیه اونو ورودی تعریف کنید و بعد مقدار 1 رو روی اون بنویسید. (اگه مقدار 0 رو بنویسید اون پین HiZ میشه)

بنابراین کافیه به صورت زیر عمل کنید :

مثلا برای ورودی تعریف کردن پین : DDRB.1=0
و برای فعال کردن مقاومت pull up داریم : Portb.1=1

hadi elec
21st November 2011, 09:20 PM
خب دوستان این دستوراتی که توسط دوستمون گفته شد برای برنامه بسکام هست توی کد ویژن کمی این کدها عوض میشن این 3 تا رجیستر تغییری نمیکنن اینجا و همه جا ثابت هستند ولی مقدار دهی متفاوته ddra=0x00 ddrb=0xff ddrc=0x23 portb=0xff portb.5=1 w=pinc t=pinc.4 بقیه توضیحات گفته شده در پایین اینجا هم صدق میکنن

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد