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) pengawal mikro; MCU baru sentiasa ditambah. Anda dapat melihat, mengubah dan menyahpepijat program yang berjalan di 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.
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 ini hanya menghitung satu demi satu. Tekan butang
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
Jika anda menekan
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
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 dengan lebih terperinci menggunakan debugger ASM interaktif TINA.
Untuk mengaktifkan penyahpepijat, pilih Pilihan pada menu Analisis. Kemudian tetapkan “Enable MCU Code debugger checkbox”, seperti yang ditunjukkan di bawah pada kotak dialog Pilihan Analisis.
Tekan butang OK dan debugger MCU akan muncul:
Mari ikuti langkah pelaksanaan program dengan menekan butang
Selepas klik 14, kita dapat ke PT1: label di mana program itu kelihatan dalam gelung tak terhingga.
PT1: INCF TEMP, F GOTO PT1
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
Tekan Ya dan tekan
Anda juga boleh menyemak litar dalam mod Running berterusan debugger dengan menekan
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
Untuk menunjukkan ini, klik pada pernyataan kenaikan pangkat di pelayan pengganggu kami selepas label INT_SERV: dan tekan
Sekarang tekan butang
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