সমাবেশ ভাষায় 8051 প্রোগ্রামিংয়ের পরিচিতি

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





সমাবেশ ভাষা একটি স্বল্প স্তরের প্রোগ্রামিং ভাষা যা স্মৃতিবিজ্ঞানের ক্ষেত্রে প্রোগ্রাম কোড লিখতে ব্যবহৃত হয়। যদিও বর্তমানে অনেকগুলি উচ্চ-স্তরের ভাষাগুলির চাহিদা রয়েছে, যদিও অনেকগুলি অ্যাপ্লিকেশনগুলিতে এসেম্বলি প্রোগ্রামিং ভাষা জনপ্রিয়ভাবে ব্যবহৃত হয় t এটি সরাসরি হার্ডওয়্যার ম্যানিপুলেশনের জন্য ব্যবহার করা যেতে পারে। এটি লিখতেও ব্যবহৃত হয় 8051 প্রোগ্রামিং কোড অন্যান্য উচ্চ-স্তরের ভাষার তুলনায় কম মেমরি গ্রহণ করে দক্ষতার সাথে কম সংখ্যক ঘড়ির চক্র রয়েছে।

সমাবেশ ভাষায় 8051 প্রোগ্রামিং

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



সমাবেশ ভাষায় 8051 প্রোগ্রামিং

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


সমাবেশ ভাষায় 8051 প্রোগ্রামিং

সমাবেশ ভাষায় 8051 প্রোগ্রামিং



সমাবেশ প্রোগ্রামিং ভাষা বিভিন্ন সংকলক এবং দ্বারা বিকাশিত দ্য 'বোলিং এলে' জন্য সবচেয়ে উপযুক্ত মাইক্রোকন্ট্রোলারপ্রোগ্রামিং বিকাশ। এমআইক্রোকন্ট্রোলাররাবা প্রসেসরগুলি কেবলমাত্র '0s বা 1s' আকারে বাইনারি ভাষা বুঝতে পারে 'কোনও সমাবেশকারী সমাবেশের ভাষাটিকে বাইনারি ভাষায় রূপান্তর করে এবং তারপরে এটি সংরক্ষণ করেমাইক্রোকন্ট্রোলারনির্দিষ্ট কাজ সম্পাদন করার জন্য মেমরি।

8051 মাইক্রোকন্ট্রোলার আর্কিটেকিউচার

8051মাইক্রোকন্ট্রোলারহয় সিআইএসসি ভিত্তিক হার্ভার্ড আর্কিটেকচার , এবং এটিতে 32 I / O, টাইমার / কাউন্টার, সিরিয়াল যোগাযোগ এবং স্মৃতিগুলির মতো পেরিফেরিয়াল রয়েছে। দ্যমাইক্রোকন্ট্রোলারক্রিয়াকলাপ সঞ্চালনের জন্য এমন একটি প্রোগ্রাম প্রয়োজন যা সংরক্ষণ এবং ফাংশনগুলি পড়ার জন্য একটি মেমরির প্রয়োজন। 8051মাইক্রোকন্ট্রোলারস্টোর নির্দেশাবলী র‌্যাম এবং রম স্মৃতি নিয়ে গঠিত।

8051 মাইক্রোকন্ট্রোলার আর্টিটেকিউচার

8051 মাইক্রোকন্ট্রোলার আর্কিটেকিউচার

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

অ্যাসেম্বলি ভাষার 8051 মাইক্রোকন্ট্রোলার প্রোগ্রাম

সমাবেশের ভাষা উপাদানগুলির সমন্বয়ে গঠিত যা সমস্ত প্রোগ্রামটি লিখতে ব্যবহৃত হয়অনুক্রমিক পদ্ধতি। সমাবেশ ভাষায় প্রোগ্রামিং লেখার জন্য প্রদত্ত বিধিগুলি অনুসরণ করুন।


