მიკროკონტრაქტორის სქემები

მიკროკონტრაქტორის სქემები

Jump to TINA Main Page & General Information 

TINA მხარს უჭერს ბევრი (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) მიკროკონტრიტორები; ახალი MCUs მუდმივად მიმდინარეობს დამატებული. შეგიძლიათ იხილოთ, შეცვალოთ და ჩატვირთოთ პროგრამის გაშვებული პროცესორი და, რა თქმა უნდა, თქვენ შეგიძლიათ შექმნათ თქვენი საკუთარი კოდი.

TINA- ში მიკროორგანიზმების პროგრამის შექმნის ორი გზა არსებობს. თქვენ შეგიძლიათ გამოიყენოთ სტანდარტული შემდგენლის (მაგ., MPLAB for PICs) მიერ დამზადებული ორობითი კოდი და გამართვის ფაილი, ან შეგიძლიათ თქვენი ასამბლეის კოდი ჩატვირთოთ და გამართოთ TINA- ში, რომელიც აგებულია აგბ-ს debugger- ში.

მარტივი კონტრ რაკეტის შექმნა PIC- ის მიკროკონტროლის გამოყენებით ასამბლეის ენის პროგრამირების გამოყენებით

მარტივი კონტრ რაკეტის შექმნა PIC- ის მიკროკონტროლის გამოყენებით C ენის პროგრამირების გამოყენებით

ძირითადი მიკროკონტროლის დინამიკა TINA- ის გამოყენებით

TINA- ს მიკროკონტრაქტორებში შეიძლება შეიცვალოს არა მხოლოდ მარტო, არამედ ერთად ანალოგური, ციფრული, HDL ან სხვა მოდელები.

MCU კოდის გაშვება და რედაქტირება

ჩატვირთვა PIC flasher.TSC ჩართვა ExamplesMicrocontrollersPic ფოლდერში.

16F73 PIC მიკროკონტრიტორის გამოყენებით შემდეგი სქემატური იქნება 16F73 PIC მიკროკონტექტორთან:

Microcontroller სქემები, სურათი 1

ეს სქემა უბრალოდ ითვლის ერთმანეთს. პრესა ღილაკზე, თუ როგორ მუშაობს იგი.

დისპლეი უნდა გადადგას ნაბიჯია ერთი.

MCU- ზე ორჯერ დააწკაპუნეთ ASM კოდის სანახავად. (იხილეთ დამატებითი დეტალები სწრაფი დაწყება სახელმძღვანელო).

TINA- ს აქვს დიდი ფუნქცია, რომლის საშუალებითაც თქვენ შეგიძლიათ შეცვალოთ და შეცვალოთ კოდის პირდაპირ TINA- ში.

მოდით გავაკეთოთ შემდეგი ცვლილება კოდი:

შეცვალეთ ინსტრუქცია (ზემოთ შერჩეული) ხაზის 25- ში (შეგიძლიათ იხილოთ ხაზის ნომერი კოდის რედატორის ფანჯრის მარჯვენა ქვედა კუთხეში):

საწყისი დანამატი 01H

დაამატოთ 02H

შეცვალეთ შეცვლილი კოდი TINA- ზე დაჭერით ხატულა და დახურვა ღია MCU ფანჯრები.

თუ დააჭერთ ღილაკი ახლა, ჯამში იქნება 2!

გაითვალისწინეთ, რომ შეცვლილი კოდი ავტომატურად შეინახება TINA. TTSC ფაილი.

გამოყენება debugger

მოდი ვნახოთ სხვა აპლიკაცია უფრო ინტერაქტიულობით.

ჩატვირთვა PIC16F84terter_rb0.TSC მაგალითი TINA საწყისი ExamplesMicrocontrollersPic საქაღალდეში.

დააჭირეთ ღილაკი. როგორც ჩანს, ჯერ არაფერი ხდება.

თუმცა, თუ თქვენ დააჭირეთ SW-HL1 შეცვლას, ეკრანი წინ გადადგმული ნაბიჯია 1- ის მიერ, როდესაც ცვლილებები იცვლება დაბალიდან მაღალი.

PIC- ის ჩარევის მართვა საშუალებას მოგვცემს გამოვყოთ ცვლილებების შეცვლა.

ახლა მოდით ვნახოთ ოპერაცია უფრო დეტალურად გამოყენებით TINA- ის ინტერაქტიული ASM debugger.

