8051 মাইক্রোকন্ট্রোলার সহ আই 2 সি-ইপ্রোমকে কীভাবে ইন্টারফেস করবেন

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





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

টেক্সাস ইন্সট্রুমেন্টস, সিমেন্স এজি, এনইসি, মটোরোলা, ইন্টারসিল এবং এসটি মাইক্রোলেকট্রনিক্সের মতো কিছু প্রতিযোগী 1990 এর দশকের মাঝামাঝি সময়ে বাজারে উপযুক্ত উপযুক্ত I²C পণ্য ঘোষণা করেছেন। ১৯৯৫ সালে, এসএমবাসকে ইন্টেল দ্বারা সংজ্ঞায়িত করা হয়, এটি আই-সি-র একটি উপ-গোষ্ঠী যা প্রোটোকলগুলি আরও কঠোর বলে উল্লেখ করে। এসএমবাসের মূল উদ্দেশ্য আন্তঃব্যবহারযোগ্যতা এবং দৃust়তা সমর্থন করা। অতএব, বর্তমান আই²সি সিস্টেমগুলির মধ্যে এসএমবাসের নিয়ম এবং নীতিগুলি অন্তর্ভুক্ত রয়েছে, কখনও কখনও এটি ন্যূনতম পুনর্গঠন সহ আই 2 সি এবং এসএমবাস উভয় সমর্থন করে।




আই 2 সি বাস

আই 2 সি বাস

8051 মাইক্রোকন্ট্রোলার সহ ইন্টারফেস আই 2 সি বাস-ইপ্রোম

আই 2 সি বাস কি?

আই 2 সি বাস দুটি দ্বিপাক্ষিক ওপেন-ড্রেন লাইন যেমন এসডিএ (সিরিয়াল ডেটা লাইন) এবং এসসিএল (সিরিয়াল ক্লক লাইন) ব্যবহার করে এবং এগুলি প্রতিরোধকের সাহায্যে টানা হয়। আই 2 সি বাস একটি দাস ডিভাইসের সাথে যোগাযোগ শুরু করার জন্য একটি মাস্টার ডিভাইসকে অনুমতি দেয়। এই দুটি ডিভাইসের মধ্যে ডেটা ইন্টারচেঞ্জ হয়। ব্যবহৃত সাধারণ ভোল্টেজগুলি + 3.3V বা + 5 ভি হয় যদিও অতিরিক্ত ভোল্টেজ সহ সিস্টেমগুলি অনুমোদিত।



আই 2 সি ইন্টারফেস

আই 2 সি ইন্টারফেস

ইপ্রোম

বৈদ্যুতিন ক্ষয়যোগ্য প্রোগ্রামেবল রম (EEPROM) একটি ব্যবহারকারী পরিবর্তনযোগ্য রম যা সাধারণ বৈদ্যুতিক ভোল্টেজের চেয়ে বেশি প্রয়োগের মাধ্যমে ঘন ঘন সরানো এবং পুনরায় প্রোগ্রাম করা যায় ram EEPROM হ'ল এক ধরণের অ-উদ্বায়ী মেমরি যা কম্পিউটারের মতো বৈদ্যুতিন ডিভাইসে ব্যবহৃত হয় ক্ষুদ্র পরিমাণের ডেটা সঞ্চয় করার জন্য যা বিদ্যুৎ বিচ্ছিন্ন হওয়ার পরে সংরক্ষণ করা উচিত।

8051 স্লিকার বোর্ড

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

ইন্টারফেসিং আই 2 সি - ইপ্রোম

নিম্নলিখিত চিত্রটি 8051 মাইক্রোকন্ট্রোলারের সাথে আই 2 সি-ইপ্রোম ইন্টারফেসিং দেখায়। এখানে, আই 2 সি হ'ল মাস্টার-স্লেভ প্রোটোকল, এতে ক্লক ডালের পাশাপাশি ডেটাও রয়েছে। সাধারণত, মাস্টার ডিভাইস ক্লক লাইন, এসসিএল পরিবর্তন করে। এই লাইনটি ডেটা টাইমিংয়ের আদেশ দেয় যা I2C বাসে স্থানান্তর করে Uঘড়িটি পরিচালিত না হলে কোনও ডেটা স্থানান্তরিত হবে না। সমস্ত ক্রীতদাস একই ঘড়ি, এসসিএল দ্বারা নিয়ন্ত্রিত হয়।


ইন্টারফেসিং আই 2 সি - ইপ্রোম

ইন্টারফেসিং আই 2 সি - ইপ্রোম

