PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 12-02-2009, 02:49 PM   #1
OHayNhi
Đệ tử 1 túi
 
Tham gia ngày: Sep 2007
Bài gửi: 12
:
Talking Các bạn xem giúp mình làm sai chỗ nào

Mình thấy cai proteus hay hay. Lên làm một chương trình chạy thử . Mình delay lâu(mắt thường có thể thấy được hiện tượng quét) thì thấy nó chạy đúng. Nhưng delay nhanh thì lại sai bét nhè . Nhức đầu quá nên nhờ các bạn tư vấn (
Code:
TITLE		"P16F877A_REG1"
PROCESSOR	P16F877A
INCLUDE		<P16F877A.INC>
__CONFIG	_CP_OFF & _CPD_OFF & _WRT_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC
delay_reg1		equ		0x20
delay_reg2  	             equ	            0x21
delay_reg3		equ		0x22
constant	buflength = 8
variable	j = 0
cblock		0x23			; bo dem du lieu hien thi ra man hinh
			bodem : buflength
endc
#define			clock		   PORTB,0 ; xung kick hoat
#define			dieukhien_quetcot	   PORTB,1 ; dieu khien xung quet cot


org 0x0000
goto Main
;org 0x0005
Main
	banksel	             TRISB
	bcf		TRISB,0
	bcf		TRISB,1
	banksel PORTB
	bcf		clock
	bcf		dieukhien_quetcot
	banksel TRISD 
	clrf	TRISD
	banksel   PORTD
	clrf         PORTD
; Dam bao an toan truoc khi di ^_^		
	j		= 0 
	while	             j < 8
	bcf		dieukhien_quetcot
	bsf		clock
	bcf		clock
	j		+= 1
	endw
; Xoabodem
	j		= 0 
	while		j<buflength
	clrf	             bodem+j
	j		+= 1
	endw
;Load du lieu vao bo dem	
	j		= 0
	while		j < buflength
	movlw	j
	call	Table0
	movwf	bodem+j
	j		+= 1
	endw


Hienthi
	clrw
	bsf		dieukhien_quetcot
	j		= buflength-1
	while	             j>=0
	movf	             bodem+j,W		
	movwf	             PORTD
	call	             Delay_10ms
	bsf		clock
	call	             Delay_10ms
	bcf		dieukhien_quetcot	
	bcf		clock
	j		-= 1
	endw
	goto	Hienthi
Delay_10ms						
	movlw	d'1'
	movwf	delay_reg1
Loop1
	movlw	0xc7
	movwf	delay_reg2
	movlw	0x01
	movwf	delay_reg3
Loop2
	decfsz	delay_reg2,1
	goto	Loop2
	decfsz	delay_reg3,1
	goto	Loop2
	decfsz	delay_reg1,1	
	goto	Loop1
	return
;org 0xc0
;Table1
;	addwf	PCL,1
;	retlw	b'11100111'
;	retlw	b'11110011'
;	retlw	b'11111001'
;	retlw	b'00000000'
;	retlw	b'00000000'
;	retlw	b'00000000'
;	retlw	b'00000000'
;	retlw	b'00000000'
org	0xe0
Table0
	addwf	PCL,1
	retlw	b'11111111'
	retlw	b'10000001'
	retlw	b'00000000'
	retlw	b'00111100'
	retlw	b'00000000'
	retlw	b'10000001'
	retlw	b'11111111'
	retlw	b'11111111'
end
File Kèm Theo
File Type: rar DISPLAY_MATRIX.rar (102.9 KB, 32 lần tải)

thay đổi nội dung bởi: namqn, 12-02-2009 lúc 07:11 PM.
OHayNhi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Tags
help me !!!


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:48 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam