User Tag List

Trang 61/115 đầuđầu ... 1151596061626371111 ... cuốicuối
kết quả từ 601 tới 610 trên 1147
Cây cảm ơn656Cảm ơn

Ðề tài: HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]

  
  1. #601
    Thành viên tích cực hoasua_2005's Avatar
    Tham gia
    Mar 2008
    Bài viết
    447
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    các anh ơi, em mới tập tọe lập trình, em viết chương trinh nháy led như này, nhưng nó cú báo lỗi, không hiểu vì sao?em dùng keil C
    #include<thu viện của 8051>
    sbit LED 0x80;
    int i;
    #define delay 1000
    #define ON 0
    #define OFF 1
    void init();
    void delay();
    void main()
    {
    init();
    while(1)
    {
    LED = ON;
    delay();
    LED = OFF;
    delay()
    }
    }
    void init()
    { LED = ON}
    void delay()
    {for(i=0;i<=delay;i++)
    {};}


  2. #602
    Thành viên tích cực jackychan's Avatar
    Tham gia
    Mar 2008
    Bài viết
    164
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Mình cũng mua về dùng không phải kinh doanh đâu. Ai có nhu cầu thì mình để lại cho.


  3. #603
    Thành viên tích cực Zz_Bi_zZ's Avatar
    Tham gia
    Nov 2007
    Bài viết
    767
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Click here to enlarge Nguyên văn bởi hoasua_2005 Click here to enlarge
    các anh ơi, em mới tập tọe lập trình, em viết chương trinh nháy led như này, nhưng nó cú báo lỗi, không hiểu vì sao?em dùng keil C
    #include<thu viện của 8051>
    sbit LED 0x80;
    int i;
    #define delay 1000
    #define ON 0
    #define OFF 1
    void init();
    void delay();
    void main()
    {
    init();
    while(1)
    {
    LED = ON;
    delay();
    LED = OFF;
    delay()
    }
    }
    void init()
    { LED = ON}
    void delay()
    {for(i=0;i<=delay;i++)
    {};}
    lỗi nhìu wa, u coi lại mấy bài đầu của luồng này về cách viết Keil C nhá " sau mỗi lệnh phải có dấu ; để báo hết lệnh"
    http://dientuvietnam.net/forums/showthread.php?t=1195


  4. #604
    Thành viên mới anhtuan2012's Avatar
    Tham gia
    Sep 2008
    Bài viết
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    các bác ơi em đang phải làm đồ án vđk về mạch đếm sử dụng cảm biến hồng ngoại với 8051,sản phẩm hiện thị máy tính,các bác chỉ cho em code để cho sản phẩm hiện thị lên máy tính bằng keilC với...em xin cảm ơn và hậu tạ!!


  5. #605
    Thành viên mới moon_rider85's Avatar
    Tham gia
    Jul 2008
    Bài viết
    6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post

    có ai giúp mình sửa code,mình dịch ko bị lỗi nhưng chạy debug thì báo lỗi...code và mô phỏng có bên dưới....Thanks nhiềuClick here to enlarge

    File gửi kèm

  6. #606
    Thành viên mới moon_rider85's Avatar
    Tham gia
    Jul 2008
    Bài viết
    6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    sao ko ai giúp mình vậy cà!!!!!


  7. #607
    Thành viên tích cực trch's Avatar
    Tham gia
    Aug 2007
    Bài viết
    161
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    các anh ơi cho em hỏi với:
    cấu trúc lệnh :struct co ý nghĩa gì vậy.có đoạn code nào ko cho em tham khảo với.


  8. #608
    Thành viên mới pzeter's Avatar
    Tham gia
    Sep 2008
    Bài viết
    9
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Làm thế nào để sử dụng asembly kèm với file C hả các bác!
    Em mới tìm hiểu về dùng C để lập trình cho VĐK nên không rõ lắm !
    Có vài chỗ thấy dùng asembly thì quen hơn!


  9. #609
    Thành viên mới nanhqui_13's Avatar
    Tham gia
    Jun 2007
    Bài viết
    16
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Đây là code dùng để đo và khống chế nhiệt độ. Mấy bác cho em hỏi tại sao nó toàn báo lỗi này: DONHIETDO.C(10): error C231: 'WR': redefinition. không biết tại sao. sửa hoài ko được. ai biết chỉ giáo dùm em nha.
    #include<stdio.h>
    #include<reg52.h>
    #include<math.h>

    /*nut nhan*/
    sbit giam=P1^0;
    sbit tang=P1^1;
    sbit giu=P1^2;

    sbit WR=P1^7;
    /*led khong che*/
    sbit led_giu=P1^3;
    sbit led_tang=P1^4;
    sbit led_giam=P1^5;

    /*led hien thi*/
    sbit led_tram=P2^4;
    sbit led_chuc=P2^5;
    sbit led_donvi=P2^6;

    /********************/

    int j,z;
    unsigned int gtso,songuyen,sothapphan,m,giatri,t;
    float dienap;
    unsigned char tram,chuc,donvi;
    unsigned int LED[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};

    void delay (long int time)
    {

    long int i;
    for(i=1;i<=time;i++)
    {
    TH0=(-9207)/256;
    TL0=(-9207)%256;
    TR0=1;
    while(!TF0);
    TF0=0;
    TR0=0;
    }

    }

    void hienthinhietdothuc (void)

    {
    donvi = t/100;
    chuc = ((t%100)/10);
    led_donvi = 0;led_chuc = 1; led_tram =1;
    P0 = LED[donvi];
    delay(5);
    xoa();
    led_donvi = 1;led_chuc = 0; led_tram =1;
    P0 = LED[chuc];
    delay(5);
    xoa();

    }

    void xoa (void)

    {
    P2=0xff;
    P2=0xff;
    }

    void caidat (void)
    {
    giatri=20;
    do
    {
    if(!tang)
    {
    giatri++;
    while(!tang);
    }
    if(!giam)
    {
    giatri--;
    while(!giam);
    }

    tram=giatri/100;
    led_donvi =1; led_chuc = 1; led_tram =0;
    P0 = LED[tram];
    delay(5);
    xoa();

    }
    }
    void main(void)
    {
    giu=tang=giam=1;
    xoa();
    giatri=20;
    delay(500);
    hienthinhietdothuc();
    while(giu); //cho nhan
    while(!giu); //cho nha
    delay(100);
    caidat();
    P3=0xff;
    while(1)
    {

    WR=0;
    for(j=1;j<=3;+++j);
    WR=1;
    delay(200); //thoi gian cho bien doi
    gtso=P3; //doc gia tri dien ap bien doi duoc
    t=gtso-273; //muc 2.73v tuong ung voi 0c
    /////////////////////////////////
    if(t>=(giatri+1))//nhiet do thuc vuot qua nhiet do dat
    {
    led_tang=0;
    led_giam=1;
    led_giu=1;
    }
    if(t==giatri)//nhiet do thuc bang nhiet do dat
    {
    led_tang=1;
    led_giam=1;
    led_giu=0;
    }
    if(t<=(giatri-1))//nhiet do thuc nho hon nhiet do dat
    {
    led_tang=1;
    led_giam=0;
    led_giu=1;
    }
    ////////////hien thi nhiet do thuc//////////////////
    hienthinhietdothuc();


    }
    }

    NHẪN NHẤT THỜI PHONG BÌNH LÃNG TĨNH

    THOÁI NHẤT BỘ HẢI KHOÁT THIÊN KHÔNG


  10. #610
    Thành viên tích cực Zz_Bi_zZ's Avatar
    Tham gia
    Nov 2007
    Bài viết
    767
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Click here to enlarge Nguyên văn bởi nanhqui_13 Click here to enlarge
    Đây là code dùng để đo và khống chế nhiệt độ. Mấy bác cho em hỏi tại sao nó toàn báo lỗi này: DONHIETDO.C(10): error C231: 'WR': redefinition. không biết tại sao. sửa hoài ko được. ai biết chỉ giáo dùm em nha.
    #include<stdio.h>
    #include<reg52.h>
    #include<math.h>

    /*nut nhan*/
    sbit giam=P1^0;
    sbit tang=P1^1;
    sbit giu=P1^2;

    sbit WR=P1^7;
    /*led khong che*/
    sbit led_giu=P1^3;
    sbit led_tang=P1^4;
    sbit led_giam=P1^5;

    /*led hien thi*/
    sbit led_tram=P2^4;
    sbit led_chuc=P2^5;
    sbit led_donvi=P2^6;

    /********************/

    int j,z;
    unsigned int gtso,songuyen,sothapphan,m,giatri,t;
    float dienap;
    unsigned char tram,chuc,donvi;
    unsigned int LED[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};

    void delay (long int time)
    {

    long int i;
    for(i=1;i<=time;i++)
    {
    TH0=(-9207)/256;
    TL0=(-9207)%256;
    TR0=1;
    while(!TF0);
    TF0=0;
    TR0=0;
    }

    }

    void hienthinhietdothuc (void)

    {
    donvi = t/100;
    chuc = ((t%100)/10);
    led_donvi = 0;led_chuc = 1; led_tram =1;
    P0 = LED[donvi];
    delay(5);
    xoa();
    led_donvi = 1;led_chuc = 0; led_tram =1;
    P0 = LED[chuc];
    delay(5);
    xoa();

    }

    void xoa (void)

    {
    P2=0xff;
    P2=0xff;
    }

    void caidat (void)
    {
    giatri=20;
    do
    {
    if(!tang)
    {
    giatri++;
    while(!tang);
    }
    if(!giam)
    {
    giatri--;
    while(!giam);
    }

    tram=giatri/100;
    led_donvi =1; led_chuc = 1; led_tram =0;
    P0 = LED[tram];
    delay(5);
    xoa();

    }
    }
    void main(void)
    {
    giu=tang=giam=1;
    xoa();
    giatri=20;
    delay(500);
    hienthinhietdothuc();
    while(giu); //cho nhan
    while(!giu); //cho nha
    delay(100);
    caidat();
    P3=0xff;
    while(1)
    {

    WR=0;
    for(j=1;j<=3;+++j);
    WR=1;
    delay(200); //thoi gian cho bien doi
    gtso=P3; //doc gia tri dien ap bien doi duoc
    t=gtso-273; //muc 2.73v tuong ung voi 0c
    /////////////////////////////////
    if(t>=(giatri+1))//nhiet do thuc vuot qua nhiet do dat
    {
    led_tang=0;
    led_giam=1;
    led_giu=1;
    }
    if(t==giatri)//nhiet do thuc bang nhiet do dat
    {
    led_tang=1;
    led_giam=1;
    led_giu=0;
    }
    if(t<=(giatri-1))//nhiet do thuc nho hon nhiet do dat
    {
    led_tang=1;
    led_giam=0;
    led_giu=1;
    }
    ////////////hien thi nhiet do thuc//////////////////
    hienthinhietdothuc();


    }
    }

    khi dùng Sbit thì u nên ghi lun ra địa chỉ của nó , vd :
    Code:
    sbit WR 0x97 // WR = P1.7
    cái địa chỉ này trong file AT89S53.h đó , còn nếu nhác thì dùng :
    Code:
    #define WR P1_7
    thông báo lỗi trên là tên WR đc định nghĩa 2 lần . Có nghĩa là nó đã đc định nghĩa ở đâu đó trong mấy file u include . Bây h , u lại định nghĩa đó là chân P1_7 .

    nanhqui_13 đã cảm ơn nội dung này.

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không được gửi luồng mới
  • Bạn không được trả lời bài viết
  • Bạn không được gửi file đính kèm
  • Bạn không được sửa bài viết của mình
  •