• Điều khiển 8 led sáng Từ led 1 đến Led 8 VXL 8051

QC

Điều khiển 8 led sáng Từ led 1 đến Led 8 VXL 8051

 YÊU CẦU BÀI TOÁN :

- Em Hãy Viết Chương trình 8 led Sáng chạy qua chạy lại ( Led 1- Led 8 rồi từ Led 8->Led 1 ). với Chu kì 1 giây.

HƯỚNG DẪN GIẢI QUYẾT VẤN ĐỀ :

PHẦN I : PHẦN CỨNG

BƯỚC 1  :  Vẽ Mạch Protues.


BƯỚC 2 :  Chuẩn bị phần cứng như sau.

Các bạn Làm y chan như  3.2  Điều khiển 8 led Chớp tắt  
Các bạn nhớ dùng P2 nhé !

DOWNLOAD PROTUES Tại Đây:

PHẦN II : PHẦN MỀN.

   BƯỚC 1: CÁC BẠN TẠO PROJECT KEIL C V.4 TƯƠNG TỰ. 

     ( Xem lại 3.1 Blink led )

   BƯỚC 2:  CODE NHƯ SAU.

Code chương trình
#include<reg51.h> 
unsigned char x,y;
int i;
 void delay_ms(unsigned int t) // khi ban su dung thach anh 12 mhz
{
unsigned int x,y;
for(x=0;x<t;x++)
{
for(y=0;y<=120;y++);
}
}
// chuong trinh chính
void main()
{
  while(1) //never ending loop    
  {
  x=00000001;
  for(i=0;i<8;i++)
    {
  P0=x;
  delay_ms(200);
  x=x<<1;  
    }
  P0=0x00;
  y=10000000; // ví dụ bạn muốn sáng kiểu 01000000 thì y=01000000; nó không hiểu nha vì số 0 dđứng đầu nên nó hiểu là y=1000 000 chỉ có 7 số là sai, bạn chỉnh lại là y=0x80 ( 0b0100 000 )
    for(i=0;i<8;i++)
    {
  P0=y;
  delay_ms(200);
  y=y>>1;  
    }
  P0=0x00;

  }
}


GIẢI THÍCH CHƯƠNG TRÌNH:

Hàm delay_ms();

void delay_ms(unsigned int t) // khi ban su dung thach anh 12 mhz
{
unsigned int x,y;
for(x=0;x<t;x++)
   {
for(y=0;y<=120;y++);
   }

}

Đây là  1 chương trình con. Cách sử dụng ta chỉ cần gọi delay_ms(1000); có nghĩa là delay 1 s.
delay_ms(200); có nghĩa là delay 0.2 s.
delay_ms(3000); có nghĩa là delay 0.3 s.
PHẦN III : VIẾT CHƯƠNG TRÌNH KEILC V.4 và Biên dịch.


DOWNLOAD FILE KEILC TẠI ĐÂY: 

Kết quả mô phỏng Protues :




Kết quả mô phỏng Thực tế :




Giải Toán 10 Kết nối tri thức Bài tập cuối chương III

Giải Toán 10 Kết nối tri thức Bài tập cuối chương III 1. Bài 3.12 trang 44 Toán 10 Tập 1 - Kết nối tri thức 2. Bài 3.13 trang 44 Toán 10 Tập...