Bagaimana cara saya memprogram PIC12?

8

Saya memiliki PIC12F675 yang perlu saya programkan. Saya menggunakan perangkat lunak Pickit 2 dan Pickit 2. Seharusnya saya bisa memprogramnya menggunakan sirkuit ini , tetapi perangkat lunak Pickit 2 tidak mendeteksi chip sama sekali.

sirkuit

Apa yang salah?

EDIT: Saya telah menambahkan gambar dari sirkuit saya terhalang. Dan di sinilah Anda dapat menemukan lembar data untuk PIC12F675. Lewati ke halaman 4 untuk pinout.

Papan tempat memotong roti

EDIT2: Saya hanya benar-benar melihat chip (bodoh, tapi saya agak menganggap mouser akan mengirim saya apa yang saya pesan), dan saya perhatikan mereka sebenarnya PIC12C671. Berapa banyak perbedaan yang akan terjadi?

EDIT Final: Wow! Terima kasih kepada semua orang yang membantu saya dengan ini! Saya tidak mengharapkan tanggapan seperti ini. Itu akhirnya menjadi masalah kecil yang bodoh seperti yang saya kira. Itu salah saya karena tidak memeriksa ulang semuanya ketika saya menerima paket dari Mouser.

Willem Ellis
sumber
2
Apakah Anda yakin sirkuit Anda benar, bertenaga, memiliki kapasitor decoupling, terhubung ke komputer Anda?
Saya memiliki 5 volt untuk itu, dan terhubung ke komputer saya. Sepertinya saya mengabaikan kapasitor decoupling. Apakah itu akan berdampak besar pada sirkuit?
Willem Ellis
1
Mungkin tidak, tetapi Anda tidak ingin menghabiskan seminggu untuk kapasitor decoupling yang dapat Anda tambahkan dalam satu menit.
2
12F675 didukung oleh PICkit 2 dan MPLAB.
Leon Heller
3
Vdd pada konektor ICSP harus terhubung ke + 5V.
Leon Heller

Jawaban:

9

Masalah yang mungkin terjadi adalah bahwa beberapa PIC memerlukan siklus daya untuk masuk ke mode pemrograman. 12F675 khususnya membutuhkan ini ketika kata konfigurasi dalam aplikasi Anda mengkonfigurasi pin MCLR sebagai GPIO.

Ketika pcikit2 memberi daya pada chip target Anda, itu akan memberikan siklus daya. Dengan +5V independen yang Anda berikan tidak dapat melakukan ini.


Setelah membahas masalah yang paling mungkin terjadi, Anda mungkin memilih yang tidak mungkin ... Jangan menertawakan saya, saya menggambarkan pengalaman saya sendiri!

  • dapatkah Anda memiliki dua pickit2 yang terhubung? (Ya, saya pernah melakukan ini dan terperangah bahwa salah satu aplikasi pickit2 yang dipilih bukan yang terhubung dengan PIC. Saya juga pernah membuang waktu satu jam ketika saya memiliki dua kabel PIC target secara paralel. Itu memberikan hasil yang sangat aneh ketika mereka berdua memasukkan ID chip mereka ke programmer.)
  • apakah pickit2 yang Anda gunakan terhubung ke PC yang Anda gunakan? (Saya melakukan kelas PIC dan siswa dapat menjadi cukup kreatif dalam laptop siapa yang terhubung dengan siapa PIC)
  • keduanya adalah pickit2 dan chip di sisi kanan? The pickit2 pciture seperti yang terlihat dari atas (di mana tombol dan LED berada).
  • apakah chip tersebut benar-benar 12F675? (Saya pernah mencoba seharian penuh untuk mendapatkan konverter A / D dari 12F629 yang berfungsi - untuk non-PIC-guru: itu adalah saudara yang lebih murah dari 12F675, lebih murah karena tidak memiliki konverter A / D ).
  • Apakah kabel persis seperti yang Anda tunjukkan, tidak tercampur? Dan bukankah mereka dengan kecelakaan rusak? Jika Anda menggunakan papan tempat memotong roti yang tidak solder: apakah masih membuat semua kontak?
  • Apakah firmware di pickit2 adalah versi yang cocok dengan sisi PC Anda? mungkin memuat ulang firmware menjadi 100% yakin.

Menanggapi EDIT2 Anda: ROFL, periksa peluru saya 4. PIC12C671 adalah chip yang sama sekali berbeda, dan C berarti itu adalah chip EPROM (satu kali diprogram), yang tidak didukung oleh pickit2.

