VD4: Kết hợp các hiệu ứng để làm 1 dây đèn nháy có nút bấm điều khiển (chưa dùng lệnh ngắt)
Thực hiện:
+Mắc mạch:
Chúng ta Pick các thiết bị (device): (các bạn chưa rõ cách pick có thể xem lại LED 1)
+AT89C52
+RED-LED
+BUTTON
+Ground
+Power
Ta đi dây (dj) như hình dưới nhé:
Button được nối đất: có nghĩa là vi điều khiển sẽ nhận lệnh khi mức logic tại P1.0 chuyển từ 1 sang 0 nhé.
Thông thường chúng ta có 2 kiểu mắc mạch đó là:
+Sources Current (Source dòng)
Mắc kiểu Sources dòng thì LED sẽ rất tối vì công suất của chân IC rất yếu. không cấp đủ dòng cho LED sáng với chế độ định mức. Nên phương pháp này sẽ làm LED sáng tối nên không hiểu quả. Chân IC ở mức 1 thì LED sáng và mức 0 thì tắt.
+Sinks Current (Sink dòng)
- Ưu điểm:
- Mắc kiểu này thì LED sáng hết công suất.
- Điều khiển LED đơn này cũng rất là đơn giản. Nó dựa vào cách ghép nối với vi xử lý đưa mức cần thiết ra chân vi xử lý thì LED sẽ sáng và tắt theo ý muốn của chúng ta.
- Nhược điểm:
- Đây là phương pháp ghép trực tiếp nhưng vi xử lý chỉ chịu được một giá trị dòng
định qua nó. Nếu mà quá nhiều LED ghép nối thế này thì tất cả dòng sẽ qua vi xử lý
ra quá dòng trên vi xử lý gây nên cháy chíp và chíp nóng không hoạt động được lâu.
- Phương pháp này chỉ nên sử dụng khi lắp ít LED và điều khiển không đồng thời.
- Giải pháp là gắn thêm một transitor đệm.
- Đối với mắc kiểu này thì mức 1 thì LED tắt và mức 0 thì LED tắt.
Vậy nên trong ví dụ này chúng ta sẽ dùng kiểu Source dòng nhé
+Code:
Chúng ta mở KeilC tạo Project mới, file main.c mới và add vào Source Group 1, tick vào "Creat HEX file" cứ làm trước tí đỡ phải làm nha. (các bạn chưa rõ cách pick có thể xem lại LED 1)
Trong main.c chúng ta gõ code:
////////////////////////////
//VI DU 4: LED VA NUT BAM //
////////////////////////////
//khai bao thu vien
#include<regx52.h>
//ket noi phan cung
#define LED_PORT P2
sbit key=P1^0;
//chuong trinh con tao tre (delay)
void Delay_ms(unsigned int t)
{
unsigned int x,y;
for (x=0;x<t;x++)
{
for (y=0;y<123;y++);
}
}
//hieu ung led 1: 8 LED nhap nhay
void ct1()
{
unsigned char i;
for(i=0;i<5;i++)
{
//chúng ta giam gia tri delay de hieu ung co ve dep hon
Delay_ms(300);
LED_PORT =~LED_PORT;
}
}
//hieu ung led 2: 8 LED xen ke nhap nhay
void ct2()
{
unsigned char i;
LED_PORT = 0x55;
for(i=0;i<5;i++)
{
Delay_ms(300);
LED_PORT =~LED_PORT;
}
}
//hieu ung led 3: 8 LED sang dan, tat dan
void ct3()
{
unsigned char i,j;
for(j=0;j<2;j++)
{
for (i=0;i<8;i++)
{
LED_PORT=LED_PORT<<1|0x01;
Delay_ms (100);
}
for (i=0;i<8;i++)
{
LED_PORT=LED_PORT>>1;
Delay_ms (100);
}
}
}
//hieu ung led 4: 8 LED xen ke nhap nhay cach 2
void ct4()
{
unsigned char i;
for(i=0;i<8;i++)
{
LED_PORT=(LED_PORT>>1)|0x55;
Delay_ms (100);
LED_PORT =~LED_PORT;
Delay_ms (100);
}
}
void main()
{
unsigned int ct=0;
//ban dau, tat ca 8 LED
LED_PORT = 0x00;
while (1)
{
//Neu Button duoc bam, tuc la gia tri Logic==0
if(key==0)
{
//lenh chong doi phim
Delay_ms(20);
if (key==0)
{
//moi lan bam Button gia tri cua ct tang 1 ung voi cac chuong trinh con hieu ung led
while (key==0);
ct++;
if (ct==5){ct=1;};
Delay_ms(100);
if (key==1)
{
// chay chuong trinh 1
if(ct==1){ct1();} ;
// chay chuong trinh 2
if(ct==2){ct2();} ;
// chay chuong trinh 3
if(ct==3){ct3();} ;
// chay chuong trinh 4
if(ct==4){ct4();} ;
}
LED_PORT = 0x00;
}
}
}
}
Chúng ta có thể thêm các chương trình con hiệu ứng khác ct5, ct6.... và thêm vào main(). Trong bài này chúng ta cần chú ý đến 2 câu lệnh chống dội phím:
Delay_ms(20);
if (key==0) {}
Với 2 câu lệnh này chúng ta sẽ hạn chế được hiệu tượng dội phím, Lệnh sẽ chỉ được thực hiện sau khi chúng ta buông tay ra khỏi nút bấm. hạn chế trường hợp biến ct sẽ tự tăng dù chúng ta chỉ mới bấm phím 1 lần. Cấu trúc của câu lệnh chỉ gồm 1 hàm trễ khoảng 20ms đảm bảo thời gian cho logic được ổn định sau khi chuyển từ mức 1 xuống mức 0.
Chúng ta ấn F7 để Build file HEX, sau đó nạp vào Vi điều khiển để hưởng thụ thành quả nhé~
Qua ví dụ hôm nay chúng ta đã biết cách chuyển đổi các chương trình con bằng chỉ một nút bấm, cách chống dội phím khi bấm hay giữ phím. Chúng ta sẽ dừng phần LED ở đây, trong các bài viết sau chúng ta sẽ cùng nhau tìm hiểu về LED 7 thanh (7 đoạn, LED 7 SEGMENT), giao tiếp với LCD,...
Hôm nay chúng ta tạm thời dừng ở đây nhé!
Thân
Phong's
1 comments:
Hiện nay trong lĩnh vực bảng hiệu quảng cáo nói chung, loại bảng hiệu đèn Led đang được sử dụng hết sức phổ biến. Thế nhưng còn nhiều người chưa biết rõ về loại bảng hiệu này, chúng có ưu điểm mà người ta lại ưa chuộng đến vậy, chúng có tồn tại những nhược điểm gì hay không? Sau đây công ty Quảng cáo Đại Phát sẽ làm rõ những vấn đề trên:
ReplyThứ nhất, bảng hiệu đèn led là gì?
Bảng hiệu đèn led là loại bảng hiệu có sử dụng những bóng đèn led để phát sáng, led ( viết tắt của từ light emitting diode, tạm dịch là điốt phát quang) là loại đèn có khả năng phát ra ánh sáng hay hồng ngoại. Đèn led nhìn có vẻ giống những loại bóng đèn tròn bình thường nhưng bên trong chúng không hề có các sợi dây tóc ở giữa bóng.
Thứ hai, về ưu điểm của bảng hiệu đèn led:
Bảng hiệu có sử dụng đèn led có rất nhiều ưu điểm hơn so với bảng hiệu sử dụng bóng đèn thông thường ở chỗ đèn led có thiết kế mỏng và trọng lượng nhẹ nên có thể dễ dàng thiết kế, phối hợp với nhau.
Bóng đèn led có tuổi thọ cao, khoảng 50 000 giờ (tương đương 6 năm thắp sáng liên tục) nên về lâu dài nó giúp tiết kiệm chi phí lắp đặt, thay thế, sửa chữa hơn.
Bóng đèn led còn tạo ra nhiều ánh sáng hơn, tỏa nhiệt ít hơn với các loại bóng khác.
Thứ ba, về hạn chế của bảng hiệu đèn led
Có thể nói, hạn chế lớn nhất của bảng hiệu đèn led đó chính là giá thành. Giá thành của chúng cao hơn so với những loại bảng hiệu thông thường. Bạn cần đầu tư một khoản lớn ngay từ ban đầu để thiết kế và lắp đặt.
Nếu bạn còn thắc mắc gì bảng hiệu đèn led cũng như các loại bảng hiệu khác, vui lòng liên hệ công ty Quảng cáo Đại Phát để được hỗ trợ, giải đáp thắc mắc nhanh nhất có thể. Hotline liên hệ: 0935 79 00 28.
Quảng cáo Đại Phát chuyên nhận:
làm bảng hiệu
làm bảng hiệu alu
làm bảng hiệu công ty
bảng hiệu công ty
làm hộp đèn quảng cáo
làm biển quảng cáo
làm biển hiệu quảng cáo
làm bảng hiệu quảng cáo
làm biển quảng cáo led
làm bảng hiệu inox
làm hộp đèn mica
làm bảng hiệu hcm
làm bảng hiệu tphcm
làm bảng hiệu quảng cáo hcm
làm bảng hiệu quảng cáo tphcm
làm bảng hiệu giá rẻ tphcm
làm bảng hiệu giá rẻ
bảng hiệu quảng cáo hcm
Địa chỉ: 55 Linh Đông, P. Linh Đông, Q. Thủ Đức, TP. Hồ Chí Minh
Điện Thoại: 0935 79 00 28
Email: daiphatgroup2010@gmail.com
Website: thietkethicongdaiphat.com
Đăng nhận xét