3. Simple circuit এবং Keil uVision


3.1 Simple circuit for working of 8051(8051 এর কাজ করার জন্য প্রয়োজনীয় সরল বর্তনী)

3.2 প্রোগ্রামিং 8051

8051 মাইক্রোকন্ট্রোলার কে প্রোগ্রাম করার জন্য প্রথমেই প্রয়োজন একটি প্রোগ্রামিং এনভায়রনমেন্ট( Programming Environment) যেটি কোন ডেস্কটপ কম্পিউটারে ইনস্টল করতে হবে। 8051 মাইক্রোকন্ট্রোলার প্রোগ্রামিঙের জন্য ব্যবহৃত এনভায়রনমেন্ট গুলি হল SDCC বা Small Device C Compiler, Keil uVision প্রভৃতি। ব্যবহৃত প্রোগ্রামিং ল্যাঙ্গোয়েজ হল C এবং অ্যাসেম্বলি ল্যাঙ্গোয়েজ। বর্তমান গ্রন্থসূত্রে আমরা শুধুমাত্র C এবং অ্যাসেম্বলি উভয় ল্যাঙ্গোয়েজ ই ব্যবহার করব। SDCC ব্যবহারের ক্ষেত্রে কোড লেখার জন্য যেকোনো Text Editor এর সাহায্য নেওয়া হয়। ফাইলটিকে filename.c -এই ভাবে অর্থাৎ .C এক্সটেনশন সহ সেভ করা হয়। পরে কম্যান্ড প্রম্পট থেকে ঐ ফাইলটিকে SDCC কম্পাইলার দ্বারা কম্পাইল করা হয়। অপর পক্ষে Keil uVision এ আমরা আমাদের C কোডকে সহজে কম্পাইল এবং এ থেকে সহজেই .hex ফাইল তৈরি করতে পারি। এই .hex ফাইলকেই আমরা মাইক্রোকন্ট্রোলারে আপলোড করি।

Keil uVision ব্যবহারের জন্য প্রয়োজনীয় অপারেটিং এনভায়রনমেন্ট www.keil.com/download/ লিঙ্ক থেকে ডাউনলোড করতে হবে।

3.3 Keil uVision এর ব্যবহার

কোন নতুন প্রোজেক্ট তৈরি করতে গেলে মেনু বার থেকে Project —> New uVision Project… চয়ন করতে হবে। এরপর আমরা নীচের উইন্ডোটি পাব।

এই উইন্ডোতে আমরা আমাদের প্রোজেক্ট নেম (FirstProj) দিলাম এবং সেভ করলাম। এরফলে FirstProj প্রোজেক্টটি তৈরি হবে। এবার Keil uVision নিজেই নতুন একটি উইন্ডো ওপেন করবে। এখানে কোন্‌ মাইক্রোকন্ট্রোলারে আমরা আমাদের হেক্স ফাইল আপলোড করব তা নির্দিষ্ট করতে হবেঃ

প্রোজেক্ট ফাইল আমাদের আগে থেকেই তৈরি করা থাকলে কোন্‌ মাইক্রোকন্ট্রোলারে আমাদের প্রোগ্রাম(.hex ফাইল) আপলোড করব তা সিলেক্ট করার জন্য মেনু বার(Menu Bar) থেকে Projects–>Select Device for Target ‘Target1’… সিলেক্ট করতে হবে।

যে উইন্ডো ওপেন হবে তাতে যে মাইক্রোকন্ট্রোলার আমরা ব্যবহার করছি (এ ক্ষেত্রে AT89S52) তা আমরা সিলেক্ট করব। এরপর যে উইন্ডো আসবে তাতে “Yes” বাটন ক্লিক করবঃ

এবার আমাদের প্রোগ্রাম কোড লেখার জন্য আমরা নতুন ফাইল ওপেন করবঃ File —> New মেনু থেকে।

একটি টেক্সট এডিটর ওপেন হবে –

এই এডিটরে আমরা আমাদের C কোড লিখব এবং ফাইলটিকে সেভ (test.c) করব।

  • ফাইলটকে সেভ করার জন্য মেনু বার থেকে File –> Save অপশন ক্লিক করতে হবে। উপরের ন্যায় একটি উইন্ডো ওপেন হবে। এখানে আমাদের নির্দিষ্ট ফাইল নেম বসিয়ে সেভ করতে হবে।
  • এবার এই ফাইলটিকে আমরা আমাদের প্রোজেক্টের (FirstProj) সাথে যুক্ত করব। এর জন্য আমাদের বাম দিকের Project উইন্ডোতে যে Source Group 1 দেখা যাচ্ছে সেখানে রাইট ক্লিক করব। Source Group 1 —> Add Files to Group ‘Source Group 1’ চয়ন করবঃ

  • যে উইন্ডোটি ওপেন হবে সেখানে আমরা test.c ফাইলটি চয়ন করব।

