माइक्रोकंट्रोलर सर्किट

माइक्रोकंट्रोलर सर्किट

Jump to TINA Main Page & General Information 

TINA बहुत समर्थन करता है (तस्वीर, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) माइक्रोकंट्रोलर; नए MCU लगातार जोड़े जा रहे हैं। आप प्रोसेसर में चल रहे प्रोग्राम को देख, संशोधित और डिबग कर सकते हैं और निश्चित रूप से, आप अपना कोड बना सकते हैं।

टीना में माइक्रोकंट्रोलर्स के लिए कार्यक्रम प्रदान करने के दो तरीके हैं। आप एक मानक संकलक (जैसे PICL के लिए MPLAB) द्वारा बनाई गई बाइनरी कोड और डिबग फ़ाइल का उपयोग कर सकते हैं या आप बस असेंबली-डीबगर में इसके उपयोग से टीना में चलाने और डिबग करने के लिए अपने विधानसभा कोड को लोड कर सकते हैं।

असेंबली भाषा प्रोग्रामिंग के साथ PIC माइक्रोकंट्रोलर का उपयोग करके एक सरल काउंटर सर्किट बनाना

C भाषा प्रोग्रामिंग के साथ PIC माइक्रोकंट्रोलर का उपयोग करके एक सरल काउंटर सर्किट बनाना

टीना का उपयोग करके बुनियादी माइक्रोकंट्रोलर डिबगिंग

टीना में माइक्रोकंट्रोलर्स को न केवल अकेले, बल्कि एनालॉग, डिजिटल, एचडीएल या अन्य मॉडलों के साथ भी जोड़ा जा सकता है।

MCU कोड चलाना और संपादन करना

उदाहरणों से PIC Flasher.TSC सर्किट को लोड करें ।MicrocontrollersPic फ़ोल्डर।

16F73 PIC माइक्रोकंट्रोलर का उपयोग करते हुए निम्नलिखित योजनाबद्ध 16F73 PIC माइक्रोकंट्रोलर के साथ दिखाई देगा:

माइक्रोकंट्रोलर सर्किट, छवि 1

यह सर्किट बस एक-एक करके आगे बढ़ता है। दबाएं बटन यह देखने के लिए कि यह कैसे काम करता है।

प्रदर्शन को एक-एक करके आगे बढ़ना चाहिए।

इसमें ASM कोड देखने के लिए MCU पर डबल-क्लिक करें। (क्विक स्टार्ट मैनुअल में अधिक विवरण देखें)।

टीना में एक बड़ी विशेषता है जिससे आप सीधे टीना में स्रोत कोड को संपादित और बदल सकते हैं।

कोड में निम्नलिखित परिवर्तन करें:

25 लाइन में निर्देश (ऊपर चयनित) बदलें (आप कोड संपादक विंडो के दाहिने निचले कोने में लाइन नंबर देख सकते हैं):

Addlw 01H से

02H को जोड़ने के लिए

TINA में परिवर्तित कोड को दबाकर सेव करें आइकन और खुले MCU विंडो को बंद करें।

आप दबाते हैं बटन अब, वेतन वृद्धि होगी 2!

ध्यान दें कि परिवर्तित कोड TINA। टीसीएल फ़ाइल में स्वचालित रूप से सहेजा जाएगा।

डीबगर का उपयोग करना

आइए अधिक अंतःक्रियात्मकता के साथ एक और एप्लिकेशन देखें।

उदाहरणों के उदाहरणों से TINA के PIC16F84interrupt_rb0.TSC लोड करें। फ़ोल्डर फ़ोल्डर।

प्रेस बटन। पहले लगता है कि कुछ नहीं हो रहा है।

हालाँकि, यदि आप SW-HL1 स्विच पर क्लिक करते हैं। हर बार स्विच कम से उच्च पर बदलता है, तो प्रदर्शन 1 द्वारा आगे बढ़ेगा।

पीआईसी की बाधा से निपटने की क्षमता हमें स्विच परिवर्तनों का पता लगाने की अनुमति देगी।

अब आइए टीना के इंटरैक्टिव एएसएम डीबगर का उपयोग करके ऑपरेशन को और अधिक विस्तार से देखें।

डीबगर को सक्रिय करने के लिए, विश्लेषण मेनू पर विकल्प का चयन करें। फिर विश्लेषण विकल्प संवाद बॉक्स पर नीचे दिखाए अनुसार “MCU कोड डिबगर चेकबॉक्स सक्षम करें” सेट करें।

ठीक बटन दबाएँ और MCU डिबगर दिखाई देगा:

चलो दबाकर कार्यक्रम के निष्पादन के चरण-दर-चरण का पालन करें ट्रेस में बटन।

लगभग 14 क्लिक के बाद हम PT1: लेबल पर पहुँचते हैं जहाँ प्रोग्राम अनंत लूप में लगता है।

PT1: INCF TEMP, F GOTO PT1

अब SW-HL1 स्विच पर क्लिक करें और इसे हाई में बदलें। (जब कर्सर ऊपर की ओर इंगित करने वाला तीर the में बदल जाए तो आपको क्लिक करना चाहिए)। डीबगर पर वापस जाएं और क्लिक करें दो बार ट्रेस बटन में। कार्यक्रम रुकावट की पहचान करेगा और इसमें कूद जाएगा


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    

अब जब तुम दबाओगे कार्यक्रम पूछेगा:

हां दबाएं और दबाएं फिर से बटन। अब वृद्धि स्विच के प्रत्येक कम-उच्च परिवर्तन पर 2 होगी।

आप डिबगर के निरंतर रनिंग मोड में सर्किट को दबाकर भी जांच सकते हैं बटन.

हालांकि डिबगर तेजी से चलेगा, फिर भी आप स्विच को बदलने पर "अनंत चक्र 'और फिर इंटरप्ट सर्वर पार्ट (INT_SERV:) पर जा सकते हैं।

एक ब्रेकपॉइंट बनाना

चरण-दर-चरण मोड का उपयोग करना, कार्यक्रम में किसी विशेष बिंदु पर पहुंचना अक्सर असंभव होता है। यहां तक ​​कि अगर आप एक हजार कदम आगे बढ़ने के लिए पर्याप्त धैर्य रखते हैं, तो कार्यक्रम का प्रवाह आपको वह कदम उठाने की अनुमति नहीं दे सकता है जहां आप चाहते हैं।

विशेष पंक्ति में रुकने के लिए, आप "ब्रेकपॉइंट" सेट करके लक्ष्य विवरण को चिह्नित कर सकते हैं।

डीबगर के निरंतर मोड में प्रोग्राम का उपयोग करके चलाएं रन कमांड और अब प्रोग्राम चिह्नित कमांड को निष्पादित करने से पहले वांछित लाइन पर बंद हो जाएगा।

इसे प्रदर्शित करने के लिए, INT_SERV: लेबल के बाद हमारे रुकावट सर्वर में वृद्धि विवरण पर क्लिक करें और दबाएं ब्रेक बटन टॉगल करें।

अब दबाएं रन बटन। कार्यक्रम एक "अनंत चक्र" में चलना शुरू होता है।

भले ही आपने एक ब्रेकपॉइंट सेट किया है, कोड निष्पादन बंद नहीं होगा क्योंकि यह ब्रेकपॉइंट पर कभी नहीं जाता है। हालाँकि, जब आप स्विच को लो से हाई में बदलते हैं, तो प्रोग्राम चिह्नित स्टेटमेंट पर रुक जाएगा:

   INT_SERV:
             INCF COUNTER, F

अब आप या तो चरण दर चरण जारी रख सकते हैं या रन मोड में