8051 एक हार्वर्ड आर्किटेक्चर, सिंगल चिप माइक्रोकंट्रोलर (whichC) है जो इंटेल द्वारा 1980 में एम्बेडेड सिस्टम में उपयोग के लिए विकसित किया गया था। माइक्रोकंट्रोलर्स और डेरिवेटिव्स के 8051 परिवार शौक और पेशेवरों के एक विशाल समुदाय के साथ लोकप्रिय बने हुए हैं।
मैं Keil IDE में एक प्रोजेक्ट 8051 बनाने की कोशिश कर रहा हूँ। मेरे पास निम्नलिखित के रूप में डिबग प्रोग्राम के उद्देश्यों के लिए जानकारी मुद्रित करने की परिभाषा है:
#define LOGI(fmt, ...) printf("[I] %s:%u: "fmt, __FILE__, __LINE__, ##__VA_ARGS__)
लेकिन त्रुटियां हैं:
log.h(18): error C301: i....
15 पद 2021, 04:28
मुझे पता है कि हम निम्न () और उच्च () ऑपरेटरों का उपयोग कैसे करते हैं:
MOV P3,#LOW(-10)
लेकिन क्या होगा अगर -10 एक पोर्ट पर एक वैरिएबल या इनपुट है? मुझे इसकी ही आवश्यकता थी:
MOV P3,#LOW(P0)
जो काम नहीं करता है। Edsim51 सिम्युलेटर कहता है कि एक लेबल अपेक्षित है। लेकिन मुझे नहीं लगता कि मैं यहां ....
21 जून 2021, 19:25
विकिपीडिया में पाए गए इस आरेख में, ROM और प्रोग्राम एड्रेस रजिस्टर दोनों 8-बिट बस से जुड़े हैं, लेकिन मैंने सोचा कि 8051 में, आंतरिक रोम 16-बिट एड्रेस का उपयोग करता है। तो प्रोग्राम एड्रेस रजिस्टर 8-बिट बस से क्यों जुड़ा है?....
25 अप्रैल 2021, 17:54
मैं वर्तमान में C सीख रहा हूं, इसलिए मैंने अपने AT89S52 MCU को प्रोग्रामर के साथ प्रोग्राम करने की कोशिश की।
एसडीसीसी कार्यों के साथ संकलन, और अपलोड भी सफल है। लेकिन जब मैंने ब्लिंक प्रोग्राम बनाने की कोशिश की, तो यह वह नहीं कर रहा है जिसकी मुझे उम्मीद थी। मैंने ब्लिंक फंक्शन के साथ अपनी हेडर फाइल....
17 मार्च 2021, 17:52
यहां लक्ष्य छोटे-एंडियन नोटेशन में संग्रहीत दो 16-बिट संख्याओं के लिए जीसीडी ढूंढना है। संख्याओं को निम्नलिखित मेमोरी सेल में संग्रहीत किया जाता है:
पहला नंबर: 0x3000-0x3001 सेकंड नंबर: 0x4000-0x4001 परिणाम में जाना चाहिए: 0x5000-0x5001
निम्न उदाहरण 8-बिट संख्याओं के लिए काम करता है:
ORG 0000H
MOV....
28 पद 2020, 19:43
यहां लक्ष्य दो छोटे-एंडियन नोटेशन में संग्रहीत दो 32-बिट संख्याओं को जोड़ना है। संख्याओं को निम्नलिखित मेमोरी सेल में संग्रहीत किया जाता है:
पहला नंबर: 0x3000-0x3003 सेकंड नंबर: 0x4000-0x4003 परिणाम में जाना चाहिए: 0x5000-0x5003
मेरा कार्यान्वयन निम्नलिखित है, जो DRY सिद्धांत के संदर्भ में बहुत कुश....
मैं एक एसटीसी एमसीयू के साथ एक पीएलसी बोर्ड प्रोग्रामिंग कर रहा हूं और हमेशा एमसीयू में प्रोग्राम डाउनलोड करने में परेशानी होती है, एसटीसी आईएसपी प्रोग्रामिंग सॉफ्टवेयर (v6.87) का लास संस्करण BAIDU क्लाउड में संग्रहीत होता है, और पंजीकरण करने के लिए मुझे एक चीनी फोन चाहिए, क्या किसी को डाउनलोड करने....
जब मैं कोड पर बाइनरी में "बी" को हटाता हूं, तो यह संख्या प्रदर्शित करते समय गड़बड़ क्यों करता है?
ORG 0000H
START:
SETB P3.3
SETB P3.4
MOV P1, #11111001
CALL DELAY
CLR P3.3
MOV P1, #10100100
CALL DELAY
CLR P3.4
SETB P3.3
MOV P1, #10110000
CALL DELAY
CL....
11 जून 2020, 07:56
मुझे एमसीयू 8051 आईडीई सिम्युलेटर के साथ समस्या है, जब सी भाषा का इस्तेमाल किया गया था, लेकिन मेरे पीसी पर एसडीसीसी कंपाइलर स्थापित करने के बाद यह संदेश "नो एसडीसीसी कंपाइलर" आ रहा था, लेकिन जब मैंने एक सी प्रोग्राम लिखा और इसे कंपाइलर किया। तब यह संदेश आया
"sdcc -mmcs51 --iram-size 256 --xram-size....
हमें अगले कोड में समस्या की पहचान करने का काम सौंपा गया है:
ORG 0000H
MAIN:
CLR A
MOV A, FFFFH
MOV B, FFH
AGAIN: DEC A
DJNZ B, AGAIN
END
MOV A, FFFFH और MOV B, FFH को EdSim51 में एक
FFFFH और FFH दोनों पर अनजान लेबल।
मुझे इस प्रकार के कोड पर कोई अनुभव नहीं है। मुझे लगता है कि यह प्र....
6 जून 2020, 06:03
मेरे पास 8051 माइक्रोकंट्रोलर के लिए निम्नलिखित हेक्स ऑपोड अनुक्रम है:
785679107A247BFD7C347D407E51745568F869F96AFA6BFB6CFC6DFD6EFE
मुझे यह रेपो मिला, जो हेक्स को निर्देश अनुक्रमों में परिवर्तित करता है /ए>.
इसका उपयोग करके मैं निम्नलिखित असेंबली निर्देश प्राप्त करने में सक्षम था:
x00000000: 3....
5 जून 2020, 15:57
यह मेरा कोड है:
ORG 0100H
SETB P1.0
DONGU1:
JB P1.0,DONGU1
MOV R4,#0FFH
BASLANGIC:
MOV DPTR,#NUM
MOV A,#00H
MOVC A,@A+DPTR
MOV P3,#02H
MOV P2,A
ACALL GECIKME
MOV A,#01H
MOVC A, @A+DPTR
MOV P3,#08H
MOV P2,A
ACALL GECIKME
MOV A....
30 अप्रैल 2020, 22:10
मैं एक ही समय में दो टाइमर काम करना चाहता हूं लेकिन ऐसा लगता है कि यह बिल्कुल काम नहीं कर रहा है
मैंने एलईडी ब्लिंक करने के लिए कोड लिखा था। जब मैं टाइमर और इंटरप्ट में से किसी एक का उपयोग करता हूं तो एलईडी झपकाएगा जब मैंने उन दोनों का इस्तेमाल किया, तो एलईडी के लिए दो पोर्ट काम नहीं कर रहे थे।
क्....
मैं साइप्रस ईज़ी-यूएसबी एफएक्स2एलपी के लिए विकास कर रहा हूं जिसमें 8051 कोर है और मैं संकलन के लिए एसडीसीसी का उपयोग करता हूं।
मैंने देखा है कि मैं (कभी-कभी?) पॉइंटर्स के लिए __xdata एनोटेशन को छोड़ सकता हूं और XDATA क्षेत्र में पॉइंटर का उपयोग करते समय भी मेरा फर्मवेयर ठीक चलेगा।
उदाहरण के लिए, यह ....
5 मार्च 2020, 13:55
मैं लॉजिटेक फ्रीडम 2.4 कॉर्डलेस जॉयस्टिक के फर्मवेयर को डीकंपाइल करने की कोशिश कर रहा हूं। मैं EEPROM में से कुछ प्राप्त करने में कामयाब रहा हूं। (यहां) उपयोग किया जाने वाला EEPROM माइक्रोचिप 25AA320 है, जो कि 32Kbit SPI-EEPROM है। MCU एक nRF24E1G है, जिसमें 8051 MCU है। ROM 4096 बाइट्स होना चा....
6 फरवरी 2020, 17:02
मेरे पास सॉफ्टवेयर काउंटरों को कम करने वाले सी प्रोग्राम हैं। उदाहरण के लिए यदि मैं हर 2 सेकंड में एक एलईडी को ब्लिंक करना चाहता हूं जो मैं कर सकता हूं:
if(!ledT) {
ledT = 200;
// code
// code
// code
}
क्योंकि मैं हमेशा हर काउंटर के साथ एक ही संयोजन करता हूं, मैं इसे एक पंक्ति म....
मेरे 8051 माइक्रोकंट्रोलर के लिए इस विवरण को कैसे लागू करें?
संचरण की गति: V_pd = 62500 बॉड; क्वार्ट्ज गुंजयमान यंत्र की घड़ी आवृत्ति: f_CLK = 12 मेगाहर्ट्ज; साझा करने के लिए UART मॉड्यूल का उपयोग करना; ट्रांसमिशन मोड - अतुल्यकालिक; डेटा शब्द का आकार - 8 अंक; समता जांच का उपयोग करें; स्टॉप बिट्स की ....
कृपा प्रदान करें,
मैं 8051 माइक्रोकंट्रोलर के लिए एक प्रोग्राम लिखने के लिए मिक्रोसी कंपाइलर का उपयोग कर रहा हूं, मैं 10 सेकंड के लिए मुख्य प्रोग्राम को निष्पादित करने और दोहराने का एक तरीका खोजने की कोशिश कर रहा हूं, फिर 2 सेकंड के लिए रुकें
केवल एक उदाहरण के नीचे कोड, मुझे प्रत्येक 200 मिसे पोर्ट ....
28 नवम्बर 2019, 08:53
कृपया मेरी समस्या में मदद करें।
मैं नीचे दिए गए प्रोग्राम में काउंट अप/डाउन वैल्यू के लिए 0 से 100 के बीच की सीमा से बाहर जाने से बचने की कोशिश कर रहा हूं;
मैं 0 और 100 के बीच मान प्रदर्शित करने के लिए 8051 माइक्रोकंट्रोलर और 2x16 एलसीडी का उपयोग कर रहा हूं। यूपी बटन दबाते समय संख्या एक से बढ़ गई, ज....
29 अक्टूबर 2019, 05:15
क्या 8051 μC के साथ दो कार्यों को एक साथ चलाने का कोई तरीका है? उदाहरण के लिए,
कार्य एक
Delay 1 sec
P2.B2 = 1
Delay 1 sec
P2.B2 = 0
टास्क 2
If P1.B0 = 1
P2.B3=1
इसलिए किसी भी समय, P2.0 से जुड़े स्विच को दबाएं 1 है, P2.3=ON पर LED है, और P2.2 LED को P2.2 ब्लिंक करता रहता है।....
12 अक्टूबर 2019, 04:57
एलईडी चालू करने के लिए स्विच को 2 बार दबाया जाना है, एलईडी बंद करें स्विच को 10 सेकंड के भीतर 3 बार दबाया जाना है? क्या कोई तर्क समझा सकता है कि इसे कैसे कार्यान्वित किया जाए?
मैंने देरी फ़ंक्शन में स्विच की स्थिति की जाँच की, लेकिन यह काम नहीं कर रहा है
#include<reg51.h>
void delay_ms(unsigned in....
मेरे पास एक 8051 माइक्रोकंट्रोलर है जिसमें बाहरी रैम जुड़ा हुआ है और मैं यह देखने के लिए रैम का परीक्षण करना चाहता हूं कि यह डेटा को सही तरीके से स्टोर और लोड कर सकता है (जो मुझे लगता है कि यह वर्तमान में नहीं है)।
मेरे कार्यक्रम में, मेरे पास यह है जहां मूल्य 80h स्मृति के पहले बाइट को लिखा जाता है....
24 सितंबर 2019, 08:03
8051 प्रोजेक्ट के लिए कुछ असेंबली पर पढ़ना और मुझे यह समझने में कठिनाई हो रही है कि कुछ हेक्स मानों में शून्य क्यों हैं और कुछ नहीं, क्या मैं दोनों उदाहरणों को acc.5 से 1 सेट करने में सही हूं?
मूव ए, #020h
मूव ए, #20h....
आम तौर पर जब मैं 8051 चिप के लिए असेंबली लिखता हूं। मैं फ़ंक्शन कॉल करने से पहले वाद-विवाद के लिए रजिस्टरों R0-R7 का उपयोग करता हूं।
mov r6, #6
mov r7, #2
lcall setpos
मुझे स्टैक का उपयोग करके ऐसा करने में दिलचस्पी थी (इस तथ्य को अनदेखा करना कि यह कम कुशल हो सकता है)। इंटरनेट पर खोज करने पर मुझे ....
मैं कुछ फर्मवेयर को रिवर्स इंजीनियरिंग कर रहा हूं जिसे मैंने एक एम्बेडेड डिवाइस से डंप किया है जो 8051 माइक्रोकंट्रोलर का उपयोग करता है। और मैं इस समारोह में आया, जिसे घिदरा इस प्रकार अलग करता है:
undefined FUN_CODE_1cff()
undefined R7:1 <RETURN>
FUN_CODE_1cff
....
11 मई 2019, 01:50