আই 2 সি বাস বিভিন্ন ডিভাইস সমর্থন করে যেখানে প্রতিটি ডিভাইস একটি এলসিডি ড্রাইভার, মেমরি কার্ড, মাইক্রোকন্ট্রোলার বা না করে একটি অনন্য ঠিকানায় সনাক্ত করা হয় কীবোর্ডের ইন্টারফেসিং যা Tx বা Rx হিসাবে কাজ করতে পারে এটি ডিভাইসের কার্যকারিতার উপর নির্ভর করে। নিয়ামকটি I2C প্রোটোকলের মাধ্যমে EEPROM ডিভাইস নিয়ন্ত্রণ করতে ডিজাইন করা হয়েছে। এখানে, তিনি আই 2 সি প্রোটোকল একটি মাস্টার ডিভাইস হিসাবে কাজ করেন এবং EEPROM নিয়ন্ত্রণ করে এবং এটি একটি ক্রীতদাস হিসাবে কাজ করে। ঠিকানা এবং / অথবা ডাটা বাস সমন্বিত নিয়ন্ত্রণ সংকেতগুলির একটি সেট স্থানান্তর করে আর / ডাব্লু অপারেশনগুলি দক্ষ। এই সংকেতগুলিতে উপযুক্ত ক্লক সংকেত উপস্থিত থাকতে হবে

8051 মাইক্রোকন্ট্রোলার সহ ইন্টারফেস আই 2 সি বাস-ইপ্রোম

আপনি যদি পড়তে চান তবে 8051 স্ট্রাইকার বোর্ডে আই 2 সি বাস ব্যবহার করে EEPROM লিখুন এবং মুছুন। আই 2 বাস-ইপ্রোমের সাথে ইন্টারফেসিং 8051 মাইক্রোকন্ট্রোলার খুব সহজ । এই ইন্টারফেসিংয়ের কাজটি হ'ল ডব্লিউআরআইটিইয়ের মতো একটি সংকেত পাঠানো, তারপরে ডেটা এবং ঠিকানা বাস। এই ক্রিয়াকলাপে, EEPROM ডেটা সঞ্চয় করতে ব্যবহৃত হয়। 8051 কিটে, I2C সমর্থিত ড্রাইভার দ্বারা দুটি নম্বর EEPROM লাইন নিয়ন্ত্রিত হয়। এসসিএল এবং এসডিএ আই 2 সি ভিত্তিক সিরিয়াল ইপ্রোম আইসির সাথে সংযুক্ত রয়েছে।

8051 মাইক্রোকন্ট্রোলার সহ ইন্টারফেস আই 2 সি বাস-ইপ্রোম

8051 মাইক্রোকন্ট্রোলার সহ ইন্টারফেস আই 2 সি বাস-ইপ্রোম

এসডিএ এবং এসসিএল আই 2 সি লাইনগুলি ব্যবহার করে, EEPROM এর পঠন এবং রচনা অপারেশনগুলি 8051 স্লিকার কিটে করা হয়

আই 2 সি এর ইন্টারফেসিং এত সহজ এবং প্রতিটি একক তথ্যে EEPROM এ পড়ুন / লিখুন। বিলম্ব পরিবর্তিত হওয়ার সাথে সাথে আপনি পছন্দগুলি পরিবর্তন করার সাথে সাথে এটি কীভাবে লুপগুলিকে বাড়ায় তা সংকলকটির উপর নির্ভর করে।

আই 2 সি ইন্টারফেসিংয়ের উত্স কোড

# অন্তর্ভুক্ত
# অন্তর্ভুক্ত
# অন্তর্ভুক্ত

# নির্ধারিত এসিके 1
# নির্ধারিত NO_ACK 0

স্বাক্ষরবিহীন চর i
স্বাক্ষরবিহীন চর এডাটা [5]
স্বাক্ষরবিহীন চর ডেটা
অকার্যকর
অকার্যকর DelayMs (স্বাক্ষরযুক্ত স্বাক্ষর)
অকার্যকর WritI2C (স্বাক্ষরবিহীন চর)
অকার্যকর শুরু (শূন্য)
অকার্যকর স্টপ (অকার্যকর)
অকার্যকর ReadBYTE (স্বাক্ষরযুক্ত স্বাক্ষরিত)
অকার্যকর WritBYTE (স্বাক্ষরযুক্ত স্বাক্ষরিত)
স্বাক্ষরবিহীন চার্চ ReadI2C (বিট)

sbit এসসিএল = পি 2 ^ 0 // এসসিএল পিনের সাথে সংযুক্ত করুন (ঘড়ি)
sbit এসডিএ = পি 2 ^ 1 // এসডিএ পিনের সাথে সংযুক্ত (ডেটা)

//
// মূল প্রোগ্রাম
//
অকার্যকর প্রধান (শূন্য)
{
উদ্যোগশ্রয়ী () // সিরিয়াল বন্দর সূচনা করুন
putchar (0x0C) // ক্লিয়ার হাইপার টার্মিনাল
বিলম্ব (5)
WritBYTE (0x0000)
WritI2C (‘A’) // এখানে ডেটা লিখুন
WritI2C (‘বি’)
WritI2C (‘সি’)
WritI2C (‘ডি’)
WritI2C (‘ই’)
WritI2C (‘F’)
বন্ধ করুন ()
বিলম্ব (10)

ReadBYTE (0x0000)
EData [0] = ReadI2C (NO_ACK)
EData [1] = ReadI2C (NO_ACK)
EData [2] = ReadI2C (NO_ACK)
এডেটা [3] = রিডআই 2 সি (NO_ACK)
এডেটা [4] = রিডআই 2 সি (NO_ACK)
EData [5] = ReadI2C (NO_ACK)

(i = 0i) এর জন্য<6i++)
{
প্রিন্টফ ('মান =% সি n', ইডাটা [i]) // প্রদর্শন ডেটা * /
বিলম্ব (100)
}

