মাইক্রোকন্ট্রোলার

প্রাথমিক মাইক্রোকন্ট্রোলার শিক্ষা [বিট, রেজিস্টার নিয়ে কিছু কথা]

সবাইকে আমার পক্ষ থেকে আবার স্বাগতম, আশা করি সবাই ভালই আছেন। আমি অন্তর আহমেদ। আজ আমি আপনাদের মাইক্রোকন্ট্রোলার bit, Register এবং নাম্বার সিস্টেম সম্পর্কে কিছু বলবো। আমি ২য় পর্বে বলেছিলাম বিট রেজিস্টারের কথা যা আমাদের প্রোগ্রামিং এর প্রতিটা পদে পদে প্রয়োজন। এটি মূলত কোন পর্ব না। ২য় পর্বের একটি এক্সট্রা অংশ বিশেষ।

Register:

-> PIC এর অনেক register থাকে। যেমন, Timer, ADC, PORT, TRIS ইত্যাদি ইত্যাদি। সাধারণত রেজিস্টার 8 bit,10 bit, 16 bit এর হয়ে থাকে। একটি PIC এর ভেতরে প্রায় অনেক গুলো রেজিস্টার আছে এবং এই রেজিস্টার গুলো কত বিটের তা আমরা সেই PIC এর datasheet দেখে জানতে পারব।

নিচের ছবিটি দেখুন। এইটা 16f72 মডেলের একটি মাইক্রোকন্ট্রোলারের datasheet এর অংশ। এখান থেকে আমরা জানতে পারছি- এই PIC এ তিনটা টাইমার আছে যা যথাক্রমে Timer0 = 8 bit, Timer1 = 16 bit, Timer2 = 8 bit। ইত্যাদি আরও অনেক কিছু আমরা datasheet থেকেই জানতে পারি। (PIC এর Timer নিয়ে আমি পরবর্তীতে একটি পর্ব লিখব)

Bit:

-> উপরে আমরা দেখলাম রেজিস্টার 8 bit, 16 bit বা তার বেশিও হয়ে থাকে। রেজিস্টারের প্রতিটি বিটকেই মূলত বিট বলে। যেমন, PORTB register এর PORTB.0, PORTB.1, PORTB.2.... ইত্যাদি হল বিট। তাহলে আমরা বলতেই পারি বিট হল রেজিস্টারের একক।

এখন আমরা উপরের ছবি দেখে বুঝতেই পারছি, PORTA, PORTB, PORTC হল PORT Register এবং RC0 বা PORTC.0, RC1 বা PORTC.1 ইত্যাদি হল উক্ত রেজিস্টারের এর বিট।

মাইক্রোকন্ট্রোলার নিয়ে কাজ করতে হলে আমাদের অবশ্যই Register, Bit সম্পর্কে ভালো ধারনা থাকতে হবে। 

Binary কোড কি?

-> 0 এবং 1 ই binary number. মাত্র ২টা অংক। অর্থাৎ যে নাম্বার পদ্ধতিতে শুধুমাত্র 0 এবং 1 দিয়ে সব কিছু করা হয় তাকেই বাইনারি কোড বা নাম্বার পদ্ধতি বলে।

Decimal কোড কি?

-> 0 থেকে ৯ পর্যন্ত decimal number। মোট ১০টা অংক। আমরা সাধারণত যে নাম্বার ব্যবহার করি সেটাই decimal number.

Hexadecimal কোড কি?

-> 0 থেকে ৯ এবং A, B, C, D, E, F. মোট ১৬টা অংক।

নাম্বার রূপান্তকরন প্রক্রিয়াঃ 

আমি আপনাদের সুত্র দিয়ে সময় নষ্ট করে রূপান্তর করা শিখাতে চাই না। windows এর সাথে দেয়া সাধারণ calculator দিয়েই আমরা রূপান্তর করা শিখব। নিচে প্রক্রিয়া দেখানো হলঃ

১। প্রথমে windows এর calculator প্যানেল ওপেন করুন। নিচের মত একটি window আসবেঃ

২। View> Programmer অথবা কীবোর্ড থেকে alt+3 চাপুন।

৩। নিচের মত window আসবে। তারপর নিচের ছবির মত setting করে নিনঃ

Related Post

৪। এখন decimal কোড সিলেক্ট করা আছে। উদাহরণস্বরূপ আমি ২৫৫ লিখেছি। ছবিতে দেখুন আমরা সাথে সাথে বাইনারি কোড পেয়ে যাচ্ছি। এখন আপনি dec এর জায়গায় অন্য কোনটা সিলেক্ট করেই রূপান্তর করতে পাবেন। যেমন, এখন যদি আমরা Hex সিলেক্ট করি তাহলে দেখতে পারব "FF" দেখাচ্ছে। তারমানে ২৫৫ এর Hex code হল "FF".

Hex = hexadecimal, Dec = decimal, Oct = Octal, Bin = Binary.

Register, bit এবং নাম্বারিং সিস্টেম এর একটি উদাহরনঃ 

ধরি, আমরা কোন একটি মাইক্রোকন্ট্রোলারের PORTB রেজিস্টার এর RB.0, RB.2, RB.5, RB.7 বিট গুলো আউটপুট করব এবং বাকি বিট গুলো ইনপুট করব। আমি আগের পর্বে বলেছিলাম PORT আউটপুট/ইনপুট নির্ধারণের রেজিস্টার হল TRIS Register. তাহলে দেখে নেই কিভাবে আমরা উক্ত বিট/পিন গুলো আউটপুট/ইনপুট হিসেবে নির্ধারণ করবঃ

আমরা জানি, ইনপুট = ১, আউটপুট = ০; তাহলে,

RB7     RB6      RB5      RB4      RB3      RB2      RB1      RB0

0          1          0          1           1          0         1           0

[ক্রম অবশ্যই বাম দিকে সর্বোচ্চ থেকে দান দিকে সর্বনিম্ন হবে।]

আমরা বাইনারিতে পেয়ে গেলাম, TRISB = 0b01011010;

// এখানে "0b" হল MikroC compiler এর বাইনারি নির্দেশক। এটা লিখলে compiler বুঝলে পারে আপনি বাইনারি কোড ইনপুট করেছেন। এবং TRIS এর সাথে "B" হওয়ার কারণ আমরা PORTB নিয়ে কাজ করতেছি।

নাম্বার রূপান্তর করেঃ

TRISB = 0x5A;

// এখানে "0x" হল MikroC compiler এর Hex কোড নির্দেশক। এটা লিখলে compiler বুঝলে পারে আপনি Hex কোড ইনপুট করেছেন।

TRISB = 90;

//এখানে "৯০" হল Decimal কোড। decimal কোড নির্দেশ করতে কোন compiler এই কোন  নির্দেশক লাগে না।

আশা করি সবাই বুঝতে পেরেছেন। তাও যদি কেও কোন কিছু না বুঝে থাকেন তাহলে কমেন্ট করতে পারেন।

আল্লাহ হাফেয।

This post was last modified on August 24, 2016 10:04 am

Antor Ahmed

আমি মাইক্রোকন্ট্রোলার নিয়ে বিগত ৪ বছর যাবত কাজ করছি। ইলেক্ট্রনিক্স আমার পেশা নয়। আমি এখনও একজন ছাত্র। কিন্তু ভবিষ্যতে এটিকেই আমার পেশা হিসেবে নিতে চাই। আমি প্রায় ১০০+টিও বেশি ভার্সিটি প্রোজেক্ট সম্পূর্ণভাবে করেছি এবং বেশ কিছু প্রফেশনাল প্রোজেক্টও করেছি।

Leave a Reply

Your email address will not be published. Required fields are marked*

Share
Published by

Recent Posts

করোনা ভাইরাস প্রতিরোধে হ্যান্ড ওয়াশ চ্যালেঞ্জ - হ্যান্ড ওয়াশ টাইমার তৈরি করুন সহজেই

করোনা ভাইরাসের ভয়াবহতা নিয়ে আপনাদের বলার মত কিছু নেই। এটি যেকোনো জায়গায় থাকতে পারে এবং…

March 24, 2020

আরডুইনো দিয়ে স্ক্রলিং এলইডি মেসেজ ডিসপ্লে (ভিডিও সহ)

সকল বন্ধুদের স্বাগতম আমার আরডুইনো দিয়ে স্ক্রলিং এলইডি মেসেজ ডিসপ্লে প্রজেক্টে। এটা খুবই মজার একটি প্রজেক্ট।…

November 28, 2017

ভোঁতা ড্রিল বিট ধারালো করে নিন সহজেই (ভিডিও টিউটোরিয়াল)

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

June 24, 2017

পাওয়ার ট্রান্সফরমার তৈরী করবার হিসাব নিকাশ (ক্যালকুলেটর সহ)

ভূমিকা পাওয়ার ট্রান্সফরমার তৈরী করতে চান অনেকেই। এই লেখার মাধ্যমে এটি তৈরী করবার প্রয়োজনীয় ক্যালকুলেশন…

June 16, 2017

তৈরি করুন সহজ কোড লক সিকিউরিটি সুইচ

কোড লক সিকিউরিটি সুইচ আমরা প্রায়ই মুভিতে দেখি। যেখানে নির্দিষ্ট কোড ঢুকানোর পর কোন সুইচ…

June 12, 2017

মাল্টিমিটার দিয়ে ট্রানজিস্টর এর বেজ, ইমিটার ও কালেক্টর লেগ বের করা

মাল্টিমিটার দিয়ে কিভাবে কোনো ট্রানজিস্টর এর বেজ, ইমিটার ও কালেক্টর (Base, Emitter & Collector) বের…

June 2, 2017