now_nev
24-04-2008, 11:12 PM
Em mới học pic nên chưa có nh kinh nghiệm, mong các anh giúp em.
Em viết chương trình xuất led đơn giản như thế này
processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
org 00h
goto main
main
count1 equ 20h
count2 equ 21h
count3 equ 22h
bsf STATUS, RP0
bcf STATUS, RP1
clrf TRISB
bcf STATUS, RP0
clrf PORTB
bsf PORTB, 7
call delay
loop
rrf PORTB, 1
call delay
goto loop
delay
movlw 0
movwf count1
movwf count2
movlw 5
movwf count3
loop_count1
decfsz count1, 1
goto loop_count1
loop_count2
decfsz count2, 1
goto loop_count1
loop_count3
decfsz count3, 1
goto loop_count1
Return
END
em đã thử chạy bằng MPLAB thì thấy chạy đúng, nhg khi nạp vô Pic thì nó chạy tùm lum hết. Hiện tượng là: khi đag sáng led 7, qua led 6 thì jống như là nó reset bắt đầu lại từ cái dòng " bsf PORTB, 7" vậy. Em MCLR thì lâu lâu hên hên nó qua đc led 5 :( rồi lại trở lại led 7
Cái này là tại con pic hay tại chương trình nạp vậy? Em đã verify sau khi nạp rồi, ok. Còn mạch thì đơn giản, nên chắc là sẽ không phải tại mạch rồi (em không dùng mạch in mà dùng breadboard)
Mong các anh giúp em.
Em viết chương trình xuất led đơn giản như thế này
processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
org 00h
goto main
main
count1 equ 20h
count2 equ 21h
count3 equ 22h
bsf STATUS, RP0
bcf STATUS, RP1
clrf TRISB
bcf STATUS, RP0
clrf PORTB
bsf PORTB, 7
call delay
loop
rrf PORTB, 1
call delay
goto loop
delay
movlw 0
movwf count1
movwf count2
movlw 5
movwf count3
loop_count1
decfsz count1, 1
goto loop_count1
loop_count2
decfsz count2, 1
goto loop_count1
loop_count3
decfsz count3, 1
goto loop_count1
Return
END
em đã thử chạy bằng MPLAB thì thấy chạy đúng, nhg khi nạp vô Pic thì nó chạy tùm lum hết. Hiện tượng là: khi đag sáng led 7, qua led 6 thì jống như là nó reset bắt đầu lại từ cái dòng " bsf PORTB, 7" vậy. Em MCLR thì lâu lâu hên hên nó qua đc led 5 :( rồi lại trở lại led 7
Cái này là tại con pic hay tại chương trình nạp vậy? Em đã verify sau khi nạp rồi, ok. Còn mạch thì đơn giản, nên chắc là sẽ không phải tại mạch rồi (em không dùng mạch in mà dùng breadboard)
Mong các anh giúp em.