लेख की शुरुआत में टिप्पणी: यह लेख 12864 के संचालन के लिए केवल एक विशिष्ट परिचय है। यह केवल उन नवागंतुकों के लिए है जिन्होंने अभी 12864 पर संपर्क किया है। कृपया इसे देखें। लेख का लेखन अपेक्षाकृत ढीला है। यह अनुशंसा की जाती है कि नौसिखिए पहले 12864 मैनुअल और कंट्रोल ड्राइवर ST7920 अंग्रेजी मैनुअल देखें। , प्रारंभिक समझ होने के बाद इस लेख को फिर से पढ़ें, आपको गहरी समझ होगी। ST7920 अंग्रेजी मैनुअल को ध्यान से पढ़ने की जोरदार सिफारिश की गई है! विवरण में एक विस्तृत परिचय है, और अधिकांश चीनी 12864 का चीनी से अनुवाद भी किया गया है।
यह आलेख 12864 के आंतरिक संसाधन सिद्धांत, निर्देश सेट की विस्तृत व्याख्या और अनुप्रयोग उदाहरणों को पेश करने के लिए तीन चरणों में विभाजित है।
12864 के लिए चार प्रकार के ऑपरेशन हैं:
1) । व्यस्त स्थिति पढ़ें (सूचक पते की सामग्री उसी समय पढ़ी जाएगी)। आरंभीकरण के बाद, प्रत्येक 12864 को पढ़ने और लिखने में व्यस्त होना चाहिए। 2) कमांड लिखें: आप सभी कमांड के लिए कमांड लिस्ट की जांच कर सकते हैं, और कमांड्स के विस्तृत उपयोग को बाद में समझाया जाएगा। राइट एड्रेस भी राइट कमांड है। 3) डेटा लिखें: ऑपरेशन की वस्तुएं DDRAM, CGRAM, GDRAM हैं।
4), डेटा पढ़ें: ऑपरेशन का उद्देश्य DDRAM, CGRAM, GDRAM भी है।

