• Điều khiển 8 Led Sáng dần và Tắt dần 8051

QC

Điều khiển 8 Led Sáng dần và Tắt dần 8051

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

- Em Hãy Viết Chương trình 8 led Sáng dần rồi tắt dần với chu kì 1 s.

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 a,b;
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    
  {

  // sang dan
   a=0x01; // X =0b0000 0001 ;
   for(i=0;i<8;i++)
   {
   P2=a;
   delay_ms(200);
   a=(a<<1)+ 0x01; // dich lui 1 bit sau do moi cong them oxo1 dich: 0b0000 0010 + 0b0000 0001 = 0b0000 0011 ...
   }
    // tat dan
  b=0x7F; // 0b0111 1111; 7 led sang
  for( i=0;i<8;i++)
  {
  P2=b;
  delay_ms(200);
  b=b>>1;  // sau vong for dau tien no con: 0b0111 1111, sau vong for thu 2 0b0011 1111, ....
  }
 
  }
}


Các bạn coppy nguyên code rồi Pass vào keil C là chạy ok.

KẾT QUẢ MÔ PHỎNG :



KẾT QUẢ THỰC TẾ ( MÌNH CHỈNH 50 ms cho nhanh nhé ).



Nap Code vào PY32F003 dùng Stlink

 Nap Code vào PY32F003 dùng Stlink Bước 1: Cài đặt  KeilC v5.39 theo link sau ( chú ý 5.39 keil c mới nạp ok). https://edge07.111.ir.cdn.ir/...