Thứ Ba, 25 tháng 2, 2014

              MẠCH LED TRÁI TIM DÙNG 8051
Tác giả : Whyou  
Yahoo : vanviet_haui.dt2k4

Nguồn : hoiquandientu.com   Trái tim là bộ phận quan trọng của con người đồng thời trái tim tượng trưng cho tình yêu đẹp của đôi trai gái. Các bạn trai đọc điện - điện tử muốn trinh phục được chị em phụ nữ thì phải có gì tặng chị em thì chị em mới cảm động được. Bỏ tiên ra mua món quà thì không hay lắm nhưng chúng ta bỏ tiền ra để làm một cái gì đó tặng thì món quà đó thật là ý nghĩa. Khi đó chúng ta vừa học được và lại có quà tặng bạn gái đồng thời chiếm được tình cảm của bạn gái. Chính vì đó bài viết này sẽ hướng dẫn mọi người làm mạch trái tim đơn giản dùng 8501. Mạch rất đơn giản và chương trình cũng không khó.
Bấm xem ảnh ở cửa sổ mới

I - Sơ lược về họ vi điều khiển 8501
Khi nhắc đến vi điều khiển, không ai là không biết họ vi điều khiển của 8051 do ATMEL cung cấp và phát triển. Thông dụng nhất là các sản phẩm của dòng 89Cxxx và 89sxxx. Ưu điểm lớn nhất của họ vi điều khiển 8051 là:
+Giá chip rẻ. Chỉ từ 20 nghìn là bạn có thể có trong tay chip 89C52
+Cấu tạo đơn giản với 35 câu lệnh ASM
+Với 89c52 có 8kb bộ nhớ dữ liệu, 128bye ram, 32 chân I/O, 3 timer, 8 ngẳt, hoạt động ở điện áp 5V, đóng gói với kiểu chân dip40 chân và kiểu PLCC
+Tần số tối đa: 33Mhz

Bấm xem ảnh ở cửa sổ mới

89c52 với 4 PORT có khả năng nhập,xuất. Gồm PORT0 (P0), PORT1 (P1), PORT2 (P2), PORT3 (P3)
Mỗi PORT gồm 8 PIN( hay chân) và có thể được đinh địa chỉ từng bit. ví dụ:
P1^0, P1^1... P1^8 tương tự với các PORT 0,2,3
Các PIN của PORT chỉ có 2 trạng thái là: mức cao(1) có giá trị xấp xỉ giá trị VCC. Mức thấp(0) có giá trị xấp xỉ 0V(GND)
II - Tổng quan và tính toán cho LED phát quang
1) Hoạt động và phân cực cho LED
LED phát quang được phát sáng khi chúng ta cấp nguồn cho nó thì nó sẽ phát sáng. Có rất nhiều LED phát quang với mầu sắc, kích thước chủng loại khác nhau. Và được ứng dụng trong thắp sáng, trang trí...

Bấm xem ảnh ở cửa sổ mới

Bản chất của LED chính là một diode có khả năng phát sáng khi phân cực thuận. Khi Led sáng thi điện áp rơi trên LED có giá trị nhỏ nhất là 0.7V và lớn nhất gần 2V tùy từng loại LED. Tùy vào từng loại LED mà có giá trị dòng qua LED khác nhau để LED sáng bình thường. Thông thường thì nguồn cấp cho LED 3V thì chúng ta không cần điện trở hạn dòng nhưng đối với nhiều mạch người ta không thể dùng thêm một nguồn nữa nên người ta dùng nguồn cho LED chung với nguồn điều khiển (5V) và lắp thêm con điện trở nối tiếp cho LED. Mục đích là để hạn dòng cho LED không cho dòng qua LED lớn hơn giá trị định mức. Nếu mà quá dòng thì LED sẽ cháy. Tính toán điện trở đó như thế nào?
2) Cách tính toán điện trở hạn dòng cho LED
Nếu chúng ta sử dụng nguồn 3V thì không cần phải điện trở mà có thể lắp trực tiếp được nhưng nếu mà cho nguồn lớn hơn 3V thì cần phải có thêm một con điện trở hạn dòng cho LED