12864 के अध्ययन के लिए आपको पहले इसके आंतरिक संसाधनों को समझना होगा। इसमें क्या है, यह जानकर आप इसे और आसानी से इस्तेमाल कर सकते हैं।
पहले संक्षेप में कुछ अंग्रेजी नामों का परिचय दें:
डीडीआरएएम: (डेटा डिस्प्लेराम), डेटा डिस्प्ले रैम, आप इसमें क्या लिखते हैं, यह प्रदर्शित करेगा कि स्क्रीन क्या प्रदर्शित करेगी।
CGROM: (कैरेक्टर जेनरेशन ROM), कैरेक्टर जेनरेशन ROM। चीनी अक्षरों को संग्रहीत करने के लिए फोंट अंदर हैं, जिन्हें चीनी चरित्र पुस्तकालय भी कहा जाता है। एन्कोडिंग विधियाँ GB2312 (सरलीकृत चीनी) और BIG5 (पारंपरिक चीनी) हैं। लेखक युसोंग इलेक्ट्रॉनिक्स के QC12864B का उपयोग कर रहा है, और स्पष्टीकरण इस उदाहरण पर आधारित है। CGRAM: (कैरेक्टर जेनरेशन रैम), कैरेक्टर जेनरेशन रैम, 12864 64x2B CGRAM प्रदान करता है, जिसका उपयोग उपयोगकर्ता द्वारा परिभाषित 4 16 × 16 वर्णों के लिए किया जा सकता है, प्रत्येक वर्ण 32 बाइट्स पर कब्जा करता है।
GDRAM: (ग्राफिक डिस्प्लेरैम): ग्राफिक डिस्प्ले रैम। इस क्षेत्र का उपयोग ड्राइंग के लिए किया जाता है। वही सच है - इसमें जो कुछ भी लिखा है, स्क्रीन वही प्रदर्शित करेगी जो प्रदर्शित है। इसके और DDRAM के बीच का अंतर यह है कि DDRAM को लिखा गया डेटा है वर्ण एन्कोडिंग और वर्ण प्रदर्शन पहले CGROM में पाए जाते हैं, और फिर स्क्रीन पर मैप किए जाते हैं, और GDRAM को डेटा लिखते समय, ग्राफिक्स की डॉट मैट्रिक्स जानकारी 1 का उपयोग करती है। बिट इसके डिस्प्ले को सेव करने के लिए है या नहीं।
HCGROM: (हाफ हाइट कैरेक्टर जेनरेशन ROM): हाफ-विड्थ कैरेक्टर जेनरेटर, जो कि अक्षर और संख्या है, यानी ASCII कोड। ICONRAM (IRAM) के लिए: ऐसा लगता है कि 12864 वर्तमान में बाजार में यह फ़ंक्शन नहीं है, और मुझे यह नहीं मिला। आवेदन की जानकारी, इसलिए मैं इसे यहां पेश नहीं करूंगा।
नीचे हम ऊपर सूचीबद्ध संसाधनों की सूची के आसपास 12864 की व्याख्या शुरू करेंगे: डीडीआरएएम:
लेखक द्वारा उपयोग किए गए 12864 में DDRAM स्पेस की 4 पंक्तियाँ x 32 बाइट्स हैं। लेकिन एक निश्चित क्षण में, स्क्रीन केवल 2 लाइन x 32 बाइट्स स्पेस प्रदर्शित कर सकती है, तो शेष स्थान के बारे में क्या? उनका उपयोग कैश के लिए किया जा सकता है, और स्क्रॉलिंग डिस्प्ले को लागू करते समय ये स्थान काम में आ सकते हैं।
डीडीआरएएम संरचना इस प्रकार है:
80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H, 88H, 89H, 8AH, 8BH, 8CH, 8DH, 8EH, 8FH90H, 91H, 92H, 93H, 94H, 95H, 96H, 97H , 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FHAOH, A1H, A2H, A3H, A4H, A5H, A6H, A7H, A8H, A9H, AAH, ABH, ACH, ADH, AEH, AFHBOH, B1H, B2H , B3H, B4H, B5H, B6H, B7H, B8H, B9H, BAH, BBH, BCH, BDH, BEH, BFH
पते और स्क्रीन डिस्प्ले के बीच पत्राचार इस प्रकार है:
पंक्ति-80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H दूसरी पंक्ति: 90H, 91H, 92H, 93H, 94H, 95H, 96H, 97H तीसरी पंक्ति: 88H, 89H, 8AH, 8BH , 8CH, 8DH, 8EH, 8FH चौथी पंक्ति: 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FH
नोट: लाल भाग में डेटा स्क्रीन के ऊपरी आधे भाग पर प्रदर्शित होता है, और हरे भाग में डेटा स्क्रीन के निचले आधे भाग पर प्रदर्शित होता है। आम तौर पर, हम वर्णों को प्रदर्शित करने के लिए उपरोक्त दो पंक्तियों के स्थान का उपयोग करते हैं, अर्थात 80H~8FH, 90H~9FH। प्रत्येक पते का स्थान 2 बाइट्स है, जो 1 शब्द है, इसलिए इसका उपयोग वर्णों को संग्रहीत करने के लिए किया जा सकता है कुल एन्कोडिंग स्थान 128 बाइट्स है। चूंकि प्रत्येक चीनी वर्ण का एन्कोडिंग 2 बाइट्स है, प्रत्येक पते को चीनी वर्ण को संग्रहीत करने के लिए 2 बाइट्स का उपयोग करने की आवश्यकता होती है। बेशक, इन 2 बाइट्स को अलग-अलग उपयोग करना भी संभव है, यानी 2 आधी-चौड़ाई वाले वर्ण प्रदर्शित होते हैं।
DDRAM में संग्रहीत डेटा सभी वर्ण कोड हैं, और जो कोड लिखे जा सकते हैं उनमें ASCII कोड, GB2312 कोड और BlG5 कोड शामिल हैं। लेखक द्वारा उपयोग किया गया 12864 फ़ॉन्ट पुस्तकालय अधूरा प्रतीत होता है, और [जीजी] quot;संख्या [जीजी] quot; वर्णों को प्रदर्शित नहीं किया जा सकता है, लेकिन अन्य वर्ण प्रदर्शित किए जाते हैं। यदि आप एक लंबा चीनी वर्ण वाला लेख प्रदर्शित करते हैं, तो लाभ उपयुक्त नहीं है।
DDRAM डेटा पढ़ें और लिखें:
पढ़ने और लिखने वाले सभी डेटा को पहले पता भेजना चाहिए, और फिर पढ़ना और लिखना चाहिए। डीडीआरएएम को डेटा लिखते समय, सुनिश्चित करें कि यह मूल निर्देश सेट (निर्देश 0x30 के साथ खुला) में है, फिर पता लिखें, और फिर लगातार दो बाइट्स डेटा लिखें। डेटा पढ़ते समय, पहले मूल निर्देश सेट के तहत पता लिखें, फिर इसे फिर से पढ़ें, और फिर लगातार 2 बाइट्स डेटा पढ़ें। पढ़ने के बाद, पता सूचक स्वचालित रूप से एक हो जाता है और अगले शब्द पर चला जाता है। यदि आपको अगले एक को पढ़ने की आवश्यकता है शब्द की सामग्री को केवल 2 बाइट्स डेटा को लगातार पढ़ने की आवश्यकता है। यहां फर्जी रीडिंग पर ध्यान देने की जरूरत है। CGRAM को न केवल पढ़ने के लिए नकली रीडिंग की आवश्यकता होती है, बल्कि अन्य GDRAM और DDRAM को पढ़ने के लिए पहले एक नकली रीडिंग की आवश्यकता होती है, और फिर बाद की रीडिंग एक सच्ची रीडिंग होती है। नकली रीडिंग डेटा को एक बार पढ़ना है, लेकिन डेटा संग्रहीत नहीं किया जाएगा। यानी पता भेजने के बाद पहली बार पढ़ा गया डेटा गलत है और उसके बाद का डेटा सही है. (डमी का अर्थ है नकली पढ़ना)

