ช่วยทีครับ ช่วยแก้code ภาษาซี ให้ผมทีครับ ผมแก้จนปวดหัว แล้วววว

พอดี ผมทำโปรเจค เกี่ยวกับ ภาษาซี ใช้ PIC18F45J10 ในการ ควบคุมหลอดLED โดยจะให้ลอดไฟ LED ติดทีละดวง ในระยะเวลา 5 วินาที ติด1 จนครบ 8 ดวง ซึ่ง ผมได้เขียน code ไปแล้ว แต่ว่ามัน Run ไม่ได้ และไม่รู้ว่าผิดตรงไหน ด้วย ผู้ที่มีความรู้ ได้โปรด ช่วยผมแก้ทีนะครับ ผมต้องรีบ ทำส่ง อาจารย์ แล้ว ขอบคุณครับ

#include <xc.h>
#pragma config XINST = OFF
#pragma config STVREN = OFF
#pragma config WDTEN = OFF
#pragma config CP0 = OFF
#pragma config FCMEN = OFF
#pragma config FOSC2 = ON
#pragma config FOSC = HS

unsigned char input,flag,n,H,cmt,cnt;
void initialize();
void start(unsigned char T);
void stop(unsigned char H);

//FUNCTION
void initailize()
{
    //Timer2 for  10ms
    //T2CON = 0b00101011; //postscal (0101)1:6 , off , prescale(11) 1:16
   //PR2=0b11111111;           //
    //T2CONbits.TMR2ON = 1;   //start trimer2
        //Trimer0 for sampling 5 s
    T0CON=0b00000111;   // prescale 1:256
    TMR0L=0x10;
    TMR0H=0x2D;
    T0CONbits.TMR0ON=1;
    //portd is output
    TRISD  = 0b00000000; // LED display is output
    flag=0;
    n=0;
}
void start(unsigned char T)
{
        if(T==0)
    {
        switch(n){
                    case 0:
                    PORTDbits.RD0=0;
                    n=1;
//                    H=2;
                    break;
                    case 1:
                    PORTDbits.RD1=0;
                    n=2;
//                     H=2;
                    break;
                    case 2:
                    PORTDbits.RD2=0;
                    n=3;
//                     H=2;
                    break;
                    case 3:
                    PORTDbits.RD3=0;
                    n=4;
//                     H=2;
                    break;
                    case 4:
                    PORTDbits.RD4=0;
                    n=5;
//                     H=2;
                    break;
                    case 5:
                    PORTDbits.RD5=0;
                    n=6;
//                     H=2;
                    break;
                    case 6:
                    PORTDbits.RD6=0;
                    n=7;
//                     H=2;
                    break;
                    case 7:
                    PORTDbits.RD7=0;
                    n=0;
//                     H=2;
                    break;
        }
    }
}
//void stop(unsigned char H)
//{
//    if(H)
//    {
//        PORTD=0xFF;
//        H=0;
//    }
//}
void main()
{
    H=1;
    input=5;
    while(1){
        // input
        cnt=input;
        cmt=input;
    if(INTCONbits.TMR0IF)
    {
        cmt--;
        if(cmt==0)
        {
            H=0;
        }
    }
    start(H);
}
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่