5. Delay Program with 8051


5.1 8051 মাইক্রোকন্ট্রোলারের সাহায্যে ডিলে প্রোগ্রাম

মাইক্রোকন্ট্রোলারের সাহায্যে দুই ধরনের Delay প্রোগ্রাম লেখা যায়। এক, লুপের সাহায্যে এবং দুই, Timer Register এর সাহায্যে।
5.1.1 8051 টাইমারের সাহায্য ব্যতীত Delay (লুপের সাহায্যে)ঃ 8051 Delay Program

শুধুমাত্র লুপের সাহায্যে আমরা ডিলে তৈরি করতে পারি। নীচে বর্ণিত দৃষ্টান্তে আমরা প্রোগ্রাম লুপের সাহায্য নিয়ে ডিলে তৈরি করব।

5.1.2 প্রয়োজনীয় উপকরণঃ

  1. AT89S51
  2. 10K Resistor
  3. 10uF Capacitor
  4. 33pF Capacitor (2 Pieces)
  5. 11.0592MHz Crystal Oscillator
  6. LED (16 Pieces)
  7. IC 7805
  8. Bread Board
  9. 9 Volt Battery
  10. Connecting Wire
  11. Burning Hardware

5.1.3 প্রয়োজনীয় সার্কিট ডায়াগ্রামঃ

Figure 42

নোটঃ মাইক্রোকন্ট্রোলারটি বার্ণিঙের পূর্বে মাইক্রোকন্ট্রোলারের সাথে ব্যাটারি কানেকশান ছিন্ন করতে হবে। মাইক্রোকন্ট্রোলার বার্ণিঙের জন্য মাইক্রোকন্ট্রোলারের P1.5 (পিন 6), P1.6 (পিন 7), P1.7(পিন 8), RESET (পিন 9), VCC (পিন 40) ও GND (পিন 20) কে Vegarobokit’s এর হার্ডওয়ার বার্ণার SP200 এর ISP কেবিলের যথাক্রমে MOSI, MISO, SCK, RST, VCC ও GND পিনের সাথে খোলা তার দ্বারা যুক্ত করতে হবে। সার্কিটটিকেসক্রিয় করার জন্য CN5 এবং CN6 কে যুক্ত করতে হবে।

5.1.4 প্রোগ্রাম কোডঃ

8051 এ P1, P2, P3, P4 এই চারিটি I/O পোর্ট বর্তমান। P1 = 0x00, এর অর্থ P1 পোর্টের আটটি পিনের প্রতিটিতে 0 নির্দিষ্ট করা। কারন প্রতিটি পোর্ট এক একটি 8 বিট রেজিস্টারকে প্রকাশ করে। সুতরাং আমরা P1 = 0x00 কে P1 = 0b00000000 এইভাবেও লিখতে পারি।

5.1.5 উপরের প্রোগ্রামটি আমরা Keil uVision এর এডিটরে লিখব:

উপরের প্রোগ্রামটি কম্পাইল করার পর .hex ফাইল জেনারেট করতে হবে। এই হেক্স ফাইলটি মাইক্রোকন্ট্রোলারে আপলোড করতে হবে। মাইক্রোকন্ট্রোলারটিকে চিত্র Figure42 এর ন্যায় সার্কিটে সংযুক্ত করলে এবং  16 ভোল্টের কম কোন ব্যাটারির সাথে যুক্ত করলে IC 7805 ঐ ভোল্টেজকে 5 ভোল্টে রূপান্তরিত করবে এবং 8051/52 মাইক্রোকন্ট্রোলারকে 5 ভোল্ট  সরবরাহ করবে। আমরা দেখতে পাব যে P1 ও P2 পোর্টের সাথে যুক্ত লেডগুলি নির্দিষ্ট সময়ের ব্যবধানে জ্বলছে এবং নিভছে। মাইক্রোকন্ট্রোলারে পাওয়ার সাপ্লাইয়ের জন্য আমরা যদি স্থিতিশীল 5 ভোল্ট আউটপুটের কোন মোবাইল চার্জার ব্যবহার করি তাহলে আমাদের ৭৮০৫ IC র প্রয়োজন হবে না। সেক্ষেত্রে আমরা ৫ ভোল্ট আউটপুটকে সরাসরি মাইক্রোকন্ট্রোলারের Vcc ও EA পিনের সাথে যুক্ত করব। [ মাইক্রোকন্ট্রোলার burning প্রক্রিয়াটি সহজ বোধ্য করার জন্য পূর্ববর্তী 4.3 থেকে 4.8 অনুচ্ছেদ দ্রষ্টব্য।]