डीडीआरएएम में कोड के भंडारण के बारे में जिन चीजों की व्याख्या करने की आवश्यकता है, वे इस प्रकार हैं:
1) हर बार DDRAM की ऑपरेशन यूनिट एक शब्द, यानी 2 बाइट्स होती है। डीडीआरएएम को डेटा लिखते समय, पहले पता लिखें, और फिर लगातार 2 बाइट्स डेटा भेजें, और पहले उच्च शब्द भेजें। सेक्शन का डेटा, फिर लो बाइट का डेटा भेजा जाता है। डेटा पढ़ते समय भी यही सच है। पहले पता लिखें, फिर हाई बाइट डेटा पढ़ें, और फिर लो बाइट डेटा पढ़ें (कृपया डेटा पढ़ते समय गलत रीडिंग पर ध्यान दें)।
2))। ASCII कोड आधी-चौड़ाई वाले वर्ण प्रदर्शित करते समय, प्रत्येक पते पर ASCII कोड के 2 बाइट्स भेजें, और 2 आधी-चौड़ाई वाले वर्ण स्क्रीन पर स्थिति के अनुरूप प्रदर्शित किए जाएंगे। बायां वाला हाई-बाइट कैरेक्टर है, और राइट वाला लो-बाइट कैरेक्टर है।
3))। चीनी वर्ण प्रदर्शित करते समय, चीनी वर्ण एन्कोडिंग के दो बाइट्स को एक ही पता स्थान में संग्रहीत किया जाना चाहिए, और अलग-अलग दो पते में संग्रहीत नहीं किया जा सकता है, अन्यथा प्रदर्शित वर्ण आपके इच्छित वर्ण नहीं होंगे। प्रत्येक शब्द में 2 बाइट्स फ़ॉन्ट खोजने और वर्णों को प्रदर्शित करने के लिए स्वचालित रूप से संयुक्त होते हैं। इसलिए, यदि हम किसी चीनी वर्ण के 2-बाइट एन्कोडिंग को किसी पते पर लिखते हैं, तो वर्ण सही ढंग से प्रदर्शित होगा। एन्कोडिंग के उच्च बाइट को पिछले पते के निम्न बाइट में संग्रहीत किया जाता है, और एन्कोडिंग के निम्न बाइट को अगले पते के उच्च शब्द में संग्रहीत किया जाता है। अनुभाग, स्पष्ट रूप से वे फ़ॉन्ट खोजने के लिए गठबंधन नहीं करेंगे, लेकिन प्रत्येक पते के संबंधित बाइट के संयोजन के साथ फ़ॉन्ट खोजने के लिए।

