PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Giúp đỡ về DELAY trong 16F877A bằng ASM !!!! Gấp ! Gấp (http://www.picvietnam.com/forum/showthread.php?t=8353)

fan.pic 29-03-2011 10:46 AM

Giúp đỡ về DELAY trong 16F877A bằng ASM !!!! Gấp ! Gấp
 
Các bạn xem kĩ hai chương trình này rồi giải thích giúp mình:
( thạch anh 4mhz)
REG_DELAY_1 EQU 0x20
REG_DELAY_2 EQU 0x21
; Chuong trinh delay 100ms cho PIC 16F877A - CHUONG TRINH 1
DELAY_100MS
MOVLW 0x83
MOVWF REG_DELAY_1
MOVLW 0xFF
MOVWF REG_DELAY_2
LOOP1 DECFSZ REG_DELAY_1
GOTO LOOP2
GOTO EXIT
LOOP2 DECFSZ REG_DELAY_2
GOTO LOOP2
GOTO LOOP1
EXIT

; Chuong trinh delay 100ms cho PIC 16F877A - CHUONG TRINH 2
DELAY_100MS
MOVLW 0x83
MOVWF REG_DELAY_1
LOOP1 DECFSZ REG_DELAY_1
GOTO LOOP2
GOTO EXIT
LOOP2 MOVLW 0xFF
MOVWF REG_DELAY_2
DECFSZ REG_DELAY_2
GOTO LOOP2
GOTO LOOP1
EXIT

theo mình thì CHUONG TRINH 1 là sai vì sau một vòng lặp loop 2, giá trị thanh ghi REG_DELAY_2 bị giảm về 0 ( thanh ghi này được gán cho ô nhớ 21h trong GPR). nen ko thể delay được giá trị 100ms. nên mình đã sửa lại giống như ở CHUONG TRINH 2. Như thế có đúng ko ?
Các bạn xem rồi giúp mình với nha !

fan.pic 29-03-2011 06:03 PM

buồn quá ! sao không ai giúp mình hết vậy ??????????

hahabab 02-04-2011 02:09 AM

trả lời
 
chương trình 1 đúng rồi
viết chương trình 2 thế thế thoát khỏi loop2 bằng niềm tin ah
cái này là delay_oo rồi


Múi giờ GMT. Hiện tại là 06:37 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam