PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Mô phỏng chạy, nạp thì không chạy (http://www.picvietnam.com/forum/showthread.php?t=31549)

lanhchanh 27-12-2012 09:38 PM

Mô phỏng chạy, nạp thì không chạy
 
2 Attachment(s)
Chào các bác, em đang gặp phải tình huống lạ này về con PIC12F629. Đó là viết code bằng HTC, mô phỏng trên Protues thì chạy ngon lành. Nhưng khi nạp cho con PIC thực tế, nạp vẫn được. Nhưng khi cấp nguồn, mạch hoạt động lúc được, lúc không (cấp vài lần thì được 1 lần hoạt động).

Em cũng kiểm tra kỹ phần nguồn rồi, 5VDC và không bị chập chờn.

Đây là code của em, em chỉ test trên mạch led chớp tắt thôi:

Code:



#include<htc.h>
#include<pic12f629.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_OFF & MCLRE_ON & BOREN_OFF & CP_OFF & CPD_OFF);

#define _XTAL_FREQ  4000000   

bit x;
void main()
{       
        x=0;
        CMCON  = 0x07;                // Shut off the Comparator
        VRCON  = 0x00;            // Shut off the Voltage Reference
        TRISIO = 0x01;                // GP0 input, rest all output
        WPU    =        1;       
        GPPU  =        0;
        GPIO  = 0x00;      // Make all pins 0
       
       
        while(1)
        {

        if(!GP0||x)       
        {
                x=1;
                GP1=1;       
                GP2=1;
                __delay_ms(500);
                GP2=0;       
                __delay_ms(500);
        }
        }
}

Em gặp lỗi này lần đầu luôn đấy, không biết có phải là do con PIC bị lỗi không các bác nhỉ?

Cám ơn các bác đã đọc.

qloi 26-01-2013 09:48 AM

Trích:

Nguyên văn bởi lanhchanh (Post 80291)
Chào các bác, em đang gặp phải tình huống lạ này về con PIC12F629. Đó là viết code bằng HTC, mô phỏng trên Protues thì chạy ngon lành. Nhưng khi nạp cho con PIC thực tế, nạp vẫn được. Nhưng khi cấp nguồn, mạch hoạt động lúc được, lúc không (cấp vài lần thì được 1 lần hoạt động).

Em cũng kiểm tra kỹ phần nguồn rồi, 5VDC và không bị chập chờn.

Đây là code của em, em chỉ test trên mạch led chớp tắt thôi:

Code:



#include<htc.h>
#include<pic12f629.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_OFF & MCLRE_ON & BOREN_OFF & CP_OFF & CPD_OFF);

#define _XTAL_FREQ  4000000   

bit x;
void main()
{       
        x=0;
        CMCON  = 0x07;                // Shut off the Comparator
        VRCON  = 0x00;            // Shut off the Voltage Reference
        TRISIO = 0x01;                // GP0 input, rest all output
        WPU    =        1;       
        GPPU  =        0;
        GPIO  = 0x00;      // Make all pins 0
       
       
        while(1)
        {

        if(!GP0||x)       
        {
                x=1;
                GP1=1;       
                GP2=1;
                __delay_ms(500);
                GP2=0;       
                __delay_ms(500);
        }
        }
}

Em gặp lỗi này lần đầu luôn đấy, không biết có phải là do con PIC bị lỗi không các bác nhỉ?

Cám ơn các bác đã đọc.

Theo t thấy vấn đề nằm ở cái hàm if của bác đó. thứ nhất hàm chỉ thực hiện khi chân GP0=0 , và x thì bạn không cho giá trị cụ thể vì ở đây dấu || là toán tử điều kiện chứ không phải phép OR


Múi giờ GMT. Hiện tại là 02:15 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