Giới Thiệu Chung: được bố trí thành dạng “ma trận” hình chữ nhật hoặc vuông với số hàng là a và số cột là b.. Ma trận LED được dùng rất nhiều trong các ứng dụng hiển thị như các biển quả
Trang 1TRƯỜNG CĐ KINH TẾ-KỸ THUẬT HẢI DƯƠNG
KHOA CƠ KHÍ CHẾ TẠO MÁY
BỘ MÔN CƠ ĐIỆN TỬ
♦♦♦♦♦♦♦
BÁO CÁO TỐT NGHIỆP
ĐỀ TÀI:ỨNG DỤNG VI ĐIỀU KHIỂN DÙNG CHO MA
TRẬN LED
GVHD:
CAM VĂN CHƯƠNGSVTH:
Trang 2I GIỚI THIỆU :
1 Giới Thiệu Chung:
được bố trí thành dạng “ma trận” hình chữ nhật hoặc vuông với số hàng là a và số cột là b
Ma trận LED được dùng rất nhiều trong các ứng dụng hiển thị như các biển quảng cáo, hiển thị thay thế LCD hoặc thậm chí dùng hiển thị video…
Trang 3- Sơ đồ nguyên lý
Trang 4• Để giảm số lượng các đường điều khiển,
trong các ma trận LED các LED được nối chung với nhau theo hàng và cột Số lượng LED trên ma trận LED là axb trong khi số
Trang 5+ Sử dụng vi điều khiển ATmega32.
+ Gồm có: 32Kbytes bộ nhớ Flash bên trong, 2Kbytes SRAM, 1024Bytes EEPROM
+ Sử dụng thạch anh 16MHz
+ Sử dụng PortB để đưa mã chữ vào, PortA với các chân A.0, A.1, A.2, A.3 lần lượt là data màu đỏ, xung màu đỏ, data màu
xanh, xung màu xanh.
Trang 6 Bộ phận thực hiện gồm có 4 led ma trận (8*8)
hai màu xanh và đỏ.
Trang 7Nguyên lý hoạt động:
đưa mã chữ để quét hàng Để hiển thị được trên led thì
ta cho phép cột tương ứng của led sáng(thông qua các chân của PortA để điều khiển 74HC164).
Mạch này thực hiện thực hiện theo phương pháp quét lặp
lại(truy xuất vào ô nhớ nào đó một cách liên tục rồi quét lặp đi lặp lại nhiều lần với tần số cao, sau một thời gian định trước sẽ chuyển sang ô nhớ tiếp theo).
Muốn cho màu đỏ sáng thì cho cột đỏ đó sáng, màu xanh
sáng thì cho cột xanh đó sáng, muốn 2 màu đều sáng thì cho cả 2 cột xanh và đỏ đó sáng Tại 1 thời điểm
trên bảng led chỉ cho phép 1 cột led sáng, nhưng do
thời gian quét rất nhanh nên ta thấy chữ hiện liên tục.
Trang 10C 5
J 3
1 2
Trang 12Phần Quét Cột Màu Xanh:
Trang 13II Chương Trình Điều Khiển Quét Led Dùng Modul Vi điều khiển 89S52 Chạy Chữ
Trang 14• Đoạn CT dịch chữ “TUAN 05111112” màu đỏ:
• MAIN5:
• MOV DPTR,#MACHU1
• MOV R2,#0 R2 BIEN DEM DICH CHU
• MAIN4: MOV R3,#25 ;R3 DELAY THOI GIAN DICH CHU
• MAIN3: MOV R0,#0 ;R0 BIEN DEM XUNG DO
• SETB P2.0 ;DU LIEU LED DO
• MAIN2: MOV P0,#00000000B ;TAT LED CHONG LEM
• SETB P2.1 ;CANH LEN XUNG CLOCK DO
• ADD A,R2 ;GIAI MA*****************
• MOVC A,@A+DPTR ;GIAI MA
• MOV R1,#100 ;R1 DELAY THOI GIAN NGAN
Trang 15• Đoạn CT dịch chữ “TUAN 05111112” màu xanh:
Trang 16• Đoạn CT dịch chữ “TUAN” từ trên xuống:
Trang 17• MAIN10: MOV R0,#0 ;R0,0->32 QUET LED.
• SETB P2.0 ;SET BIT DATA
• SETB P2.2 ;XANH VA DO
• MAIN9: MOV P0,#00000000B
• SETB P2.1 ;CANH LEN XUNG
• SETB P2.3 ;CHO 2 MAU.
Trang 18III ĐIỀU KHIỂN QUÉT LED DÙNG MODUL Vi ĐIỀU KHIỂN ATMEGA32:
Lưu đồ giải thuật:
Trang 20Chương trình được viết bằng CodeVision, Gồm: + Chương trình chính: Để gọi hai chương trình con.
if(j==0) {
data2=0;
xung2=0;
delay_ms(25);
} } };
Trang 21+ HAI CHƯƠNG TRÌNH CON: Để hiện thị chữ.
Chương trình 1 chạy chữ màu đỏ từ phai qua trái với chữ:’’LOP CĐT05 CHUC THAY 1 NAM MOI AN KHANG THINH VUONG “
Trang 22Chương trình 2 chạy chữ màu xanh chạy từ trái qua phải với
chữ:++ HAPPY NEW YEAR 2009 ++
void HAPPYNEWYEAR(void)
{
for(t=184;t>=32;t )
{
for(n=0;n<30;n++) {
for(i=0;i<=32;i++) {
PORTB=0x00; delay_us(100); // chong lem xung2 =0; if(i==0) {data2=1;} else {data2=0;} xung2=1; PORTB=chu1[i+t]; delay_us(30); // thoi gian delay }
}
}
}
Trang 23CÁM ƠN THẦY VÀ CÁC
BẠN ĐÃ THEO DÕI!!!