Membuat Tampilan Debug untuk Mikrokontroler: 6 Langkah

Membuat Tampilan Debug untuk Mikrokontroler: 6 Langkah

Daftar Isi:

Anonim

Tampilan ini sangat berguna jika Anda bekerja dengan fungsi ADC pengendali mikro.

Hanya perlu dua pin untuk mengontrol tampilan (tiga jika Anda ingin mengontrol kait juga). Dengan dua tujuh segmen itu dapat menampilkan hingga 0xFF sebagai hex. Itu adalah seluruh rentang 8bit, apa yang paling lebar variabel yang digunakan untuk UC kecil.

Saya membangunnya karena aplikasi terakhir tidak memiliki tampilan dan saya ingin tahu apa yang terjadi sebelum saya menyelesaikannya.

Anda memerlukan dua register geser 74HC959, dua layar tujuh segmen dan 14 (16) resistor. Anda perlu 16 jika Anda ingin menggunakan titik-titik, yang tidak diterapkan dalam perangkat lunak. Tetapi menggunakan titik-titik akan memperluas nilai yang dapat ditampilkan ke 10bit atau 0-1027. Saya serahkan kepada Anda untuk mencari tahu ini.

Persediaan:

Langkah 1: Skema

Kami menggunakan dua register geser 74HC595 untuk menghubungkan tampilan tujuh segmen. Apakah Anda menggunakan anoda umum atau katoda umum 7-segmen, Anda harus menyesuaikan sirkuit. Saya menggunakan katoda umum. Apa artinya bahwa setiap segmen adalah satu LED hijau dan katoda dari semua LED dihubungkan bersama. (Pin 3 dan 8 layar 7-seg.)

Register shift bekerja dengan cara ini:

Setiap kali Anda menerapkan pulsa pada input shift, status pin input serial saat ini digeser dalam memori 74HC595. Setiap kali pulsa pada latch input tiba, status memori internal digunakan untuk menggerakkan output.

Setelah 8 siklus shift, input pertama digeser keluar pada pin9 lagi dan dapat digunakan sebagai input ke 74HC595 lainnya. Ini juga disebut rantai daisy.

The 74HC595 dapat melaju hingga total 70mA, jadi kita harus menyesuaikan resistor dengan cara bahwa arus melalui setiap segmen LED tetap di bawah 9mA, yaitu sekitar 470 Ohm untuk 5V dan display yang digunakan.

Langkah 2: Daftar Shift 75HC595

Pandangan ke gambar memberi tahu Anda pin mana yang perlu Anda sambungkan.

Pin dihitung anti jam mulai dari tanda pada IC jika Anda melihatnya dari atas.

Hubungkan pin 1 - 7 dan pin 15 ke pin 7-segmen.

Pin 8 dan 13 harus terhubung ke ground (GND atau terminal baterai negatif)

Pin 9 terhubung ke pin 14 dari IC berikutnya.

Pin 10 dan pin 16 harus terhubung ke tegangan suplai (VCC atau terminal positif baterai)

Pin 11, 12 dan 14 adalah antarmuka yang akan digerakkan oleh mikrokontroler, sambungkan ini ke pinhead tiga pin untuk antarmuka eksternal.

Langkah 3: Bangun Layar

Meskipun mungkin untuk membuat papan sirkuit kustom, saya memilih untuk membuat semuanya di atas papan tempat memotong roti dengan kawat tembaga tipis.

Kawat tembaga ini dilapisi, tetapi pelapisnya bisa dibakar dengan sedikit timah cair. Sangat mudah untuk membuat koneksi dengannya. Hanya timah satu ujung, solder ke pin dan kemudian meregangkannya ke pin lainnya dan membakar isolasi di mana Anda ingin soldernya. Kemudian solder ke pin dan potong sisanya. Besi solder 30W seperti ini dari Craftsman lebih dari cukup untuk pekerjaan itu.

Saya menggunakan resistor SMD 1206 kecil, karena ini cocok dengan baik di bawah tujuh segmen display.

Tapi bagaimanapun juga, Anda perlu membuat papan sendiri dan tentu saja Anda juga dapat mengambil resistor yang Anda suka.

Langkah 4: Temukan Urutan Segmen

Akhirnya kita harus menulis fungsi untuk menampilkan sesuatu yang bermakna.

Masalah utama sekarang adalah untuk menemukan segmen yang tepat - urutan kontrol. Mula-mula cobalah untuk mendorong 1 tunggal melalui seluruh register geser.

Menerapkan tinggi ke input serial dan pulsa shift satu kali. Sekarang denyut kait satu kali dan lihat segmen mana yang menyala.

Jika Anda menekan tombol shift dan kait lagi, segmen berikutnya akan menyala dan seterusnya.

Akhirnya Anda memiliki urutan semua segmen dan Anda dapat mentransfernya ke nomor biner.

Langkah 5: Tulis Kode

Saya ingin menggunakan layar dengan mikrokontroler AVR saya. Jadi saya menulis file *.h yang dapat dimasukkan dalam proyek apa pun.

Jika Anda memasang kabel papan secara berbeda, Anda mungkin harus menyesuaikan array kontrol segmen.

Untuk menggunakannya, Anda perlu menyesuaikan pin-mendefinisikan dalam file debug.h (12 baris pertama).

Di aplikasi utama Anda perlu menambahkan baris berikut:

#sertakan "debug.h"

initdebug (); // Ini menginisialisasi port Output yang ditentukan dalam debug.h

Kemudian Anda dapat menampilkan variabel 8bit dengan memanggil fungsi debug dengannya. katakanlah variabel disebut penghitung, maka nilai penghitung saat ini ditampilkan oleh:

debug (penghitung);

Petunjuk:

  • Tambahkan beberapa waktu tunda setelah panggilan debug () untuk memiliki waktu untuk membaca nilai.
  • Saat Anda menghubungkan shift dan kait bersama, cukup tentukan dua port untuk pin yang sama. Setiap kali shift dipicu, ia juga mengunci status saat ini, yang berarti layar berkedip saat shiftregister dimuat. Jika Anda melakukan ini dengan cepat dibandingkan dengan saat Anda membiarkan layar tetap digunakan, ok
  • Untuk menampilkan nilai 16bit, bagilah dengan 256 dan tampilkan hasilnya atau pisahkan byte tinggi dan byte rendah dan tampilkan satu demi satu dengan rem kecil di antaranya.

Langkah 6: Uji

Untuk menguji tampilan, sepertinya ideal untuk menggunakan adaptor papan tempat penyimpanan attiny2313 yang saya terbitkan dalam instruksi ini:

www.instructables.com/id/Make-a-breadboard-adapter-for-your-AVR-microcontroller

Program video tertanam hanya dihitung dari 0 hingga 0xFF dan kembali lagi.

Video: