माइक्रोकंट्रोलर सर्किट
माइक्रोकंट्रोलर सर्किट
Jump to TINA Main Page & General Information
TINA बहुत समर्थन करता है (तस्वीर, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) माइक्रोकंट्रोलर; नए MCU लगातार जोड़े जा रहे हैं। आप प्रोसेसर में चल रहे प्रोग्राम को देख, संशोधित और डिबग कर सकते हैं और निश्चित रूप से, आप अपना कोड बना सकते हैं।
टीना में माइक्रोकंट्रोलर्स के लिए कार्यक्रम प्रदान करने के दो तरीके हैं। आप एक मानक संकलक (जैसे PICL के लिए MPLAB) द्वारा बनाई गई बाइनरी कोड और डिबग फ़ाइल का उपयोग कर सकते हैं या आप बस असेंबली-डीबगर में इसके उपयोग से टीना में चलाने और डिबग करने के लिए अपने विधानसभा कोड को लोड कर सकते हैं।
टीना में माइक्रोकंट्रोलर्स को न केवल अकेले, बल्कि एनालॉग, डिजिटल, एचडीएल या अन्य मॉडलों के साथ भी जोड़ा जा सकता है।
MCU कोड चलाना और संपादन करना
उदाहरणों से PIC Flasher.TSC सर्किट को लोड करें ।MicrocontrollersPic फ़ोल्डर।
16F73 PIC माइक्रोकंट्रोलर का उपयोग करते हुए निम्नलिखित योजनाबद्ध 16F73 PIC माइक्रोकंट्रोलर के साथ दिखाई देगा:
यह सर्किट बस एक-एक करके आगे बढ़ता है। दबाएं
प्रदर्शन को एक-एक करके आगे बढ़ना चाहिए।
इसमें ASM कोड देखने के लिए MCU पर डबल-क्लिक करें। (क्विक स्टार्ट मैनुअल में अधिक विवरण देखें)।
टीना में एक बड़ी विशेषता है जिससे आप सीधे टीना में स्रोत कोड को संपादित और बदल सकते हैं।
कोड में निम्नलिखित परिवर्तन करें:
25 लाइन में निर्देश (ऊपर चयनित) बदलें (आप कोड संपादक विंडो के दाहिने निचले कोने में लाइन नंबर देख सकते हैं):
Addlw 01H से
02H को जोड़ने के लिए
TINA में परिवर्तित कोड को दबाकर सेव करें
आप दबाते हैं
ध्यान दें कि परिवर्तित कोड TINA। टीसीएल फ़ाइल में स्वचालित रूप से सहेजा जाएगा।
डीबगर का उपयोग करना
आइए अधिक अंतःक्रियात्मकता के साथ एक और एप्लिकेशन देखें।
उदाहरणों के उदाहरणों से TINA के PIC16F84interrupt_rb0.TSC लोड करें। फ़ोल्डर फ़ोल्डर।
प्रेस
हालाँकि, यदि आप SW-HL1 स्विच पर क्लिक करते हैं। हर बार स्विच कम से उच्च पर बदलता है, तो प्रदर्शन 1 द्वारा आगे बढ़ेगा।
पीआईसी की बाधा से निपटने की क्षमता हमें स्विच परिवर्तनों का पता लगाने की अनुमति देगी।
अब आइए टीना के इंटरैक्टिव एएसएम डीबगर का उपयोग करके ऑपरेशन को और अधिक विस्तार से देखें।
डीबगर को सक्रिय करने के लिए, विश्लेषण मेनू पर विकल्प का चयन करें। फिर विश्लेषण विकल्प संवाद बॉक्स पर नीचे दिखाए अनुसार “MCU कोड डिबगर चेकबॉक्स सक्षम करें” सेट करें।
ठीक बटन दबाएँ और MCU डिबगर दिखाई देगा:
चलो दबाकर कार्यक्रम के निष्पादन के चरण-दर-चरण का पालन करें
लगभग 14 क्लिक के बाद हम PT1: लेबल पर पहुँचते हैं जहाँ प्रोग्राम अनंत लूप में लगता है।
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
वेतन वृद्धि और PORT A में कॉपी करें, और आउटपुट 1 होगा। इसके बाद कार्यक्रम PT1 पर "अनंत लूप" पर वापस आ जाएगा।
डिबगर में कोड का संपादन
अब डिबगर के उपयोग को प्रदर्शित करने के लिए कार्यक्रम में एक छोटा सा बदलाव करें। INCF COUNTER, F स्टेटमेंट को कॉपी और पेस्ट की तरह डुप्लिकेट करें:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
अब जब तुम दबाओगे
हां दबाएं और दबाएं
आप डिबगर के निरंतर रनिंग मोड में सर्किट को दबाकर भी जांच सकते हैं
हालांकि डिबगर तेजी से चलेगा, फिर भी आप स्विच को बदलने पर "अनंत चक्र 'और फिर इंटरप्ट सर्वर पार्ट (INT_SERV:) पर जा सकते हैं।
एक ब्रेकपॉइंट बनाना
चरण-दर-चरण मोड का उपयोग करना, कार्यक्रम में किसी विशेष बिंदु पर पहुंचना अक्सर असंभव होता है। यहां तक कि अगर आप एक हजार कदम आगे बढ़ने के लिए पर्याप्त धैर्य रखते हैं, तो कार्यक्रम का प्रवाह आपको वह कदम उठाने की अनुमति नहीं दे सकता है जहां आप चाहते हैं।
विशेष पंक्ति में रुकने के लिए, आप "ब्रेकपॉइंट" सेट करके लक्ष्य विवरण को चिह्नित कर सकते हैं।
डीबगर के निरंतर मोड में प्रोग्राम का उपयोग करके चलाएं
इसे प्रदर्शित करने के लिए, INT_SERV: लेबल के बाद हमारे रुकावट सर्वर में वृद्धि विवरण पर क्लिक करें और दबाएं
अब दबाएं
भले ही आपने एक ब्रेकपॉइंट सेट किया है, कोड निष्पादन बंद नहीं होगा क्योंकि यह ब्रेकपॉइंट पर कभी नहीं जाता है। हालाँकि, जब आप स्विच को लो से हाई में बदलते हैं, तो प्रोग्राम चिह्नित स्टेटमेंट पर रुक जाएगा:
INT_SERV: INCF COUNTER, F
अब आप या तो चरण दर चरण जारी रख सकते हैं