विषयसूची:
- चरण 1: आवश्यकताएँ
- चरण 2: प्रोग्रामर का निर्माण
- चरण 3: प्रोग्रामर सॉफ़्टवेयर स्थापित करना
- चरण 4: चिप प्रोग्रामिंग
- चरण 5: विधानसभा
- चरण 6: कोड स्पष्टीकरण
- चरण 7: अतिरिक्त संसाधन
वीडियो: AT89C2051 के साथ 8051 प्रोग्रामिंग का परिचय (अतिथि अभिनीत: Arduino): 7 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
8051 (एमसीएस -51 के रूप में भी जाना जाता है) 80 के दशक से एमसीयू डिजाइन है जो आज भी लोकप्रिय है। आधुनिक 8051-संगत माइक्रोकंट्रोलर कई विक्रेताओं से, सभी आकारों और आकारों में, और बाह्य उपकरणों की एक विस्तृत श्रृंखला के साथ उपलब्ध हैं। इस निर्देश में हम Atmel के AT89C2051 MCU को देखेंगे।
AT89C2051 एक छोटा (2Kbyte Flash, 128byte RAM), सस्ता (~$1.40 प्रति चिप) माइक्रोकंट्रोलर है। विशेषताएं:
- 2.7-6V ऑपरेशन
- 15 आई/ओ लाइनें
- 2 टाइमर (16 बिट)
- आंतरिक और बाहरी व्यवधान
- यूएआरटी
- ऑन-चिप एनालॉग तुलनित्र
- 24MHz घड़ी के साथ 2MIPS तक
चरण 1: आवश्यकताएँ
आवश्यकताएं:
- Linux PC (आवश्यक सॉफ़्टवेयर: Arduino IDE, git, make, sdcc)
- अरुडिनो यूएनओ
- AT89C2051 चिप (DIP20 पैकेज)
- 20-पिन ZIF सॉकेट
- ऑप्टोकॉप्लर (अधिमानतः MOSFET- आउटपुट)
- Arduino प्रोटोटाइप शील्ड
- 12 वी बिजली की आपूर्ति
- 5 वी बिजली की आपूर्ति
- 16 मेगाहर्ट्ज क्रिस्टल ऑसीलेटर
- 2x 30pF संधारित्र
- 100nF संधारित्र
- डायोड (उदा: 1N400X)
- प्रतिरोधक (1K, 3K3)
- protoboard
- जम्परों
- तांबे का तार
आवश्यक सॉफ़्टवेयर की जाँच करें:
कौन सा python3
जो कौन सा sdcc बनाते हैं जो git
चरण 2: प्रोग्रामर का निर्माण
यह खंड संक्षिप्त होगा, क्योंकि मैंने कुछ समय पहले अपना प्रोग्रामिंग शील्ड बनाया था। मैंने इकट्ठे बोर्ड के योजनाबद्ध और चित्र संलग्न किए हैं। योजनाबद्ध का पीडीएफ भंडार में पाया जा सकता है।
आपको प्रोग्रामर बोर्ड को प्रोग्राम करना होगा:
1. रिपॉजिटरी को क्लोन करें।
गिट क्लोन
2. Arduino IDE में AT89C2051_programmer/AT89_prog/AT89_prog.ino फ़ाइल खोलें।
3. Arduino IDE से स्केच बनाएं और अपलोड करें।
चरण 3: प्रोग्रामर सॉफ़्टवेयर स्थापित करना
1. एक अजगर आभासी वातावरण बनाएँ।
python3 -एम वेनव वेनव
. वेनव/बिन/सक्रिय
2. 89ओवरलॉर्ड पर स्थापित करें। at89overlord मेरे द्वारा लिखित AT89C2051 चिप के लिए एक ओपन सोर्स प्रोग्रामर है। इसका सोर्स कोड यहां पाया जा सकता है।
पिप इंस्टाल at89overlord
3. स्थापना सत्यापित करें।
at89overlord -h
चरण 4: चिप प्रोग्रामिंग
1. एक साधारण ब्लिंक प्रोजेक्ट क्लोन करें।
सीडी ~
गिट क्लोन https://github.com/piotrb5e3/hello-8051.git cd hello-8051/
2. एप्लिकेशन बनाएं।
बनाना
3. Arduino को PC से कनेक्ट करें, 12V सप्लाई कनेक्ट करें, AT89C2051 चिप को ZIF सॉकेट में रखें।
4. Arduino के सीरियल पोर्ट का पता लगाएँ।
एलएस /देव/ट्टी*
5. चिप में निर्मित IntelHex फ़ाइल अपलोड करें। यदि आपके Arduino का पोर्ट /dev/ttyACM0 से अलग है, तो आपको -p कमांड लाइन पैरामीटर के साथ सही मान पास करना होगा।
at89overlord -f./hello.ihx
चरण 5: विधानसभा
योजनाबद्ध के अनुसार सर्किट को इकट्ठा करें। एक पीडीएफ संस्करण भंडार में पाया जा सकता है।
आपको हरे रंग की एलईडी फ्लैश को लगभग 0.5 हर्ट्ज की आवृत्ति के साथ देखना चाहिए।
चरण 6: कोड स्पष्टीकरण
#शामिल
#शामिल
हम sdcc से AT89X051 हेडर शामिल करके शुरू करते हैं। इसमें रजिस्टरों के साथ बातचीत करने के लिए मैक्रोज़ शामिल हैं जैसे कि वे चर थे। हम stdint.h भी शामिल करते हैं जिसमें uint8_t और uint16_t पूर्णांक प्रकारों की परिभाषाएँ शामिल हैं।
// मान लें कि थरथरानवाला 16MHz है
#परिभाषित करें INTERRUPTS_PER_SECOND 5208
Timer0 ओवरफ्लो होने पर व्यवधान उत्पन्न होता है। इसे एकल 8 बिट टाइमर के रूप में कॉन्फ़िगर किया गया है, इसलिए यह प्रत्येक 2^8 प्रोसेसर चक्र में होता है। एक प्रोसेसर चक्र में 12 घड़ी चक्र लगते हैं, और इस प्रकार हम 16000000/12/2^8 = 5208.33333 पर पहुंचते हैं।
अस्थिर uint8_t led_state = 0;
अस्थिर uint16_t टाइमर_काउंटर = INTERRUPTS_PER_SECOND;
हम नेतृत्व वाले राज्य नियंत्रण की घोषणा करते हैं और काउंटर चर को बाधित करते हैं।
शून्य टाइमर0_आईएसआर (शून्य) _इंटरप्ट (1) {
टाइमर_काउंटर--; अगर (टाइमर_काउंटर == 0) {led_state =!led_state; टाइमर_काउंटर = INTERRUPTS_PER_SECOND; } }
हर बार Timer0 ओवरफ्लो होने पर काउंटर कम हो जाता है। यदि यह शून्य के बराबर है तो यह रीसेट हो जाता है, और नेतृत्व वाली स्थिति बदल जाती है। यह प्रति सेकंड लगभग एक बार होता है, जिसके परिणामस्वरूप ~ 0.5Hz एलईडी ब्लिंकिंग आवृत्ति होती है।
मुख्य प्रवेश बिंदु() {
टीएमओडी = 0x3; // टाइमर मोड - 8 बिट, कोई प्रीस्कूलर नहीं। फ्रीक = ओएससीएफआरईक्यू/12/2^8 टीएल0 = 0; // स्पष्ट काउंटर TH0 = 0; // क्लियर रजिस्टर TR0 = 1; // चलने के लिए टाइमर सेट करें। ET0 = 1; // इंटरप्ट सेट करें। ईए = 1; // वैश्विक रुकावट सेट करें। जबकि(1) { अगर (led_state) {P1 = 0xFF; } और {P1 = 0x00; } } }
हम टाइमर मॉड्यूल को कॉन्फ़िगर करते हैं और नेतृत्व वाले राज्य नियंत्रण चर में परिवर्तन की प्रतीक्षा करते हैं। टीएमओडी टाइमर मोड नियंत्रण रजिस्टर है। TL0 और TH0 Timer0 नियंत्रण रजिस्टर हैं। ET0 टाइमर कंट्रोल रजिस्टर (TCON) में इनेबल-टाइमर0 बिट है। TR0 और EA इंटरप्ट इनेबल रजिस्टर (IE) में बिट्स हैं।
चरण 7: अतिरिक्त संसाधन
- AT89C2051 डेटाशीट:
- स्मॉल डिवाइस सी कंपाइलर (एसडीसीसी):
- 8051 संसाधन:
- AT89C2051 प्रोग्रामर रिपॉजिटरी:
- हैलो-८०५१ भंडार:
सिफारिश की:
Arduino का परिचय: 15 कदम (चित्रों के साथ)
Arduino का परिचय: एक Arduino एक ओपन-सोर्स माइक्रोकंट्रोलर डेवलपमेंट बोर्ड है। सादे अंग्रेजी में, आप सेंसर पढ़ने और मोटर और रोशनी जैसी चीजों को नियंत्रित करने के लिए Arduino का उपयोग कर सकते हैं। यह आपको इस बोर्ड पर प्रोग्राम अपलोड करने की अनुमति देता है जो तब चीजों के साथ बातचीत कर सकता है
हाथ कोडिंग के बिना रास्पबेरी पाई प्रोग्रामिंग का परिचय: 3 कदम
हाथ कोडिंग के बिना रास्पबेरी पाई प्रोग्रामिंग का परिचय: नमस्ते, यह निर्देश आपको दिखाएगा कि कैसे अपने रास्पबेरी पाई को पूरी तरह से प्रोग्राम करने योग्य स्वचालन उपकरण में बदलना है जो पीएलसी के लिए ग्राफिक रूप से उन्मुख प्रोग्रामिंग भाषा के साथ संगत है जिसे फ़ंक्शन ब्लॉक आरेख (आईईसी 61131-3 मानक का हिस्सा) कहा जाता है। यह हो सकता है
कंडक्टिव जेली डोनट्स - मेकी मेकी के साथ सिलाई सर्किट का परिचय: 4 कदम (चित्रों के साथ)
कंडक्टिव जेली डोनट्स - मेकी मेकी के साथ सिलाई सर्किट का एक परिचय: हमने ट्विटर पर देखा कि हमारे बहुत सारे स्क्रैच और मेकी मेसी कट्टरपंथी सिलाई सर्किट के बारे में अधिक जानना चाहते थे, इसलिए हमने आपको सिलाई सर्किट पर एक त्वरित परिचय देने के लिए इस ट्यूटोरियल को तैयार किया है। और आप कुछ मॉड्यूलर टुकड़ों को कैसे सिल सकते हैं। (यह है
सबसे सस्ता Arduino -- सबसे छोटा अरुडिनो -- अरुडिनो प्रो मिनी -- प्रोग्रामिंग -- Arduino Neno: 6 कदम (चित्रों के साथ)
सबसे सस्ता Arduino || सबसे छोटा अरुडिनो || अरुडिनो प्रो मिनी || प्रोग्रामिंग || Arduino Neno:……………………….. कृपया अधिक वीडियो के लिए मेरे YouTube चैनल को SUBSCRIBE करें…… .यह प्रोजेक्ट इस बारे में है कि अब तक के सबसे छोटे और सबसे सस्ते arduino को कैसे इंटरफ़ेस किया जाए। सबसे छोटा और सस्ता arduino arduino pro mini है। यह Arduino के समान है
Elechouse V3 और Arduino के साथ वॉयस रिकग्निशन का परिचय: 4 चरण (चित्रों के साथ)
Elechouse V3 और Arduino के साथ वॉयस रिकग्निशन का परिचय: हाय देयर…!वॉयस रिकग्निशन टेक्नोलॉजी पिछले कुछ सालों में यहां रही है। पहले सिरी इनेबल्ड आईफोन के साथ बात करते समय हमें जो बड़ा उत्साह था, वह हमें आज भी याद है। तब से, वॉयस कमांड डिवाइस बहुत उन्नत स्तर तक बढ़ गए हैं