Litar mikropengawal

Litar mikropengawal

Jump to TINA Main Page & General Information 

TINA menyokong banyak (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontroler; MCU baru sentiasa ditambah. Anda boleh melihat, mengubah suai dan debug program yang berjalan dalam pemproses dan, tentu saja, anda boleh membuat kod anda sendiri.

Terdapat dua cara menyediakan program untuk mikrokontroler di TINA. Anda boleh menggunakan kod binari dan fail debug yang dibuat oleh pengkompil standard (misalnya MPLAB untuk PIC) atau anda hanya boleh memuatkan kod pemasangan anda untuk menjalankan dan debug dalam TINA menggunakan built-in debugger yang dibina.

Mewujudkan litar balas mudah menggunakan mikrokontroler PIC dengan pengaturcaraan bahasa pemasangan

Mewujudkan litar balas mudah menggunakan mikrokontroler PIC dengan pengaturcaraan bahasa C

Debugging mikrokontroler asas menggunakan TINA

Dalam microcontrollers TINA boleh disimulasikan bukan sahaja bersendirian tetapi juga bersama-sama dengan analog, digital, HDL atau model lain.

Menjalankan dan mengedit kod MCU

Muatkan litar PIC Flasher.TSC dari folder ExamplesMicrocontrollersPic.

Skema berikut menggunakan mikrokontroler 16F73 PIC akan muncul dengan mikrokontroler PIC 16F73:

Litar mikropengawal, imej 1

Litar ini hanya menghitung satu demi satu. Tekan butang butang untuk melihat bagaimana ia berfungsi.

Paparan harus melangkah maju satu demi satu.

Klik dua kali MCU untuk melihat kod ASM di dalamnya. (lihat butiran lanjut dalam manual Mula Pantas).

TINA mempunyai ciri hebat di mana anda boleh mengedit dan menukar kod sumber secara langsung di TINA.

Mari buat perubahan berikut dalam kod:

Tukar arahan (dipilih di atas) dalam baris 25 (anda dapat melihat nombor baris di sudut bawah kanan tetingkap editor kod):

dari addlw 01H

untuk menambah 02H

Simpan kod yang diubah kepada TINA dengan menekan butang ikon dan tutup tetingkap MCU terbuka.

Jika anda menekan butang sekarang, kenaikan itu akan menjadi 2!

Ambil perhatian bahawa kod yang diubah akan disimpan secara automatik dalam fail TINA TSC.

Menggunakan debugger itu

Mari lihat aplikasi lain dengan lebih banyak interaktiviti.

Muatkan contoh PIC16F84interrupt_rb0.TSC TINA dari folder ExamplesMicrocontrollersPic.

Tekan butang. Nampaknya pada mulanya tidak ada yang berlaku.

Walau bagaimanapun, jika anda mengklik pada suis SW-HL1., Paparan akan melangkah ke hadapan oleh 1 setiap kali suis berubah daripada Rendah ke Tinggi.

Keupayaan pengendalian gangguan PIC akan membolehkan kita mengesan perubahan suis.

Sekarang mari kita lihat operasi lebih terperinci menggunakan debugger ASM interaktif TINA.

Untuk mengaktifkan debugger, pilih Pilihan pada menu Analisis. Kemudian, tetapkan kotak semak "Dayakan kotak debugger MCU", seperti yang ditunjukkan di bawah pada kotak dialog Opsyen Analisis.

Tekan butang OK dan debugger MCU akan muncul:

Mari ikuti langkah pelaksanaan program dengan menekan butang Jejaki Ke butang.

Selepas klik 14, kita dapat ke PT1: label di mana program itu kelihatan dalam gelung tak terhingga.

PT1: INCF TEMP, F GOTO PT1

Sekarang klik pada suis SW-HL1 dan tukar ke Tinggi. (Anda harus mengklik apabila kursor berubah menjadi anak panah menunjuk ke atas Î). Kembali ke Debugger dan klik Jejak ke butang dua kali. Program ini akan mengenali gangguan dan melompat ke dalam


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

kenaikan COUNTER dan salin ke PORT A, dan outputnya akan menjadi 1. Selepas ini program akan kembali ke "gelung tak terhingga" di PT1.

Mengedit kod dalam debugger

Sekarang mari kita buat perubahan kecil dalam program ini untuk menunjukkan penggunaan debugger tersebut. Duplikat pernyataan INCF COUNTER, F menggunakan Salinan dan Tampal seperti ini:

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

Sekarang apabila anda menekan program ini akan bertanya:

Tekan Ya dan tekan butang sekali lagi. Kini kenaikan harga akan menjadi 2 pada setiap perubahan suis Rendah.

Anda juga boleh menyemak litar dalam mod Running berterusan debugger dengan menekan butang.

Walaupun debugger akan berjalan pantas, anda masih boleh melihat "kitaran tak terhingga" dan kemudian lompat ke bahagian pelayan Interrupt (INT_SERV:) apabila anda menukar suis.

Membuat titik putus

Menggunakan mod langkah demi langkah, seringkali mustahil untuk sampai ke titik tertentu dalam program ini. Walaupun anda cukup bersabar untuk menginjak seribu langkah, aliran program mungkin tidak membolehkan anda melangkah ke mana anda inginkan.

Untuk berhenti pada baris tertentu, anda boleh menandakan pernyataan sasaran dengan menetapkan "titik putus".

Jalankan program dalam mod debugger yang berterusan menggunakan Jalankan arahan dan kini program akan berhenti di baris yang dikehendaki sebelum melaksanakan perintah yang ditandakan.

Untuk menunjukkan ini, klik pada pernyataan kenaikan pangkat di pelayan pengganggu kami selepas label INT_SERV: dan tekan Togol butang putus.

Sekarang tekan butang Butang jalankan. Program ini mula berjalan dalam "kitaran tak terhingga".

Walaupun anda telah menetapkan titik putus, pelaksanaan kod tidak akan berhenti kerana ia tidak pernah sampai pada titik putus. Walau bagaimanapun, apabila anda menukar suis dari Low to High, program akan berhenti pada kenyataan yang ditandakan:

   INT_SERV:
             INCF COUNTER, F

Sekarang anda boleh meneruskan sama ada langkah demi langkah atau dalam mod Run