გამარტივებული დიაგრამა, აირჩიეთ ვარიანტი ანალიზის მენიუში. შემდეგ დაამონტაჟეთ "MCU კოდის გამარტივების შემოწმება", როგორც ქვემოთ მოცემულია ანალიზის პარამეტრები დიალოგურ ფანჯარაში.

დააჭირეთ OK ღილაკს და MCU debugger გამოჩნდება:

მოდით დაიცვას პროგრამის შესრულების ნაბიჯ ნაბიჯ დაჭერით კვალი ღილაკზე.

მას შემდეგ, რაც დაახლოებით 14 დაწკაპუნებით მივიღებთ PT1: ეტიკეტების სადაც პროგრამა, როგორც ჩანს, უსასრულო მარყუჟის.

PT1: INCF TEMP, F GOTO PT1

ახლა დააჭირეთ SW-HL1 შეცვლა და შეცვალეთ იგი მაღალი. (თქვენ უნდა დააჭიროთ, როდესაც კურსორი იცვლება ზედაპირზე მიუთითებს arrow). უკან დაბრუნება Debugger და დააჭირეთ კვალი ორჯერ ღილაკს პროგრამა აღიარებს ინტერვენციას და ხტომაში გადასვლას


NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT

გააქტიურეთ COUNTER და ასლი PORT- ზე, და გამომავალი იქნება 1. ამის შემდეგ პროგრამა დაბრუნდება "უსასრულო მარყუჟის" PT1.

კოდის რედაქტირება რედაქტირებაში

ახლა გადავცეთ პატარა ცვლილება პროგრამის დემონსტრანტის გამოყენების დემონსტრირება. INCF COUNTER- ის დუბლიკატი, F- ის განცხადება ასლისა და პასტის გამოყენებით:

        INT_SERV:
        INCF COUNTER, F 
        INCF COUNTER, F 
        MOVF COUNTER, 0
        MOVWF PORTA    

ახლა როცა დააჭერთ პროგრამა ითხოვს:

პრეს დიახ და დააჭირეთ ღილაკს ღილაკი კვლავ. ახლა ჯამში იქნება 2 თითოეულ დაბალ მაღალი ცვლილება შეცვლა.

თქვენ ასევე შეგიძლიათ შეამოწმოთ ჩართვა უწყვეტი გაშვებული რეჟიმში debugger დაჭერით ღილაკს.

მიუხედავად იმისა, რომ debugger სწრაფად იმოძრავებს, შეგიძლიათ იხილოთ "უსასრულო ციკლი" და შემდეგ გადადით ინტერვენტის სერვერის ნაწილზე (INT_SERV:) როდესაც შეცვალეთ შეცვლა.

შესვენება

გადადგმული ნაბიჯ-ნაბიჯ რეჟიმში, ხშირად შეუძლებელია პროგრამის კონკრეტულ წერტილში. მაშინაც კი, თუ პაციენტია, რომ გადადგმულიყავი ათასი ნაბიჯი, პროგრამის ნაკადი შეიძლება არ დაუშვას, რომ გადადგას, სადაც გსურთ.

კონკრეტული ხაზის შეჩერება, შეგიძლიათ სამიზნე განცხადების აღნიშვნა "შესვენება".

პროგრამა გაუშვით უწყვეტი რეჟიმის debugger გამოყენებით გაუშვით ბრძანება და ახლა პროგრამა შეჩერდება სასურველ ბრძანებაში, შეასრულებს მითითებულ ბრძანებას.

ამის დემონსტრირება, დააჭირეთ INEXSERV- ის შემდეგ ინტრამუსტრაციის სერვერიდან: ლეიბლი და დააჭირეთ ღილაკს შესვენების ღილაკი გადართვა.

ახლა დააჭირეთ გაუშვით ღილაკი. პროგრამა იწყებს "უსასრულო ციკლის" გაშვებას.

მიუხედავად იმისა, რომ თქვენ შექმენით breakpoint, კოდი შესრულების არ შეწყდება, რადგან იგი არასოდეს იღებს შესვენების წერტილი. თუმცა, როდესაც თქვენ შეცვლით შეცვლა დაბალი to მაღალი პროგრამა შეწყდება შენიშვნა:

   INT_SERV:
             INCF COUNTER, F

ახლა თქვენ შეგიძლიათ გააგრძელოთ ეტაპობრივად ან Run რეჟიმში