HVCT_Khoa Điện - Điện tử
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Keywords

Latest topics
» Trang bị điện
tìm hiểu về 8051 và 74595 EmptyWed Sep 24, 2014 8:46 am by vinagreensun

» Chia sẻ source code mạch đếm 0-99 sử dụng 8051 và LED hồng ngoại
tìm hiểu về 8051 và 74595 EmptyMon Mar 24, 2014 2:07 pm by xuantruong1911

» mình đang làm đồ án 1 cần làm mạch khó số điện tử dùng ic số và phải có thể thay đổi password
tìm hiểu về 8051 và 74595 EmptyFri Mar 21, 2014 8:01 pm by saobang

» Chế tạo máy dò kim loại help ?
tìm hiểu về 8051 và 74595 EmptyFri Nov 29, 2013 11:17 am by Thanhtra conan

» mấy bro vào giup em với
tìm hiểu về 8051 và 74595 EmptyWed Nov 27, 2013 9:01 pm by luongthanhvp

» giáo trình plc mitsubishi căn bản và nâng cao
tìm hiểu về 8051 và 74595 EmptyTue Apr 30, 2013 5:55 pm by Admin

» hoc led chay chu
tìm hiểu về 8051 và 74595 EmptyThu Apr 18, 2013 8:05 pm by vuphong

» QUÉT PHÍM MA TRẬN 4X4 HIỂN THỊ RA LED 7 ĐOẠN
tìm hiểu về 8051 và 74595 EmptyThu Apr 18, 2013 7:59 pm by thanhxuan

» cách vẽ mạch in bằng ocard 1 cách đơn giản?
tìm hiểu về 8051 và 74595 EmptyThu Apr 18, 2013 1:09 pm by Admin

May 2024
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
2728293031  

Calendar Calendar


tìm hiểu về 8051 và 74595

Go down

tìm hiểu về 8051 và 74595 Empty tìm hiểu về 8051 và 74595

Bài gửi  khanhhuy4390 Fri Feb 01, 2013 10:01 pm

chuong trình này điều khiển led đơn
ở đây mình chỉ mới dk có 24 led thôi
chỉ có kiểu led rượt đuổi
không biết làm mấy kiểu khác . giúp mình tí làm thế nào để chạy dc nhiều kiểu
#include"regx52.h"
sbit DATA = P2^1;
sbit SCK = P2^0;
sbit SCL = P2^2;

unsigned char i,j;// bien dem so led
void delay(long times)
{
while(times--);
}


//--------------------------------------------------------------------------------------------------
void dich(void) // dich du lieu ra 595
{
SCK=0;
SCK=1;
}

//--------------------------------------------------------------------------------------------------

void chot(void) // chot du lieu ra 595
{
SCL=0;
SCL=1;
}

//--------------------------------------------------------------------------------------------------

// ctc chon led sang o vi tri i=num ( muon nhieu led sang cung thi or them (i==num||i=...||...)
void chon_led(unsigned char num)
{
for(i=0;i<24;i++)
{
if(i==num) {DATA=1;} // =1 led sang
else(DATA=0); // =0 led tat
dich();
}
chot();
}


//--------------------------------------------------------------------------------------------------
// ctc cho led sang theo thu tu tu 0-15
void sang_lan_luot_1(void)
{
for(j=0;j<24;j++)
{
chon_led(j);
delay(5000); // tu viet ctc delay nhe, he so tuy chinh phu hop
};
}
void sang_lan_luot_2(void)
{
for(j=24;j>0;j--)
{

chon_led(j);
delay(5000); // tu viet ctc delay nhe, he so tuy chinh phu hop
};
}


//--------------------------------- Chuong Trinh Chinh -----------------------------------------------
void main()
{
while(1)
{
sang_lan_luot_1();
sang_lan_luot_2();

};
}
khanhhuy4390
khanhhuy4390
Moderators tập sự

Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 34
Đến từ : BINH DUONG

