Cara membuat stack pointer dengan 89S8252 dan EEPROM ...?

E

elchula

Guest
Aku harus menggunakan EEPROM ke 89S8252, tapi saya tidak tahu menggunakan penunjuk tumpukan (stack operasi yang ditulis dengan bahasa C), dan tujuan saya adalah: menulis file hex EEPROM dan kemudian saya dapat membaca data dari EEPROM (dengan metode stack ) untuk mengekspor ke setiap port ...

 
Mengapa Anda perlu untuk stackpointer manupilation pointer untuk writing.Stack hanya untuk panggilan, dorong dan operasi pop.Setelah reset default pointer stack pointer 20H adresses.Stack harus dalam memori internal.

MOV SP, # 40H

Setelah instruksi ini stack pointer 40H.

 
Jawaban atas kebutuhan Anda terletak pada menggunakan Data-Pointer (DPTR) ini adalah dua byte mendaftar di mana Anda memuat alamat dari tempat Anda memerlukan data yang akan dibaca.

Beban yang lebih tinggi dan lebih rendah dari register DPTR dengan alamat awal dari EPROM kemudian gunakan instruksi MOVX @ A DPTR ,.....untuk terus membaca seluruh data dari itu dan melakukan apa yang diperlukan.

Seperti yang dikatakan sudah menjadi Stack Pointer di sisi lain digunakan untuk mendorong dan pop nilai-nilai dari register ke stack (memori didefinisikan sebagai tumpukan oleh menginisialisasi Stack pointer ke lokasi yang lebih tepat) yang akan dilakukan perubahan dalam fungsi seperti mengatakan Accumulator atau PSW dll

~ Kalyan.

 
Hai,

Anda tidak perlu stack pointer untuk mengakses EEPROM, RAM internal atau sumber daya UC lain.

Anda perlu memanipulasi stack untuk fungsi dengan argumen yang lewat.

Dan untuk menjaga ACC, PSW dan variabel yang digunakan dalam layanan mengganggu rutinitas jika anda tidak menggunakan bank mendaftar switch.

 
U pertama mungkin menulis

WMCON DATA 096H
MOV SP, # 60H
WRITE_EEPROM:
ORL WMCON, # 08
ORL WMCON, # 10H
MOV DPTR, # 0000H
MOV A, # 41H
MOVX @ DPTR, A

LOOP312:
MOV A, # 02H
ANL A, WMCON
CJNE A, # 02, LOOP312
ANL WMCON, # 0E7H
RETREAD_PUSH_EEPROM:
ORL WMCON, # 08H
MOV DPTR, # 0000H
MOVX A, @ DPTR
MOV R0, A
XRL WMCON, # 08H
RETSORRY I HAVE NO IDEA DENGAN "C"THANKS
Masud
http://geocities.com/matrixele/mypage

 

Welcome to EDABoard.com

Sponsor

Back
Top