View Single Post
Old 19-10-2006, 08:33 PM   #1
anhquangngai
Đệ tử 2 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 33
:
Thảo luận về cách viết các lệnh dịch thanh ghi (RRF,RLF)

Dưới đây là chương trình dịch trái (phải) PortB sử dụng lệnh RRF(RLF):
Code:
title		"leddichtutraiquaphai_Port_B.asm"
		processor	p16f877a
		include		<P16f877a.inc>
		__CONFIG	_CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
		;=========================================================================
		; Chuong trinh chinh
		;=========================================================================
		count1		equ		0x20
		counta		equ		0x22
		countb		equ		0x23
				org			0x000
	;-------------------------------------------------------------
	;khoi tao Port B
	;------------------------------------------------------------
				banksel		TRISB
				clrf		TRISB
				banksel		PORTB
				movlw		b'00000001'
				movwf		PORTB
		loop	call		delay100ms;
				rlf			PORTB,1
				goto		loop

;-----------------------------------------------------------------
;chuong trinh delay
;-----------------------------------------------------------------
delay100ms ; chuong trình con delay 100 ms
				MOVLW d'100'
				MOVWF count1
	d1
				MOVLW 0xC7
				MOVWF counta
				MOVLW 0x01
				MOVWF countb
	delay_0
				DECFSZ counta,1
				GOTO $+2
				DECFSZ countb,1
				GOTO delay_0
				DECFSZ count1,1
				GOTO d1
				RETURN
;----------------------------------------------------------------
		end
Mô tả chương trình:
- Led sáng sẽ dc dịch từ PB0-->PB7 và sẽ tắt hoàn toàn và bắt đầu lại từ đầu.
Câu hỏi dc đặt ra:
-Muốn kiểm tra cờ C thì làm như thế nào?
- Có cách nào để led chạy liên tục PỎTB ko bi tắt hoàn toàn khi 1 dc chuyển vào cờ C?

Mong các bác có thể giúp đỡ những người mới học như tụi em dc ko?
Cảm ơn các bác!
anhquangngai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn