8051 মাইক্রোকন্ট্রোলারে ব্যাংক এবং স্ট্যাক মেমরি বরাদ্দ নিবন্ধন করুন

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





সাধারণ উদ্দেশ্য নিবন্ধগুলির সংগ্রহ (আর -0-আর 7) রেজিস্টার ব্যাংক হিসাবে ডাকা হয়, যা এক বাইট ডেটা গ্রহণ করে। ব্যাংক নিবন্ধটি একটি অংশ এমবেড থাকা র‌্যাম মেমরি মাইক্রোকন্ট্রোলার এবং এটি প্রোগ্রামের নির্দেশাবলী সংরক্ষণ করার জন্য ব্যবহৃত হয়। প্রতিটি মাইক্রোকন্ট্রোলার বিভিন্ন মেমোরি ব্যাংক নিয়ে গঠিত এবং প্রতিটি ব্যাংকের রেজিস্টারে স্টোরেজের অবস্থান সনাক্ত করার জন্য একটি অনন্য ঠিকানা থাকে।

8051 এ ব্যাংকগুলি নিবন্ধন করুন

8051 এ ব্যাংকগুলি নিবন্ধন করুন

8051 এ ব্যাংকগুলি নিবন্ধন করুন



8051 মাইক্রোকন্ট্রোলার চারটি নিবন্ধক ব্যাংক রয়েছে, যেমন Bank0, Bank1, Bank2, Bank3 যা পিএসডাব্লু দ্বারা নির্বাচিত হয় (প্রোগ্রামের স্থিতি শব্দ) নিবন্ধক। এই রেজিস্টার ব্যাংকগুলি 8051 মাইক্রোকন্ট্রোলারের অভ্যন্তরীণ র‌্যাম মেমোরিতে উপস্থিত থাকে এবং মাইক্রোকন্ট্রোলার প্রোগ্রাম করার সময় ডেটা প্রক্রিয়াজাতকরণে ব্যবহৃত হয়।


নিবন্ধিত ব্যাংকগুলির স্যুইচিং



ডিফল্টরূপে, 8051 মাইক্রোকন্ট্রোলারটি রেজিস্টার ব্যাংক 0 দিয়ে চালিত হয় এবং প্রোগ্রামের স্ট্যাটাস ওয়ার্ড (পিএসডাব্লু) ব্যবহার করে আমরা অন্যান্য ব্যাঙ্কে যেতে পারি। পিএসডাব্লু এর দুটি বিট রেজিস্টার ব্যাংকগুলির মধ্যে স্যুইচিংয়ের জন্য ব্যবহৃত হয়। এই দুটি বিট বিট-ঠিকানাযোগ্য নির্দেশাবলী এসইটিবি এবং সিএলআর দ্বারা অ্যাক্সেস করা হয়েছে।

পিএসডাব্লুয়ের আরএস 1 এবং আরএস 0 এর সম্ভাব্য সংমিশ্রণের ভিত্তিতে নিবন্ধক ব্যাংকটি সেই অনুযায়ী পরিবর্তন করা হয়েছে, অর্থাত্, যদি আরএস 1 এবং আরএস 0 হয় তবে ব্যাংক 0 নির্বাচন করা হয়। একইভাবে, Bank1, 2 এবং 3 আরএস 1 এবং আরএস 0 এর মান অনুযায়ী নির্বাচিত হয়।

8051 মাইক্রোকন্ট্রোলারে স্টেম মেমরি বরাদ্দ

স্ট্যাকটি ভেরিয়েবলের সমস্ত প্যারামিটারগুলি অস্থায়ীভাবে ধরে রাখতে বরাদ্দ র্যান্ডম অ্যাক্সেস মেমোরির (র‌্যাম) একটি অঞ্চল। স্ট্যাকটি ক্রমটি যাতে আদেশ করা হয় যাতে এটি সঠিকভাবে ফিরে আসতে পারে সেই ক্রমটি মনে করিয়ে দেওয়ার জন্যও দায়ী। যখনই ফাংশনটি ডাকা হয়, প্যারামিটারগুলি এবং এর সাথে যুক্ত স্থানীয় ভেরিয়েবলগুলি স্ট্যাক (পুশ) এ যুক্ত হয়। যখন ফাংশনটি ফিরে আসে, তখন প্যারামিটারগুলি এবং ভেরিয়েবলগুলি স্ট্যাক থেকে সরানো হয় ('POP')। এই কারণেই প্রোগ্রাম চলাকালীন কোনও প্রোগ্রামের স্ট্যাকের আকার ক্রমাগত পরিবর্তিত হয়।


স্ট্যাক অ্যাক্সেস করতে ব্যবহৃত রেজিস্টারকে স্ট্যাক পয়েন্টার রেজিস্টার বলা হয়। স্ট্যাক পয়েন্টার একটি ছোট রেজিস্টার যা স্ট্যাকের দিকে নির্দেশ করতে ব্যবহৃত হয়। আমরা যখন স্ট্যাকের মেমরির মধ্যে কোনও কিছু চাপ দেই, তখন স্ট্যাকের পয়েন্টারটি বৃদ্ধি পায়।

8051 মাইক্রোকন্ট্রোলারে স্টেম মেমরি বরাদ্দ

8051 মাইক্রোকন্ট্রোলারে স্টেম মেমরি বরাদ্দ

উদাহরণ

যখন একটি 8051 মাইক্রোকন্ট্রোলার শক্তি বাড়ায়, উপরের চিত্রটিতে প্রদর্শিত হিসাবে ডিফল্ট হিসাবে স্ট্যাক পয়েন্টারযুক্ত মানটি 07 হয়। আমরা যদি ‘পুশ’ অপারেশন করি তবে স্ট্যাক পয়েন্টার ঠিকানাটি বাড়িয়ে অন্য রেজিস্টারে স্থানান্তরিত করা হবে। এই সমস্যাটি এড়াতে, প্রোগ্রামটি শুরু করার আগে, আমাদের স্ট্যাক পয়েন্টারে একটি আলাদা ঠিকানা অবস্থান নির্ধারণ করতে হবে।

পুশ অপারেশন

‘পুশ’ কোনও নিবন্ধ থেকে মান গ্রহণ এবং স্ট্যাক পয়েন্টারটির সূচিত ঠিকানা, অর্থাৎ, 00 ঘন্টা ‘পুশ’ অপারেশন ব্যবহার করে সংরক্ষণ করার জন্য ব্যবহৃত হয়। এবং, পরবর্তী ‘পুশ’ এর জন্য, এটি +1 বৃদ্ধি করে এবং স্ট্যাক পয়েন্টারটির পরবর্তী ঠিকানায়, অর্থাত্, 01 ঘন্টা মান সংরক্ষণ করে।

স্ট্যাকের পুশ অপারেশন

স্ট্যাকের পুশ অপারেশন

পুশ অপারেশন মানে (প্রথম প্রথম প্রথম)

উদাহরণ: পুশ অপারেশনের জন্য অ্যাসেম্বলি ভাষায় ওয়াপ AP

0000 ঘন্টা
MOV 08 ঘন্টা, # 21 ঘন্টা
MOV 09 ঘন্টা, # 56 ঘন্টা
পুশ 00 ঘন্টা
পুশ 01 এইচ
শেষ

পিওপি অপারেশন

এটি স্ট্যাক পয়েন্টারের সর্বোচ্চ ঠিকানা থেকে অন্য কোনও নিবন্ধকের ঠিকানায় মান স্থাপনের জন্য ব্যবহৃত হয়। আমরা যদি এই ‘পিওপি’ আবার ব্যবহার করি তবে তা 1 হ্রাস পাবে এবং যে কোনও রেজিষ্টারে সঞ্চিত মানটিকে ‘পিওপি’ হিসাবে দেওয়া হবে।

স্ট্যাক ইন পিওপি অপারেশন

স্ট্যাক ইন পিওপি অপারেশন

পিওপি অপারেশন মানে ‘লাস্ট ইন ফার্স্ট আউট’।

000 এইচ
মোভ 00 এইচ, # 12 এইচ
মোভ 01 এইচ, # 32 এইচ
পিওপি 1 এফএইচ
পপ 0EH
শেষ

8051 মাইক্রোকন্ট্রোলারের নিবন্ধগুলি

যদি আমরা সংযোজন বা বিয়োগফল কোনও অপারেশন করি তবে এই অপারেশনগুলি মেমরিতে সরাসরি সঞ্চালন করতে অক্ষম, এবং তাই রেজিস্টারগুলি ব্যবহার করে সঞ্চালিত হয়। বিভিন্ন ধরণের আছে 8051 মাইক্রোকন্ট্রোলারে নিবন্ধন করে

এই নিবন্ধগুলি তাদের ক্রিয়াকলাপের ভিত্তিতে দুটি ধরণের শ্রেণিবদ্ধ করা হয়:

• সাধারণ উদ্দেশ্য নিবন্ধ

• বিশেষ ফাংশন রেজিস্টার

সাধারণ উদ্দেশ্য নিবন্ধ

যেমনটি আমরা এই নিবন্ধে আগে আলোচনা করেছি যে প্রতিটি ব্যাংকের সাথে 8 টি ঠিকানার মতো 8-বিট রেজিস্টার রয়েছে এমন চারটি পৃথক ব্যাংক রেজিস্টার রয়েছে এবং একবারে কেবলমাত্র একটি ব্যাংকের নিবন্ধ ব্যবহার করা যেতে পারে। তবে, পতাকা নিবন্ধে ব্যাংক নিবন্ধকের নম্বর পরিবর্তন করে আমরা অন্যান্য ব্যাংক নিবন্ধগুলিতে অ্যাক্সেস করতে পারি, যা এই কাগজের সাথে আগে এই বিষয়ে আলোচনা করা হয়েছিল 8051 সালে বাধা ধারণা

বিশেষ ফাংশন রেজিস্টার

অ্যাকিউমুলেটর, রেজিস্টার বি, ডেটা পয়েন্টার, পিসিওএন, পিএসডাব্লু, ইত্যাদি সহ বিশেষ ফাংশন রেজিস্টারগুলি এফএফএইচ-এর 80H ঠিকানা সহ উত্পাদন করার সময় একটি পূর্বনির্ধারিত উদ্দেশ্যে ডিজাইন করা হয়েছে এবং এই অঞ্চলটি ডেটা বা প্রোগ্রাম স্টোরেজ উদ্দেশ্যে ব্যবহার করা যায় না। এই রেজিস্টারগুলি বিট অ্যাড্রেস এবং বাইট অ্যাড্রেস রেজিস্টারগুলির মাধ্যমে প্রয়োগ করা যেতে পারে।

বিশেষ ফাংশন রেজিস্টারগুলির প্রকারগুলি

8051 এ চারটি ইনপুট / আউটপুট সম্পর্কিত বিশেষ ফাংশন রেজিস্টার রয়েছে যার মধ্যে সম্পূর্ণ 32 আই / ও লাইন রয়েছে। বিশেষ ফাংশন রেজিস্টারগুলি I / O লাইনগুলি থেকে পড়া মানগুলিকে এবং 8051 এর ক্রিয়াকলাপ নিয়ন্ত্রণ করে এমন বিশেষ ফাংশন রেজিস্টারগুলিকে নিয়ন্ত্রণ করে The সহায়ক বিশেষ ফাংশন রেজিস্টারগুলি সরাসরি 8051 এর সাথে সংযুক্ত থাকে না - তবে বাস্তবে এই নিবন্ধগুলি ছাড়াই - 8051 সঠিকভাবে কাজ করতে পারে না। 8051 এর রেজিস্টার সেটটি নীচে ব্যাখ্যা করা হয়েছে।

8051 মাইক্রোকন্ট্রোলারের সেট নিবন্ধন করুন

রেজিস্টারে একটি স্থির ধ্রুবক মান নির্ধারণকে নিবন্ধকার সেট বলে। মান সেটরেশন সেট ব্যবহার করে রেজিস্টারে সেট করা হয়। 8051 ‘হার্ভার্ড’ আর্কিটেকচারের সাথে সিআইএসসি নির্দেশাবলী অনুসরণ করে। দ্য সিআইএসসি মানে জটিল নির্দেশ সেট কম্পিউটিং । 8051 মাইক্রোকন্ট্রোলারের বিভিন্ন ধরণের নির্দেশাবলীর মধ্যে রয়েছে:

  1. পাটিগণিত সংক্রান্ত নির্দেশাবলী
  2. শর্তসাপেক্ষে নির্দেশাবলী
  3. কল এবং জাম্প নির্দেশাবলী
  4. লুপ নির্দেশাবলী
  5. যৌক্তিক নির্দেশাবলী
  6. বুলিয়ান নির্দেশাবলী

