Thông báo

Collapse
No announcement yet.

8051 giao tiếp với máy tính bị treo

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

  • 8051 giao tiếp với máy tính bị treo

    mình đang có đồ án như sau: vdk 89c51 dk 12 nút bấm. khi bấm nút vdk sẽ truyền 1 chuỗi thông báo tương ứng. nhưng trước đó nếu có tín hiệu từ máy tính
    vd: '1' thì vdk sẽ ngắt nút bấm thứ 1. mình gặp rắc rồi ở chỗ vdk chỉ nhận tín hiệu từ máy tính lần thứ nhất rồi bị treo không làm được gì nữa. mong các bác giúp đỡ
    đây là code của mình :

    #include<AT89x51.h>
    #include<string.h>
    #define CB1a P0_0
    #define CB1 P0_1
    #define CB2a P0_2
    #define CB2 P0_3
    #define CB3a P0_4
    #define CB3 P0_5
    #define CB4a P0_6
    #define CB4 P0_7
    #define CB5a P1_0
    #define CB5 P1_1
    #define CB6a P1_2
    #define CB6 P1_3
    #define CB7a P1_4
    #define CB7 P1_5
    #define CB8a P1_6
    #define CB8 P1_7
    #define CB9a P2_0
    #define CB9 P2_1
    #define CB10a P2_2
    #define CB10 P2_3
    #define CB11a P2_4
    #define CB11 P2_5
    #define CB12a P2_6
    #define CB12 P2_7

    void send(unsigned char a);
    void sendchuoi(char *a);
    unsigned char temp;
    void send(unsigned char a)
    {
    SBUF=a;
    while(TI==0){}
    TI=0;
    }
    void sendchuoi(char *a)
    { int i,n;
    n=strlen(a);
    for(i=0;i<n;i++)
    {
    send(a[i]);
    }
    }
    void main(void)
    {
    TMOD=0x20;
    TH1=0xFD;
    SCON=0x50;
    TR1=1;
    IE=0x90;
    P1=0xAA;
    P2=0xAA;
    P0=0xAA;
    while(1)
    {
    if(CB1 == 0)
    {
    while(!CB1);
    sendchuoi("phong 1 trai phep");
    send(10);}
    if(CB2 == 0)
    {
    while(!CB2);
    sendchuoi("phong 2 trai phep");
    send(10);}
    if(CB3 == 0)
    {
    while(!CB3);
    sendchuoi("phong 3 trai phep");
    send(10);}
    if(CB4 == 0)
    {
    while(!CB4);
    sendchuoi("phong 4 trai phep");
    send(10);}
    if(CB5 == 0)
    {
    while(!CB5);
    sendchuoi("phong 5 trai phep");
    send(10);}
    if(CB6 == 0)
    {
    while(!CB6);
    sendchuoi("phong 6 trai phep");
    send(10);}
    if(CB7 == 0)
    {
    while(!CB7);
    sendchuoi("phong 7 trai phep");
    send(10);}
    if(CB8 == 0)
    {
    while(!CB8);
    sendchuoi("phong 8 trai phep");
    send(10);}
    if(CB9 == 0)
    {
    while(!CB9);
    sendchuoi("phong 9 trai phep");
    send(10);}
    if(CB10 == 0)
    {
    while(!CB10);
    sendchuoi("phong 10 trai phep");
    send(10);}
    if(CB11 == 0)
    {
    while(!CB11);
    sendchuoi("phong 11 trai phep");
    send(10);}
    if(CB12 == 0)
    {
    while(!CB12);
    sendchuoi("phong 12 trai phep");
    send(10);}
    if(temp=='1')
    {CB1=0;}
    if(temp=='2')
    {CB2=0;}
    if(temp=='3')
    {CB3=0;}
    if(temp=='4')
    {CB4=0;}
    if(temp=='5')
    {CB5=0;}
    if(temp=='6')
    {CB6=0;}
    if(temp=='7')
    {CB7=0;}
    if(temp=='8')
    {CB8=0;}
    if(temp=='9')
    {CB9=0;}
    if(temp=='a')
    {CB10=0;}
    if(temp=='b')
    {CB11=0;}
    if(temp=='c')
    {CB12=0;}
    }
    }
    void nhandulieu(void) interrupt 4 // khai bao ngat truyen thong
    {
    if(RI==1) // kiem tra xem co phai ngat nhan hay khong
    {
    temp=SBUF; // lây du lieu luu vao bien temp
    RI=0; //xóa co nhan chuyen bi cho nhan du lieu tiep theo

    }


    }

Về tác giả

Collapse

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

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

Collapse

  • mèomướp
    Trả lời cho Sửa bộ nguồn DC 60V 45A
    bởi mèomướp
    Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
    hôm nay, 13:11
  • tuyennhan
    Trả lời cho Sửa bộ nguồn DC 60V 45A
    bởi tuyennhan
    Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
    hôm nay, 09:25
  • tuyennhan
    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
    bởi tuyennhan
    Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
    Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
    hôm nay, 09:10
  • Ng.Phuong.5
    Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
    bởi Ng.Phuong.5
    Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
    Mấy con...
    Hôm qua, 19:44
  • viettinh
    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
    bởi viettinh
    Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
    Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
    Hôm qua, 18:12
  • nguyendinhvan
    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
    bởi nguyendinhvan
    Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
    Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
    Cách đơn giản...
    Hôm qua, 00:04
  • mèomướp
    Trả lời cho Sửa bộ nguồn DC 60V 45A
    bởi mèomướp
    Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
    08-01-2025, 19:02
  • tuyennhan
    Trả lời cho Sửa bộ nguồn DC 60V 45A
    bởi tuyennhan
    Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
    08-01-2025, 15:43
  • tuyennhan
    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
    bởi tuyennhan
    Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
    08-01-2025, 15:28
  • mèomướp
    Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
    bởi mèomướp
    Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
    08-01-2025, 11:44
Đang tải...
X