বিধানসভা ভাষার বিধি

  • অ্যাসেম্বলি কোড অবশ্যই বড় হাতের অক্ষরে লেখা উচিত
  • লেবেলগুলি অবশ্যই একটি কোলন অনুসরণ করবে (লেবেল :)
  • সমস্ত চিহ্ন এবং লেবেল একটি চিঠি দিয়ে শুরু করা উচিত
  • সমস্ত মন্তব্য ছোট ক্ষেত্রে টাইপ করা হয়
  • প্রোগ্রামের শেষ লাইনটি অবশ্যই শেষের দিকনির্দেশক হতে হবে

অ্যাসেম্বলি ভাষার স্মৃতিবিজ্ঞানগুলি অপ-কোড আকারে রয়েছে যেমন এমওভি, এডিডি, জেএমপি এবং অন্যান্য, যা ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়।

ওপ কোড: অপ-কোড একটি একক নির্দেশ যা সিপিইউ দ্বারা সম্পাদন করা যেতে পারে। এখানে অপ-কোডটি একটি এমওভির নির্দেশ।

অপারেন্ডস: অপারেশনগুলি একক টুকরো ডেটা যা অপ-কোড দ্বারা পরিচালিত হতে পারে। উদাহরণস্বরূপ, অপারেন্ড দ্বারা গুণিত অপারেশনগুলি দ্বারা গুণিত অপারেশন সঞ্চালিত হয়।

সিনট্যাক্স: মুল আ,

অ্যাসেম্বলি ল্যাঙ্গুয়েজ প্রোগ্রামিংয়ের উপাদানসমূহ:

  • একত্রিত গাইডলাইনস
  • নির্দেশনাবলী
  • সম্বোধন মোড

একত্রিত নির্দেশাবলী:

সমাবেশের নির্দেশাবলী সিপিইউকে দিকনির্দেশ দেয়। 8051মাইক্রোকন্ট্রোলারকন্ট্রোল ইউনিটকে দিকনির্দেশনা দেওয়ার জন্য বিভিন্ন ধরণের সমাবেশ নির্দেশিকা নিয়ে গঠিত। সর্বাধিক দরকারী নির্দেশিকা হ'ল 8051 প্রোগ্রামিং, যেমন:

  • ওআরজি
  • ডিবি
  • EQU
  • শেষ

ওআরজি(উত্স): এই নির্দেশনাটি প্রোগ্রামটির সূচনা নির্দেশ করে। এটি সমাবেশের সময় নিবন্ধের ঠিকানা সেট করতে ব্যবহৃত হয়। উদাহরণস্বরূপ ওআরজি 0000 এইচটি 0000 এইচ থেকে শুরু করে পরবর্তী কোডগুলি সংকলককে বলে।

বাক্য গঠন: ORG 0000 ঘন্টা