1. গাণিতিক নির্দেশাবলী

পাটিগণিত নির্দেশাবলী কয়েকটি বেসিক ক্রিয়াকলাপ সম্পাদন করে যেমন:

  • সংযোজন
  • বিয়োগ
  • গুণ
  • বিভাগ
8051 মাইক্রোকন্ট্রোলারের মধ্যে গাণিতিক নির্দেশাবলী

8051 মাইক্রোকন্ট্রোলারের মধ্যে গাণিতিক নির্দেশাবলী

উদাহরণ:

ক। সংযোজন:

সংগঠন 0000 ঘন্টা
MOV R0, # 03H // মান 3 সরান নিবন্ধন করুন R0 //
এমওভিএ, # 05 এইচ // এসোকুলেটর এ তে 5 মান সরাতে //
A, 00H // সংযোজকের মান 0 সাথে 5 এবং সংযোজকটিতে সঞ্চিত করুন //
শেষ

খ। বিয়োগ:

সংগঠন 0000 ঘন্টা
MOV R0, # 03H // মান 3 সরান নিবন্ধন করুন R0 //
এমওভিএ, # 05 এইচ // এসোকুলেটর এ তে 5 মান সরাতে //
এসইউবিবি এ, 03 এইচ // এ = 5-3 চূড়ান্ত মানটি অ্যাকিউমুলেটর এ // এ সঞ্চিত আছে //
শেষ

গ। গুণ:

সংগঠন 0000 ঘন্টা
MOV R0, # 03H // মান 3 সরান নিবন্ধন করুন R0 //
এমওভিএ, # 05 এইচ // এসোকুলেটর এ তে 5 মান সরাতে //
মুল এ, 03 এইচ // এ = 5 * 3 চূড়ান্ত মান 15, একুমুলেটার এ এ সঞ্চিত //
শেষ

ডি বিভাগ:

সংগঠন 0000 ঘন্টা
MOV R0, # 03H // মান 3 সরান নিবন্ধন করুন R0 //
এমওভিএ, # 15 এইচ // এসোকুলেটর এ-তে মান 5 সরান //
ডিআইভি এ, 03 এইচ // এ = 15/3 চূড়ান্ত মান একুমুলেটার এ তে 5 টি সঞ্চয় করা হয় //
শেষ

শর্তসাপেক্ষে নির্দেশাবলী

সিপিইউ সিঙ্গেল-বিট স্ট্যাটাস বা বাইট স্ট্যাটাস যাচাই করে শর্তের ভিত্তিতে নির্দেশাবলী সম্পাদন করতে পারে শর্তসাপেক্ষ নির্দেশাবলী যেমন:

বিট-ঠিকানাযোগ্য রেজিস্ট্রারে একক-বিট স্থিতি পরীক্ষা করতে

জেবি- নীচে থাকলে লাফ দিন

জেএনবি- উপরে না থাকলে লাফ দাও

ক্যারি বিটের স্থিতি পরীক্ষা করতে

JC- ঝাঁপ দাও যদি পতাকা বহন করে

জেএনসি-লাফ না দিলে

সঞ্চয়ের স্থিতি পরীক্ষা করতে হয় 0 বা 1 হয়

জেজেড- শূন্য পতাকা হলে লাফ দিন

জেএনজেড- শূন্য না হলে লাফ দিন

এটি 8051 মাইক্রোকন্ট্রোলার এবং তাদের স্ট্যাক মেমরির বরাদ্দে নিবন্ধভুক্ত সেটগুলি সম্পর্কে। আমরা আশা করি যে এই নিবন্ধটি আপনাকে প্রতিটি বিষয়বস্তু সহ কিছু খুব আকর্ষণীয় প্রোগ্রামের সাথে বিষয়টি সম্পর্কে কিছু প্রয়োজনীয় অন্তর্দৃষ্টি দিয়েছে। যে কোনও সহায়তার জন্য আপনি আমাদের কাছেও লিখতে পারেন মাইক্রোকন্ট্রোলার কোডিং এবং এছাড়াও মাইক্রোকন্ট্রোলার উপর সর্বশেষ প্রকল্প ।