[KIT89S52-V1]Điều khiển LED đơn thông qua PC

Thảo luận trong 'KIT AT89S52 V1' bắt đầu bởi an.dxuan, 9 Tháng chín 2014.

Users Viewing Thread (Users: 0, Guests: 0)

Lượt xem: 1,064

  1. an.dxuan

    an.dxuan Admin

    Chào các bạn !;)
    Hôm nay mình xin hướng dẫn các bạn dùng UART trên KIT 89S52 để giao tiếp với PC .Dùng PC điều khiển LED đơn trên KIT
    - Mô tả đề bài : Dùng PC điều khiển LED .
    Gửi từ PC xuống '0' : Tất cả LED đơn đều tắt
    Gửi từ PC xuống '1' : Mình LED 1 sáng
    Gửi từ PC xuống '2' : Mình LED 2 sáng
    Gửi từ PC xuống '3' : Mình LED 3 sáng
    Gửi từ PC xuống '4' : Mình LED 4 sáng
    - Sơ đồ phần cứng
    Khối RS232
    [​IMG]

    Khối LED đơn
    [​IMG]
    -Thực hiện chương trình
    +Vào chương trình chúng ta khởi tạo cho UART của AT89S52 .Khởi tạo chế độ hoạt động ,tốc độ Baurate
    + Tắt toàn bộ LED đơn
    + Gửi lên PC chuỗi kí tự "BANLINHKIEN.VN"
    + Trong vòng lặp while mình luôn kiểm tra xem có tín hiệu từ PC gửi xuống không
    Nếu có
    Kiểm tra xem tín hiệu PC gửi xuống là kí tự gì
    Nếu là '0' : Tắt toàn bộ LED bằng cách kéo các chân I/O tương ứng lên 1
    Nếu là '1' ,'2','3',hoặc '4' : Bật LED tương ứng và tắt các LED còn lại bằng cách kéo chân I/O của LED cần bật xuống 0 và kéo các chân I/O của các led còn lại lên 1
    Code
    Mã:
    uart_init();
        LED_ONE = LED_TWO = LED_THREE = LED_FOUR = 1;
        Uart_Puts("BANLINHKIEN.VN");
        while(1)
        {
          key=Uart_Getchar();
          if(key)
          {
              switch(key)
            {
                        case '0':
                        {
                                LED_ONE = LED_TWO = LED_THREE = LED_FOUR = 1;
                            break;
                        }
                        case '1':
                        {
                                LED_ONE = 0;
                              LED_TWO = LED_THREE = LED_FOUR = 1;
                            break;
                        }
                        case '2':
                        {
                                LED_TWO = 0;
                              LED_ONE = LED_THREE = LED_FOUR = 1;
                            break;
                        }
                        case '3':
                        {
                              LED_THREE = 0;
                              LED_ONE = LED_TWO = LED_FOUR = 1;
                            break;
                        }
                        case '4':
                        {
                                LED_FOUR = 0;
                              LED_ONE = LED_TWO = LED_THREE = 1;
                            break;
                        }
                    }                   
          }
        }
    Chúc các bạn thành công !

    Các file đính kèm:

    • UART.rar
      Kích thước:
      76.1 KB
      Đọc:
      9

Chia sẻ trang này

Lên trên