Thông báo

Collapse
No announcement yet.

Giúp em về lập trình giao tiếp 89c52 với led 7 + Swich .

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

  • Giúp em về lập trình giao tiếp 89c52 với led 7 + Swich .

    xem giúp e đoạn code viết trên keilC. Có file protues kèm theo mô phỏng. Ở file em đưa lên là nhấn tắt và mở lần lượt, bây giờ mấy a GIÚP em: + khi bật 1 nút SW bất kì thì led7 hiện số 1, bật 2 nút bất kì thì hiện số 2....cứ như vậy đến hết 8 nút SW.
    + khi tắt cũng vậy, tắt ngẫu nhiên 1 nút SW thì led 7 sẽ giảm từ 8 xuống 7. tắt ngẫu nhiên 2 nút SW thì còn 6..... tương tự với 3,4,5...nút SW.
    e sửa code hoài mà không được. Mong mấy a giúp e. !!!
    Attached Files

  • #2
    Nguyên văn bởi Sao_Mộc Xem bài viết
    xem giúp e đoạn code viết trên keilC. Có file protues kèm theo mô phỏng. Ở file em đưa lên là nhấn tắt và mở lần lượt, bây giờ mấy a GIÚP em: + khi bật 1 nút SW bất kì thì led7 hiện số 1, bật 2 nút bất kì thì hiện số 2....cứ như vậy đến hết 8 nút SW.
    + khi tắt cũng vậy, tắt ngẫu nhiên 1 nút SW thì led 7 sẽ giảm từ 8 xuống 7. tắt ngẫu nhiên 2 nút SW thì còn 6..... tương tự với 3,4,5...nút SW.
    e sửa code hoài mà không được. Mong mấy a giúp e. !!!
    đơn giản em đoc giá trị PORT SW về rồi kiểm tra số phím được nhấn là xong.
    Code:
    #include <reg51.h>
    unsigned char led7_data[10] = 
    {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
    unsigned char dem_0,luu_port,bien,bien_tam; 
    void main ()
    {
    P0 = 0x00; 
    P2 = 0x00; 
    P1 = 0x00; 
    while(1) 
    { 
    P3=0xff; //input
    luu_port=P3;//doc port sw
    dem_0 =0;
    for(bien=0;bien<8;bien++){
    bien_tam =luu_port;
    if((bien_tam&0x01)==1){}else{dem_0++;}//kiem tra so phim duoc nhan
    luu_port>>=1;}
    P0=led7_data[dem_0]; //xuat hien thi
    }}
    |

    Comment


    • #3
      Nguyên văn bởi tdm Xem bài viết
      đơn giản em đoc giá trị PORT SW về rồi kiểm tra số phím được nhấn là xong.
      Code:
      #include <reg51.h>
      unsigned char led7_data[10] = 
      {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
      unsigned char dem_0,luu_port,bien,bien_tam; 
      void main ()
      {
      P0 = 0x00; 
      P2 = 0x00; 
      P1 = 0x00; 
      while(1) 
      { 
      P3=0xff; //input
      luu_port=P3;//doc port sw
      dem_0 =0;
      for(bien=0;bien<8;bien++){
      bien_tam =luu_port;
      if((bien_tam&0x01)==1){}else{dem_0++;}//kiem tra so phim duoc nhan
      luu_port>>=1;}
      P0=led7_data[dem_0]; //xuat hien thi
      }}
      cam ơn a nhá. code như vậy là xong luôn đó hả ?? hay thế !

      Comment


      • #4
        Nguyên văn bởi tdm Xem bài viết
        đơn giản em đoc giá trị PORT SW về rồi kiểm tra số phím được nhấn là xong.
        Code:
        #include <reg51.h>
        unsigned char led7_data[10] = 
        {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
        unsigned char dem_0,luu_port,bien,bien_tam; 
        void main ()
        {
        P0 = 0x00; 
        P2 = 0x00; 
        P1 = 0x00; 
        while(1) 
        { 
        P3=0xff; //input
        luu_port=P3;//doc port sw
        dem_0 =0;
        for(bien=0;bien<8;bien++){
        bien_tam =luu_port;
        if((bien_tam&0x01)==1){}else{dem_0++;}//kiem tra so phim duoc nhan
        luu_port>>=1;}
        P0=led7_data[dem_0]; //xuat hien thi
        }}
        cam ơn a nhá. code như vậy là xong luôn đó hả ?? hay thế !

        Comment

        Về tác giả

        Collapse

        Sao_Mộc Tìm hiểu thêm về Sao_Mộc

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

        Collapse

        Đang tải...
        X