Wouter van Ooijen
sumber
Saya mencoba menyalakannya dari PICKit sendiri, dan itu masih tidak berfungsi.
Willem Ellis
:( Terima kasih atas bantuannya! Seperti yang saya katakan, saya berasumsi Mouser telah mengirim saya chip yang tepat. Kesalahan saya karena tidak memeriksa ulang semuanya sebelum memulai. Terima kasih lagi!
Willem Ellis
1
Seperti yang saya katakan kepada siswa saya: jangan ragu untuk membuat kesalahan untuk pertama kalinya. Tapi tidak pernah lagi.
Wouter van Ooijen
4

Programmer PICkit2 harus bekerja apa adanya untuk bagian Anda tanpa header. (Debugging adalah masalah lain sama sekali.)

Serta saran kapasitor decoupling yang ditawarkan, pertimbangkan ini: sebagian besar (semua) perangkat PIC memerlukan 10k pullup dari _MCLR ke VDD. Coba tambahkan itu dan lihat apa yang terjadi.

Dukungan PICkit2

Berikut adalah contoh pengkabelan dari poster pemasangan PICkit3. (Pinout dari PICkit2 dan PICkit3 identik, sehingga informasinya 100% relevan.)

Diagram ISCP

Anda dapat melihat bahwa pin programmer 1 hingga 5 perlu dihubungkan ke sirkuit Anda. Skema Anda kehilangan koneksi Target VDD dari pin 2. Coba sambungkan ini dan biarkan PICkit2 memberi daya pada rangkaian.

Adam Lawrence
sumber
3
Kurangnya resistor pada MCLR tidak akan menghentikan PICkit memprogram perangkat. Ini mungkin menghentikan program agar tidak berjalan.
Leon Heller
Saya menambahkan pull-up dan memastikan saya memilih perangkat yang benar di MPLAB. Masih belum ada dadu.
Willem Ellis
@LeonHeller Saya mendasarkan pernyataan saya tentang _MCLR pada poster PICkit3, yang menunjukkan penarikan _MCLR di bawah cara pemasangan kabel yang benar.
Adam Lawrence
@ MadManguruman Saya berharap saya tidak memilikinya terhubung persis seperti ini, tapi saya memverifikasi dengan datasheet dan semua koneksi sudah benar.
Willem Ellis
2

PICKit2 mendukung perangkat Anda ( sumber ). Ini berarti ada yang salah dengan pengaturan Anda. Ada beberapa hal yang dapat Anda periksa:

  • Apakah ada masalah dalam komunikasi dengan PICKit? Tidak, jika ini masalahnya, Anda akan mendapatkan kesalahan bahwa alat ICSP tidak dapat ditemukan.
  • Apakah ada masalah dengan sirkuit dengan chip? Mungkin . Anda harus memeriksa sirkuit Anda, tambahkan kapasitor decoupling jika belum dilakukan. Semua pin VDD dan VSS harus terhubung, juga pin konektor ICSP. Juga, periksa catu daya Anda: apakah mulus?
  • Apakah ada masalah perangkat lunak? Kemungkinan besar , saya katakan. Sudahkah Anda memilih chip yang tepat di MPLAB? Bisakah Anda memprogram chip lain dengan pengaturan yang sama?

sumber
Saya memeriksa semua ini. Ditambahkan dalam penutup decoupling dan resistor pull-up MCLR. Saya menggunakan perangkat lunak PICKit2 v2.61 untuk pemrograman chip, bukan MPLAB. Meskipun saya sudah mencoba apa yang Anda katakan di MPLAB. Saya mendapatkan kesalahan ini ketika saya mencoba terhubung ke chip. Harap verifikasi bahwa PIC12F675 terinstal dengan benar dalam aplikasi
Willem Ellis
@ WillemEllis Sangat baik. Saya memikirkan sesuatu yang lain: apakah Anda menghubungkan semua pin Vdd dan Vss chip? Juga periksa apakah PGC terhubung ke PGC dan bukan ke PGD - ini membuat saya beberapa masalah belakangan ini.
@ Will WillEll. Apakah ada kemajuan dalam hal ini?
maaf sudah lama sekali menghubungi Anda. Sayangnya tidak ada. Saya berbicara dengan profesor saya dan dia juga tidak bisa mengetahuinya. Saya telah memastikan semuanya terhubung seperti pada rangkaian dengan PGD dan PGC pergi ke pin yang benar. Masih belum berhasil.
Willem Ellis
Jika Anda yakin koneksi Anda baik, coba perangkat lain atau PICkit2 lainnya.
Adam Lawrence