২. 8051 সম্পর্কে কিছু ভুল ধারনার অবসান


8051 মাইক্রোকন্ট্রোলারের জন্ম আজকে থেকে প্রায় ৩৭ বছর আগে। কিন্তু আজকে ২০১৭ সালে এসে এটা শিখে আমাদের লাভ কি? এখন কি আর 8051 এর মত এত পুরান মডেলের মাইক্রোকন্ট্রোলারের দাম আছে নাকি? দেখতে এত বড় ৪০ পিনের আইসি, তারপর সীমিত সংখ্যক পেরিফেরালস, এডিসি (মাইক্রোকন্ট্রোলারের অন্যতম পেরিফেরাল) নাই, ক্লক স্পিড কম এ শিখে লাভ কি??



আমারও ঠিক এমনটাই ধারনা ছিল। এখনও কিঞ্চিৎ আছে সে বিষয়ে সন্দেহ নাই। কিন্তু একাডেমিক কোর্সের প্রেসারে পরেই অনেকটা শিখার আগ্রহ হয়েছে। তবে শিখতে এসে যে ভুল ধারনা টা ভেঙেছে সেটা হল 8051 দিয়েই আসলে মাইক্রোকন্ট্রোলারে হাতেখড়ি হওয়া উচিৎ। আর হাতেখড়ি না হলেও অন্তত 8051 সম্পর্কে বেসিক ধারনা টুকু রাখা উচিৎ। আফটার অল প্রথম ৮ বিট মাইক্রোকন্ট্রোলার বলে কথা। :D

আরও একটা প্রধান কারন হল এই মাইক্রোকন্ট্রোলারে সীমিত সংখ্যক পেরিফেরালস থাকার জন্যে সব কিছু অনেক গুছিয়ে শিখা যায়। ৭ দিন একটু সময় দিলেই প্রত্যেকটা রেজিস্টার এবং বিট মোটামোটি ভাবে মুখস্ত হয়ে যাবে। এবং এদের সীমিত সংখ্যার জন্যে এদের এড্রেস মনে রাখাও খুব একটা কঠিন কাজ হবেনা। রেজিস্টারের নাম,বিটের নাম আর এদের এড্রেস মনে রাখা এসেম্বলি ল্যাঙ্গুয়েজের জন্যে খুবই জরুরি। যদিও আমি পার্সোনালই এসেম্বলি ল্যাঙ্গুয়েজ দেখে খুবই ভয় পাই। 

আচ্ছা এখন হল আরডুইনোর যুগ। এসব কথা কারোই ভালো লাগবে না খুবই স্বাভাবিক। এত কষ্ট করে হিসাব করে কোড করার চেয়ে আরডুইনোতে রেডিমেড লাইব্রেরি ইউজ করা বেটার অনেকের কাছেই। আর যেখানে আরডুইনো তে র‍্যাম ২কিলোবাইট, ৮কিলোবাইট সেখানে এই ১২৮ বাইট র‍্যামে প্রোগ্রাম করে সিস্টেম হ্যাং করতে কেউ ই রাজি থাকবে না। কিন্তু এম্বেডেড সিস্টেম সম্পর্কে যদি প্রকৃতপক্ষেই কারো ইন্টারেস্ট থাকে,কোড লিখে কি ভাবে হার্ডওয়ার কাজ করানো যায়,এম্বেডেড সিস্টেমে কমিউনিকেশন প্রোটোকল গুলো কিভাবে কাজ করে, হার্ডওয়ার কমিউনিকেশন প্রোটোকল না থাকলেও যে কোড লিখে সফটওয়্যার এর মাধ্যমে কমিউনিকেশন প্রোটোকলকে কাজ করানো যায় কিভাবে,সীমিত র‍্যামে কিভাবে সিস্টেম হ্যাং না করে কোড করা যায় এসব বিষয়ে খুব ভালো ভাবেই জানা যাবে এই মাইক্রোকন্ট্রোলার নিয়ে কাজ করলে। তবে এটা কন্টিনিউ করতে বলিনি আমি কখনই। আমি নিজেও AVR সিরিজ দিয়ে শুরু করেছিলাম এবং ৩ বছর ধরে AVR দিয়েই কাজ করে আসছি।

8051 শিখতে এসে আমিও অনেক নতুন কিছু শিখেছি। এর আগে আলসেমি করে আমিও অনেক কিছু 'র' কোড করতাম না, যেমন এলসিডি সবসময় ই লাইব্রেরি ইউজ করে করতাম, এরকম আরও অনেক হার্ডওয়্যার কন্ট্রোলের ক্ষেত্রে আমি লাইব্রেরি ইউজ করতাম। কিন্তু 8051 শিখতে এসে অনেক কিছুই 'র' কোড করে শিখতে হয়েছে।

আর আরডুইনো আসার পরে কারনে অকারনে অনেক সময় আরডুইনো ইউজও করা হয়েছে। তবে বড় কোন প্রোজেক্টে যেমন রোবটিক্সের  কাজে যেখানে অনেক কিছু কনট্রোল করতে হয়, সেখানে আরডুইনো ইউজ করাই বেটার। 

8051 সম্পর্কে বেসিক ধারনা থাকলে অন্য  যেকোন মাইক্রোকন্ট্রোলারে সুইচ করলে সেই মাইক্রোকন্ট্রোলার সম্পর্কে শিখাটা খুব বেশি কঠিন হবে না বলে আশা করি। আর অন্য মাইক্রোকন্ট্রোলার শিখা থাকলে 8051 দুধ ভাত।
যাই হোক কাওকে মোটিভেট করা আমার প্রধান উদ্দেশ্য না। এম্বেডেড সিস্টেম সম্পর্কে খুটিনাটি যাতে জানার সহজ পদ্ধতি সম্পর্কে বললাম শুধুমাত্র। এরপরের পোস্ট থেকে আমরা 8051 সম্পর্কে আলোচনা করবো।

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি