Tải bản đầy đủ (.pdf) (19 trang)

báo cáo môn điện tử số bài tập lớn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (592.82 KB, 19 trang )

BÁO CÁO SẢN PHẨM

Đề tài: Mô hình Led trái tim bằng tăm tre

Giảng viên hướng dẫn: Cao Văn Nam
Môn học: Thực hành tổng hợp kỹ thuật điện tử
Sinh viên thực hiện:
Lê Văn Bảo
Võ Thị Hoàng Anh
Đặng Thị Hồng Như
Lớp: ĐHVT3A
Khoa: KTVT

1


Mục đích chọn đề tài
 Về giá trị tinh thần:
Mô hình led trái tim là một món quà ý nghĩa dành tặng cho người thân, bạn
bè, đặc biệt là người yêu.
Hơn nữa đây là một mạch đơn giản, dễ làm, bất kì ai cũng có thể tự tay làm
để dành tặng cho những người mình yêu thương.
 Về giá trị vật chất:
Mô hình trái tim được nhiều bạn sinh viên chọn làm sản phẩm kinh doanh
vì nó dễ thực hiệnCác linh kiện sử dụng trong mạch cũng khá rẻ và dễ mua nên
tính lợi nhuận của sản phẩm này rất cao.
Có nhiều cách sáng tạo để làm ra một sản phẩm với nhiều mẫu mã khác nhau
khiến nhiều người yêu thích có thể mua làm quà tặng hoặc có thể trang trí trong
nhà.
 Qua các mục đích nói trên cho thấy mô hình led trái tim là một mô hình phù
hợp để ứng dụng trong cuộc sống hằng ngày của chúng ta.



Nội dung bài báo cáo
I. Mô phỏng mạch trên Proteus:
- Vào thư viện lấy các linh kiện: vđk AT89c51, 32 led màu vàng (dễ quan
sát), 32 điện trở, 1 điện trở thanh (Respack).
- Thực nối các linh kiện: các led được nối chung chân âm với nhau, các
chân dương nối vào các chân của vi điều khiển, với cách nối này thì xuất
mức 1 ra chân 8501 là LED sáng và mức 0 ra chân của 8501 là LED tắt.
Dựa vào điểm này chúng ta có thể điều khiển 32 LED sáng tắt theo ý
muốn.
Sau khi nối các linh kiện với nhau ta được một mạch hoàn chỉnh như hình
dưới.

2


II. Viết code cho vđk:
Code viết theo ngôn ngữ C, và trình biên dịch trên phần mền KeilC.
#include <REGX51.H>
//---------// Hàm Delay ======= //
void delay(int time)
{
while(time--);
}
//---------//=======================//
// HIEU UNG NHAY LED //
void nhapnhay() // Hieu Ung Tat Ca Led Nhap Nhay Dong Thoi //
{
P0 = P1 = P2 = P3 = 0xff; delay(20000);
P0 = P1 = P2 = P3 = 0; delay(20000);

P0 = P1 = P2 = P3 = 0xff; delay(20000);
P0 = P1 = P2 = P3 = 0;
delay(20000);
P0 = P1 = P2 = P3 = 0xff; delay(20000);
3


P0 = P1 = P2 = P3 = 0;
delay(20000);
}
//-----------------void nhapnhayxenke() //Hieu Ung Tat Ca Led Nhap Nhay Xen Ke Nhau //
{
P0 = P1 = P2 = P3 = 0xaa;
delay(20000);
P0 = P1 = P2 = P3 = 0x55;
delay(20000);
P0 = P1 = P2 = P3 = 0xaa;
delay(20000);
P0 = P1 = P2 = P3 = 0x55;
delay(20000);
P0 = P1 = P2 = P3 = 0xaa;
delay(20000);
P0 = P1 = P2 = P3 = 0x55;
delay(20000);
P0 = P1 = P2 = P3 = 0; delay(20000);
}
//-----------------void nhapnhay_2_LED() // Hieu Ung Nhap Nhay 2 LED Giua Trai Tym //
{ P0_0 = P2_0 = 1; delay(20000); P0_0 = P2_0 = 0; delay(20000);
P0_0 = P2_0 = 1; delay(20000); P0_0 = P2_0 = 0; delay(20000);
P0_0 = P2_0 = 1; delay(20000); P0_0 = P2_0 = 0; delay(20000);

}
//***************//
//=========================//
void sangtraiphai() // HIEU UNG Led sáng tu Trái sang Phai //
{ P0 = P1 = P2 = P3 = 0; delay(500);
P0_0 = P1_0 = P2_0 = P3_0 = 1; delay(4000);
P0_1 = P1_1 = P2_1 = P3_1 = 1; delay(4000);
P0_2 = P1_2 = P2_2 = P3_2 = 1; delay(5000);
P0_3 = P1_3 = P2_3 = P3_3 = 1; delay(5000);
P0_4 = P1_4 = P2_4 = P3_4 = 1; delay(6000);
P0_5 = P1_5 = P2_5 = P3_5 = 1; delay(6000);
P0_6 = P1_6 = P2_6 = P3_6 = 1; delay(7000);
P0_7 = P1_7 = P2_7 = P3_7 = 1; delay(7000);
}
void TAT_sangtraiphai() //TAT HIEU UNG Led sáng tu Trái sang Phai //
{ P0_7 = P1_7 = P2_7 = P3_7 = 0; delay(4000);
P0_6 = P1_6 = P2_6 = P3_6 = 0; delay(4000);
P0_5 = P1_5 = P2_5 = P3_5 = 0; delay(5000);
P0_4 = P1_4 = P2_4 = P3_4 = 0; delay(5000);
P0_3 = P1_3 = P2_3 = P3_3 = 0; delay(6000);
4


P0_2 = P1_2 = P2_2 = P3_2 = 0; delay(6000);
P0_1 = P1_1 = P2_1 = P3_1 = 0; delay(7000);
P0_0 = P1_0 = P2_0 = P3_0 = 0; delay(7000);
}
//-------------------------void sangphaitrai() // HIEU UNG Led sáng tu Phai sang Trái
{ P0_7 = P1_7 = P2_7 = P3_7 = 1; delay(4000);
P0_6 = P1_6 = P2_6 = P3_6 = 1; delay(4000);

P0_5 = P1_5 = P2_5 = P3_5 = 1; delay(5000);
P0_4 = P1_4 = P2_4 = P3_4 = 1; delay(5000);
P0_3 = P1_3 = P2_3 = P3_3 = 1; delay(6000);
P0_2 = P1_2 = P2_2 = P3_2 = 1; delay(6000);
P0_1 = P1_1 = P2_1 = P3_1 = 1; delay(7000);
P0_0 = P1_0 = P2_0 = P3_0 = 1; delay(7000);
}
void TAT_sangphaitrai() //TAT HIEU UNG Led sáng tu Phai sang Trái
{ P0_0 = P1_0 = P2_0 = P3_0 = 0; delay(4000);
P0_1 = P1_1 = P2_1 = P3_1 = 0; delay(4000);
P0_2 = P1_2 = P2_2 = P3_2 = 0; delay(5000);
P0_3 = P1_3 = P2_3 = P3_3 = 0; delay(5000);
P0_4 = P1_4 = P2_4 = P3_4 = 0; delay(6000);
P0_5 = P1_5 = P2_5 = P3_5 = 0; delay(6000);
P0_6 = P1_6 = P2_6 = P3_6 = 0; delay(7000);
P0_7 = P1_7 = P2_7 = P3_7 = 0; delay(7000);
}
//**************//
//======================//
void sangtungledtraiphai()// HIEU UNG sáng tung Led tu Trái sang Phai
{ unsigned char mang[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
int j;
for(j=0;j<8;j++)
{ P0 = P1 = P2 = P3 = mang[j];
delay(5000);
}
}
//---------------------------5



void sangtungledphaitrai()// HIEU UNG sáng tung Led tu Phai sang Trái
{ unsigned char mang[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
int i;
for(i=0;i<8;i++)
{ P0 = P1 = P2 = P3 = mang[i];
delay(5000);
}
}
//*************//
//===================//
void ngoaivaogiua() // HIEU UNG TUNG LED SANG TU NGOAI VAO
GIUA //
{ unsigned char mang[]={0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08};
int n;
for(n=0;n<8;n++)
{ P0 = P1 = P2 = P3 = mang[n];
delay(20000);
}
}
//--------------void giuarangoai() // HIEU UNG TUNG LED SANG TU GIUA RA NGOAI//
{ unsigned char mang[]={0x08,0x10,0x04,0x20,0x02,0x40,0x01,0x80};
int m;
for(m=0;m<8;m++)
{ P0 = P1 = P2 = P3 = mang[m];
delay(20000);
}
}
//************\\
////=================////
// Hieu Ung Ve Trai Tym

void sangDANthuan()// Ve Trai Tym Thuan Tu Phai sang Trai
{ P0_0 = 0; delay(5000);
P0_0 = 1; delay(5000); P0_1 = 1; delay(5000);
P0_2 = 1; delay(5000); P0_3 = 1; delay(5000);
P0_4 = 1; delay(5000); P0_5 = 1; delay(5000);
P0_6 = 1; delay(5000); P0_7 = 1; delay(5000);
6


P1_0 = 1;
P1_2 = 1;
P1_4 = 1;
P1_6 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_1 = 1;
P1_3 = 1;
P1_5 = 1;
P1_7 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P2_0 = 1;

P2_2 = 1;
P2_4 = 1;
P2_6 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P2_1 = 1;
P2_3 = 1;
P2_5 = 1;
P2_7 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P3_0 = 1; delay(5000); P3_1 = 1; delay(5000);
P3_2 = 1; delay(5000); P3_3 = 1; delay(5000);
P3_4 = 1; delay(5000); P3_5 = 1; delay(5000);
P3_6 = 1; delay(5000); P3_7 = 1; delay(20000);
}
//---------------------void Tat_sangDANthuan() // Tat Ve Trai Tym Thuan Tu Phai sang Trai //
{ P3_7 = 0; delay(5000); P3_6 = 0; delay(5000);
P3_5 = 0; delay(5000); P3_4 = 0; delay(5000);
P3_3 = 0; delay(5000); P3_2 = 0; delay(5000);
P3_1 = 0; delay(5000); P3_0 = 0; delay(5000);
P2_7 = 0;

P2_5 = 0;
P2_3 = 0;
P2_1 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P2_6 = 0;
P2_4 = 0;
P2_2 = 0;
P2_0 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_7 = 0;
P1_5 = 0;
P1_3 = 0;
P1_1 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_6 = 0;

P1_4 = 0;
P1_2 = 0;
P1_0 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P0_7 = 0;
P0_5 = 0;
P0_3 = 0;
P0_1 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P0_6 = 0;
P0_4 = 0;
P0_2 = 0;
P0_0 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(7000);
7



}
//----------------------void sangDANnghich() // Ve Trai Tym Nghich Tu Trai sang Phai //
{ P0_0 = 1; delay(5000);
P3_7 = 1; delay(5000); P3_6 = 1; delay(5000);
P3_5 = 1; delay(5000); P3_4 = 1; delay(5000);
P3_3 = 1; delay(5000); P3_2 = 1; delay(5000);
P3_1 = 1; delay(5000); P3_0 = 1; delay(5000);
P2_7 = 1;
P2_5 = 1;
P2_3 = 1;
P2_1 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P2_6 = 1;
P2_4 = 1;
P2_2 = 1;
P2_0 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_7 = 1;
P1_5 = 1;

P1_3 = 1;
P1_1 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_6 = 1;
P1_4 = 1;
P1_2 = 1;
P1_0 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P0_7 = 1; delay(5000); P0_6 = 1; delay(5000);
P0_5 = 1; delay(5000); P0_4 = 1; delay(5000);
P0_3 = 1; delay(5000); P0_2 = 1; delay(5000);
P0_1 = 1; delay(5000); P0_0 = 1; delay(20000);
}
//-------------void Tat_sangDANnghich() // Tat Ve Trai Tym Nghich Tu Trai sang Phai //
{ P0_1 = 0; delay(5000); P0_2 = 0; delay(5000);
P0_3 = 0; delay(5000); P0_4 = 0; delay(5000);
P0_5 = 0; delay(5000); P0_6 = 0; delay(5000);
P0_7 = 0; delay(5000);
P1_0 = 0;
P1_2 = 0;

P1_4 = 0;
P1_6 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_1 = 0;
P1_3 = 0;
P1_5 = 0;
P1_7 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P2_0 = 0; delay(5000); P2_1 = 0; delay(5000);
8


P2_2 = 0; delay(5000); P2_3 = 0; delay(5000);
P2_4 = 0; delay(5000); P2_5 = 0; delay(5000);
P2_6 = 0; delay(5000); P2_7 = 0; delay(5000);
P3_0 = 0; delay(5000); P3_1 = 0; delay(5000);
P3_2 = 0; delay(5000); P3_3 = 0; delay(5000);
P3_4 = 0; delay(5000); P3_5 = 0; delay(5000);
P3_6 = 0; delay(5000); P3_7 = 0; delay(5000);
P0_0 = 0; delay(20000);

}
//-------------void VeTraiTym() // Ve Trai Tym Deu Tu Tren Xuong
{ P0_0 = 1; delay(5000); P0_1 = 1; delay(5000);
P0_2 = 1; delay(5000); P0_3 = 1; delay(5000);
P0_4 = 1; delay(5000); P0_5 = 1; delay(5000);
P0_6 = 1; delay(5000); P0_7 = 1; delay(5000);
P1_0 = 1;
P1_2 = 1;
P1_4 = 1;
P1_6 = 1;
P2_0 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(7000);
delay(7000);

P1_1 = 1;
P1_3 = 1;
P1_5 = 1;
P1_7 = 1;

delay(5000);
delay(5000);
delay(7000);
delay(7000);

P3_7 = 1;
P3_5 = 1;

P3_3 = 1;
P3_1 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P3_6 = 1;
P3_4 = 1;
P3_2 = 1;
P3_0 = 1;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P2_7 = 1; delay(5000); P2_6 = 1; delay(5000);
P2_5 = 1; delay(7000); P2_4 = 1; delay(7000);
P2_3 = 1; delay(7000); P2_2 = 1; delay(7000);
P2_1 = 1; delay(20000); P2_0 = 1; delay(30000);
}
//---------------void Ve_Hai_Nua_TraiTym_THUAN() // Ve Hai Nua cua Trai Tym THUAN
{ P0_0 = P2_0 = 1; delay(5000); P0_1 = P2_1 = 1; delay(5000);
P0_2 = P2_2 = 1; delay(5000); P0_3 = P2_3 = 1; delay(5000);
9


P0_4 = P2_4 = 1; delay(5000); P0_5 = P2_5 = 1; delay(5000);

P0_6 = P2_6 = 1; delay(5000); P0_7 = P2_7 = 1; delay(5000);
P1_0 = P3_0 = 1; delay(5000); P1_1 = P3_1 = 1; delay(5000);
P1_2 = P3_2 = 1; delay(5000); P1_3 = P3_3 = 1; delay(5000);
P1_4 = P3_4 = 1; delay(5000); P1_5 = P3_5 = 1; delay(5000);
P1_6 = P3_6 = 1; delay(5000); P1_7 = P3_7 = 1; delay(7000);
}
//--------------------void Tat_Ve_Hai_Nua_TraiTym_THUAN()// tat Hieu Ung Ve Hai Nua cua
Trai Tym THUAN
{
P1_7 = P3_7 = 0; delay(5000); P1_6 = P3_6 = 0; delay(5000);
P1_5 = P3_5 = 0; delay(5000); P1_4 = P3_4 = 0; delay(5000);
P1_3 = P3_3 = 0; delay(5000); P1_2 = P3_2 = 0; delay(5000);
P1_1 = P3_1 = 0; delay(5000); P1_0 = P3_0 = 0; delay(5000);
P0_7 = P2_7 = 0; delay(5000); P0_6 = P2_6 = 0; delay(5000);
P0_5 = P2_5 = 0; delay(5000); P0_4 = P2_4 = 0; delay(5000);
P0_3 = P2_3 = 0; delay(5000); P0_2 = P2_2 = 0; delay(5000);
P0_1 = P2_1 = 0; delay(5000); P0_0 = P2_0 = 0; delay(5000);
}
//-----------------void Ve_Hai_Nua_TraiTym_NGICH()
// Ve Hai Nua cua Trai Tym
NGHICH
{ P0_0 = P2_0 = 1; delay(5000);
P1_7 = P3_7 = 1; delay(5000); P1_6 = P3_6 = 1; delay(5000);
P1_5 = P3_5 = 1; delay(5000); P1_4 = P3_4 = 1; delay(5000);
P1_3 = P3_3 = 1; delay(5000); P1_2 = P3_2 = 1; delay(5000);
P1_1 = P3_1 = 1; delay(5000); P1_0 = P3_0 = 1; delay(5000);
P0_7 = P2_7 = 1;
P0_5 = P2_5 = 1;
P0_3 = P2_3 = 1;
P0_1 = P2_1 = 1;

}

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P0_6 = P2_6 = 1;
P0_4 = P2_4 = 1;
P0_2 = P2_2 = 1;
P0_0 = P2_0 = 1;

10

delay(5000);
delay(5000);
delay(5000);
delay(7000);


void tat_Ve_Hai_Nua_TraiTym_NGICH() //tat Ve Hai Nua cua Trai Tym
NGHICH
{
P0_1 = P2_1 = 0; delay(5000); P0_2 = P2_2 = 0; delay(5000);
P0_3 = P2_3 = 0; delay(5000); P0_4 = P2_4 = 0; delay(5000);
P0_5 = P2_5 = 0; delay(5000); P0_6 = P2_6 = 0; delay(5000);
P0_7 = P2_7 = 0; delay(5000);
P1_0 = P3_0 = 0; delay(5000); P1_1 = P3_1 = 0; delay(5000);
P1_2 = P3_2 = 0; delay(5000); P1_3 = P3_3 = 0; delay(5000);
P1_4 = P3_4 = 0; delay(5000); P1_5 = P3_5 = 0; delay(5000);

P1_6 = P3_6 = 0; delay(5000); P1_7 = P3_7 = 0; delay(5000);
P0_0 = P2_0 = 0; delay(5000);
}
//---************---\\
////==================\\\\
// Hieu Ung LED DicH //
void DichTungLedTuTrenXuong() // Dich Tung Doi LED Don Deu Tu Tren
Xuong
{ char i;
for(i=0;i<17;i++)
{ P0 = 0x01<P1 = 0x01<<(i-8);
P3 = 0x01<<(8-i);
P2 = 0x01<<(16-i);
delay(8000);
}
for(i=0;i<17;i++)
{ P2 = 0x01<P3 = 0x01<<(i-8);
P1 = 0x01<<(8-i);
P0 = 0x01<<(16-i);
delay(8000);
}
}
//------------------------------void SangDichdeu2BenXuong()
// Dich Deu 2 LED Tu Tren Xuong
11


{ P0_0 = P3_7 = 1; delay(5000); P0_1 = P3_6 = 1; delay(5000);

P0_2 = P3_5 = 1; delay(5000); P0_3 = P3_4 = 1; delay(5000);
P0_4 = P3_3 = 1; delay(5000); P0_5 = P3_2 = 1; delay(5000);
P0_6 = P3_1 = 1; delay(5000); P0_7 = P3_0 = 1; delay(5000);
P1_0 = P2_7 = 1; delay(5000); P1_1 = P2_6 = 1; delay(5000);
P1_2 = P2_5 = 1; delay(5000); P1_3 = P2_4 = 1; delay(5000);
P1_4 = P2_3 = 1; delay(5000); P1_5 = P2_2 = 1; delay(7000);
P1_6 = P2_1 = 1; delay(7000); P1_7 = P2_0 = 1; delay(10000);
P2_0 = 1;
delay(20000);
}
//------------------------------void Tat_SangDichdeu2BenXuong() // Tat Dich Deu 2 LED Tu Tren Xuong
{ P1_7 = P2_0 = 0; delay(5000); P1_6 = P2_1 = 0; delay(5000);
P1_5 = P2_2 = 0; delay(5000); P1_4 = P2_3 = 0; delay(5000);
P1_3 = P2_4 = 0; delay(5000); P1_2 = P2_5 = 0; delay(5000);
P1_1 = P2_6 = 0; delay(5000); P1_0 = P2_7 = 0; delay(5000);
P0_7 = P3_0 = 0; delay(5000); P0_6 = P3_1 = 0; delay(5000);
P0_5 = P3_2 = 0; delay(5000); P0_4 = P3_3 = 0; delay(5000);
P0_3 = P3_4 = 0; delay(7000); P0_2 = P3_5 = 0; delay(7000);
P0_1 = P3_6 = 0; delay(7000); P0_0 = P3_7 = 0; delay(7000);
}
//------------------------------void SangDichdanTuDuoiLen() // Dich Deu 2 LED Tu Duoi Len
{ P1_7 = P2_0 = 1;
delay(5000); P1_6 = P2_1 = 1; delay(5000);
P1_5 = P2_2 = 1; delay(5000); P1_4 = P2_3 = 1; delay(5000);
P1_3 = P2_4 = 1; delay(5000); P1_2 = P2_5 = 1; delay(5000);
P1_1 = P2_6 = 1; delay(5000); P1_0 = P2_7 = 1; delay(5000);
P0_7 = P3_0 = 1; delay(5000); P0_6 = P3_1 = 1; delay(5000);
P0_5 = P3_2 = 1; delay(5000); P0_4 = P3_3 = 1; delay(5000);
P0_3 = P3_4 = 1; delay(7000); P0_2 = P3_5 = 1; delay(7000);
P0_1 = P3_6 = 1; delay(7000); P0_0 = P3_7 = 1; delay(7000);

}
//---------------------------void Tat_SangDichdanTuDuoiLen() //Tat Dich Deu 2 LED Tu Duoi Len
12


{ P0 = P1 = P2 = P3 = 0xFF; delay(8000);
P0_0 = P3_7 = 0; delay(5000); P0_1 = P3_6 = 0;
P0_2 = P3_5 = 0; delay(5000); P0_3 = P3_4 = 0;
P0_4 = P3_3 = 0; delay(5000); P0_5 = P3_2 = 0;
P0_6 = P3_1 = 0; delay(5000); P0_7 = P3_0 = 0;

delay(5000);
delay(5000);
delay(5000);
delay(5000);

P1_0 = P2_7 = 0; delay(5000); P1_1 = P2_6 = 0; delay(5000);
P1_2 = P2_5 = 0; delay(5000); P1_3 = P2_4 = 0; delay(5000);
P1_4 = P2_3 = 0; delay(7000); P1_5 = P2_2 = 0; delay(7000);
P1_6 = P2_1 = 0; delay(7000); P1_7 = P2_0 = 0; delay(7000);
}
/////************\\\\\\
////====================///
// Hieu Ung Dich LED //
void dichDAN4led() // Hieu Ung Chay 4 LED roi Tat Dan
{ P0 = 0x0f; delay(7000); P0 = 0x1e; delay(7000); P0 = 0x3c; delay(7000);
P0 = 0xf0; P1 = 0x01; delay(7000); P0 = 0xe0; P1 = 0x03; delay(7000);
P0 = 0xc0; P1 = 0x07; delay(7000); P0 = 0x80; P1 = 0x0F; delay(7000);
P0 = 0x00; P1 = 0x1E; delay(7000); P1 = 0x3c; delay(7000);
P1 = 0xf0; P2 = 0x01; delay(7000); P1 = 0xe0; P2 = 0x03; delay(7000);

P1 = 0xc0; P2 = 0x07; delay(7000); P1 = 0x80; P2 = 0x0F; delay(7000);
P1 = 0x00; P2 = 0x1E; delay(7000); P2 = 0x3c; delay(7000);
P2 = 0xf0; P3 = 0x01; delay(7000); P2 = 0xe0; P3 = 0x03; delay(7000);
P2 = 0xc0; P3 = 0x07; delay(7000); P2 = 0x80; P3 = 0x0F; delay(7000);
P2 = 0x00; P3 = 0x1E; delay(7000); P3 = 0x3c; delay(7000);
P3 = 0xf0; delay(7000); P3 = 0xe0; delay(7000); P3 = 0xc0; delay(7000);
P3 = 0x80; P0 = 0x01; delay(7000);
P3 = 0x00; P0 = 0x01; delay(20000); P0 = 0x00; delay(7000);
}
//-------------void dichDAN_1_nua_4led()
{ P0 = P2 = 0x0f; delay(7000); P0 = P2 = 0x1e; delay(7000);
P0 = P2 = 0x3c; delay(7000); P0 = P2 = 0xf0; P1 = P3 = 0x01; delay(7000);
P0 = P2 = 0xe0; P1 = P3 = 0x03; delay(7000);
13


P0 = P2 = 0xc0;
P0 = P2 = 0x80;
P0 = P2 = 0x00;
P1 = P3 = 0x3c;

P1 = P3 = 0x07; delay(7000);
P1 = P3 = 0x0F; delay(7000);
P1 = P3 = 0x1E; delay(7000);
delay(7000);

P1 = P3 = 0xf0; delay(7000); P1 = P3 = 0xe0; delay(7000);
P1 = P3 = 0xc0; delay(7000); P1 = P3 = 0x80; P2 = P0 = 0x01; delay(7000);
P1 = P3 = 0x00; P2 = P0 = 0x01; delay(7000); P2 = P0 = 0x00; delay(7000);
}

//--------------------------void ChayHaiLED_THUAN() // Ve Hai Nua cua Trai Tym THUAN
{ P0 = P1 = P2 = P3 = 0; delay(2000);
P0_0 = P2_0 = 1; delay(2000); P0_1 = P2_1 = 1; delay(2000);
P0_0 = P2_0 = 0; delay(2000); P0_2 = P2_2 = 1; delay(2000);
P0_1 = P2_1 = 0; delay(2000); P0_3 = P2_3 = 1; delay(2000);
P0_2 = P2_2 = 0; delay(2000); P0_4 = P2_4 = 1; delay(2000);
P0_3 = P2_3 = 0; delay(2000); P0_5 = P2_5 = 1; delay(2000);
P0_4 = P2_4 = 0; delay(2000); P0_6 = P2_6 = 1; delay(2000);
P0_5 = P2_5 = 0; delay(2000); P0_7 = P2_7 = 1; delay(2000);
P0_6 = P2_6 = 0; delay(2000); P1_0 = P3_0 = 1; delay(2000);
P0_7 = P2_7 = 0; delay(2000); P1_1 = P3_1 = 1; delay(2000);
P1_0 = P3_0 = 0; delay(2000); P1_2 = P3_2 = 1; delay(2000);
P1_1 = P3_1 = 0; delay(3000); P1_3 = P3_3 = 1; delay(2000);
P1_2 = P3_2 = 0; delay(2000); P1_4 = P3_4 = 1; delay(2000);
P1_3 = P3_3 = 0; delay(2000); P1_5 = P3_5 = 1; delay(2000);
P1_4 = P3_4 = 0; delay(2000); P1_6 = P3_6 = 1; delay(2000);
P1_5 = P3_5 = 0; delay(2000); P1_7 = P3_7 = 1; delay(2000);
P1_6 = P3_6 = 0; delay(3000); P1_7 = P3_7 = 0; delay(3000);
}
//****************\\
//=======================//
void Ve_Hai_PORT_THUAN() // Ve Hai PORT THUAN
{ P0_0 = P2_0 = 1; delay(4000); P0_1 = P2_1 = 1; delay(4000);
P0_2 = P2_2 = 1; delay(5000); P0_3 = P2_3 = 1; delay(5000);
P0_4 = P2_4 = 1; delay(6000); P0_5 = P2_5 = 1; delay(6000);
P0_6 = P2_6 = 1; delay(7000); P0_7 = P2_7 = 1; delay(7000);
P0 = P2 = 0;
delay(100);
14



P1_0 = P3_0 = 1; delay(4000); P1_1 = P3_1 = 1; delay(4000);
P1_2 = P3_2 = 1; delay(5000); P1_3 = P3_3 = 1; delay(5000);
P1_4 = P3_4 = 1; delay(6000); P1_5 = P3_5 = 1; delay(6000);
P1_6 = P3_6 = 1; delay(7000); P1_7 = P3_7 = 1; delay(7000);
P1 = P3 = 0;
delay(100);
}
//-----------------void main()
{
while(1)
{ P0 = P1 = P2 = P3 = 0;
delay(4000);
//---------------------VeTraiTym();
nhapnhayxenke();
//---------------------sangDANthuan();
Tat_sangDANthuan();
sangDANnghich();
Tat_sangDANnghich();
nhapnhay();
//---------------------DichTungLedTuTrenXuong();
SangDichdeu2BenXuong();
Tat_SangDichdeu2BenXuong();
SangDichdanTuDuoiLen();
Tat_SangDichdanTuDuoiLen();
//---------------------nhapnhay_2_LED();
ChayHaiLED_THUAN();
ChayHaiLED_THUAN();
dichDAN_1_nua_4led();
dichDAN_1_nua_4led();

dichDAN4led();
//---------------------Ve_Hai_Nua_TraiTym_THUAN(); Tat_Ve_Hai_Nua_TraiTym_THUAN();
Ve_Hai_Nua_TraiTym_NGICH(); tat_Ve_Hai_Nua_TraiTym_NGICH();
//---------------------sangtungledtraiphai();
sangtungledtraiphai();
sangtungledtraiphai();
sangtungledtraiphai();
sangtraiphai();
TAT_sangphaitrai();
sangphaitrai();
TAT_sangtraiphai();
15


sangtraiphai();
TAT_sangphaitrai();
sangphaitrai();
TAT_sangtraiphai();
sangtungledphaitrai();
sangtungledphaitrai();
sangtungledphaitrai();
sangtungledphaitrai();
//---------------------Ve_Hai_PORT_THUAN();
Ve_Hai_PORT_THUAN();
Ve_Hai_PORT_THUAN();
Ve_Hai_PORT_THUAN();
ngoaivaogiua();
giuarangoai();
//---------------------nhapnhayxenke();
nhapnhay();

}
}
III. Quá trình làm mạch:
1. Chuẩn bị các dụng cụ cần thiết:
Đầu tiên cần chuẩn bị những nguyên liệu sau:
- Tăm tre
- Bìa cattông
- Máy khoan, chọn mũi khoan led 5 li dùng khoan led,và mũi khoan 0.6 li
khoan lỗ chân cắm linh kiện.
- Phíp đồng
-Bàn là (dùng để là mạch)
-Máy hàn, thiếc hàn
-Bột sắt ngâm mạch, Axeton rửa mạch
- Và một số dụng cụ khác.
2. Linh kiện, và tác dụng linh kiện:

STT

Tên linh kiện Số lượng

Tác dụng
16


Vi điều khiển chính của mạch
Cắm vi điều khiển
Hạn dòng vào led để bảo vệ led

1
2

3
4
5

AT89S52
Đế IC 40 Pin
R330 ohm
R10K
Trở Thanh
10K

1
1
33
1
1

6
7

Led
Tu 220uF

65
1

Lọc nguồn

8


Tu 10uF

2

Ngăn dòng vào chân reset

9

Tu 33pF

2

Lọc nhiễu cho dao động thạch anh

10

Thach Anh
12Mhz

1

Là nguồn tạo xung nhịp dao động clock ổn
định (12MHz) cho dao động của 8051

11

LM7805

1


ổn định điện áp đầu ra 5v

Nối vào Port0 của vi điều khiển

3. Quá trình làm mạch in và hàn mạch:
Bước 1: Cắt Board đồng theo kích thước của mạch in, dùng giấy nhám
chà thật sạch board đồng rồi dùng cồn lau cho board đồng thật sạch.
Bước 2: Ủi mạch
 Áp phần có hình mạch in trên giấy vào mặt có đồng của board
đồng, căn chỉnh sao cho khớp, sau đó tận dụng phần thừa của giấy
in mạch để dán cố định giấy với board đồng (có thể dùng băng keo
giấy để cố định)
 Sau đó ủi sơ qua toàn bộ bề mặt cần ủi để cho giấy định hình tiếp
xúc hoàn toàn với board đồng.
 Tiếp theo dùng mũi và cạnh của bàn ủi tập trung ủi các góc và cạnh
của board mạch cần ủi vì góc và cạnh của board mạch là nơi khó ủi
nhất và nhiệt khó tập trung ở những nơi đó khó nhất, vùng trung
tâm thì chỉ cần ủi 2-3 lần là dính hết.
 Sau đó đợi mạch nguội ta dùng tay nhẹ nhang bóc 1ít ra xem nếu
mạch mực chưa bám xuống hết ta cố định lại và ủi lại khoảng 3
phút .
17


 Sau khi ủi xong mạch ta dùng bút lông dầu tô lại những chỗ mực in
chưa ăn xuống hết.
Bước 4: Ngâm mạch
 Pha bột sắt (FeCl3) với nước theo tỉ lệ 100g bột sắt pha với 250ml
nước.
 Sau đó ngâm mạch trong dung dịch FeCl3 khoảng 10 phút cho đến khi

lớp đồng được ăn mòn hết thì lấy mạch ra rửa với nước cho sạch.
Bước 5: Khoan lỗ
 Dùng giấy nhám làm sạch hết lớp mực trên mạch. Sau đó tiến hành
khoan mạch.
Bước 6: Hàn mạch
 Hàn từ linh kiện thấp nhất đến cao nhất, hàn jump đầu tiên, sau đó hàn
tiếp điện trở, đế IC, tụ điện, điện trở, nút nhấn…
Bước 7: Kiểm tra và chạy thử mạch
 Kiểm tra kĩ các đường mạch các chân IC xem có bị dính chân hay
chập mạch hay không.
 Cấp nguồn và chạy thử mạch.
4. Làm mô hình và lắp mạch hoàn chỉnh.

18


19



×