View Single Post
Old 29-07-2007, 01:45 AM   #2
phamthanhkhuyen
Đệ tử 1 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 25
:
tại sao nó không thể viết gọn lại :

tôi viết theo cách này thì chương trình nó không chịu chạy




Code:
			;XAC DINH VI TRI LED TRAM
					MOVLW	0X23		
					MOVWF	FSR
                                                                MOVLW   .3
                                                                MOVWF   TEMP

SO_SANH
                                                                DECF       FSR, F

			;XAC DINH POINT_OFF TRAM:					;NHIETmax DUOC THIET LAP DO THAO TAC BAN PHIM
					MOVLW	B'11110000'				;NHIETmax 	: NAM TRONG 4 BIT CAO
					ANDWF	INDF, W					;NHIETdoduoc: NAM TRONG 4 BIT THAP
					MOVWF	POINT_ONOFF				;POINT_ONOFF = NHIETmax	
					SWAPF	POINT_ONOFF, F
			;LUU Y :NEU POINT_ONOFF=15 THI XOA POINT_ONOFF=0
					MOVLW	0X0F
					XORWF	POINT_ONOFF, W
					BTFSC	STATUS, Z
					CLRF	POINT_ONOFF	
		
					MOVLW	B'00001111'				
					ANDWF	INDF, W					;NHIETdoduoc = 4 BIT THAP
					SUBWF	POINT_ONOFF, W			;POINT_ONOFF - NHIETdoduoc
					BTFSS	STATUS, C
					GOTO	OFF_RELAY				;C=0  POINT_ONOFF < NHIETdoduoc
			;C=1 POINT_ONOFF >= NHIETdoduoc
					
					BTFSS	STATUS, Z				;NEU : NHIETdoduoc = POINT_ONOFF THI Z=1
					GOTO	ON_RELAY				;POINT_ONOFF > NHIETdoduoc
					;THOAT RA TIEP TUC XET LED CAP DUOI

                                            DECFSZ    TEMP, F
                                            GOTO       SO_SANH

ON_RELAY
                                            ....
                                            GOTO EXIT_RELAY
OFF_RELAY
                                            ....
  EXIT_RELAY                          RETURN

thay đổi nội dung bởi: phamthanhkhuyen, 29-07-2007 lúc 01:54 AM.
phamthanhkhuyen vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn