Mikrodenetleyici devreleri

Mikrodenetleyici devreleri

Jump to TINA Main Page & General Information 

TINA bir çok destekliyor (PIC, AVR, Arduino, 8051, HCS, STM, KOL, TI-Tiva, TI-Sitara, Infineon-XMC) mikrodenetleyiciler; yeni MCU'lar sürekli eklenmektedir. İşlemcide çalışan programı görebilir, değiştirebilir ve hata ayıklayabilir ve elbette kendi kodunuzu oluşturabilirsiniz.

TINA'da mikrodenetleyiciler için program sunmanın iki yolu vardır. Standart bir derleyici tarafından yapılan ikili kod ve hata ayıklama dosyasını (örneğin, PIC'ler için MPLAB) kullanabilirsiniz veya TINA'da yerleşik bir hata ayıklayıcı kullanarak hata ayıklamak için derleme kodunuzu yükleyebilirsiniz.

Assembly dili programlamasına sahip bir PIC mikroişlemcisini kullanarak basit bir sayaç devresi oluşturma

C dili programlamalı bir PIC mikroişlemcisini kullanarak basit bir sayaç devresi oluşturma

TINA kullanarak temel mikrodenetleyici hata ayıklama

TINA'da mikrodenetleyiciler sadece yalnız değil, analog, dijital, HDL veya diğer modellerle birlikte simüle edilebilir.

MCU kodunu çalıştırma ve düzenleme

PIC Flasher.TSC devresini ExampleMicrocontrollersPic klasöründen yükleyin.

16F73 PIC mikrodenetleyicisini kullanarak aşağıdaki şema 16F73 PIC mikrodenetleyici ile görünecektir:

Mikrodenetleyici devreleri, image 1

Bu devre birer birer ileri sayılır. Basın nasıl çalıştığını görmek için düğmeye.

Ekranın birer birer öne doğru çıkması gerekir.

ASM kodunu görmek için MCU’ya çift tıklayın. (Hızlı Başlangıç ​​kılavuzundaki daha fazla ayrıntıya bakın).

TINA, kaynak kodunu doğrudan TINA'da düzenleyebileceğiniz ve değiştirebileceğiniz harika bir özelliğe sahiptir.

Kodda aşağıdaki değişikliği yapalım:

Talimatı (yukarıda seçilen) 25 satırında değiştirin (satır numarasını kod düzenleyici penceresinin sağ alt köşesinde görebilirsiniz):

addlw sitesinden 01H

02H eklemek için

Tuşuna basarak değiştirilen kodu TINA’ya kaydedin. simgesini tıklayın ve açık MCU pencerelerini kapatın.

Basarsanız Şimdi düğmesine basın, artış 2 olacak!

Değiştirilen kodun TINA .TSC dosyasına otomatik olarak kaydedileceğini unutmayın.

Hata ayıklayıcısını kullanma

Daha etkileşimli başka bir uygulama görelim.

PIC16F84interrupt_rb0.TSC TINA örneğini ExampleMicrocontrollersPic klasöründen yükleyin.

Basın buton. İlk başta hiçbir şey olmuyor gibi görünüyor.

Bununla birlikte, SW-HL1 anahtarına tıklarsanız, anahtar Düşük'ten Yüksek'e her değiştiğinde ekran 1 ile öne çıkar.

PIC'in kesme işlem kabiliyeti anahtar değişikliklerini tespit etmemize olanak sağlayacaktır.

Şimdi, TINA'nın etkileşimli ASM hata ayıklayıcısını kullanarak işlemi daha ayrıntılı olarak görelim.

Hata ayıklayıcısını etkinleştirmek için, Analiz menüsünden Seçenek öğesini seçin. Ardından, Analiz Seçenekleri iletişim kutusunda aşağıda gösterildiği gibi “MCU Kodu hata ayıklayıcısını etkinleştir onay kutusunu” ayarlayın.

OK düğmesine basın, MCU hata ayıklayıcı görünecektir:

Programın çalıştırılmasını adım adım izleyelim. Düğme içine izleme.

Yaklaşık 14 tıklamadan sonra, programın sonsuz bir döngüde olduğu görünen PT1: etiketine geliriz.

PT1: INCF SICAKLIK, F GOTO PT1

Şimdi SW-HL1 anahtarına tıklayın ve Yüksek olarak değiştirin. (İmleç yukarı doğru bir ok işaretine changes geldiğinde tıklamalısınız). Hata ayıklayıcısına geri dönün ve tıklayın. Düğmeye iki kez İz. Program kesinti tanıyacak ve içine atlamak


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

COUNTER değerini arttırın ve PORT A'ya kopyalayın; çıktı 1 olacaktır. Bundan sonra program, PT1'teki “sonsuz döngüye” geri dönecektir.

Hata ayıklayıcısındaki kodu düzenleme

Şimdi hata ayıklayıcının kullanımını göstermek için programda küçük bir değişiklik yapalım. INCF COUNTER, F deyimini bu şekilde Kopyala ve Yapıştır kullanarak çoğaltın:

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

Şimdi tuşuna bastığınızda program soracak:

Evet tuşuna ve ardından düğmesine tekrar basın. Artış, anahtarın her Düşük-Yüksek değişiminde artım 2 olacaktır.

Devreyi, hata ayıklayıcının sürekli Çalışan modunda, tuşuna basarak da kontrol edebilirsiniz. düğmesine basın.

Hata ayıklayıcının hızlı çalışmasına rağmen, “sonsuz döngüyü” ve ardından anahtarı değiştirdiğinizde Interrupt server kısmına (INT_SERV:) atlamayı görebilirsiniz.

Bir kesme noktası yapma

Adım adım modunu kullanarak, programda belirli bir noktaya ulaşmak genellikle imkansızdır. Bin adım atmak için yeterince sabırlı olsanız bile, programın akışı istediğiniz yere adım atmanıza izin vermeyebilir.

Belirli bir satırda durmak için bir "kesme noktası" ayarlayarak hedef ifadesini işaretleyebilirsiniz.

Programı kullanarak hata ayıklayıcının sürekli modunda Komutu çalıştırdığınızda program, işaretli komutu çalıştırmadan önce istenen satırda duracaktır.

Bunu göstermek için, INT_SERV: etiketinden sonra interrupt sunucumuzdaki increment ifadesine tıklayın ve Açma / kapatma düğmesi.

Şimdi basın Çalıştır düğmesi Program “sonsuz bir döngüde” çalışmaya başlar.

Bir kesme noktası belirlemiş olsanız bile, kod yürütme durmaz çünkü asla kesme noktasına ulaşmaz. Bununla birlikte, anahtarı Düşük'ten Yüksek'e değiştirdiğinizde, program işaretli ifadede duracaktır:

   INT_SERV:
             INCF COUNTER, F

Şimdi her iki adıma da devam edebilirsiniz. veya Çalıştırma modunda