যখন (1)
}

//
// সিরিয়াল বন্দর শুরু করুন
//
অকার্যকর
{
SCON = 0x52 // সেটআপ সিরিয়াল পোর্ট নিয়ন্ত্রণ
টিএমওড = 0x20 // হার্ডওয়্যার (9600 BAUD @ 11.0592MHZ)
TH1 = 0xFD // TH1
টিআর 1 = 1 // টাইমার 1 চালু
}

// ——————————-
// আই 2 সি শুরু করুন
// ——————————-
অকার্যকর শুরু (শূন্য)
{
এসডিএ = 1
এসসিএল = 1
_বাটন _ () _ না_
এসডিএ = 0
_বাটন _ () _ না_
এসসিএল = 0
_বাটন _ () _ না_
}

// ——————————-
// স্টপ আই 2 সি
// ——————————-
অকার্যকর স্টপ (অকার্যকর)
{
এসডিএ = 0
_বাটন _ () _ না_
এসসিএল = 1
_বাটন _ () _ না_
এসডিএ = 1
}

// ——————————-
// আই 2 সি লিখুন
// ——————————-
অকার্যকর WritI2C (স্বাক্ষরযুক্ত চর ডেটা)
{

(i = 0i) এর জন্য<8i++)
{
এসডিএ = (ডেটা ও 0x80)? 1: 0
এসসিএল = 1 এসসিএল = 0
ডেটা<<=1
}

এসসিএল = 1
_বাটন _ () _ না_
এসসিএল = 0

}

// ——————————-
// আই 2 সি পড়ুন
// ——————————-
স্বাক্ষরবিহীন চার্ট রিডআই 2 সি (বিট ACK_Bit)
{

শুরু ()
WritI2C (0xA1)

এসডিএ = 1
(i = 0i) এর জন্য<8i++)

এসসিএল = 1
ডেটা<<= 1
তারিখ = (তারিখ)

যদি (ACK_Bit == 1)
এসডিএ = 0 // এসিকে প্রেরণ করুন
অন্য
এসডিএ = 1 // কোন এসি পাঠান

_বাটন _ () _ না_
এসসিএল = 1
_বাটন _ () _ না_
এসসিএল = 0
বন্ধ করুন ()
রিটার্ন ডেটা
}

// ——————————-
// 1 বাইট ফর্ম আই 2 সি পড়ুন
// ——————————-
অকার্যকর ReadBYTE (স্বাক্ষরযুক্ত স্বাক্ষরকারী ঠিকানা)
{
শুরু ()
WritI2C (0xA0)
WritI2C ((স্বাক্ষরবিহীন চর) (অ্যাডার >> 8) এবং 0xFF)
WritI2C ((স্বাক্ষরযুক্ত স্বাক্ষরিত) অ্যাডার এবং 0xFF)
}

// ——————————-
// আই 2 সি তে 1 বাইট লিখুন
// ——————————-
অকার্যকর WritBYTE (স্বাক্ষরযুক্ত স্বাক্ষরকারী ঠিকানা)
{
শুরু ()
WritI2C (0xA0)
WritI2C ((স্বাক্ষরবিহীন চর) (অ্যাডার >> 8) এবং 0xFF) // ঠিকানা প্রেরণ করুন
WritI2C ((স্বাক্ষরযুক্ত স্বাক্ষরিত) অ্যাডার এবং 0xFF) // ঠিকানা কম প্রেরণ করুন
}

//
// বিলম্ব এমএস ফাংশন
//
অকার্যকর DelayMs (স্বাক্ষরযুক্ত স্বীকৃতি গণনা)
m // এমসেক বিলম্ব 11.0592 মেগাহার্টজ
স্বাক্ষরবিহীন int // // কেইল v7.5a
যখন (গণনা)
{
i = 115
(i> 0) আইও
গণনা
}
}

সুতরাং, এটি সমস্ত আই 2 সি ইন্টারফেস বাস্তবায়ন সম্পর্কে। আমরা আশা করি আপনি এই ধারণাটির আরও ভাল ধারণা পেয়েছেন। তদ্ব্যতীত, এই ধারণা সম্পর্কিত কোনও প্রশ্ন বা ইন্টারফেসিং ডিভাইসগুলি নীচের মন্তব্য বিভাগে মন্তব্য করে আপনার মূল্যবান পরামর্শ দিন।