Chào bạn. Một thời gian dài không viết lách nên hôm nay viết một bài chia sẻ với các bạn về điều khiển led cơ bản các kiểu. Mình viết trên chip 8051 và trên trình biên dịch Keil C.
Code lập trình C cơ bản cho led đơn,một số hiệu ứng như nhấp nháy,sáng dần,sáng đuổi,sáng chẵn lẻ,sáng dồn.các bạn tham khảo code rất dễ hiểu,qua đó các bạn có thể tự viết cho mình 1 chương trình 32 led rồi đó,kết hợp các hiệu ứng và port thì rất hay,bạn dùng phần mềm biên dịch keil C tại đây
Keil C 4 - Phần mềm biên dịch C
[success title="CODE MẪU" icon="check-circle"]
/**** Ket noi VDK voi P2,P3 tich cuc am 0 sang 1 tat******/
/*****Designer By Duycoi***************************/
/*****May chuong trinh nay cac ban co the phat trien them,ket hop chung voi nhau se tao nen code led trai tim bang C do,chuc cac ban thanh cong,moi chi tiet lien he0986xxxx*/
#include //khai bao Chip
#include
unsigned int i,j;
/*****chuong trinh tao thoi gian tre******/
void delay(long time)
{
while(time--);
}
/****Chuong trinh nhap nhay led******/
void nhapnhay(void)
{
for(i=1;i<8;i++)
{
P2=P3=0xff;//cac led tat het
delay(25000);//delay1s
P2=P3=0x00;//cac led sang het
delay(25000);//delay1s
}
}
/****Chuong trinh sang dan led******/
void sangdan(void)
{
unsigned char M[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,
0x80,0x00};//ma tuong duong 11111110,11111100,11111000,11110000,
11100000,11000000,10000000,00000000
P2=P3=0xff;// tat het cac led
for(i=0;i<8;i++)
{
P2=M[i];//lay gia tri trong mang M
P3=M[i];
delay(25000);
}
}
/****Chuong trinh sang duoi led******/
void sangduoi(void)
{
unsigned char M[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//ma led 11111110,11111101,11111011,11110111,
11101111,11011111,10111111,01111111
P2=P3=0xff;
for(i=0;i<8;i++)
{
P2=M[i];
P3=M[i];
delay(25000);
}
}
/****Chuong trinh sang chan le led******/
void chanle(void)
{
for(i=1;i<8;i++)
{
P0=P1=P2=P3=0xAA;//1010
delay(25000);
P0=P1=P2=P3=0x55;//0101
delay(25000);
}
}
/****Chuong trinh sang don led******/
void sangdon(void)
{
unsigned char M[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f,
0x3e,0x3d,0x3b,0x37,0x2f,0x1f,
0x1e,0x1d,0x1b,0x17,0x0f,
0x0e,0x0d,0x0b,0x07,
0x06,0x05,0x03,
0x02,0x01};
P0=P1=P2=P3=0xff;
for(i=1;i<8;i++)
{
P2=M[i];
P3=M[i];
delay(25000);
}
}
void main(void)//bat dau chuong trinh chinh
{
while(1)
{
nhapnhay();//ham ctrinh con nhap nhay
sangdan();//ham chuong trinh con sang dan
sangduoi();//ham chuong trinh con sang duoi
chanle();//ham chuong trinh con sang chan le
sangdon();//ham chuong trinh con sang don
}
} [/success]
Đăng nhận xét