• Led sáng dần 2 bên vào rồi tắt dần từ bên trong ra 8051

QC

Led sáng dần 2 bên vào rồi tắt dần từ bên trong ra 8051

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

- Em Hãy Viết Chương trình 8 Led sáng dần 2 bên vào  rồi tắt dần từ bên trong ra?

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.



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,c;
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    
  {
a=0x80; // CO NGHIA LA  a =0b1000 0000
b=0x01; // co nghia la  b =0b0000 0001
 
 // chay vao
for(i=0;i<4;i++)
  c=a+b; //  0b1000 0000 +   0b0000 0001  = 0b1000 0001  2 led dau va cuoi sang.
  P2=c; //  c=a+b = 0b1000 0001 
  delay_ms(200);
  a=(a>>1)+0x80 ;
  b=(b<<1)+0x01 ;
}
    // chay ra;
 a=0xE0; // 0b1110 0000;
 b=0x07; // 0b0000 0111;
 c=a+b;   // c=  0b1110 0000 +  0b0000 0111 =0b1111100111;
   for(i=0;i<4;i++)
  c=a+b; //    0b0001 0000 +  0b0000 1000 = 0b1000 0001 
  P2=c; //  c=a+b = 0b1000 0001 
  delay_ms(200);
  a=a<<1 ;
  b=b>>1 ;
}
   P2=0X00; // 0b0000 0000
  }
}


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Ế .






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/...