এটি একটিতে দুটি প্রশ্ন ...
প্রথমত, একটি মাইক্রোকন্ট্রোলার এবং একটি মাইক্রোপ্রসেসরের মধ্যে পার্থক্য কী?
মাইক্রোপ্রসেসর হ'ল একটি সিপিইউ যা একটি বাহ্যিক মেমরি বাস থেকে পড়া নির্দেশাবলীর একটি সেট অনুসরণ করে। এটি বাহ্যিক যোগাযোগের বাসের মাধ্যমে বাহ্যিক পেরিফেরালগুলি (যেমন স্ক্রিন, কীবোর্ড, মাউস, হার্ড ড্রাইভ ইত্যাদি) নিয়ন্ত্রণ করে। আপনি যখন একটি মাইক্রোপ্রসেসর প্রোগ্রাম করেন, তখন আপনার প্রোগ্রামটি ডিভাইসের বাইরে থাকে। একটি কম্পিউটারে, এই মেমোরিটি প্রাথমিকভাবে বুটআপ বিআইওএস রম হয় যা প্রথমে হার্ড ড্রাইভ থেকে র্যাম মেমরিতে অপারেটিং সিস্টেমটি পড়ে, সেখান থেকে এটি চালিয়ে যেতে থাকে।
মাইক্রোকন্ট্রোলার বাইরের বিশ্বের সাথে যোগাযোগের জন্য কিছু বাহ্যিক বন্দর সহ সমস্ত-ইন-ওয়ান সিপিইউ + মেমরির মতো দয়ালু । এটি স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত রয়েছে এবং এটির প্রোগ্রামটি ধরে রাখতে বাহ্যিক মেমরি ব্যবহার করে না (যদিও প্রয়োজন হলে এটি বাহ্যিক স্মৃতিতে ওয়ার্কিং ডেটা পড়তে এবং লিখতে পারে)।
দ্বিতীয়ত, একটি মাইক্রোকন্ট্রোলার এবং মাইক্রোপ্রসেসর প্রোগ্রামিং কি একই রকম?
কিছু উপায়ে হ্যাঁ, এবং কোনও উপায়ে না।
সমাবেশ ভাষা একটি বিস্তৃত শব্দ যা সিপিইউ সরাসরি বুঝতে পারে এমন একটি নির্দেশের সেটকে বর্ণনা করে। আপনি যখন অ্যাসেম্বলি ভাষা 'সংকলন' করেন, এটি সত্যিই কিছু সংকলন করে না, এটি এটি কিছু বাইটের ক্রমে রূপান্তর করে যা কিছু আপেক্ষিক মেমরি অবস্থানের কমান্ডগুলি এবং প্লাগগুলিকে উপস্থাপন করে। এটি মাইক্রোপ্রসেসর এবং মাইক্রোকন্ট্রোলার উভয়ের পক্ষেই সাধারণ।
তবে বিভিন্ন ধরণের সিপিইউ সিপিইউ নির্দেশনার একটি আলাদা সেট বোঝে। উদাহরণস্বরূপ, আপনি যদি কোনও সংসদীয় ভাষা প্রোগ্রাম লিখেন যা কোনও পিক 16F877 মাইক্রোকন্ট্রোলারের সাথে কাজ করে তবে এটি পিক মাইক্রোকন্ট্রোলারের 16 এফএক্সএক্সএক্সএক্স পরিবারের বাইরে কোনও মাইক্রোপ্রসেসর বা অন্য কোনও মাইক্রোকন্ট্রোলারের কাছে সম্পূর্ণ বাজে কথা হবে।
সুতরাং, যদিও সমস্ত মাইক্রোপ্রসেসর এবং মাইক্রোকন্ট্রোলারগুলিতে অ্যাসেম্বলি একইভাবে কাজ করে, আপনি যে নির্দেশাবলী লিখেন সেগুলির আসল তালিকাটি খুব আলাদা। সমাবেশ ভাষায় লিখতে আপনার ডিভাইসের আর্কিটেকচার সম্পর্কে গভীর জ্ঞান থাকা দরকার যা আপনি সাধারণত একটি মাইক্রোকন্ট্রোলারের ক্ষেত্রে ডেটাশিট থেকে পেতে পারেন।