Thông báo

Collapse
No announcement yet.

Mạch Điều khiển Động Cơ DC Dùng 89c51

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Mạch Điều khiển Động Cơ DC Dùng 89c51

    mọi người xem gium em đoạn code này sai ở đâu mà khi lắp thực tế chân 22, 23 mức 1 còn 24 25 26 toàn ở mức 0 là sao.




    /* Dieu khien toc do dong co DC : Quay thuan, quay nghich, tang toc, giam toc

    */
    // 2 Chan dieu khien dong co la : P2_0 va P2_1
    // 5 chan de dieu khien : Quay thuan, quay nghich, Dung, Tang toc, giam toc
    // 3 chan bao hieu dong co dang o che do nao.


    #include <REGX51.H>

    /* Dinh nghia cac nut nhan*/
    #define stop P1_0
    #define thuan P1_1
    #define nghich P1_2
    #define tang P1_3
    #define giam P1_4
    #define PWM P2_2

    unsigned char dem=0;
    unsigned int phantram_PWM=10;

    /* Ham tao thoi gian tre*/

    void delay(unsigned int t)
    {
    unsigned int i,j;
    for(i=0;i<100;i++)
    for(j=0;j<t;j++);
    }

    /* Hien thi gia tri tang giam toc*/
    unsigned char LED[10]={0x40,0xf9,0x24,0x30,0x19,0x12,0x02,0xf8,0x80,0x1 0};
    void hienthi(unsigned char digit1, unsigned char digit2)
    {
    /*Hien thi so thu nhat*/
    P3=LED[digit1];
    P1_6=1;
    delay(2);
    P1_6=0;
    /*Hien thi so 2*/
    P3=LED[digit2];
    P1_7=1;
    delay(2);
    P1_7=0;
    }
    /* Khoi tao Timer 100us*/

    void khoitaohethong()
    { P2_5=0;
    //ES=1;
    EA=0;
    TMOD=0x02; // che do 8 bit tu nap
    TH0=0x9b; // nap gia tri 155 ma hex
    TL0=0x9b;
    EA=1;
    TR0=1;
    ET0=1;
    }
    /* Ngat tao ra PWM*/

    void ngat_timer0(void) interrupt 1
    {
    TR0=0;
    TF0=0;
    dem++;
    if(dem>=phantram_PWM)
    {
    PWM=1;
    }
    else
    {
    PWM=0;
    }
    if(dem==20) dem=0;
    TR0=1;

    }
    /* Ham dung dong co*/
    void stopdc(void)
    {
    P2_0=0;
    P2_1=0;
    P2_5=0;
    P2_3=1;
    P2_4=1;
    }

    /* Ham quay thuan dong co*/
    void quaythuan(void)
    {
    P2_1=0;
    P2_0=1;
    P2_3=0;
    P2_5=1;
    P2_4=1;

    }

    /* Ham quay nghich dong co*/

    void quaynghich(void)
    {
    P2_0=0;
    P2_1=1;
    P2_4=0;
    P2_3=1;
    P2_5=1;

    }
    /* Ham dieu khien tang toc*/
    unsigned char tangtoc(void)
    {
    if(tang==0)
    {
    while(tang==0)
    {;}
    phantram_PWM--;
    delay(100);
    if(phantram_PWM<1)
    {
    phantram_PWM=1;

    } }
    return (phantram_PWM);
    }
    /* Ham dieu khien giam toc*/
    unsigned char giamtoc(void)
    {
    if(giam==0)
    {
    while(giam==0)
    {;}
    phantram_PWM++;
    delay(100);
    if(phantram_PWM>20)
    phantram_PWM=20;
    }
    return (phantram_PWM);
    }
    /* Lua chon che do cua dong co*/

    unsigned char n;
    unsigned char chonchedo(void)
    {
    if(stop==0) n=1;
    if(thuan==0) n=2;
    if(nghich==0) n=3;
    switch(n)
    {
    case 0: {break;}
    case 1: {stopdc();break;}
    case 2: {quaythuan();break;}
    case 3: {quaynghich();break;}
    }
    return (n);
    }
    /* Chuong trinh chinh*/
    void main()
    {
    khoitaohethong();
    while(1)
    {
    tangtoc();
    giamtoc();
    chonchedo();
    hienthi((20-phantram_PWM)/10,(20-phantram_PWM)%10);
    }
    }
    No __ Comment

Về tác giả

Collapse

trahanam000 Tìm hiểu thêm về trahanam000

Bài viết mới nhất

Collapse

  • bqviet
    Trả lời cho Đấu tắt điện cho máy tính bảng
    bởi bqviet
    Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
    06-12-2025, 17:17
  • nguyendinhvan
    Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
    bởi nguyendinhvan
    Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
    05-12-2025, 19:59
  • afrendly
    Trả lời cho Đấu tắt điện cho máy tính bảng
    bởi afrendly
    Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
    04-12-2025, 01:27
  • nick22
    Trả lời cho Máy điện châm ?
    bởi nick22
    Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
    01-12-2025, 13:23
Đang tải...
X