আমরা দেখতে পাব যে test.c ফাইলটি আমাদের FirstProj প্রোজেক্টের অন্তর্ভুক্ত হয়ে গেছে।

  • যে C প্রোগ্রাম আমরা Keil uVision এ লিখব তা এর কম্পাইলার দ্বারা .hex ফাইল তৈরি করবে। এই .hex  ফাইলই আমরা আমাদের মাইক্রোকন্ট্রোলারে আপলোড করব। প্রয়োজনীয় .hex ফাইলের আউটপুট ডিরেক্টরি, ফাইল নেম, XTal Value ইত্যাদি নানা অপসন্স সিলেক্ট করার জন্য মেনু বার থেকে Projects–>Options for Target ‘Target1’… চয়ন করতে হবে।

  • Projects–>Options for Target ‘Target1’… সিলেক্ট করার পর নীচের উইন্ডোটি খুলবে।

Figure 23

  • এখানে আমরা প্রথমে ‘Select Folder for Objects’ বাটনটি সিলেক্ট করে আমরা আমাদের .hex ফাইলের আউটপুট ফোল্ডার সিলেক্ট করব।তারপর ‘Create Executable’ রেডিও বাটনটি সিলেক্ট করব অতঃপর ‘Create HEX file’ চেক বক্স সিলেক্ট করব।
  • এর পর ঐ একই উইন্ডোতে Target অপশনে সিলেক্ট করে Xtal ভ্যালু এবং MCU model type (এক্ষেত্রে AT89S52) ঠিক আছে কিনা দেখে নেব।

Figure 24

এবার ‘OK’ বাটনটি প্রেস করে আমরা আমাদের সেটিংস সেভ করব এবং উইন্ডোটি ক্লোজ করব।

পূর্বের সেভ করা কোন প্রোজেক্ট খুলতে গেলে আমাদের মেনু বার থেকে Project –> Open Project মেনু চয়ন করতে হবে। যদি এডিটরের বাম পার্শের Project Window না দেখা যায় তাহলে আমরা View –> Project Window চয়ন করব।এই প্রোজেক্ট উইন্ডোতে পূর্বে শেষ যে প্রোজেক্ট তৈরি করেছি সেটি উন্মোচিত হবে।

Figure 25

আমরা যে প্রোগ্রাম কোড আগেই লিখেছি(test.c) এবং সেটি FirstProj প্রোজেক্টে অন্তর্ভুক্ত করেছি সেটি কম্পাইল করার জন্য আমরা Project –> Build Target চয়ন করলামঃ

Keil uVision step

Figure 26

  • কম্পাইলেশনে কোন এরর(error) না থাকলে আউটপুট ফোল্ডারে .hex ফাইল তৈরি হবেঃ

Keil uVision step

Figure 27

3.4 ব্রেড বোর্ড পরিচিতি (Know Your BreadBoard)ঃ

আমরা এখন একটি সাধারণ ব্রেড বোর্ডের গঠন ও ব্যবহার সম্বন্ধে জানব। নীচে আমরা একটি সহজ লভ্য ব্রেডবোর্ডের চিত্র দেখতে পাচ্ছি। এই ব্রেড-বোর্ডের উপর এবং নীচ প্রান্তের অনুভূমিক (Horizontal) ভাবে সাজানো যে দুটি পিন হোলের সারি রয়েছে তাদের দশটির মধ্যে প্রথম পাঁচটির প্রতিটি সারি(row) নিজেদের মধ্যে পরস্পর সংযুক্ত। অনুরূপভাবে দ্বিতীয় পাঁচটির প্রতিটি সারিও পরস্পর নিজেদের মধ্যে সংযুক্ত। ব্রেড বোর্ডটির মধ্যভাগের ডিপ্রেসড লাইনের দুই পার্শে যে পিন হোল গুলি রয়েছে তাদের প্রতিটি উল্লম্ব শ্রেণীর প্রতিটি পিন হোল পরস্পর সংযুক্ত।

know breadboard

Figure 28

পরবর্তী কয়েকটি ধাপে আমরা একটি টেস্ট হেক্স ফাইল 8051/52 মাইক্রোকন্ট্রোলারে আপলোড করব। 8051/8052 MCU তে হেক্স ফাইল আপলোডের জন্য আমরা পরবর্তী সার্কিট ডায়াগ্রামটি(Figure 29) অনুসরন করবঃ

এবার আমরা মেইন উইন্ডো এডিটরে একটি ছোট প্রোগ্রাম লিখব.