View Single Post
Old 19-10-2013, 12:38 PM   #1
xemvadown
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 5
:
[nhờ giúp đỡ] 16F877A vs RTC DS12C877 ASM

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
Code:
 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

Code:
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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn