xorfw instruksi tidak bekerja

N

newbie111

Guest
Hai,

Aku sedang belajar bagaimana menggunakan xorfw instruksi dari situs ini

http://www.hobbyprojects.com/pic_tutorials/tutorial7.html

semuanya ok sampai saya datang ke tutorial7i mematuhi kode berikut dari pelajaran ini, tetapi
hmmmm saya portC, 1 LED tinggal tidak berkedip sama sekali

Aku bertanya-tanya mengapa

Kode:

# include <p16F690.inc>

__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
cblock 0x20

COUNT1; Menetapkan dua file register untuk

COUNT2

; Delay loopendcorg 0bsf STATUS, Rp0; Beralih ke Bank 1

movlw 0x00; Mengatur Port c pin

movwf TRISC; untuk output.bcf STATUS, Rp0; Beralih kembali kepada Bank 0

movlw 0x02Mulai xorwf PORTC, 1panggilan Delay; 255 nol, 255 kaligoto MulaiMenundaLoop1 decfsz COUNT1, 1; putaran kedua ini membuat LED

goto Loop1; dimatikan cukup lama bagi kita untuk

decfsz COUNT2, 1; melihatnya dinonaktifkan

goto Loop1;

kembaliakhir
 
Sulit untuk mengatakan tanpa informasi lebih lanjut tapi aku bisa memberikan saran ini untuk mencoba:

1.Vektor yang mengganggu untuk alamat '690 berada pada 0x04 yang di tengah-tengah kode Anda.Menyela aktif manapun mungkin akan menyebabkan kecelakaan itu.Solusinya adalah dengan menempatkan alamat instruksi di 0x00 (segera setelah Anda 'org 0') yang mengatakan 'goto Begin'.
Kemudian tambahkan 'org' di alamat 0x05 diikuti dengan label 'Begin'.Ini akan mencegah assembler yang pertama dengan menggunakan beberapa alamat tempat tinggal dari vektor interrupt yang digunakan oleh program anda.

2.Saya tidak yakin apa yang clock speed yang Anda gunakan.Penundaan rutin menunggu 256 * 256 loop (= 65536) dan kecepatan eksekusi adalah Fosc / 4, jadi anda Toggling pin output di 1 / 262144 dari clock speed.Pada kecepatan clock tinggi lampu kilat mungkin terlalu cepat untuk melihat.

Brian.

 
Hai,Hmmmm - hanya 3 jam!

Kode kerja terpasang, Anda perlu untuk menonaktifkan Analog bagian dari pelabuhan menggunakan instruksi Ansel (bukan adcon1 saat aku metioned sebelumnya)

Anda juga dapat menggunakan Banksel instruksi untuk membuatnya lebih mudah untuk mengaktifkan bank.

id delay 200ms Anda sehingga Anda hanya akan melihatnya berkedip, panggil dua kali penundaan lulus dan lampu kilat harus jelas

 
Terima kasih banyak!

Itu bekerja dengan baik sekarang.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Senyum" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top