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)
-   -   help! code ko chạy (http://www.picvietnam.com/forum/showthread.php?t=7691)

luongnhut 09-01-2011 11:54 AM

help! code ko chạy
 
Em có 2 đoạn code sau
Đoạn viết bằng c sau khi nạp thì chạy tốt:
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
void main()
{
// Thiet lap che do cho PORTB
TRISB = 0x00;
PORTB = 0xFF;
While(1)
{
PORTB = 0;
delay_ms(250);
PORTB = 0xFF;
delay_ms(250);
}}

đoạn viết bằng asm sau khi nạp thì không chạy(biên dich không có lỗi) bác nào giúp e với
Processor P16f877a
include <P16f877a.inc>
__Config _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF

de1 equ 0x10
de2 equ 0x11
org 0x00
goto start

start org 0x05
bcf STATUS,RP0
bsf STATUS,RP1

clrf TRISB
bcf STATUS,RP0
bcf STATUS,RP1
be movlw 0x00
movwf PORTB
call delay
movlw 0xff
movwf PORTB
call delay
goto be

delay clrf de1
da2 clrf de2
da1 decfsz da2
goto da1
decfsz da1
goto da2
return
end


e xài 16f877a, dao động 20mHz

vidieukhiencdn 09-01-2011 01:01 PM

Bạn sửa lại ct delay thử:

delay clrf de1
da2 clrf de2
da1 decfsz de2
goto da1
decfsz de1
goto da2
return
end

luongnhut 09-01-2011 10:42 PM

mình đã tìm ra nguyên nhân rồi
1 phần do ct con delay
nhưng nguyên nhân chính là thanh ghi 10h, 11h là thanh ghi chức năng nên không được sử dụng như trên được


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

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