ডিবি(বাইট সংজ্ঞায়িত করুন: বাইটগুলির একটি স্ট্রিং অনুমোদনের জন্য সংজ্ঞায়িত বাইট ব্যবহার করা হয়। উদাহরণস্বরূপ, 'EDGEFX' মুদ্রণ করুন যাতে প্রতিটি অক্ষর ঠিকানা দ্বারা নেওয়া হয় এবং শেষ পর্যন্ত ডাবল উদ্ধৃতি দিয়ে সরাসরি ডিবি দ্বারা 'স্ট্রিং' মুদ্রণ করে।

বাক্য গঠন:

ORG 0000 ঘন্টা

এমওভিএ, # 00 ঘন্টা
————-
————-
ডিবি 'এজিজএফএক্স'

ইসকিউ (সমতুল্য): সমমানের নির্দেশটি ভেরিয়েবলের ঠিকানা সমান করতে ব্যবহৃত হয়।

বাক্য গঠন:

রেজি সমান,09 ঘন্টা
------
------
চলুনরেজি,# 2 ঘন্টা

শেষ: শেষের নির্দেশটি প্রোগ্রামটির শেষ নির্দেশ করতে ব্যবহৃত হয়।

বাক্য গঠন:

রেজি সমান,09 ঘন্টা

------
------
চলুনরেজি,# 2 ঘন্টা
শেষ

সম্বোধন মোড:

ডেটা অ্যাক্সেসের উপায়কে অ্যাড্রেসিং মোড বলে। সিপিইউ অ্যাড্রেসিং মোডগুলি ব্যবহার করে বিভিন্ন উপায়ে ডেটা অ্যাক্সেস করতে পারে। 8051মাইক্রোকন্ট্রোলারপাঁচটি ঠিকানা মোড যেমন:

  • তাত্ক্ষণিক ঠিকানা মোড
  • ঠিকানা মোড নিবন্ধন করুন
  • সরাসরি ঠিকানা মোড
  • অপ্রত্যক্ষ ঠিকানা ঠিকানা
  • বেস সূচক ঠিকানা ঠিকানা

তাত্ক্ষণিক ঠিকানা মোড:

এই সম্বোধন মোডে, উত্সটি অবশ্যই একটি মান হতে হবে যা ‘#’ অনুসরণ করতে পারে এবং গন্তব্যটি অবশ্যই হতে হবে এসএফআর নিবন্ধন, সাধারণ উদ্দেশ্যে নিবন্ধ এবং ঠিকানা। এটি তাত্ক্ষণিকভাবে মেমরির নিবন্ধগুলিতে মান সংরক্ষণ করার জন্য ব্যবহৃত হয়।

বাক্য গঠন:

মোভ এ, # 20 ঘন্টা // এএকটিসঞ্চালক রেজিস্ট্রার, 20 এ // তে সংরক্ষিত আছে
মোভ আর0,# 15 // আর0 একটি সাধারণ উদ্দেশ্যে নিবন্ধভুক্ত 15 টি আর0 রেজিস্টারে সংরক্ষিত আছে //
এমওভি পি 0, # 07 এইচ // পি 0 একটি এসএফআর নিবন্ধ আছে07 P0 তে সঞ্চিত আছে //
MOV 20 ঘন্টা,# 05 ঘন্টা // 20 ঘন্টাটি 20h // তে সঞ্চিত নিবন্ধের ঠিকানা //

প্রাক্তন:

মোভ আর0, # 1
মোভ আর0, # 20 // আর0<—R0[15] +20, চূড়ান্ত মান R0 // এ সংরক্ষণ করা হয়

ঠিকানা মোড নিবন্ধন করুন:

এই ঠিকানা মোডে, উত্স এবং গন্তব্য অবশ্যই একটি নিবন্ধক হতে হবে, তবে সাধারণ উদ্দেশ্য নিবন্ধক নয়। সুতরাং ডেটা স্থানান্তরিত হয় না সাধারণ উদ্দেশ্যে ব্যাংক রেজিস্টার

বাক্য গঠন:

মোভ এ, বি // এ একটি এসএফআর নিবন্ধক, বি একটি সাধারণ উদ্দেশ্যে নিবন্ধক //
MOV R0, R1 // অবৈধ নির্দেশনা, জিপিআর থেকে জিপিআর সম্ভব নয় //

ফর্মার:

মোভ আর0, # 02 ঘন্টা
এমওভি এ, # 30 ঘন্টা
ADD R0, A // R0<—R0+A, the final value is stored in the R0 register//

সরাসরি ঠিকানা মোড

এই ঠিকানা মোডে, উত্স বা গন্তব্য (বা উভয় উত্স এবং গন্তব্য) অবশ্যই একটি ঠিকানা হতে হবে, তবে মান নয়।

বাক্য গঠন:

মোভ এ,20 ঘন্টা // 20 ঘন্টা একটি ঠিকানা এ একটি রেজিস্টার //
এমওভি 00 ঘন্টা, 07 ঘন্টা // উভয়কেই জিপিএস নিবন্ধগুলি সম্বোধন করা হয়েছে //

প্রাক্তন:

এমওভি 07 এ,# 01 ঘন্টা
মোভ এ, # 08 ঘন্টা
যুক্ত কর একটি,07 ঘন্টা // এ<—A+07h the final value is stored in A//

অপ্রত্যক্ষ ঠিকানা ঠিকানা:

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

বাক্য গঠন:

MOVR0, # 01h // 01 মানটি আর0 রেজিস্টারে সংরক্ষিত আছে, আর 0 ঠিকানা 08 ঘন্টা //
মোভ আর 1, # 08 এইচ // আর ​​1 হ'ল পয়েন্টার ভেরিয়েবলস্টোরR0 // এর ঠিকানা (08 ঘন্টা)
MOV 20 ঘন্টা,@ আর 1 // 01 মানটি জিপি নিবন্ধকের 20 ঘন্টা ঠিকানায় সংরক্ষণ করা হয়েছে //

অপ্রত্যক্ষ ঠিকানা ঠিকানা

অপ্রত্যক্ষ ঠিকানা ঠিকানা

বেস সূচক ঠিকানা ঠিকানা:

এই ঠিকানা ঠিকানাটি থেকে ডেটা পড়তে ব্যবহৃত হয় বাহ্যিক মেমরি বা রম মেমরি । সমস্ত ঠিকানা মোড কোড মেমরি থেকে ডেটা পড়তে পারে না। কোডটি অবশ্যই ডিপিটিআর নিবন্ধকের মাধ্যমে পড়তে হবে। ডিপিটিআর কোড বা বাহ্যিক মেমরিতে ডেটা নির্দেশ করতে ব্যবহৃত হয়।

বাক্য গঠন:

এমওভিসি এ, @ এ + ডিপিটিআর // সি কোড মেমরি নির্দেশ করে //
এমওসিএক্স এ, @ এ + ডিপিটিআর // এক্স বহিরাগত মেমরি নির্দেশ করে //
EX: MOV A, # 00H // 00H এ রেজিস্টারে সংরক্ষিত আছে //
মোভ ডিপিটিআর, # 0500H // ডিপিটিআর মেমোরিতে 0500 ঘন্টা ঠিকানাটি সূচিত করে //
এমওভিসি এ, @ এ + ডিপিটিআর // মান প্রেরণ করুনপ্রতিএকটি রেজিস্টার //
এমওভি পি0, এ // পিও রেজিস্ট্রারের কাছে একটি প্রেরণের তারিখ //

নির্দেশনাবলী:

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

  • ডেটা স্থানান্তর নির্দেশ সেট
  • অনুক্রমিক নির্দেশিকা সেট
  • পাটিগণিত নির্দেশ সেট
  • শাখা আমিn تعمیرসেট
  • লুপ ইনস্ট্রাকশন সেট
  • শর্তসাপেক্ষ নির্দেশ সেট
  • শর্তহীন নির্দেশ সেট
  • যৌক্তিক নির্দেশ সেট
  • বুলিয়ান নির্দেশ সেট

পাটিগণিত নির্দেশিকা সেট:

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

  • সংযোজন
  • গুণ
  • বিয়োগ
  • বিভাগ

সংযোজন:

ORG 0000 ঘন্টা
MOV R0, # 03H // রেজিস্টার R0 তে মান 3 সরান //
এমওভিএ, # 05 এইচ // মান 5 টি সংযোজক এ তে সরান //
এ, 00 এইচ // যুক্ত করুনযুক্ত কর একটিR0 মান সহ মান এবং ফলাফল সংরক্ষণ করেinA//
শেষ

গুণ:

ORG 0000 ঘন্টা
MOV R0, # 03H // রেজিস্টার R0 তে মান 3 সরান //
এমওভিএ, # 05 এইচ // মান 5 টি সংযোজক এ তে সরান //
মুল এ, 03 এইচ //গুণিতফলাফল সংগ্রহকারী এ // এ সংরক্ষণ করা হয়
শেষ

বিয়োগ:

ORG 0000 ঘন্টা
MOV R0, # 03H // R0 কে রেজিস্টার করতে মান 3 সরান //
এমওভিএ, # 05 এইচ // মান 5 টি সংযোজক এ তে সরান //
এসইউবিবি এ, 03 এইচ // ফলাফল মান একিউমুলেটর এ // এ সংরক্ষণ করা হয়েছে
শেষ

বিভাগ:

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

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

সিপিইউ একক বিট স্ট্যাটাস বা বাইট স্থিতি পরীক্ষা করে শর্তের ভিত্তিতে নির্দেশাবলী কার্যকর করে। 8051মাইক্রোকন্ট্রোলারবিভিন্ন শর্তাধীন নির্দেশাবলী যেমন:

  • জেবি -> নীচে ঝাঁপুন
  • জেএনবি -> নীচে না থাকলে লাফ দিন
  • জেসি -> যদি বহন করেন তবে লাফ দিন
  • জেএনসি -> ঝাঁপ দাও যদিনাবহন
  • জেজেড -> জিরো হলে লাফ দিন
  • জেএনজেড -> ঝাঁপ দাও যদিনাশূন্য
শর্তসাপেক্ষে নির্দেশাবলী

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

1. সিনট্যাক্স:

জেবি পি 1.0, লেবেল
- - - - - - - - -
- - - - - - - - -
লেবেল: - - - - - - - -
- - - - - - - - -
শেষ

2. সিনট্যাক্স:

জেএনবি পি 1.0, লেবেল
- - - - - - - - -
- - - - - - - - -
লেবেল: - - - - - - - -
- - - - - - - - -
শেষ

৩. সিনট্যাক্স:

জেসি, লেবেল
- - - - - - - - -
- - - - - - - - -
লেবেল: - - - - - - - -
- - - - - - - - -
শেষ

4. সিনট্যাক্স:

জেএনসি, লেবেল
- - - - - - - - -
- - - - - - - - -
লেবেল: - - - - - - - -
- - - - - - - - -
শেষ
5. সিনট্যাক্স:

জেজেড, লেবেল
- - - - - - - - -
- - - - - - - - -
লেবেল: - - - - - - - -
- - - - - - - - -
শেষ

6. সিনট্যাক্স:

জেএনজেড, লেবেল
- - - - - - - - -
- - - - - - - - -
লেবেল: - - - - - - - -
- - - - - - - - -
শেষ

কল এবং জাম্প নির্দেশাবলী:

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

  • LCALL
  • ডাক
  • এসজেএমপি
  • এলজেএমপি

1. সিনট্যাক্স:

ORG 0000 ঘন্টা
- - - - - - - - -
- - - - - - - - -
ACALL, লেবেল
- - - - - - - - -
- - - - - - - - -
এসজেএমপি স্টপ
লেবেল: - - - - - - - -
- - - - - - - - -
- - - - - - - - -
ঠিক
বন্ধ:না

2. সিনট্যাক্স:

ORG 0000 ঘন্টা
- - - - - - - - -
- - - - - - - - -
LCALL, লেবেল
- - - - - - - - -
- - - - - - - - -
এসজেএমপি স্টপ
লেবেল: - - - - - - - -
- - - - - - - - -
- - - - - - - - -
ঠিক
বন্ধ:না

কল এবং জাম্প নির্দেশাবলী

কল এবং জাম্প নির্দেশাবলী

লুপ নির্দেশাবলী:

লুপ নির্দেশাবলী ইনক্রিমেন্ট এবং হ্রাস ক্রিয়াকলাপ সম্পাদন করার সময় প্রতিটি সময় ব্লকটির পুনরাবৃত্তি করতে ব্যবহৃত হয়। 8051মাইক্রোকন্ট্রোলারদুটি ধরণের লুপ নির্দেশাবলী নিয়ে গঠিত:

  • সিজেএনই -> তুলনা করুন এবং সমান না হলে লাফ দিন
  • ডিজেএনজেড -> হ্রাস এবং শূন্য না হলে লাফ দিন

1. সিনট্যাক্স:

এরসিজেএনই
মোভ এ, # 00 এইচ
মোভ বি, # 10 এইচ
লেবেল: আইএনসি এ
- - - - - -
- - - - - -
সিজেএনই এ, লেবেল

2. সিনট্যাক্স:

এরডিজেএনই

মোভ আর0, # 10 এইচ
লেবেল: - - - - - -
- - - - - -
ডিজেএন আর0, লেবেল
- - - - - -
- - - - - -
শেষ

লজিকাল নির্দেশিকা সেট:

8051 মাইক্রোকন্ট্রোলার ইন্সট্রাকশন সেটটি সেট করার জন্য AND, OR, XOR, TEST, NOT এবং বুলিয়ান লজিক নির্দেশাবলী সরবরাহ করে এবং প্রোগ্রামের প্রয়োজনের ভিত্তিতে বিটগুলি সাফ করে।

লজিকাল নির্দেশ সেট

লজিকাল নির্দেশ সেট

1. সিনট্যাক্স:

মোভ এ, # 20 এইচ / 00100000 /
মোভ আর0, # 03 এইচ / 00000101 /
ওআরএল এ, আর0 // 00100000/00000101 = 00000000 //

2. সিনট্যাক্স:

মোভ এ, # 20 এইচ / 00100000 /
মোভ আর0, # 03 এইচ / 00000101 /
এএনএল এ, আর 0

৩. সিনট্যাক্স:

মোভ এ, # 20 এইচ / 00100000 /
মোভ আর0, # 03 এইচ / 00000101 /
এক্সআরএল এ, আর 0

অপারেটর স্থানান্তর

শিফ্ট অপারেটরগুলি দক্ষতার সাথে ডেটা প্রেরণ এবং গ্রহণের জন্য ব্যবহৃত হয়। 8051মাইক্রোকন্ট্রোলারচার শিফট অপারেটর নিয়ে গঠিত:

  • আরআর -> ডানদিকে ঘোরান
  • আরআরসি -> ক্যারি মাধ্যমে ডানদিকে ঘোরান
  • আরএল -> বাম দিকে ঘোরান
  • আরএলসি -> বহন করে বাম দিকে ঘোরান

ডানদিকে ঘোরান (আরআর):

এই শিফটিং অপারেশনে, এমএসবি এলএসবিতে পরিণত হয় এবং সমস্ত বিট ক্রমিকভাবে ডান পাশের বিট-বিট বিভক্ত হয়ে যায়।

বাক্য গঠন:

এমওভি এ, # 25 ঘন্টা
আরআর এ

বাম দিকে ঘোরান (আরএল):

এই শিফটিং অপারেশনে, এমএসবি এলএসবিতে পরিণত হয় এবং সমস্ত বিট ক্রমিকভাবে বাম দিকের দিকে বিট-বিট-বিট হয়।

বাক্য গঠন:

এমওভি এ, # 25 ঘন্টা
আরএল এ

আরআরসি সরাসরি ঘোষণার মাধ্যমে ঘোরান:

এই শিফটিং অপারেশনে, এলএসবি বহন করে এবং বহনটি এমএসবিতে পরিণত হয় এবং সমস্ত বিট বিট অবস্থানের দ্বারা ডানদিকে বিট দিকে সরে যায়।

বাক্য গঠন:

এমওভি এ, # 27 ঘন্টা
আরআরসি এ

আরএলসি ঘোরান বাম বহন করুন:

এই শিফটিং অপারেশনে, এমএসবি বহন করে এবং বহনটি এলএসবিতে পরিণত হয় এবং সমস্ত বিট একটি বিট-বিট অবস্থানে বাম দিকে সরে যায়।

বাক্য গঠন:

এমওভি এ, # 27 ঘন্টা
আরএলসি এ

বেসিক এম্বেডেড সি প্রোগ্রাম:

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

8051 দিয়ে এলইডি জ্বলজ্বলেমাইক্রোকন্ট্রোলার:

  • 8051 মাইক্রোকন্ট্রোলার ব্যবহার করে 7-বিভাগের প্রদর্শনগুলিতে নম্বর প্রদর্শন
  • 8051 ব্যবহার করে টাইমার / কাউন্টার গণনা এবং প্রোগ্রামমাইক্রোকন্ট্রোলার
  • সিরিয়াল যোগাযোগ গণনা এবং 8051 প্রোগ্রাম ব্যবহার করেমাইক্রোকন্ট্রোলার

8051 এম সহ এলইডি প্রোগ্রামগুলিআইক্রোকন্ট্র্ললার

1. পোর্ট 1 এলইডি টগল করার জন্য ওয়াপ

ORG 0000H
টগল: এমওভি পি 1, # 01 //সরানো00000001 পি 1 রেজিস্টার //
বিলম্ব করুন // বিলম্ব কার্যকর করুন //
এমওভি এ, পি 1 // পদক্ষেপপি 1 মানসংগ্রহকারীকে //
সিপিএল এ // পরিপূরক একটি মান //
এমওভি পি 1, এ // পোর্ট 1 রেজিস্টারে 11111110 সরান //
বিলম্ব করুন // বিলম্ব কার্যকর করুন //
এসজেএমপি টগল
বিলম্ব: এমওভি আর 5, # 10 এইচ // 10 এর সাথে লোড রেজিস্টার আর //
TWO: MOV R6, # 200 // 200 দিয়ে লোড রেজিস্টার // //
এক: মোভ আর 7, # 200 // লোড রেজিস্টার 200 এর সাথে 200 //
ডিজেএনজেড আর 7, শূন্য হওয়া অবধি R7 //
ডিজেএনজেড আর 6, এক // হ্রাস R7 এটি শূন্য না হওয়া পর্যন্ত //
ডিজেএনজেড আর 5, টিডব্লিউও // হ্রাস আর 7 শূন্য হওয়া পর্যন্ত //
আরইটি // মূল প্রোগ্রামে ফিরে যান //
শেষ

8051 এম ব্যবহার করে টাইমার / কাউন্টার গণনা এবং প্রোগ্রামআইক্রোকন্ট্রোলার:

বিলম্ব হ'ল অ্যাপ্লিকেশন সফটওয়্যার বিকাশের অন্যতম গুরুত্বপূর্ণ কারণ। দ্য টাইমার এবং কাউন্টার এর হার্ডওয়্যার উপাদানমাইক্রোকন্ট্রোলার, যা গণনা ডালের সাথে সঠিক সময়ের বিলম্ব প্রদানের জন্য অনেক অ্যাপ্লিকেশনে ব্যবহৃত হয়। খসফটওয়্যার কৌশল দ্বারা কার্যগুলি প্রয়োগ করা হয়।

1. 500us সময় বিলম্ব গণনা করতে ডাব্লুএইচএপি।

মোভ টিএমওড, # 10 এইচ // রেজিস্টারদের দ্বারা টাইমার মোডটি নির্বাচন করুন //
মোভ TH1, # 0FEH // বিলম্বের সময়টিকে উচ্চ বিটে সঞ্চয় করুন //
MOV TL1, # 32H // বিলম্বের সময়টি স্বল্প বিটে সঞ্চয় করুন //
জেএনবি টিএফ 1, $ // টাইমারটির মান হ্রাস না হওয়া অবধি //
সিএলআর টিএফ 1 // টাইমার পতাকা সাফ করুনবিট//
সিএলআর টিআর 1 // টাইমার বন্ধ //

২. এলইডি টগল করার জন্য ডাব্লুএইপিwiththeসেকেন্ডসময় বিলম্ব

ORG 0000H
ফিরে আসুন: মোভ পো, # 00 এইচ
দেরি করুন
মোভ পি 0, # 0 এফএফএইচ
দেরি করুন
SJUMP ফিরে
বিলম্ব: এমওভি আর 5, # 50 এইচ // লোড রেজিস্টার 50 এর সাথে // //
DELAY1: মোভ আর -6, # 200 // লোড রেজিস্টার আর 600 সাথে 200 //
DELAY2: মোভ আর 7, # 229 // লোড রেজিস্টার আর 7 সাথে 200 //
ডিজেএনজেড আর 7, শূন্য হওয়া অবধি R7 //
ডিজেএনজেড আর,, DELAY2 // হ্রাস R6 এটি শূন্য না হওয়া পর্যন্ত //
ডিজেএনজেড আর ৫, DELAY1 // হ্রাস R5 শূন্য হওয়া পর্যন্ত //
আরইটি // মূল প্রোগ্রামে ফিরে যান //
শেষ

মোডে00 কাউন্ট 0 ব্যবহার করে 250 ডাল গণনা করতে WAP

বাক্য গঠন:

ORG 0000H
মোভ টিএমওড, # 50 এইচ // কাউন্টারটি নির্বাচন করুন //
MOV TH0, # 15 // গণনা ডালগুলি আরও বিট করুন //
মভ TH1, # 9FH //সরানোগণনা ডাল, কম বিট //
TRT সেট করুন // টাইমারে //
জেএনবি $ // শূণ্য পর্যন্ত গণনা মান হ্রাস //
সিএলআর টিএফ 0 // কাউন্টার, পতাকা সাফ করুনবিট//
সিএলআর টিআর0 // টাইমারটি বন্ধ করুন //
শেষ

সিরিয়াল যোগাযোগ প্রোগ্রামিং 8051 এম ব্যবহার করেআইক্রোকন্ট্রোলার:

সিরিয়াল যোগাযোগ সাধারণত তথ্য প্রেরণ এবং গ্রহণের জন্য ব্যবহৃত হয়। 8051মাইক্রোকন্ট্রোলারইউআআআআআર્ટ / ইউএসআর্ট সিরিয়াল যোগাযোগ নিয়ে গঠিত এবং সংকেতগুলি প্রেরণ এবং প্রাপ্ত হয়টিএক্সএবং আরএক্স পিন ইউআআআরটি যোগাযোগ ক্রিয়াকলাপটি ডেটা-বিট-বিট স্থানান্তর করে। ইউআআআটিটি একটি অর্ধ-দ্বৈত প্রোটোকল যা ডেটা স্থানান্তর করে এবং গ্রহণ করে, তবে একই সাথে নয়।

1. হাইপার টার্মিনালে অক্ষরগুলি সংক্রমণ করতে WAP

মোভ স্কোন, # 50H // সিরিয়াল যোগাযোগ সেট করুন //
মোভ টিএমডোড, # 20 এইচ // টাইমার মোডটি নির্বাচন করুন //
MOV TH1, # -3 // বাউড রেট নির্ধারণ করুন //
টিআর 1 সেট করুন // টাইমারে //
মোভ এসবিইউএফ, # ’এস’ // এস ক্রমিক উইন্ডোতে প্রেরণ করুন //
জেএনবি টিআই, zero // শূন্য হওয়া পর্যন্ত টাইমারের হ্রাস মান //
সিএলআর আরআই // ক্লিয়ার রেকর্ড বাধা //
সিএলআর টিআর 1 // পরিষ্কার টাইমার //

২. হাইপার টার্মিনাল দ্বারা অক্ষরটি সঞ্চারিত করার জন্য ডাব্লিউএপি AP

মোভ স্কোন, # 50H // সিরিয়াল যোগাযোগ সেট করুন //
মোভ টিএমডোড, # 20 এইচ // টাইমার মোডটি নির্বাচন করুন //
MOV TH1, # -6 // বাউড রেট নির্ধারণ করুন //
টিআর 1 টি টাইমারে // টাইমার //
মোভ এসবিইউএফ, # ’এস’ // এস ক্রমিক উইন্ডোতে প্রেরণ করুন //
জেএনবি আরআই, zero // শূন্য হওয়া পর্যন্ত টাইমারের হ্রাস মান //
সিএলআর আরআই // ক্লিয়ার রেকর্ড বাধা //
এমওভি পি0, এসবিইউএফ // এসবিইউএফ নিবন্ধকের মানটি পোর্টে প্রেরণ করুন //
সিএলআর টিআর 1 // পরিষ্কার টাইমার //

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