Đề tài thuyết trình led ma trận

10 501 0
Đề tài thuyết trình  led ma trận

Đang tải... (xem toàn văn)

Thông tin tài liệu

TRƯỜNG CAO ĐẲNG KỸ THUẬT LÝ TỰ TRỌNG KHOA ĐIỆN-ĐIỆN TỬ Môn Vi xử lý – vi điều khiển Đề tài thuyết trình: Led Ma trận Giáo viên hướng dẫn: Bốc Minh Trí Lớp: 12CĐ- ĐT3 Nhóm 8: Chí Ngọc Sơn Lê Hoàng Tuấn Tú Lâm Trường Luân Mong Hoàng Phong Hoàng Minh Đức Thành phố Hồ Chí Minh - 2014 I Ma trận LED Ma trận LED tức Dot Matrix LED tập hợp nhiều đèn LED bố trí thành dạng “ma trận” hình chữ nhật vuông với số hàng a số cột b Để giảm số lượng đường điều khiển, ma trận LED LED nối chung với theo hàng cột Số lượng LED ma trận LED axb số lượng ngõ tổng số hàng cột: a + b Việc điều khiển ma trận LED kích thước lớn đòi hỏi thiết kế mạch driver điều khiển phức tạp, phạm vi trình bày thao tác với ma trận LED có kích thước 7x5 (7 hàng, cột) ma trận LED 7x5 thường dùng để hiển thị ký tự bảng mã ASCII thay cho Text LCD Hình Ma trận LED 7x5 Bên ô ma trận LED LED phát sang Trong mô hình trên, Cathod (cực âm) LED hàng nối chung với ngõ chung ngõ D (Data) Các Anod LED cột nối chung tạo thành đường C (Control) Thông thường, đường D C chọn số số lượng đường D nhiều đường C cho số lương đường D gần với số 8, 16, 32…(lũy thừa 2) Lý việc chọn nhằm giảm kích thước font chứa ký tự hình ảnh hiển thị lên ma trận LED, bạn hiểu rõ tìm hiểu điều khiển ma trận LED 7x5 bên a) b) Hình mô tả cách mà ma trận LED 7x5 dùng để hiển thị số Trước hết khảo cách cho sang LED mà không cần quan tâm đến bảng font Quan sát cột thứ (cột C0) hình 2a, cột có LED hàng D2 D3 sang, LED lại tắt Điều thực cách kích chân C0 (Anod) lên mức cao, kéo chân D2, D3 xuống mức chân Data khác giữ mức cao Các cột khác thực tương tự Tuy nhiên, câu hỏi hiển thị cột với đèn LED sáng khác ngõ Cathod chúng nối chung (thành chân D) Ví dụ người kéo tất chân C0…C4 lên mức cao vào xuất tín hiệu chân D, tất LED dùng hàng sáng tắt “Bí quyết” kỹ thuật “quét”, hiển thị cột với giá trị tương ứng chúng không hiển thị đồng thời Trong ví dụ hiển thị số ‘4’, trước hết kích chân C0 lên cao chân C1…C4 mức thấp, xuất tín hiệu chân D để hiển thị lên cột C0 Tiếp theo kéo chân C1 lên cao chân Control khác mức thấp, xuất liệu chân D để hiển thị cột C1… Cứ hiển thị hết cột quay lại cột C0 Quá trình gọi “quét LED” Do tốc độ “quét” cao nên cảm giác “nhấp nháy”, cột ma trận hiển thị đồng thời Chú ý độ sáng LED phụ thuộc vào số cột LED, bạn “quét” nhiều cột LED, tỉ lệ thời gian “ON” cột nhỏ so với thời gian “OFF” phải chờ quét cột khác Vì ma trận LED có nhiều cột ghép nhiều ma trận, mạch driver cần sử dụng để đảm bảo độ sáng LED Giả sử LED đại diện cho bit LED sáng đại diện cho giá trị nhị phân LED tắt số Hình 2b thể mô hình số nhị phân cho trường hợp hiển thị số ma trận LED 7x5 Nếu xem cột ma trận số bit giá trị cần thiết để hiền thị số ‘4’ là: 0x0C, 0x14, 0x24, 0x7F, 0x04 Bộ giá trị tạo thành mã font cho ký tự ‘4’, chúng định nghĩa trước lưu nhớ chip điều khiển (AVR), lần ký tự yêu cầu hiển thị, font tương ứng ký tự “load” xuất đường Data, lý gọi đường D đường Data Cách “quét” LED vừa trình bày cách “quét ngang”, bạn thực “quét dọc” ứng dụng yêu cầu Trong phương pháp quét dọc, chân hàng chung dùng để chọn hàng cần hiển thị, liệu xuất theo hàng cột thay đổi hàng (hàng trước, đến 1…và cuối 6) So sánh cách quét cho trường hợp ma trận LED 7x5, rõ ràng cách quét ngang cần quet cột cho lần LED nên tỉ lệ thời gian ON cao (1/5 so với 1/8 cách quét dọc) Mặt khác, thực quét dọc cần số số để tạo thành font cho ký tự tốn nhiều nhớ cho việc lưu trữ bảng font Trong học thực theo cách quét ngang bảng font xây dựng cho cách quét II AVR Ma trận LED Phần minh họa cách hiển thị ma trận LED 7x5 AVR Chúng ta thực ma trận LED, cho ứng dụng cần nhiều LED bạn đọc tự phát triển từ ý tưởng phần Hãy vẽ mạch điện mô phần mềm Proteus hình Hình Hiển thị ma trận LED AVR Các chân C ma trận nối với chân PORTC chip AVR ATmega32, chân D nối với PORTD Hãy tạo Project Programmer Notepad tên DotMatrix tạo file tên font.h dotmatrix.c Project File font.h chứa bảng font ký tự file dotmatrix.c file cho chương trình demo List trình phần nội dung file font.h List nội dung file dotmatrix.c List Bảng font List Chương trình demo Điều cần quan tâm kích thước bảng font, ví dụ bảng font xây dụng cho 223 symbol có mã ASCII từ 32 đến 255 (do mã ASCII trước 32 symbol tương ứng nên bỏ qua để tiết kiệm nhớ), symbol cần số bits, cần tổng cộng 1115 byte cho bảng font kích thước SRAM chip ATmega32 2KB (2048 byte) Nếu dùng SRAM chứa bảng font phí phạm bảng tĩnh, giá trị bảng hoàn toàn không thay đổi mà truy xuất đọc Vì tận dụng nhớ chương trình (Flash) để lưu bảng font Dòng List include header “pgmspace.h” để sử dụng thao tác nhớ chương trình Tiếp theo khai báo mảng tĩnh có tên font7x5 với kiểu liệu prog_char tức kiểu char chứa nhớ chương trình (Program memory) Giá trị chứa mảng font7x5 liệu bảng font, thực chất mảng font7x5 mảng chiều liên tục, việc tách nhiều dòng có mục đích giúp người đọc dễ hình dung truy cập giá trị mảng để xuất sau Bạn hiểu tổ hợp số tạo thành symbol hiển thị cho ma trận LED Dữ liệu bảng font xếp theo trình tự ASCII để tạo điều kiện thuận lợi truy xuất bảng font theo mã ASCII ký tự cần hiển thị Tuy nhiên cần ý bảng font bắt đầu cho symbol có mã ASCII 32 không mã ASCII 0, truy cận bảng font từ mã ASCII cần lấy mã ASCII trừ 32 để vị trí xác bảng Tiếp theo tìm hiểu chương trình chính, dòng list include file font.h để sử dụng bảng font chương trình Các dòng từ đến định nghĩa PORT kết nối với ma trận LED, PORTD Data bus PORTC control lines Chương trình void DOTputChar75(uint8_t chr) dòng 11 thủ tục đọc liệu từ bảng font hiển thị ma trận LED Tham số chr chương trình mã ASCII ký tự cần hiển thị ma trận LED Dòng 12 khai báo biến phụ, biến line chứa tín hiệu điều khiển cho đường Control Dòng 13 khai báo biến tạm tchr dùng chứa địa liệu cần lấy từ bảng font để xuất đường Data, mã ASCII số bit số lượng liệu bảng font lớn gấp lần số lương ký tự, cần khai báo biến tchr có kiểu liệu 16 bit Nội dung đoạn chương trình nằm vòng lặp for, biến i đại diện cho số thứ tự chân Control cho chạy từ đến 4, dòng 15 “CTRL_PORT=line;” xuất tín hiệu điều khiển CTRL_PORT tức chân C Do biến line khởi tạo nên lần lặp giá trị CTRL_PORT=0b00000001, tức chân C0 mức cao chân lại mức thấp, cột chọn Saukhi1cộtđãđượcchọn,dòng16“DATA_PORT=~pgm_read_byte(&font7x5[(( tchr - 32) * 5) + i]);” đọc xuất liệu từ bảng font chân Data Trước hết cách tính địa liệu bảng font Như trình bày phần giải thích cho bảng font, bảng ký tự có mã 32 nên cần trừ 32 để tham chiếu đến vị trí xác bảng font: tchr32 Ví dụ muốn hiển thị ký tự có mã chr = 48 (mã ký tự ‘0’), vị trí tổ hợp liệu tạo nên số ‘0’ chứa bảng font vị trí 16, giá trị tính 48-32=16 Tiếp theo, ký tự tạo thành từ số nên địa thực chất số tổ hợp (tchr-32)*5 Để di chuyển phạm vi liệu ứng với cột ma trận LED, biến i cộng dồn vào địa có: tchr - 32) * 5) + i Để đọc dữ liệu dạng byte từ nhớ chương trình, cần dùng hàm pgm_read_byte, hàm định nghĩa header pgmspace.h khai báo file font.h Như saiu thực “pgm_read_byte(&font7x5[((tchr - 32) * 5) + i])” thu liệu byte tương ứng với cột thứ i ký tự chr từ bảng font, việc cuối xuất giá trị DATA_PORT Tuy nhiên, trước xuất byte đọc DATA_PORT, cần đảo bit byte toán tử “~”, lý giải thích LED ma trận ví vụ có hàng nối với cực âm Cathode, để LED sáng giá trị cần cấp cho bit D tương ứng nghĩa ngược lại so với cách tạo bảng font (sáng 1) Chỉ thao tác đơn giản toán tử “~” chúng dễ dàng vượt qua trở ngại Trong trường hợp ma trận LED có hàng nối với cực dương Anode không cần đảo giá trị đọc Dòng 17 thực dịch chuyển giá trị biến line sang trái vị trí, việc làm có tác dụng chuẩn bị cho lần chân C kích Hàm delay dòng 18 giúp LED cột sáng khoảng thời gian trước chuyển qua cột khác Chương trình ví dụ thật đơn giản, trước hết cần khởi động hướng xuất nhập cho PORT sau gọi hàm DOTputChar75() vòng lặp vô tận while(1) Ở ví dụ trên, ký tự ‘4’ xuất kết hiển thị hình Chú ý hàm DOTputChar75() “quét” qua cột lượt, muốn hiển thị ký tự khoảng thời gian cần gọi hàm DOTputChar75() lặp lại khoảng thời gian III Ứng Dụng: Ma trận LED dùng nhiều ứng dụng hiển thị biển quảng cáo, hiển thị thay LCD chí dùng hiển thị video…

Ngày đăng: 11/06/2016, 19:41

Tài liệu cùng người dùng

Tài liệu liên quan