Bấm xem ảnh ở cửa sổ mới

Chúng ta áp dụng lý thuyết mạch điện vào tính toán điện trở này như sau:
R = (Vcc - Uled)/Iled
với Uled là điện áp rơi trên LED phát quang. Nằm trong 0.7 ~ 2V tùy từng loại LED
    Iled là dòng điện định mức qua LED.
Dựa vào công thức đó chúng ta sẽ tính được giá trị điện trở cho vào cho từng loại LED.
Lấy ví dụ : Mua LED có Uled = 1V, Iled = 10mA với điện áp nguồn là 5V. Áp dụng công thức trên ta sẽ tính được R = 400 ôm.
3) Điều khiển LED với 8501
LED phát quang chúng ta chỉ cần phân cực thuận là nó sẽ sáng.Trong 8501 chỉ điều khiển được mức 1 (5V) và mức 0 (0V) nên do đó LED khi mắc vào chân của 8501 sẽ được điều khiển tắt hoặc mở tùy thuộc vào trạng thái của chân 8501 được điều khiển như thế nào? Có hai cách mắc LED và chân 8501
+ Mắc ở chế độ xả dòng

Bấm xem ảnh ở cửa sổ mới

Với mắc ở chế độ này thì LED sẽ sáng rất tối vì công suất của chân 8501 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 8501 ở mức 1 thì LED sáng và mức 0 thì tắt
+ Mắc ở chế độ hút dòng

Bấm xem ảnh ở cửa sổ mới

Mắc kiểu này thì LED sáng hết công suất. Đây là phương pháp ghép trực tiếp nhưng vi xử lý nó chỉ chịu được một giá trị dòng nhất đị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ý gây 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ỉ mang tính 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.
Đ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ý và đư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.
III - Mạch trái tim với 32 LED ghép nối với 8501
1) Mạch nguyên lý
Mỗi PORT của 89C52 có độ dài 8 bit, do vậy không thể truy xuất lên từng PORT một lúc được. Ta chỉ có thể làm lần lượt với từng Port của 89C52. Nhưng với điều khiển LED, Thời gian thực hiên rất nhanh, và coi như thực hiện gần như cùng một lúc. Sau đây mình sẽ điều khiển 32 LED được xếp thành một hình trái tim.

Bấm xem ảnh ở cửa sổ mới

Mạch nguyên lý trên là ghép trực tiếp không dùng đệm. Theo nguyên tắc vẫn chạy được nhưng không đảm bảo cho con 8501 hoạt động tốt và không bị quá dòng. Nhưng với bài toán này chúng ta có thể ghép trực tiếp với LED thường và điều khiển không đồng thời. Mạch vẫn chạy ổn định.
2) Thuật toán điều khiển
Việc điều khiển 32 LED đơn này cũng không khó. Ta cứ cho LED này bật rồi LED kia tắt theo hiệu ứng của chúng ta. Các thời điểm được tính là rất nhanh. Việc chuyển từ thời điểm này sang thời điểm kia được qua một thời gian trễ nếu cần thiết. Ta chỉ cần xuất mức 0 ra chân 8501 là LED sáng và mức 1 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 theo ý thíc. Một ví dụ đơn giản là chạy LED từ trên xuống
#include"reg52.h"
unsigned char ma[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(unsigned int tre)
{
  unsigned int tg;
  for(tg=0;tg}

void main()
{
  unsigned int i,x;
  while(1)
  {
    P0=P1=P2=P3=0xff;
    for(i=0;i<8;i++)
    {
      P0=P1=ma[i];
      delay(42000);
    } 
   
    P0=P1=0xff;
    for(i=0;i<8;i++)
    {
      P3=ma[i];
      P2=ma[7-i];
      delay(42000);
    } 
  }
}
Đó là các ví dụ đơn giản nhất mà các bạn dễ dàng thực hiện. Từ đó các bạn phát triển thêm nhiều kiểu nháy LED phong phú hơn
IV - Sản phẩm, Code&mô phỏng, PCB
1) Sản phẩm 
Dưới đây là sản phẩm của mạch hình LED trái tim mà tôi làm được. Nhìn trông giao diện cũng khá đẹp. Tặng người iu thì quá tốt

Bấm xem ảnh ở cửa sổ mới

Linh kiện được gắn theo kiểu SMD để tăng thêm tính thẩm mỹ của sản phẩm

Bấm xem ảnh ở cửa sổ mới

2) Code và Mô phỏng, PCB
+ Chương trình được viết cho dòng vi xử lý 8501, môi trường biên dịch Kei C
+ Mô phỏng bằng phần mền Protues để minh họa thêm sản phẩm
+ Mạch in PCB bằng Protues để mọi người có thể làm luôn
Ngoài chương trình tham khảo này các bạn có thể phát triển thêm nhiều hiệu ứng đẹp để cho mạch đèn LED trái tim phong phú và đẹp hơn.