Về Đầu Trang Go down

tìm hiểu về 8051 và 74595 Empty Re: tìm hiểu về 8051 và 74595

Bài gửi  khanhhuy4390 Sat Feb 02, 2013 9:23 pm

doan code nay con nhieu cho chua hieu xin moi nguoi giup do

#include"regx52.h"
sbit DATA = P2^1;
sbit SCK = P2^0;
sbit SCL = P2^2;

unsigned int n,m,k;
unsigned char i,j;// bien dem so led
void delay(unsigned char ms )
{
int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<800;j++);

}
}
//--------------------------------------------------------------------------------------------------
void dich(void) // dich du lieu ra 595
{
SCK=0;
SCK=1;
}

//--------------------------------------------------------------------------------------------------

void chot(void) // SCL du lieu ra 595
{
SCL=0;
SCL=1;
}

//--------------------------------------------------------------------------------------------------

// ctc chon led sang o vi tri i=num ( muon nhieu led sang cung thi or them (i==num||i=...||...)
void chon_led(unsigned char num)
{
for(i=0;i<32;i++)
{
if(i==num) {DATA=1;} // =1 led sang
else(DATA=0); // =0 led tat
dich();
}
chot();
}


//--------------------------------------------------------------------------------------------------
// ctc cho led sang theo thu tu tu 0-32
void sang_lan_luot_1(void)
{
for(j=0;j<32;j++)
{
chon_led(j);
delay(10);
};
}
void sang_lan_luot_2(void)
{
for(j=32;j>0;j--)
{

chon_led(j);
delay(10);
};
}

void ctdich(unsigned char x) // chua hieu lam giai thich gium
{
int i,tam;
for(i=0;i<8;i++)
{
tam=x;
tam=tam&0x80;
if(tam==0x80) DATA=1;
else DATA=0;
x=x<<1;
SCK=0;
SCK=1;
}
}
void dich3(unsigned char a,b,c,d) //dieu khien 4 ic 74595
{
ctdich(d);
ctdich(c);
ctdich(b);
ctdich(a);
}
void tatdan()
{
int j;
unsigned char code led1[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; //tatdan
unsigned char code led2[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; //sang dan
unsigned char code led3[]={0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xfe}; // 2led sang duoi
unsigned char code led4[]={0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xfe};
for(j=0;j<8;j++)
{
dich3(led1[j],0xff,0xff,0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<8;j++)
{
dich3(0,led1[j],0xff,0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<8;j++)
{
dich3(0,0,led1[j],0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<8;j++)
{
dich3(0,0,0,led1[j]);
SCL=0;
SCL=1;
delay(10);
}
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
for(j=0;j<8;j++)
{
dich3(0,0,0,led2[j]);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<8;j++)
{
dich3(0,0,led2[j],0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<8;j++)
{
dich3(0,led2[j],0xff,0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<8;j++)
{
dich3(led2[j],0xff,0xff,0xff);
SCL=0;
SCL=1;
delay(10);
}

//ddddddddddddddddddddddd
for(j=0;j<8;j++)
{
dich3(0xff,0xff,0xff,led3[j]);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<7;j++)
{
dich3(0xff,0xff,led4[j],0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<7;j++)
{
dich3(0xff,led4[j],0xff,0xff);
SCL=0;
SCL=1;
delay(10);
}
for(j=0;j<7;j++)
{
dich3(led4[j],0xff,0xff,0xff);
SCL=0;
SCL=1;
delay(10);
}
}
//--------------------------------- Chuong Trinh Chinh -----------------------------------------------
void main()
{
while(1)
{
sang_lan_luot_1();
sang_lan_luot_2();
tatdan();
};
}
khanhhuy4390
khanhhuy4390
Moderators tập sự

Tổng số bài gửi : 37
Join date : 05/11/2012
Age : 34
Đến từ : BINH DUONG

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết