PDA

View Full Version : [nhờ giúp đỡ] 16F877A vs RTC DS12C877 ASM


xemvadown
19-10-2013, 12:38 PM
chào mọi người
m bắt đầu học PIC theo TUT của ntc với assembly và proteus, có bài giao tiếp với IC RTC DS12C877 qua portD và E nhưng chỉ build được code chứ mô phỏng trên Proteus không chạy, NHỜ mọi nguòi giúp m tìm lỗi tại sao nó không chạy với @ntc, cái này ko chạy thì ko tiếp đựoc phần Lịch vạn niên !!!!

đoạn ghi và đọc này m sửa cả chục lần mà không được, m có gửi kèm cả Project ở đây
http://upfile.vn/eehY
XIN CẢM ƠN
write_12C887
BSF STATUS,RP0
CLRF TRISD
BCF STATUS,RP0
BCF RW ; Replace
NOP ; tao xung duong
BSF AS ; ||||||||||
NOP ; tao xung duong- len de xuong
MOVF ADDRESS_W,0 ; ||||||||||||||||||||||||||||||||||||||||||||||||||
MOVWF DATAPORT ; Dua dia chi du lieu can doc ra port D
BCF AS
NOP ; tao xung canh xuong

MOVF DATA_W,0 ;||||||||||||||||||||||||||||||||||||||||||||||||| |
MOVWF DATAPORT ; xuat du lieu ra port D

BSF AS
RETURN

read_12C887
BSF STATUS,RP0
CLRF TRISD
BCF STATUS,RP0
MOVF ADDRESS_R,0
MOVWF DATAPORT
BSF DS
BCF RW ;ADD
NOP
BSF AS
NOP
;BSF RW ;ADD
BCF AS
NOP
BCF DS
NOP
;BCF STATUS,RP0 ; add
BSF STATUS,RP0 ; bank 1
MOVLW 0xFF ; ||||||||||||||||||||||||||
MOVWF TRISD ; khoi tao Input tai port D (DATAPORT)
BCF STATUS,RP0 ; chon Bank 0
MOVF DATAPORT,0 ; lay du lieu tai AD0-AD7 cua IC
MOVWF DATA_R ; chuyen du lieu nhan duoc vao DATA_R
BSF AS
RETURN

xemvadown
20-10-2013, 12:49 AM
m đã xem datasheet về read, write, latch rồi mà làm vẫn không chạy, MOD ntc có thể giúp m không? hoặc ai đã test chạy thì cho m xin đoạn code và file proteus không ạ?