PIC mikrokontrolleri PIC16F877A LED miltillovchi ketma-ketlik kodi va ish tushuntirishi: - To'liq kod quyida berilgan (oxirida tekshiring), bu erda biz uni satr bo'yicha olamiz. Ushbu kod bosish tugmasi bosilganda LEDlarni ketma-ket porlashni boshlaydi . Ketma-ketlikni tushunish uchun darsning oxiridagi videoni tomosha qiling. Videoda ko'rsatilgan natijani quyidagi kod bilan solishtirishni va dasturni tushunishga harakat qilishni tavsiya qilaman.
- Keling, kodni satr bo'yicha ko'rib chiqaylik. Birinchi qatorlar avvalgi qo'llanmada tushuntirilgan konfiguratsiya bitlarini o'rnatish uchun mo'ljallangan, shuning uchun men ularni hozircha o'tkazib yuboraman. Har qanday dasturni tushunishning eng yaxshi usuli bu asosiy ( void main () ) funktsiyasidan boshlashdir, shuning uchun buni qilaylik.
- TRISB0=1; //MCUga PORTB pin 0 tugmasi uchun kirish sifatida ishlatilishini ko'rsating.
- TRISD = 0x00; // MCU ga barcha pinlar chiqishi haqida ko'rsatma bering
- PORTD=0x00; // Barcha pinlarni 0 ga boshlang
- TRIS so'zi pinning kirish/chiqish sifatida ishlatilishini aniqlash uchun ishlatiladi va PORT so'zi pinni High/Past qilish uchun ishlatiladi. TRISB0=1 chizig'i B PORTining 0-pinini kirish sifatida amalga oshiradi. Bu bizning tugmachamiz bo'ladi . Chiziqlar TRISD = 0x00; PORTD=0x00; D portining barcha pinlarini Chiqish sifatida yaratadi va bu pinlarga LOW boshlang'ich qiymatini tayinlaydi.
- B0 kirish sifatida ishlatilganligini aytganimiz uchun tugmachaning bir uchini B0 piniga, ikkinchi uchini esa erga ulaymiz. O'sha paytgacha biz tugmachani bosganimizda, yuqoridagi ulanish diagrammasida ko'rsatilganidek, pin erga tegib turadi. Lekin buni amalga oshirish uchun biz tortishish qarshiligini ishlatishimiz kerak, shunda tugma bosilmaganda pin yuqori ushlab turiladi. Yuqoriga tortish rezistori shunga o'xshash narsa.
Ammo bizning PIC MCU ichki zaif tortish rezistoriga ega bo'lib, uni dasturiy ta'minot orqali faollashtirish mumkin, bu juda ko'p qiyinchiliklarni tejaydi (ko'proq tugmalar ulanishi kerak bo'lganda). Zaif tortish rezistori nima? Ikki turdagi tortish rezistorlari mavjud, biri zaif tortish, ikkinchisi esa kuchli tortish . Kuchsiz tortish rezistorlari yuqori qiymatga ega va shuning uchun kuchsiz oqim o'tishiga imkon beradi va kuchli tortish rezistorlari past qiymatga ega, shuning uchun kuchli oqim o'tishiga imkon beradi. Barcha MCU asosan zaif tortish rezistorlaridan foydalanadi. Buni PIC MCU-da faollashtirish uchun quyidagi rasmda ko'rsatilganidek, OPTION_REG (opsiya registri) uchun ma'lumotlar varaqimizga qarashimiz kerak.
Do'stlaringiz bilan baham: |