Tải code, mô phỏng, PCB :
DOWNLOAD

Thứ Tư, 23 tháng 10, 2013

ĐIỀU KHIỂN LED ĐƠN



ĐIỀU KHIỂN LED ĐƠN


;******************************
;CHUONG TRINH DIEU KHIEN 8 ;LED SANG TAT
;******************************
;KETNOI:8LED>PORT(CODEMDAO).
;******************************

ORG 00H
CHOPTAT:
        MOV P0,#00H    ;LED TAT
        LCALL DELAY500MS
        MOV P0,#0FFH  ;LED SANG
        LCALL DELAY500MS
        SJMP  CHOPTAT ;QUAY LAI
;***************************


DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
    PUSH     00H
    MOV R0,#100
    MOV TMOD,#01H
LOOP:
     MOV TH0,#HIGH(-5000)
     MOV TL0,#LOW(-5000)
     SETB TR0
     JNB TF0,$
     CLR TR0
     CLR TF0
     DJNZ R0,LOOP
     POP 00H
     RET
     END

DOWNLOAD

Thứ Hai, 22 tháng 7, 2013

Thứ Hai, 17 tháng 12, 2012

Art of War 2: Liberation of Peru



Art of War 2: Liberation of Peru
Aowred
Sản xuất
Gear Game
Thực hiện
Ohyeah
Upload
09/12/2011
Lượt xem
8510
Mô tả
Năm 2038. Hai mươi năm Liên đoàn điều khiển trái đất và chinh phục tất cả các quốc gia và châu lục. Một kỷ nguyên mới trong lịch sử của nhân loại. Giảm bớt chiến tranh toàn cầu cho việc phân chia vùng lãnh thổ, kéo dài một thế kỷ. Cuối cùng, nền kinh tế thế giới bắt đầu làm việc trên không duy trì sẵn sàng chiến đấu liên tục, và sự tiến bộ của thế giới. Mở chân trời mới cho nghiên cứu về trái đất và trong không gian. Game đã crack. Tải về bản đồ có thể không làm việc.
Download

Thứ Tư, 7 tháng 11, 2012

Hướng dẫn làm led cube 5x5x5 với 89s52



