Điều khiển LED 7 thanh với Anot chungNguồn : biendt.biz Trong phần này tôi giới thiệu với các pác các thức để hiện thị trên LED 7 thanh.. NHưng ở bài này tôi chỉ điều khiển hiện thị sáng
Trang 1Điều khiển LED 7 thanh với Anot chung
Nguồn : biendt.biz
Trong phần này tôi giới thiệu với các pác các thức để hiện thị trên LED 7 thanh LED 7 thanh nó hiện thị được ra 16 kiểu kí tự khác nhau từ :0 đến 9 và từ A, B,C,D NHưng ở bài này tôi chỉ điều khiển hiện thị sáng từ 0 đến 9 và ngược lại
1: Lắp mạch
Hiện nay trên thị trường có 2 loại LED 7 thanh đó là loại chung Anot và chung catot
Cấu tạo của nó gồm 8 con LED đơn được ghép với nhau 1 là chung Anot 2 là chung Catot có 1 chân cấp nguồn và 8 chân đầu ra hay vào tùy theo Anot
chung hay catot chung.Và trên đó nó được chia ra làm 7 thanh tương ứng với
Trang 2A,B,C,D,E,F,G và 1 chân dot
Ở bài này tôi dùng LED 7 thanh có Anot chung!
Sơ đồ nguyên lý mạch hiện thị
Ở đây tôi dùng Port 2 để điều khiển hiện thị ra LED 7 thanh Và cách mắc này là bơm dòng cho vi điều khiển Dùng 5 V cấp cho LED 7 và CY8C29466.(Hình vẽ) Các pác dùng cổng Port 2(Không cứ gì Port này đây là theo ý tôi) lắp lần lượt từ Port2_0 đến Port2_7 vào các thanh A,B,C,D,E,F,G,Dot Nhớ là phải lắp đúng thứ
Trang 3tự không có là không hiện thị được đâu.Đầu chung Anot là được nối với 5V
thông qua điện trở 470
Thêm 1 mạch reset cho mạch: dùng 1 công tắc nối với chân số 19 thông qua 1 điện trở 1k và đầu kia được nối lên VCC Khi công tắc được đóng thì mạch sẽ tự reset Còn 1 tụ được nối giữa chân 28 và 14 là để không bị mất nguồn trong khoảng thời gian ngắn
2 : Nguyên lý hoạt động
Khi gắn xong mạch cắm nguồn thì LED sẽ không hiện thị nếu Chip chưa được nạp chương trình Bài ở đây tôi chỉ điều khiển hiện thị từ 0 đến 9 nên tôi tính các giá trị của các số hiện thị.Chúng ta muốn thanh nào sáng thì đưa giá trị của chân gắn với thanh đó về 0 là thanh đó sáng
Nếu muốn số 0 thì : Thanh G phải ở mức 1 (tắt) các thanh còn lại phải bật Nên giá trị tính nhị phân 0100 0000 ==> 0x40
Nếu muốn hiện thị số 9 thì : Thanh E phải ở mức 1 (Tắt) các thanh còn lại ở mức
0 (Bật) Nên giá trị nhị phân của nó là : 0001 0000 ==> 0x10
Cứ thế ta có thể hiện thị những kiểu trên LED 7 thanh
3 : Lập trình
Trang 4Các pác thiết lập cho cổng Port2 ở chế độ Strong
Dây là kiểu lập trình của tôi các pác có thể lập trình kiểu khác! Các pác có thể tham khảo!
// -
// C main line
// Hien thi tren LED 7 thanh
// Noi dung : Hien thi so tu 0 den 9 va nguoc lai
// Viet boi : biendt
// nguyenvanbientbd47@gmail.com
// Su dung LED Anot chung Duoc noi voi Port2
// -
#include // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
//Ham tao tre thoi gian
void delay(unsigned int t)
{
unsigned int i;
for(i=1;i<9000;i++)
for(i=1;i
}
// Nhap 1 mang ki tu hien thi cac so tu 0 den 9
unsigned char
code[10]={0x40,0xf9,0x24,0x30,0x99,0x12,0x82,0x78,0x80,0x10};
Trang 5void main()
{
PRT0DR=0xff;
PRT2DR=0xff;
while(1)
{
unsigned char n;
for(n=0;n<10;n++) // Hien thi tu 0 den 9 {
PRT2DR=code[n]; // Dua du lieu ra P2 delay(30000);
}
if(n==10) // hien thi tu 9 xuong 0
{
unsigned char m;
PRT2DR=0xff;
delay(30000);
for(m=0;m<10;m++)
{
PRT2DR=code[9-m];
delay(40000);
}
}
}
Trang 6}
Đối với chương trình này tôi đã test rồi nên các pác yên tâm Cái này tôi không
có chương trình mô phỏng