এমসিইউ কীভাবে এলসিডি স্ক্রিন এবং ডিজাইনের বিবেচনাগুলি চালায়
একক চিপ মাইক্রো কম্পিউটারের শ্রেণীবিভাগ এবং প্রয়োগ
এর মেমরির ধরন অনুসারে, MCU কে অন-চিপ রম ছাড়া এবং অন-চিপ রম সহ দুই প্রকারে ভাগ করা যায়। অন-চিপ রম ছাড়া চিপগুলির জন্য, তাদের অবশ্যই একটি বাহ্যিক EPROM (সাধারণত 8031) এর সাথে সংযুক্ত থাকতে হবে; অন-চিপ রম সহ চিপগুলি আবার অন-চিপ EPROM (সাধারণত 87C51), মাস্ক অন-চিপ মাস্ক রম (সাধারণত 87C51) চিপ 8051, অন-চিপ ফ্ল্যাশ প্রকার (সাধারণত চিপ 89C51) এবং অন্যান্য প্রকারে বিভক্ত।
উদ্দেশ্য অনুসারে, এটিকে সাধারণ-উদ্দেশ্য এবং বিশেষ-উদ্দেশ্যে ভাগ করা যায়; ডেটা বাসের প্রস্থ এবং ডেটা বাইটের দৈর্ঘ্য অনুসারে যা এক সময়ে প্রক্রিয়া করা যেতে পারে, এটি 8, 16 এবং 32-বিট এমসিইউতে বিভক্ত করা যেতে পারে।
বর্তমানে, গার্হস্থ্য MCU অ্যাপ্লিকেশন বাজার ভোক্তা ইলেকট্রনিক্স ক্ষেত্রে ব্যাপকভাবে ব্যবহৃত হয়, শিল্প ক্ষেত্র এবং স্বয়ংচালিত ইলেকট্রনিক্স বাজার দ্বারা অনুসরণ করা হয়। কনজিউমার ইলেকট্রনিক্সের মধ্যে রয়েছে হোম অ্যাপ্লায়েন্সেস, টেলিভিশন, গেম কনসোল এবং অডিও এবং ভিডিও সিস্টেম, অন্যদের মধ্যে। শিল্প ক্ষেত্রগুলির মধ্যে রয়েছে স্মার্ট হোম, অটোমেশন, চিকিৎসা অ্যাপ্লিকেশন, এবং নতুন শক্তি উৎপাদন এবং বিতরণ। স্বয়ংচালিত ক্ষেত্রের মধ্যে রয়েছে স্বয়ংচালিত পাওয়ারট্রেন এবং নিরাপত্তা নিয়ন্ত্রণ ব্যবস্থা ইত্যাদি।
Shenzhen Hongjia Technology Co., Ltd. R&D, 1.14-ইঞ্চি-10.1-ইঞ্চি LCD স্ক্রিন এবং টাচ স্ক্রীনের উৎপাদন ও বিক্রয়ে বিশেষজ্ঞ, যা কাস্টমাইজ করা যায় এবং SPI ইন্টারফেস, MCU ইন্টারফেস, RGB ইন্টারফেস, সহ সমর্থনকারী MCU ডিসপ্লে প্রদান করে। MIPI ইন্টারফেস, ইত্যাদি অনেক মাপ এবং মডেল আছে, ম্যাচিং প্রতিরোধী টাচ স্ক্রিন এবং ক্যাপাসিটিভ টাচ স্ক্রিন প্রদান করা যেতে পারে।
একক চিপ মাইক্রোকম্পিউটারের মৌলিক কাজ
বেশিরভাগ MCU এর জন্য, নিম্নলিখিত ফাংশনগুলি সবচেয়ে সাধারণ এবং মৌলিক। বিভিন্ন এমসিইউ-এর জন্য, বর্ণনা ভিন্ন হতে পারে, কিন্তু সেগুলি মূলত একই রকম:
1. টাইমার (টাইমার): যদিও অনেক ধরণের টাইমার রয়েছে, তবে তাদের দুটি বিভাগে শ্রেণীবদ্ধ করা যেতে পারে: একটি হল নির্দিষ্ট সময়ের ব্যবধান সহ টাইমার, অর্থাৎ, সময় সিস্টেম দ্বারা সেট করা হয় এবং ব্যবহারকারীর প্রোগ্রাম নিয়ন্ত্রণ করা যায় না। 32Hz, 16Hz, 8Hz ইত্যাদির মতো ব্যবহারকারীর প্রোগ্রামগুলি বেছে নেওয়ার জন্য শুধুমাত্র কয়েকটি নির্দিষ্ট সময়ের ব্যবধান প্রদান করা হয়। এই ধরনের টাইমার 4-বিট MCU-তে বেশি দেখা যায়, তাই এটি ঘড়ি এবং সময় মতো সম্পর্কিত ফাংশনগুলি বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। .
অন্য প্রকার হল প্রোগ্রামেবল টাইমার (প্রোগ্রামেবল টাইমার)। নাম অনুসারে, এই ধরণের টাইমারের সময়কাল ব্যবহারকারীর প্রোগ্রাম দ্বারা নিয়ন্ত্রণ করা যেতে পারে। নিয়ন্ত্রণ পদ্ধতির মধ্যে রয়েছে: ঘড়ির উৎস নির্বাচন, ফ্রিকোয়েন্সি বিভাগ নির্বাচন (প্রিস্কেল) এবং প্রিফেব্রিকেটেড নম্বর সেটিং ইত্যাদি। কিছু MCU-তে একই সময়ে তিনটিই থাকে, অন্যদের মধ্যে একটি বা দুটি থাকতে পারে। এই ধরনের টাইমার অ্যাপ্লিকেশন খুবই নমনীয়, এবং প্রকৃত ব্যবহারও সবসময় পরিবর্তনশীল। PWM আউটপুট উপলব্ধি করতে এটি ব্যবহার করা সবচেয়ে সাধারণ অ্যাপ্লিকেশনগুলির মধ্যে একটি।
যেহেতু ঘড়ির উৎস অবাধে নির্বাচন করা যেতে পারে, এই ধরনের টাইমারগুলি সাধারণত ইভেন্ট কাউন্টারগুলির সাথে মিলিত হয়।
2. IO পোর্ট: যেকোনো MCU-এর একটি নির্দিষ্ট সংখ্যক IO পোর্ট থাকে। IO পোর্ট ছাড়া, MCU বাইরের বিশ্বের সাথে যোগাযোগের চ্যানেল হারাবে। IO পোর্টের কনফিগারেশন অনুসারে, এটি নিম্নলিখিত ধরণের মধ্যে বিভক্ত করা যেতে পারে:
বিশুদ্ধ ইনপুট বা বিশুদ্ধ আউটপুট পোর্ট: এই ধরনের IO পোর্ট MCU হার্ডওয়্যার ডিজাইন দ্বারা নির্ধারিত হয়। এটি শুধুমাত্র ইনপুট বা আউটপুট হতে পারে, এবং রিয়েল টাইমে সফ্টওয়্যার দ্বারা সেট করা যাবে না।
IO পোর্টগুলি সরাসরি পড়ুন এবং লিখুন: উদাহরণস্বরূপ, MCS-51 এর IO পোর্টগুলি এই ধরণের IO পোর্টগুলির অন্তর্গত। রিড IO পোর্ট নির্দেশনা কার্যকর করার সময়, এটি একটি ইনপুট পোর্ট; একটি লিখিত IO পোর্ট নির্দেশ কার্যকর করার সময়, এটি স্বয়ংক্রিয়ভাবে একটি আউটপুট পোর্ট।
ইনপুট এবং আউটপুট দিকনির্দেশ নির্ধারণের জন্য প্রোগ্রাম প্রোগ্রামিং: এই ধরণের IO পোর্টের ইনপুট বা আউটপুট প্রোগ্রাম দ্বারা প্রকৃত চাহিদা অনুযায়ী সেট করা হয়, অ্যাপ্লিকেশনটি তুলনামূলকভাবে নমনীয় এবং কিছু বাস-স্তরের অ্যাপ্লিকেশন উপলব্ধি করা যায়, যেমন I2C বাস, বিভিন্ন LCD, LED ড্রাইভার নিয়ন্ত্রণ বাস, ইত্যাদি
IO পোর্ট ব্যবহারের জন্য, গুরুত্বপূর্ণ পয়েন্টটি অবশ্যই মনে রাখতে হবে: ইনপুট পোর্টের জন্য, একটি স্পষ্ট স্তরের সংকেত থাকতে হবে যাতে এটি ভাসতে না পারে (এটি একটি পুল-আপ বা টান যোগ করে অর্জন করা যেতে পারে- ডাউন প্রতিরোধক); আউটপুট পোর্টের জন্য, এর আউটপুট স্টেট লেভেলকে অবশ্যই এর বাহ্যিক সংযোগ বিবেচনা করতে হবে এবং এটা নিশ্চিত করা উচিত যে স্ট্যান্ডবাই বা স্ট্যাটিক অবস্থায় কোনো বর্তমান উৎস বা সিঙ্ক নেই।
3. এক্সটার্নাল ইন্টারাপ্ট: এক্সটার্নাল ইন্টারাপ্ট হল বেশিরভাগ MCU-এর একটি মৌলিক কাজ। এটি সাধারণত সিগন্যাল, ডেটা স্যাম্পলিং এবং স্থিতি সনাক্তকরণের রিয়েল-টাইম ট্রিগারিংয়ের জন্য ব্যবহৃত হয়। বিভিন্ন ধরনের ইন্টারাপ্ট আছে: রাইজিং এজ, ফলিং এজ ট্রিগার এবং লেভেল ট্রিগার। বাহ্যিক বাধাগুলি সাধারণত ইনপুট পোর্টের মাধ্যমে প্রয়োগ করা হয়। যদি এটি একটি IO পোর্ট হয়, ইনপুট সেট করা হলেই বাধা ফাংশন সক্রিয় করা হবে; যদি এটি একটি আউটপুট পোর্ট হয়, বহিরাগত ইন্টারাপ্ট ফাংশন স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে (ATMEL-এর ATiny সিরিজে কিছু ব্যতিক্রম আছে, আউটপুট পোর্টও ইন্টারাপ্ট ফাংশনটি ট্রিগার করতে পারে)। বাহ্যিক বাধার প্রয়োগ নিম্নরূপ:
বাহ্যিক ট্রিগার সংকেত সনাক্তকরণ: একটি রিয়েল-টাইম প্রয়োজনীয়তার উপর ভিত্তি করে, যেমন সিলিকন নিয়ন্ত্রিত রেকটিফায়ারের নিয়ন্ত্রণ, বিস্ফোরিত সংকেত সনাক্তকরণ ইত্যাদি, এবং অন্যটি শক্তি সঞ্চয়ের প্রয়োজন।
সংকেত ফ্রিকোয়েন্সি পরিমাপ: সংকেত মিস না হয় তা নিশ্চিত করার জন্য, একটি বাহ্যিক বাধা হল আদর্শ পছন্দ।
ডেটা ডিকোডিং: রিমোট কন্ট্রোল অ্যাপ্লিকেশনের ক্ষেত্রে, ডিজাইনের খরচ কমানোর জন্য, ম্যানচেস্টারের ডিকোডিং এবং পিডব্লিউএম এনকোডিংয়ের মতো বিভিন্ন এনকোড করা ডেটা ডিকোড করার জন্য প্রায়ই সফ্টওয়্যার ব্যবহার করা প্রয়োজন।
কী সনাক্তকরণ এবং সিস্টেম জাগানো: একটি MCU যেটি ঘুমের অবস্থায় প্রবেশ করে, তার জন্য এটি সাধারণত একটি বাহ্যিক বাধার মাধ্যমে জাগানো প্রয়োজন। সবচেয়ে মৌলিক ফর্ম একটি কী, এবং স্তরের পরিবর্তন কীটির ক্রিয়া দ্বারা উত্পন্ন হয়।
4. কমিউনিকেশন ইন্টারফেস: MCU দ্বারা প্রদত্ত কমিউনিকেশন ইন্টারফেস সাধারণত SPI ইন্টারফেস, UART, I2C ইন্টারফেস, ইত্যাদি অন্তর্ভুক্ত করে, যা নিম্নরূপ বর্ণনা করা হয়েছে:
SPI ইন্টারফেস: এই ধরনের ইন্টারফেস হল সবচেয়ে মৌলিক যোগাযোগের পদ্ধতি যা বেশিরভাগ MCU দ্বারা সরবরাহ করা হয়। এর ডেটা ট্রান্সমিশন একটি সিঙ্ক্রোনাস ঘড়ি দ্বারা নিয়ন্ত্রিত হয়। সংকেতগুলির মধ্যে রয়েছে: SDI (সিরিয়াল ডেটা ইনপুট), SDO (সিরিয়াল ডেটা আউটপুট), SCLK (সিরিয়াল ক্লক) এবং রেডি সিগন্যাল; কিছু ক্ষেত্রে, কোন প্রস্তুত সংকেত নাও থাকতে পারে; এই ধরনের ইন্টারফেস মাস্টার মোড বা স্লেভ মোডে কাজ করতে পারে, জনপ্রিয় প্রবাদটি হল কে ঘড়ির সংকেত প্রদান করে তা দেখতে, যে পক্ষ ঘড়ি সরবরাহ করে সে হল মাস্টার, এবং বিপরীত পক্ষ তারপর এটি স্লেভার।
UART (ইউনিভার্সাল অ্যাসিঙ্ক্রোনাস রিসিভ ট্রান্সমিট): এটি সবচেয়ে মৌলিক অ্যাসিঙ্ক্রোনাস ট্রান্সমিশন ইন্টারফেস। এর সিগন্যাল লাইনগুলি শুধুমাত্র Rx এবং Tx। মৌলিক ডেটা বিন্যাস হল: স্টার্ট বিট + ডেটা বিট (7-বিট/8-বিট) + প্যারিটি বিট (জোড়, বিজোড় বা কিছুই নয়) + স্টপ বিট (1~2 বিট)। এক বিট ডাটা যে সময় নেয় তাকে বউড রেট (baud rate) বলে।
বেশিরভাগ MCU এর জন্য, ডেটা বিটের দৈর্ঘ্য, ডেটা চেক পদ্ধতি (বিজোড় চেক, এমনকি চেক বা নো চেক), স্টপ বিটের দৈর্ঘ্য (স্টপ বিট) এবং বড রেট নমনীয়ভাবে প্রোগ্রামিংয়ের মাধ্যমে সেট করা যেতে পারে। অবশ্যই. এই ধরনের ইন্টারফেসের সবচেয়ে বেশি ব্যবহৃত উপায় হল পিসির সিরিয়াল পোর্টের সাথে যোগাযোগ করা।
I2C ইন্টারফেস: I2C হল ফিলিপস দ্বারা তৈরি একটি ডেটা ট্রান্সমিশন প্রোটোকল, যা দুটি সংকেত দ্বারাও বাস্তবায়িত হয়: SDAT (সিরিয়াল ডেটা ইনপুট এবং আউটপুট) এবং SCLK (সিরিয়াল ক্লক)। এর সবচেয়ে বড় সুবিধা হল এই বাসের সাথে একাধিক ডিভাইস সংযুক্ত করা যায়, যেগুলো সনাক্ত করা যায় এবং ঠিকানার মাধ্যমে অ্যাক্সেস করা যায়; I2C বাসের সবচেয়ে বড় সুবিধা হল এটি IO পোর্টের মাধ্যমে উপলব্ধি করার জন্য সফ্টওয়্যার ব্যবহার করা খুবই সুবিধাজনক, এবং এর ট্রান্সমিশন ডেটা রেট সম্পূর্ণরূপে SCLK দ্বারা নিয়ন্ত্রিত হয় নিয়ন্ত্রণ করতে, এটি UART ইন্টারফেসের বিপরীতে দ্রুত বা ধীর হতে পারে। , যার কঠোর গতির প্রয়োজনীয়তা রয়েছে।
5. ওয়াচডগ (ওয়াচডগ টাইমার): ওয়াচডগ হল বেশিরভাগ MCU-এর একটি মৌলিক কনফিগারেশন (কিছু 4-বিট MCU-তে এই ফাংশন নাও থাকতে পারে), এবং বেশিরভাগ MCU ওয়াচডগ শুধুমাত্র প্রোগ্রামগুলিকে সেগুলি রিসেট করার অনুমতি দিতে পারে এবং সেগুলি রিসেট করতে পারে না। এটি বন্ধ থাকে (কিছু সেট করা হয় যখন প্রোগ্রামটি বার্ন করা হয়, যেমন মাইক্রোচিপ পিআইসি সিরিজ MCU), এবং কিছু MCU নির্ধারণ করে যে এটি একটি নির্দিষ্ট উপায়ে খুলতে হবে, যেমন Samsung এর KS57 সিরিজ, যতক্ষণ না প্রোগ্রামটি ওয়াচডগ রেজিস্টারে অ্যাক্সেস করে। , স্বয়ংক্রিয়ভাবে চালু হয় এবং আবার বন্ধ করা যাবে না। সাধারণভাবে বলতে গেলে, ওয়াচডগের রিসেট সময় প্রোগ্রাম দ্বারা সেট করা যেতে পারে। অপ্রত্যাশিত ব্যর্থতার কারণে এমসিইউ ক্র্যাশ হওয়ার জন্য ওয়াচডগের সবচেয়ে মৌলিক প্রয়োগ হল স্ব-পুনরুদ্ধারের ক্ষমতা প্রদান করা।
মাইক্রোকন্ট্রোলার প্রোগ্রামিং
এমসিইউ প্রোগ্রামের প্রোগ্রামিং এবং পিসি প্রোগ্রামের প্রোগ্রামিংয়ের মধ্যে একটি বড় পার্থক্য রয়েছে। যদিও সি-ভিত্তিক MCU ডেভেলপমেন্ট টুলগুলি আরও বেশি জনপ্রিয় হয়ে উঠছে, একজন দক্ষ প্রোগ্রাম কোড এবং একজন ডিজাইনারের জন্য যিনি সমাবেশ ব্যবহার করতে পছন্দ করেন, সমাবেশ ভাষা এখনও সবচেয়ে সংক্ষিপ্ত এবং দক্ষ প্রোগ্রামিং ভাষা।
MCU প্রোগ্রামিংয়ের জন্য, এর মৌলিক কাঠামো মোটামুটি একই বলা যেতে পারে, সাধারণত তিনটি ভাগে বিভক্ত: প্রাথমিক অংশ (এটি MCU প্রোগ্রামিং এবং পিসি প্রোগ্রামিংয়ের মধ্যে সবচেয়ে বড় পার্থক্য), প্রধান প্রোগ্রাম লুপ বডি এবং ইন্টারাপ্ট প্রসেসিং প্রোগ্রাম, যা যথাক্রমে নিম্নরূপ ব্যাখ্যা করা হয়েছে:
1. সূচনা: সমস্ত MCU প্রোগ্রামের ডিজাইনের জন্য, প্রাথমিককরণ হল সবচেয়ে মৌলিক এবং গুরুত্বপূর্ণ পদক্ষেপ, সাধারণত নিম্নলিখিতগুলি সহ:
সমস্ত বাধাকে মাস্ক করুন এবং স্ট্যাক পয়েন্টার শুরু করুন: ইনিশিয়ালাইজেশন অংশটি সাধারণত কোনো বাধা সৃষ্টি করতে চায় না।
সিস্টেমের র্যাম এলাকা সাফ করুন এবং মেমরি প্রদর্শন করুন: যদিও কখনও কখনও এটি সম্পূর্ণরূপে প্রয়োজনীয় নাও হতে পারে, নির্ভরযোগ্যতা এবং সামঞ্জস্যের দৃষ্টিকোণ থেকে, বিশেষ করে দুর্ঘটনাজনিত ত্রুটি প্রতিরোধ করার জন্য, ভাল প্রোগ্রামিং অভ্যাস গড়ে তোলার পরামর্শ দেওয়া হয়।
IO পোর্টের সূচনা: প্রকল্পের আবেদনের প্রয়োজনীয়তা অনুসারে, প্রাসঙ্গিক IO পোর্টের ইনপুট এবং আউটপুট মোড সেট করুন। ইনপুট পোর্টের জন্য, আপনাকে এর পুল-আপ বা পুল-ডাউন প্রতিরোধের সেট করতে হবে; আউটপুট পোর্টের জন্য, অপ্রয়োজনীয় ত্রুটি রোধ করতে আপনাকে অবশ্যই এর প্রাথমিক স্তরের আউটপুট সেট করতে হবে।
ইন্টারাপ্ট সেটিংস: প্রোজেক্টে ব্যবহার করা প্রয়োজন এমন সমস্ত ইন্টারাপ্ট সোর্সগুলির জন্য, সেগুলিকে সক্রিয় করা উচিত এবং ইন্টারাপ্টগুলির জন্য ট্রিগার শর্তগুলি সেট করা উচিত, যখন অপ্রয়োজনীয় বাধাগুলির জন্য যেগুলি ব্যবহার করা হয় না, সেগুলি অবশ্যই বন্ধ করতে হবে৷
অন্যান্য কার্যকরী মডিউলগুলির সূচনা: MCU এর সমস্ত পেরিফেরাল কার্যকরী মডিউলগুলির জন্য যেগুলি ব্যবহার করা প্রয়োজন, সংশ্লিষ্ট সেটিংস অবশ্যই প্রকল্পের আবেদনের প্রয়োজনীয়তা অনুসারে তৈরি করা উচিত, যেমন UART যোগাযোগ, বড রেট, ডেটা দৈর্ঘ্য, যাচাইকরণ পদ্ধতি এবং স্টপ বিট দৈর্ঘ্য ইত্যাদি সেট করতে হবে এবং প্রোগ্রামার টাইমারের জন্য আপনাকে অবশ্যই এর ঘড়ির উৎস, ফ্রিকোয়েন্সি বিভাগ এবং রিলোড ডেটা ইত্যাদি সেট করতে হবে।
প্যারামিটার ইনিশিয়ালাইজেশন: MCU হার্ডওয়্যার এবং রিসোর্স শুরু করার পর, পরবর্তী ধাপ হল প্রোগ্রামে ব্যবহৃত কিছু ভেরিয়েবল এবং ডেটা ইনিশিয়ালাইজ করা। এই অংশের প্রারম্ভিকতা নির্দিষ্ট প্রকল্প এবং প্রোগ্রামের সামগ্রিক বিন্যাস অনুযায়ী ডিজাইন করা প্রয়োজন। প্রকল্পের পূর্বনির্ধারিত ডেটা সংরক্ষণ করতে EEPROM ব্যবহার করে এমন কিছু অ্যাপ্লিকেশনের জন্য, প্রোগ্রামের ডেটাতে অ্যাক্সেসের গতি উন্নত করতে এবং সিস্টেমের শক্তি খরচ কমাতে প্রাথমিককরণের সময় MCU এর RAM-তে প্রাসঙ্গিক ডেটা অনুলিপি করার পরামর্শ দেওয়া হয় (নীতিগতভাবে , বাহ্যিক EEPROM-এ অ্যাক্সেস পাওয়ার সাপ্লাইয়ের পাওয়ার খরচ বাড়াবে)।
2. মূল প্রোগ্রামের লুপ বডি: বেশিরভাগ MCU একটি দীর্ঘ সময়ের জন্য একটানা চলে, তাই মূল প্রোগ্রাম বডি মূলত একটি চক্রাকার পদ্ধতিতে ডিজাইন করা হয়েছে। একাধিক কাজের মোড সহ অ্যাপ্লিকেশনগুলির জন্য, একাধিক লুপ বডি থাকতে পারে রাষ্ট্রীয় পতাকার মাধ্যমে একে অপরের মধ্যে রূপান্তরিত হয়। প্রধান প্রোগ্রাম বডির জন্য, নিম্নলিখিত মডিউলগুলি সাধারণত সাজানো হয়:
গণনা প্রোগ্রাম: গণনা প্রোগ্রাম সাধারণত সময়সাপেক্ষ, তাই এটি দৃঢ়ভাবে কোনো বাধা প্রক্রিয়াকরণের বিরোধিতা করে, বিশেষ করে গুণ এবং ভাগের ক্রিয়াকলাপ।
কম রিয়েল-টাইম প্রয়োজনীয়তা বা কোন রিয়েল-টাইম প্রয়োজনীয়তা সহ প্রোগ্রাম প্রক্রিয়াকরণ;
প্রদর্শন ট্রান্সমিশন প্রোগ্রাম: প্রধানত বহিরাগত LED এবং LCD ড্রাইভার সহ অ্যাপ্লিকেশনের জন্য।
3. ইন্টারাপ্ট প্রসেসিং প্রোগ্রাম: ইন্টারাপ্ট প্রোগ্রামটি প্রধানত উচ্চ রিয়েল-টাইম প্রয়োজনীয়তা সহ কাজ এবং ইভেন্টগুলি প্রক্রিয়া করতে ব্যবহৃত হয়, যেমন বাহ্যিক আকস্মিক সংকেত সনাক্তকরণ, কীগুলির সনাক্তকরণ এবং প্রক্রিয়াকরণ, সময় গণনা, LED ডিসপ্লে স্ক্যানিং ইত্যাদি।
সাধারণভাবে, ইন্টারাপ্ট প্রোগ্রামের কোড যতটা সম্ভব সংক্ষিপ্ত এবং সংক্ষিপ্ত রাখা উচিত। যে ফাংশনগুলিকে রিয়েল টাইমে প্রসেস করার দরকার নেই, আপনি ইন্টারাপ্টে ট্রিগার ফ্ল্যাগ সেট করতে পারেন এবং তারপর মূল প্রোগ্রামটি নির্দিষ্ট লেনদেন চালাবে-এটি খুবই গুরুত্বপূর্ণ। বিশেষ করে কম-শক্তি, কম-গতির MCUগুলির জন্য, সমস্ত বাধাগুলির সময়মত প্রতিক্রিয়া নিশ্চিত করা প্রয়োজন।
4. বিভিন্ন টাস্ক বডির ব্যবস্থার জন্য, বিভিন্ন MCU-এর বিভিন্ন প্রক্রিয়াকরণ পদ্ধতি রয়েছে:
উদাহরণস্বরূপ, কম-গতির, কম-পাওয়ার MCU (Fosc=32768Hz) অ্যাপ্লিকেশনের জন্য, এই ধরনের প্রকল্পগুলি সব হ্যান্ডহেল্ড ডিভাইস এবং সাধারণ LCD ডিসপ্লে ব্যবহার করে, বোতাম এবং ডিসপ্লেগুলির প্রতিক্রিয়ার জন্য উচ্চ রিয়েল-টাইম কর্মক্ষমতা প্রয়োজন, তাই সাধারণত টাইমড ইন্টারাপ্ট বোতাম ক্রিয়া এবং ডেটা প্রদর্শন প্রক্রিয়া করতে ব্যবহৃত হয়; এবং উচ্চ-গতির MCUগুলির জন্য, যেমন Fosc>1MHz অ্যাপ্লিকেশন, যেহেতু MCU-এর কাছে এই সময়ে মূল প্রোগ্রাম লুপ বডি চালানোর জন্য যথেষ্ট সময় আছে, তাই এটি শুধুমাত্র সংশ্লিষ্ট ক্ষেত্রে বাধা হতে পারে বিভিন্ন ট্রিগার ফ্ল্যাগ সেট করুন এবং সমস্ত কাজ রাখুন। মেইন প্রোগ্রাম বডিতে এক্সিকিউট করতে হবে।
5. MCU-এর প্রোগ্রামিং ডিজাইনে, আরও একটি বিষয় যা বিশেষ মনোযোগের প্রয়োজন তা হল:
ইন্টারাপ্ট এবং প্রধান প্রোগ্রাম বডিতে একই ভেরিয়েবল বা ডেটার যুগপত অ্যাক্সেস বা সেটিং প্রতিরোধ করতে। একটি কার্যকর প্রতিরোধমূলক পদ্ধতি হল একটি মডিউলে এই ধরনের ডেটা প্রক্রিয়াকরণের ব্যবস্থা করা এবং ট্রিগার ফ্ল্যাগ বিচার করে ডেটার প্রাসঙ্গিক অপারেশন চালানো হবে কিনা তা নির্ধারণ করা; অন্যান্য প্রোগ্রাম বডিতে (প্রধানত বাধা দেয়), যে ডেটা প্রসেস করা দরকার প্রসেসিং প্লেস শুধুমাত্র ট্রিগার করা পতাকা সেট করে। - এটি নিশ্চিত করে যে ডেটার সঞ্চালন অনুমানযোগ্য এবং অনন্য।
মাইক্রোকন্ট্রোলার ডেভেলপমেন্ট স্কিল
1. প্রোগ্রামের বাগগুলি কীভাবে কমানো যায়
প্রোগ্রামের বাগগুলি কীভাবে কমানো যায় তার জন্য, আপনাকে প্রথমে নিম্নলিখিত ওভার-রেঞ্জ ম্যানেজমেন্ট প্যারামিটারগুলি বিবেচনা করা উচিত যা সিস্টেম অপারেশনের সময় বিবেচনা করা উচিত।
শারীরিক পরামিতি: এই প্যারামিটারগুলি মূলত সিস্টেমের ইনপুট প্যারামিটার, যার মধ্যে উত্তেজনা পরামিতি, অধিগ্রহণ এবং প্রক্রিয়াকরণের সময় অপারেটিং পরামিতি এবং প্রক্রিয়াকরণের শেষে ফলাফলের পরামিতি।
রিসোর্স প্যারামিটার: এই প্যারামিটারগুলি প্রধানত সিস্টেমের সার্কিট, ডিভাইস এবং কার্যকরী ইউনিটগুলির সম্পদ, যেমন মেমরির ক্ষমতা, স্টোরেজ ইউনিটের দৈর্ঘ্য এবং স্ট্যাকিং গভীরতা।
অ্যাপ্লিকেশন পরামিতি: এই অ্যাপ্লিকেশন পরামিতিগুলি প্রায়শই কিছু একক-চিপ মাইক্রোকম্পিউটার এবং কার্যকরী ইউনিটগুলির অ্যাপ্লিকেশন শর্তগুলিকে উপস্থাপন করে। প্রক্রিয়া পরামিতি: সিস্টেমের অপারেশন চলাকালীন সুশৃঙ্খলভাবে পরিবর্তিত পরামিতিগুলিকে বোঝায়।
2. কিভাবে সি ল্যাঙ্গুয়েজ প্রোগ্রামিং কোডের দক্ষতা উন্নত করা যায়
একক-চিপ মাইক্রোকম্পিউটার প্রোগ্রাম ডিজাইন করার জন্য সি ভাষা ব্যবহার করা একক-চিপ মাইক্রোকম্পিউটারের বিকাশ এবং প্রয়োগের একটি অনিবার্য প্রবণতা। আপনি যদি সি-তে প্রোগ্রামিং করার সময় সর্বোচ্চ দক্ষতা অর্জন করতে চান তবে আপনি যে সি কম্পাইলারটি ব্যবহার করছেন তার সাথে পরিচিত হওয়া ভাল। প্রথমে কম্পাইল করা প্রতিটি সি ভাষার সাথে সম্পর্কিত অ্যাসেম্বলি ভাষায় স্টেটমেন্ট লাইনের সংখ্যা পরীক্ষা করুন, যাতে আপনি স্পষ্টভাবে দক্ষতা জানতে পারেন। ভবিষ্যতে প্রোগ্রামিং করার সময়, সর্বোচ্চ সংকলন দক্ষতার সাথে বিবৃতিটি ব্যবহার করুন। প্রতিটি সি কম্পাইলারের নির্দিষ্ট পার্থক্য থাকবে, তাই সংকলনের দক্ষতাও আলাদা হবে। একটি চমৎকার এমবেডেড সিস্টেম সি কম্পাইলারের কোড দৈর্ঘ্য এবং কার্যকর করার সময় অ্যাসেম্বলি ভাষায় লেখা একই ফাংশন লেভেলের তুলনায় মাত্র 5-20% বেশি।
আঁটসাঁট উন্নয়নের সময় সহ জটিল প্রকল্পগুলির জন্য, সি ভাষা ব্যবহার করা যেতে পারে, তবে ভিত্তি হল আপনি এমসিইউ সিস্টেমের সি ভাষা এবং সি কম্পাইলারের সাথে খুব পরিচিত এবং সি কম্পাইলার সিস্টেমের ডেটা প্রকার এবং অ্যালগরিদমের প্রতি বিশেষ মনোযোগ দিন। সমর্থন করতে পারে। যদিও সি ভাষা সবচেয়ে সাধারণ উচ্চ-স্তরের ভাষা, তবে বিভিন্ন এমসিইউ প্রস্তুতকারকের সি ভাষা সংকলন সিস্টেমগুলি আলাদা, বিশেষ করে কিছু বিশেষ ফাংশন মডিউলের অপারেশনে। সুতরাং আপনি যদি এই বৈশিষ্ট্যগুলি বুঝতে না পারেন তবে ডিবাগিংয়ে অনেক সমস্যা হবে, যা অ্যাসেম্বলি ভাষার তুলনায় কম কার্যকরী দক্ষতার দিকে পরিচালিত করবে।
3. সিঙ্গেল-চিপ মাইক্রোকম্পিউটার-এর অ্যান্টি-হস্তক্ষেপ সমস্যা কীভাবে সমাধান করা যায় হস্তক্ষেপ প্রতিরোধ করার সবচেয়ে কার্যকর উপায় হস্তক্ষেপের উত্সটি সরিয়ে ফেলা এবং হস্তক্ষেপের পথটি কেটে দেওয়া, তবে এটি করা প্রায়শই কঠিন হয়, তাই এটি শুধুমাত্র নির্ভর করে একক-চিপ মাইক্রোকম্পিউটারের বিরোধী হস্তক্ষেপ ক্ষমতা যথেষ্ট শক্তিশালী কিনা। হার্ডওয়্যার সিস্টেমের অ্যান্টি-জ্যামিং ক্ষমতা উন্নত করার সময়, সফ্টওয়্যার অ্যান্টি-জ্যামিং এর নমনীয় নকশা দ্বারা চিহ্নিত করা হয়,