পোস্টগুলি

জুন ১, ২০১৭ থেকে পোস্টগুলি দেখানো হচ্ছে
ছবি
১৩. 8051 এ প্রথম প্রোগ্রাম এবং সিমুলেশন এর আগের সব পোস্টে আমরা যা যা পড়েছি সবই ছিল 8051 মাইক্রোকন্ট্রোলার রিলেটেড থিওরিটিক্যাল জ্ঞান। আসলে একটি সিস্টেম সম্পর্কে থিওরিটিক্যাল জ্ঞান ভালো না হলে কখনই প্র্যাক্টিকাল ফিল্ডে ভালো করা যায়না। আমাদের অনেকরই ভুল ধারনা যে, যে প্র্যাক্টিকাল কাজে ভালো হয়, সে হয়ত থিওরিটিক্যালি দুর্বল হয় বা থিওরিটিক্যাল বিষয় বস্তু নেগ্লেক্ট করে। কিন্তু এমনটা কখনই নয়। একটা সিস্টেমে হাত দেয়ার আগে অবশ্যই সেটার থিওরিটিক্যাল বিষয় সম্পর্কে ভালোভাবে অবগত হতে হবে এবং সুস্পষ্ট ধারনা থাকতে হবে। আবার থিওরিটিক্যালি অনেক স্ট্রং হয়েও হাতে কলমে কাজ না করলে কিন্তু লাভ নেই। কারন একটি কাজ থিওরিটিক্যালি যতটা না সহজ বলে মনে হয় প্র্যাক্টিকালি করতে গেলে আসলে বোঝা যায় যে কত খুঁটিনাটি সমস্যা এসে হাজির হয় কাজটিতে। মাইক্রোকন্ট্রোলারের ক্ষেত্রেই চিন্তা করা যাক, 8051 মাইক্রোকন্ট্রোলারের সব রেজিস্টার এবং বিট সম্পর্কে যদি আমাদের ধারনা না থাকে, অর্থাৎ কোন বিট কোন কাজ করে সেই বিষয়ে যদি আমাদের ধারনা না থাকে তাহলে কখনই আমরা মাইক্রোকন্ট্রোলারের প্রোগ্রাম করতে পারবোনা। আবার আমরা কোনভাবে হ
ছবি
১২. মাইক্রোকন্ট্রোলারে প্রোগ্রাম করার কৌশল আজকের পোস্টে আমরা মাইক্রোকন্ট্রোলারে প্রোগ্রামিং কৌশল সম্পর্কে শিখব। আমাদের কম্পিউটারকে চালানোর জন্যে যেমন বিভিন্ন ধরনের সফটওয়্যার লাগে তেমনি মাইক্রোকন্ট্রোলারকে দিয়ে কাজ করাতে গেলেও আমাদেরকে কোড লিখতে হয়। এই কোড আমরা এসেম্বলি ল্যাংগুয়েজ বা সি ল্যাংগুয়েজ যেকোনটি ব্যবহার করে করতে পারি। এসেম্বলি হল লো লেভেল ল্যাংগুয়েজ এবং সি হল একটু হাই লেভেল ল্যাংগুয়েজ। আমরা মাইক্রোকন্ট্রোলারে যে হেক্স কোড আপলোড করি তার ঠিক আগের ধাপই হল এসেম্বলি ল্যাংগুয়েজ। এসেম্বলি দিয়ে মাইক্রোকন্ট্রোলারের সব বিট এবং রেজিস্টারে ডিরেক্ট প্রবেশ করা যায়। আমরা এর আগের পোস্টগুলোয় যে ইন্সট্রাকশনের কথা শুনেছিলাম সেই ইন্সট্রাকশন বলতে মূলত এসেম্বলি ল্যাংগুয়েজের এক একটি কম্যান্ড কে বোঝায়। যেমন কোন একটি বিট কে সেট করার জন্যে এসেম্বলির যে কম্যান্ড সেটাই একটি ইন্সট্রাকশন। এটা শুধু 8051 মাইক্রোকন্ট্রোলারের ক্ষেত্রেই নয় বরং সব মাইক্রোকন্ট্রোলার এবং মাইক্রপ্রসেসরের ক্ষেত্রেই প্রযোজ্য।  সি কে হাই লেভেল ল্যাঙ্গুয়েজ বলা হয় তার কারন হল সি দিয়ে প্রোগ্রামিং করা হয় একটি IDE (Integrated Dev
ছবি
১১. সিরিয়াল কমিউনিকেশনের চারটি মোড এবং এদের ডিটেইল্‌স এর আগের পোস্টে আমরা সিরিয়াল কমিউনিকেশন সম্পর্কে মোটামোটি ভাবে একটি ধারনা পেয়েছি এবং সেই সাথে 8051 মাইক্রোকন্ট্রোলারের সিরিয়াল কমিউনিকেশন পেরিফেরাল্‌স রিলেটেড রেজিস্টার, বিট এবং আর্কিটেকচার সম্পর্কেও ধারনা পেয়েছি। সেখান থেকেই আমারা জানতে পেরেছি যে 8051 মাইক্রোকন্ট্রোলারে সিরিয়াল কমিউনিকেশন চারটি ভিন্ন ভিন্ন মোডে হয়ে থাকে। সেই সাথে এটাও জেনেছিলাম যে UART প্রোটোকল অর্থাৎ অ্যাসিঙ্ক্রোনাস প্রোটোকলই প্রায় সব মাইক্রোকন্ট্রোলারের ক্ষেত্রে অধিক প্রচলিত। এটার কারন ছিলো কম কানেক্টিং ওয়্যার (২ টি TXD & RXD) লাগে। আজকে আমরা এই চারটি মোড সম্পর্কে জানবো এবং UART প্রোটোকলের ডেটা প্যাকেট কীভাবে কাজ করে তা সম্পর্কেও জানবো। UART প্রোটোকল কীভাবে কাজ করে প্রথমে, সেই বিষয়ে জেনে নেয়া যাক। UART হল অ্যাসিঙ্ক্রোনাস কমিউনিকেশন প্রোটোকল। অর্থাৎ এই প্রোটোকলে ক্লক পাল্‌স ব্যবহৃত হয়না। এক্ষেত্রে ক্লক পালসে্‌র বদলে ডেটা ট্রান্সফার রেট (bps) টার্মটি ব্যবহার করা হয়। যেহেতু ডেটা আদান-প্রদান নির্দিষ্ট ক্লক পালসে্‌ হয়না, সেহেতু ডেটাকে একটি নির্দিষ্ট