Chat
Danh mục
Lập trình 74HC595 điều khiển led đơn

Lập trình 74HC595 điều khiển led đơn

Số lượng:
Thêm vào giỏ
Lập trình 74HC595 điều khiển led đơn đã được thêm vào giỏ hàng

Hôm nay chip hướng dẫn và chia sẻ các bạn code c và file lập trình IC ghi dịch 74HC595 điều khiển 8 led đơn..rất đơn giản nhiều hiệu ứng led  chạy,led sáng dần,sáng nhấp nháy,sáng chẵn lẻ.còn sáng dồn chip chưa thực hiện được..và còn lập trình 32led sáng dần chip cũng chưa làm được..bạn nào lập trình được thì share nhé...cùng nhau chia sẻ,cùng nhau hiểu biết.

CODE LẬP TRÌNH



// LAP TRINH 74HC595 DIEU KHIEN 8 LED DON
//****HTTP://CHIPKOOL.TK**********/
#include
#include
#include
// khao bao cac chan 74hc595 de lap trinh
sbit dulieu = P2^1;  // chan du lieu
sbit xung   = P2^0;  // chan xung dich tung bit
sbit chot   = P2^2;  // chan chot du lieu
unsigned int n,m,k;
//****Chuong trinh tao tre**********/
void delay(unsigned char ms )
   {
   int i,j;
   for(i=0;i
     {
for(j=0;j<125;j++);
}
   }

   // chuong trinh lap trinh cho 74hc595 chuyen noi tiep sang song song
void convert(unsigned char x)
     { // do chuc nang ghi dich 8 bit vao noi tiep ra song song
   // do do vong for duoi se cho dich 8 lan de du 8 chan dau ra cho vdk
 int i,tam;
 for(i=0;i<8;i++) // 8 lan dich de co 8 bit
    {
tam=x;
tam=tam&0x80; // lay ra bit dau tien la bit D7 10000000 D7 ------D0
if(tam==0x80) dulieu=1; //so sanh neu bang 1 nghia la dich het tu D0 den D7
else dulieu=0; // nguoc lai du lieu se bang 0 va tiep tuc dich phai
x=x<<1; // dich bit nhu sau
xung=0; // moi lan dich se can mot xung cho phep moi dich dc (tich cuc muc duong)
xung=1;
}
//chot=0;   // khi dich du 8 biut thi chot du lieu va xuat ra output
//chot=1;

}

//********************Hieu ung sang duoi******************************************/
void sangduoi()
{
int j;//00000001;00000010;00000100;00001000;000100000;00100000;01000000;10000000
 unsigned char mang[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
 for(j=0;j<8;j++)
    {
convert(mang[j]);
 chot=0;   // khi dich du 8 biut thi chot du lieu va xuat ra output
 chot=1;
delay(1000);

}
}
//*******************Hieu ung sang dan******************************/
void sangdan()
{
int j;
 unsigned char mang[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
 for(j=0;j<8;j++)
    {
convert(mang[j]);
 chot=0;   // khi dich du 8 biut thi chot du lieu va xuat ra output
chot=1;
delay(1000);

}

}


//*******************hieu ung chop tat led*************
void choptat()
{
int j;
 unsigned char mang[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};
 for(j=0;j<8;j++)
    {
convert(mang[j]);
chot=0;   // khi dich du 8 biut thi chot du lieu va xuat ra output
 chot=1;
delay(1000);

}
}
//*****************hieu ung sang chan le****************//
void chanle()
{
int j;
 unsigned char mang[]={0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa};
 for(j=0;j<8;j++)
    {
convert(mang[j]);
chot=0;   // khi dich du 8 biut thi chot du lieu va xuat ra output
 chot=1;
delay(1000);
}
}


//*************chuong trinh chinh***************
 void main(void)
      {
 sangdan();
 chanle();
 choptat();
 sangduoi();


 }


File lập trình keilc 4+ mô phỏng protues 7.8
(pass:chipkool.tk)

Blog Điện Tử | Tin Học