I, Cần nói qua một chút về led cube 5x5x5 cấu tạo và nguyên tắc hoạt động của mạch :
LED CUBE  được tạo thành từ 125 bóng LED, xếp thành 5 lớp, mỗi lớp 25 bóng. Điều đặt biệt là ta không dùng 125 mối nối để thắp sáng từng bóng mà thay vào đó, ta mắc chung các chân anode của 25 bóng trên 1 lớp lại với nhau và mắc chung 5 chân cathode để tạo thành cột (có 25 cột).
Để cho 1 led bất kỳ bật sáng, đầu tiên ta nối chân anode chung của lớp với điểm có điện thế cao, khi đó 25 bóng led sẽ  có chân anode được gắn với điểm điện thế cao, việc còn lại là nối điểm điện thế thấp cho chân cathode của bóng led nào cần thắp sáng.
Việc cấp điện thế cao cho các lớp được thực hiện bởi 5 transistor PNP. 5 Transistor này được điều khiển bởi 5 chân IO của vi điều khiển và được phân cực ở vùng bão hòa và vùng ngưng tương ứng với mức logic 0 và 1 (ngược mức logic với chân IO của vi điều khiển) Việc cấp điện thế thấp cho các cột được thực hiện bởi 25 chân IO của vi điều khiển, do không có transistor để nhận dòng nên khi khi tính toán điện trở hạn dòng cho led phải lưu ý đến khả năng nhận dòng của chân IO vi điều khiển (thông số IOL khoảng 200mA là tối đa). Ở thời điểm nào đó, mỗi chân này phải nhận dòng từ 5 bóng led của 1 cột. Sơ đồ nguyên lý điều khiển sau đây:
II, Các bước thực hiện
1, Chọn led :
Tùy vào mỗi người mà chọn màu sắc led khác nhau , nhưng cần phải chú ý điện áp của từng led khác nhau mà tính toán giá trị của điện trở .Led thường được chọn là led vỏ đục đảm bảo độ phát sáng ra xung quanh tốt nhất.
2, Tạo khung led:
Tham khảo cách làm của các trang web nước ngoài thấy phương pháp được sử dụng nhiều thường là làm khuôn xong khoan lỗ vừa bóng led sau đó hàn dây .Với cách làm này đảm bảo các led thẳng nhau tránh chạm chập . Khuôn ở đây có thể dùng gỗ ép , gỗ dán , nhưng theo như mình làm thì bằng xốp là tiện lợi nhất vẫn đảm bảo chất lượng
Sau khi có khung xong ta tiến hành bẻ chân led như sau anot là chân dài hơn ta bẻ vuông góc ,chân katot giữ nguyên sau khi bẻ ta tiến hành hàn led .Hàn đủ 25 led ta được 1 lớp thứ nhất ,
Sau khi đủ 5 lớp ta tiến hành ghép khối led
Khi có khối led hoàn chỉnh gắn led vào đế và hàn dây nối
3,Thiết kế mạch:
Tùy khả năng lập trình của từng người mà chọn các chip khác nhau như AVR hay PIC , đối với người mới học tốt nhất nên chọn 8051 đơn giản và thông dụng. Dưới đây là sơ đồ nguyên lý mạch dùng 89s52 do mình thiết kế:
Và PBC dùng orcad:
Do đang trong quá trình thi nên chưa có thời gian hoàn thiện mới chỉ xong phần khối led .Show vài bức cho mọi người xem .Phiên bản chính thức sẽ được update lên trang web trong thời gian sớm nhất !

Update ngày 15/01/2011
Sau 3 tuần thi cử bận rộn cuối cùng cũng đã xong , việc đầu tiên phải làm là hoàn thiện quả led cube 5x5x5 để về chơi tết .
Hôn nay cũng đã gần xong mình update trước một số hình ảnh mới nhất về nó cho mọi người coi :
Phần mạch:
Phần khung hôm nay đã được gắn hộp meka :
Phần mạch coi như đã ổn công việc hiện giờ là lập trình hiệu ứng cũng vất vả đây.
linh kiện làm led cube:// số lượng
1- IC89S52 + đế//1+1
2- Thạch anh 12MHz// 1
3- Tụ gốm 33// 2
4- Tụ gốm 104 (mạch nguồn)// 1
5- Tran A564// 5
6- 7805// 1
7- Tụ hóa 10uF// 1+1 (mạch nguồn)
8- Trở 470 om// 26
9- Trở 10K// 1
10-Led siêu sáng đục// 125+1(led nguồn)
11-Chân cắm (LCD)// 2 thanh
12-Jac đực// 2 thanh
13- Nút nhấn 4 chân // 1
14- Trở băng 10k// 1
15- Trở 1k (hạn dòng cho tran)// 5
16- CON 2 (trắng)// 1