Báo cáo project– thiết kế hệ thống nhúng led matrix 8x32 running text

16 1.3K 2
Báo cáo project– thiết kế hệ thống nhúng led matrix 8x32 running text

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo project– thiết kế hệ thống nhúng led matrix 8x32 running text

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BÁO CÁO PROJECT – THIẾT KẾ HỆ THỐNG NHÚNG LED MATRIX 8X32 RUNNING TEXT GIẢNG VIÊN HƯỚNG DẪN: TRƯƠNG QUANG VINH Nhóm TP.HCM Ngày 22/4/2014 Trang MỤC LỤC I – Phân chia công việc nhóm Trang 03 II - Đặc tả hệ thống 12345- Product Specification Trang 03 Engineering Specification Trang 03 Hardware Specification Trang 04 Software Specifacation .Trang 04 Test Specification Trang 04 III – Thiết kế phần cứng 123- Sơ đồ khối hệ thống .Trang 05 Sơ đồ nguyên lý Trang 06 Linh kiện .Trang 07 IV – Thiết kế phần mềm 12- Sơ đồ giải thuật .Trang 11 Code CCS Trang 12 I – Phân chia công việc nhóm Trang 123- Lê Khánh Hưng Viết code phần mềm cho hệ thống Mô test hệ thống Làm báo cáo Phạm Tuyển Vẽ mạch, sơ đồ nguyên lý Hoàn thiện layout Đặc tả hệ thống Chuẩn bị slide thuyết trình Nguyễn Linh Sơn Tìm hiểu nguyên lý hoạt động Thi công phần cứng II - Đặc tả hệ thống 1- 2- 3- Product Specification Hệ thống dùng để làm tầm biển quảng cáo, biển dẫn User interface: Led matrix 8x32 Constraints: • Ổn định • Công suất thấp, hiệu • Giá rẻ, áp dụng thực tế cho đời thường Engineering Specification Hệ thống dùng PIC16F877A (20MHz), Matrix led 8x32 (4 LED 8x8), IC ghi dịch 74H595, IC đệm dòngULN2830 Yêu cầu: • Chạy chữ ma trận led 8x32 • Real-time Hardware Specification Port B (8-bit) 16F877a xuất data hàng LED Trang - Port C (C4, C5, C6) điều khiển nhập xuất cho 74H595 Đầu 74H595 nối với ULN2830 để đệm dòng trước nối vào cột Matrix Led 4- Software Specifacation - Hàm / thư viện #include void HC595(int8 column) int8 Str_length(char str[]) void Output_Buffer(int8 *Buffer) void Shift_Buffer(int8 *Buffer) Void main() 5- Test Specification Test hàng cột led (kiểm tra hoạt động ma trận led) Test timing, thời gian để dòng chữ xuất III – Thiết kế phần cứng 1- Đặc tả Bảng mã hex ký tự Điều khiển 74H595 Lấy độ dài chuỗi ký tự Xuất Buffer Matrix Led Dịch Buffer sang phải Chương trình Sơ đồ khối hệ thống Trang - Khối nguồn: tạo điện áp chiều 5V ổn định từ nguồn xoay chiều 220V để cung cấp cho khối linh kiện hệ thống - Khối xử lý trung tâm: tạo tín hiệu điều khiển khối điều khiển xuất data khối hiển thị • PIC16F877A thạch anh 20MHz - Khối điều khiển LED ma trân: nhận tín hiệu từ khối giải mã trung tâm, giải mã, cung cấp nguồn ổn định đủ lớn để chuyển qua khối hiển thị • IC ghi dịch 74HC595 • IC đệm dòng ULN2830 - Khối hiển thị: nhận tín hiệu từ khối xử lý trung tâm khối điều khiển LED ma trận để hiển thị kí tự theo chương trình khối xử lý trung tâm • Dùng Maxtrix LED 8x32 (Common Anode) • Các hàng (H1-H8) nối chung • Các cột tách riêng nối vào Module điều khiển Trang 2- Sơ đồ nguyên lý 3- Linh kiện a Vi điều khiển PIC16F877A PIC 16F877A loại vi điều khiển 8-bit tầm trung hãng microchip PIC 16F877A có kiến trúc Havard, sử dụng tập lệnh kiểu RISC (Reduced Instruction Set Computer) với 35 lệnh - Trang - Tất lệnh thực chu kì lệnh ngoại trừ lệnh rẽ nhánh Sơ đồ chân với chip loại cắm 40 chân: Trang Các chức bản: - IC 74HC595 Là IC ghi dịch 8-bit kết hợp chốt liệu, đầu vào nối tiếp đầu song song Chức năng: Thường dùng mạch quét led 7, led matrix để tiết kiệm số chân VĐK tối đa (3 chân) Có thể mở rộng số chân b - Trang - - VĐK tùy thích mà không IC làm việc mắc nối tiếp đầu vào liệu IC với Cách mở rộng ta việc nối Q7' IC trước với chân DATA (chân 14) IC sau, với IC nhận liệu từ VĐK Giải thích ý nghĩa hoạt động số chân quan trọng: • Chân 14 (input): Đầu vào liệu nối tiếp Tại thời điểm xung clock đưa vào bit • Chân Q0-Q7 (output): Đầu chân (15,1,2,3,4,5,6,7) Xuất liệu chân chân 13 tích cực mức thấp có xung tích cực sườn âm chân chốt 12 • Chân 13 (output-enable): Chân cho phép tích cực mức thấp Khi mức cao, tất đầu 74HC595 trở trạng thái cao trở, đầu cho phép Trang • • • • Chân (SQH): Chân liệu nối tiếp Nếu dùng nhiều 74HC595 mắc nối tiếp chân đưa vào đầu vào dịch đủ 8-bit Chân 11 (Shift clock): Chân vào xung clock Khi có xung clock tích cực sườn dương (từ lên 1) 1-bit dịch vào IC Chân 12 (Latch clock): Xung clock chốt liệu Khi có xung clock tích cực sườn dương cho phép xuất liệu chân output Lưu ý xuất liệu lúc nào,ví dụ đầu vào chân 14 bit có xung clock chân 12 liệu chân Q0 Q1 (chiều dịch liệu từ Q0-Q7) Chân 10 (Reset): Khi chân mức thấp (mức 0) liệu bị xóa chip) Trang 10 III – Thiết kế phần mềm 1- Sơ đồ giải thuật Trang 11 2- Code CCS Trang 12 a b Khai báo thư viện biến //============================================================================== // Ten chuong trinh : Maxtrix LED Running Text // Ham dieu khien IC 74HC595 set dung bit cua cot can hien thi // Nguoi thuc hien : Khanh Hung - Pham Tuyen - Linh Son // Chu y data bi dao bit qua IC ULN2803 // Ngay thuc hien : 26/04/2014 void HC595(int8 column) // Mo ta phan cung : PIC16F877A - thach anh 20MHz { // PortB dung de dieu khien hang int8 i; // PortC dung de dieu khien cot for (i = 0; i < 32; i++) // IC dich bit 74HC595 { // IC dem dong ULN2803 if (i == column) //============================================================================== data = 0; // Chi set dung cot can hien thi, cac cot khac bang #include else #use delay(clock=20000000) data = 1; #include // Bang ma hex cua cac ky tu clock = 1; clock = 0; // Tao xung clock tai PIN_C5 } #byte TRIS_B = 0x86 // Dinh nghia ghi Tris B latch = 1; latch = 0; // Tao xung latch tai PIN_C6 #byte TRIS_C = 0x87 // Dinh nghia ghi Tris C } #bit data = 0x07.4 // data = PIN_C4 #bit clock = 0x07.5 // clock = PIN_C5 #bit latch = 0x07.6 // latch = PIN_C6 unsigned char My_string[] = "Le Khanh Hung 2014"; // Chuoi can chay Hàm điều khiển nhập xuất data cho 74HC595 Trang 13 c Hàm lấy độ dài chuỗi d // Ham lay dai mot chuoi int8 Str_length(char //Ham xuat Buffer rastr[]) Matrix Led {void Output_Buffer(int8 *Buffer) { int8 length = 0; while int8 i;((str[length]) != '\0') length++; for (i = 0; i < 32; i++) // Quet lan luot 32 cot return length; { } HC595(i); // Set cot i len output_B(Buffer[i]); // Xuat ma hex cua Buffer[i] tuong ung len cot i delay_ms(1); output_B(0xFF); // Tat cot i truoc set cot i + de tranh bi double column delay_us(10); } delay_ms(13); } Hàm xuất Buffer Led e Hàm dịch Buffer sang trái //Ham dich Buffer qua trai don vi (chu chay tu phai qua trai) void Shift_Buffer(int8 *Buffer) { int8 i; for (i = 31; i > 0; i ) { Buffer[i] = Buffer[i - 1]; Buffer[i - 1] = 0xFF; } } Trang 14 f Chương trình //Chuong trinh chinh void main() { int8 Buffer[32]; // Mang chua ma hex can hien thi int8 i, k, L; while(1) { TRIS_B = 0x00; TRIS_C = 0x00; // Khai bao Output cho PortB va PortC L = Str_length(My_string); // L la so ky tu cua chuoi // Khoi tao Buffer for (i = 0; i < 32 ; i++) Buffer[i] = 0xFF; // Vong lap lan luot quet het ma hex cua tung ky tu dua vao Buffer va hien thi LED for (k = 0; k < L; k++) // k la ky tu dang xet (k = -> L-1) { for (i = 0; i < 5; i++) // i la ma hex thu i cua ky tu k (i = -> 4) { Shift_Buffer(&Buffer); // Dich Buffer sang phai don vi Buffer[0] = Font [My_string[k] - 32] [i]; // Lay ma hex can hien thi tiep theo dua vao Buffer[0] Output_Buffer(&Buffer); // Xuat Buffer LED } Shift_Buffer(&Buffer); // Tao mot khoang cach giua ky tu Output_Buffer(&Buffer); } Trang 15 // Sau lay het ky tu chuoi tiep tuc dich phai them 31 lan de chu chay het man hinh for (i = 0; i < 31; i++) { Shift_Buffer(&Buffer); Output_Buffer(&Buffer); } } } Trang 16 [...]...III – Thiết kế phần mềm 1- Sơ đồ giải thuật Trang 11 2- Code CCS Trang 12 a b Khai báo thư viện và các biến //============================================================================== // Ten chuong trinh : Maxtrix LED Running Text // Ham dieu khien IC 74HC595 set dung bit cua cot can hien thi // Nguoi thuc hien :... "Le Khanh Hung 2014"; // Chuoi can chay Hàm điều khiển nhập và xuất data cho 74HC595 Trang 13 c Hàm lấy độ dài 1 chuỗi d // Ham lay do dai mot chuoi int8 Str_length(char //Ham xuat Buffer rastr[]) Matrix Led {void Output_Buffer(int8 *Buffer) { int8 length = 0; while int8 i;((str[length]) != '\0') length++; for (i = 0; i < 32; i++) // Quet lan luot 32 cot return length; { } HC595(i); // Set cot i len... tu dua vao Buffer va hien thi ra LED for (k = 0; k < L; k++) // k la ky tu dang xet (k = 0 -> L-1) { for (i = 0; i < 5; i++) // i la ma hex thu i cua ky tu k (i = 0 -> 4) { Shift_Buffer(&Buffer); // Dich Buffer sang phai 1 don vi Buffer[0] = Font [My_string[k] - 32] [i]; // Lay ma hex can hien thi tiep theo dua vao Buffer[0] Output_Buffer(&Buffer); // Xuat Buffer ra LED } Shift_Buffer(&Buffer); // Tao... output_B(Buffer[i]); // Xuat ma hex cua Buffer[i] tuong ung len cot i delay_ms(1); output_B(0xFF); // Tat cot i truoc khi set cot i + 1 de tranh bi double column delay_us(10); } delay_ms(13); } Hàm xuất Buffer ra Led e Hàm dịch Buffer sang trái //Ham dich Buffer qua trai 1 don vi (chu chay tu phai qua trai) void Shift_Buffer(int8 *Buffer) { int8 i; for (i = 31; i > 0; i ) { Buffer[i] = Buffer[i - 1]; Buffer[i - ... Trang 12 I – Phân chia công việc nhóm Trang 123- Lê Khánh Hưng Viết code phần mềm cho hệ thống Mô test hệ thống Làm báo cáo Phạm Tuyển Vẽ mạch, sơ đồ nguyên lý Hoàn thiện layout Đặc tả hệ thống Chuẩn... Specification Trang 04 III – Thiết kế phần cứng 123- Sơ đồ khối hệ thống .Trang 05 Sơ đồ nguyên lý Trang 06 Linh kiện .Trang 07 IV – Thiết kế phần mềm 12- Sơ đồ giải thuật... hoạt động Thi công phần cứng II - Đặc tả hệ thống 1- 2- 3- Product Specification Hệ thống dùng để làm tầm biển quảng cáo, biển dẫn User interface: Led matrix 8x32 Constraints: • Ổn định • Công suất

Ngày đăng: 31/03/2016, 11:35

Từ khóa liên quan

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

Tài liệu liên quan