4))। चूंकि नियंत्रक ST7920 4 कस्टम वर्ण प्रदान करता है, इन 4 कस्टम वर्णों को भी पूरी तरह से प्रदर्शित किया जा सकता है। इसी तरह इन 4 कस्टम कैरेक्टर को भी कोड किया जाता है, लेकिन इन 4 कैरेक्टर की कोडिंग तय होती है, ये क्रमशः 0000H, 0002HO004H और 0006H हैं। जैसा कि नीचे दिया गया है:

उपरोक्त चित्र केवल 2 वर्णों का CGRAM स्थान खींचता है, और भविष्य में 2 वर्ण होंगे। यह देखा जा सकता है कि प्रत्येक वर्ण में 16 पंक्तियाँ और 16 स्तंभ हैं, और प्रत्येक पंक्ति 2 बाइट्स का उपयोग करती है। इसलिए, एक चरित्र द्वारा कब्जा कर लिया गया स्थान 32 बाइट्स है, और पता 6 बिट्स है। 4 वर्णों के पते हैं: O0H~ OFH,
10 एच ~ 1 एफएच, 20 एच ~ 2 एफएच, 30 एच ~ 3 एफएच। एन्कोडिंग 2 बाइट्स का उपयोग करता है। यह देखा जा सकता है कि 2 बिट मनमानी हैं, यह दर्शाता है कि इन 4 वर्णों के लिए कई एन्कोडिंग हो सकते हैं, लेकिन हम अक्सर ऊपर सूचीबद्ध 4 एन्कोडिंग का उपयोग करते हैं।
CGRAM: (डेटा पढ़ें और लिखें)
CGRAM की संरचना ऊपर दिखाई गई है। यहां हम CGRAM पढ़ने और लिखने के लिए कुछ सामग्री जोड़ते हैं। पढ़ने-लिखने से पहले पता पहले लिखें। CGRAM लिखने का निर्देश Ox4O{{1}} पता है। लेकिन जब हम पता लिखते हैं, तो हमें केवल पहली पंक्ति का पता लिखना होता है। उदाहरण के लिए, पहला वर्ण ऑक्स 40+OOH है, और फिर लगातार 2 बाइट्स डेटा लिखें, और फिर पता सूचक स्वचालित रूप से एक से बढ़ जाएगा और अगली पंक्ति में कूद जाएगा। पता, और फिर 2 बाइट्स डेटा लिखें। वास्तव में, प्रोग्रामिंग पता लिखना है, और फिर लगातार 32 बाइट्स डेटा लिखना है। डेटा पढ़ने के लिए, पहले पहले पता लिखें, फिर एक बार गलत तरीके से पढ़ें, और फिर लगातार 32 बाइट्स डेटा पढ़ें।
GDRAM: (ग्राफिक डिस्प्ले रैम)
रैम ड्राइंग की स्थानिक संरचना नीचे दिए गए चित्र में दिखाई गई है:

