1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

16 1,3K 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 545,24 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

ĐẠ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 3

TP.HCM Ngày 22/4/2014

Trang 2

MỤC LỤC

I – Phân chia công việc trong nhóm Trang 03

II - Đặc tả hệ thống.

1- Product Specification Trang 03

2- Engineering Specification Trang 03

3- Hardware Specification Trang 04

4- Software Specifacation Trang 04

5- Test Specification Trang 04 III – Thiết kế phần cứng.

1- Sơ đồ khối của hệ thống Trang 05

2- Sơ đồ nguyên lý Trang 06

3- Linh kiện Trang 07

IV – Thiết kế phần mềm.

1- Sơ đồ giải thuật Trang 11

2- Code CCS Trang 12

Trang 3

I – Phân chia công việc trong nhóm.

1- Lê Khánh Hưng.

- Viết code phần mềm cho hệ thống.

- Mô phỏng và test hệ thống.

- Làm báo cáo.

2- 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.

3- 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- Product Specification.

- Hệ thống dùng để làm các tầm biển quảng cáo, biển chỉ dẫn.

- User interface: Led matrix 8x32.

- Constraints:

 Ổn định.

 Công suất thấp, hiệu năng ít.

 Giá rẻ, áp dụng thực tế cho đời thường.

2- Engineering Specification.

- Hệ thống dùng PIC16F877A (20MHz), Matrix led 8x32 (4 LED 8x8), 4 IC ghi dịch 74H595, 4 IC đệm dòngULN2830.

- Yêu cầu:

Trang 4

 Chạy chữ trên ma trận led 8x32.

 Real-time.

3- Hardware Specification.

- Port B (8-bit) của 16F877a xuất data ra 8 hàng của 4 con LED.

- Port C (C4, C5, C6) điều khiển nhập và xuất cho 74H595.

- Đầu ra của 74H595 được nối với ULN2830 để đệm dòng trước khi nối vào các cột của Matrix Led.

4- Software Specifacation.

#include <font5x7.h> Bảng mã hex của các ký tự void HC595(int8 column) Điều khiển 74H595

int8 Str_length(char str[]) Lấy độ dài một chuỗi ký tự void Output_Buffer(int8 *Buffer) Xuất Buffer ra Matrix Led void Shift_Buffer(int8 *Buffer) Dịch Buffer sang phải

Void main() Chương trình chính

5- Test Specification.

- Test hàng cột led (kiểm tra hoạt động của ma trận led).

- Test timing, thời gian để dòng chữ xuất hiện.

III – Thiết kế phần cứng.

Trang 5

1- Sơ đồ khối của hệ thống.

- Khối nguồn: tạo ra điện áp 1 chiều 5V ổn định từ nguồn xoay

chiều 220V để cung cấp cho các khối và linh kiện trong hệ thống.

- Khối xử lý trung tâm: tạo ra tín hiệu điều khiển khối điều khiển

và xuất data ra 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 và đủ 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 và khối điều

khiển LED ma trận để hiển thị các kí tự theo chương trình trong khối xử lý trung tâm.

 Dùng Maxtrix LED 8x32 (Common Anode).

Trang 6

 Các hàng (H1-H8) được nối chung

 Các cột được tách riêng nối vào Module điều khiển.

2- Sơ đồ nguyên lý.

3- Linh kiện.

a Vi điều khiển PIC16F877A.

- PIC 16F877A là loại vi điều khiển 8-bit tầm trung của hãng microchip.

Trang 7

- PIC 16F877A có kiến trúc Havard, sử dụng tập lệnh kiểu RISC (Reduced Instruction Set Computer) với chỉ 35 lệnh cơ bản.

- Tất cả các lệnh được thực hiện trong một chu kì lệnh ngoại trừ các lệnh rẽ nhánh.

- Sơ đồ chân với chip loại cắm 40 chân:

Trang 8

- Các chức năng cơ bản:

b IC 74HC595.

- Là IC ghi dịch 8-bit kết hợp chốt dữ liệu, đầu vào nối tiếp đầu ra song song.

- Chức năng: Thường dùng trong các 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 VĐK bao nhiêu tùy thích mà không IC nào có thể làm được bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau.

Trang 9

- Cách mở rộng ta chỉ việc nối Q7' của IC trước với chân DATA (chân 14) của IC sau, với IC đầu tiên nhận dữ liệu từ VĐK.

- Giải thích ý nghĩa hoạt động của một số chân quan trọng:

 Chân 14 (input): Đầu vào dữ liệu nối tiếp Tại 1 thời điểm xung clock chỉ đưa vào được 1 bit.

 Chân Q0-Q7 (output): Đầu ra trên các chân (15,1,2,3,4,5,6,7) Xuất dữ liệu khi chân chân 13 tích cực ở mức thấp và có một xung tích cực ở sườn âm tại 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 cả các đầu ra của 74HC595 trở về trạng thái cao trở, không có đầu ra nào được cho phép.

 Chân 9 (SQH): Chân dữ liệu nối tiếp Nếu dùng nhiều 74HC595 mắc nối tiếp nhau thì chân này đưa vào đầu vào của con tiếp theo khi đã dịch đủ 8-bit.

Trang 10

 Chân 11 (Shift clock): Chân vào xung clock Khi có 1 xung clock tích cực ở sườn dương (từ 0 lên 1) thì 1-bit được dịch vào IC.

 Chân 12 (Latch clock): Xung clock chốt dữ liệu Khi có 1 xung clock tích cực ở sườn dương thì cho phép xuất dữ liệu trên các chân output Lưu ý có thể xuất dữ liệu bất kỳ lúc nào,ví dụ đầu vào chân 14 được 2 bit khi có xung clock ở chân 12 thì dữ liệu sẽ ra ở chân Q0 và Q1 (chiều dịch dữ liệu

từ Q0-Q7).

 Chân 10 (Reset): Khi chân này ở mức thấp (mức 0) thì dữ liệu sẽ bị xóa trên chip).

Trang 11

III – Thiết kế phần mềm.

1- Sơ đồ giải thuật.

Trang 12

2- Code CCS.

a Khai báo thư viện và các biến.

//============================================================================== // Ten chuong trinh : Maxtrix LED Running Text

// Nguoi thuc hien : Khanh Hung - Pham Tuyen - Linh Son

// Ngay thuc hien : 26/04/2014

// Mo ta phan cung : PIC16F877A - thach anh 20MHz

// PortB dung de dieu khien hang

// PortC dung de dieu khien cot

// IC dich bit 74HC595

// IC dem dong ULN2803

//==============================================================================

#include <16F877A.h>

#use delay(clock=20000000)

#include <font5x7.h> // Bang ma hex cua cac ky tu

#byte TRIS_B = 0x86 // Dinh nghia thanh ghi Tris B

#byte TRIS_C = 0x87 // Dinh nghia thanh 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

Trang 13

b Hàm điều khiển nhập và xuất data cho 74HC595.

c Hàm lấy độ dài 1 chuỗi.

// Ham dieu khien IC 74HC595 set dung bit cua cot can hien thi

// Chu y data bi dao bit khi qua IC ULN2803

void HC595(int8 column)

{

int8 i;

for (i = 0; i < 32; i++)

{

if (i == column)

data = 0; // Chi set 1 dung cot can hien thi, cac cot khac bang 0

else

data = 1;

clock = 1; clock = 0; // Tao xung clock tai PIN_C5

}

latch = 1; latch = 0; // Tao xung latch tai PIN_C6

}

// Ham lay do dai mot chuoi

int8 Str_length(char str[])

{

int8 length = 0;

while ((str[length]) != '\0')

length++;

return length;

}

Trang 14

d Hàm xuất Buffer ra Led.

e Hàm dịch Buffer sang trái.

//Ham xuat Buffer ra Matrix Led

void Output_Buffer(int8 *Buffer)

{

int8 i;

for (i = 0; i < 32; i++) // Quet lan luot 32 cot

{

HC595(i); // Set cot i len 1

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);

}

//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 - 1] = 0xFF;

}

}

Trang 15

f Chương trình chí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 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 mot khoang cach giua 2 ky tu

Output_Buffer(&Buffer);

}

Trang 16

// Sau khi lay het ky tu trong 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);

}

}

}

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

HÌNH ẢNH LIÊN QUAN

1- Sơ đồ khối của hệ thống. - Báo cáo project– thiết kế hệ thống nhúng led matrix 8x32 running text
1 Sơ đồ khối của hệ thống (Trang 5)
2- Sơ đồ nguyên lý. - Báo cáo project– thiết kế hệ thống nhúng led matrix 8x32 running text
2 Sơ đồ nguyên lý (Trang 6)
1- Sơ đồ giải thuật. - Báo cáo project– thiết kế hệ thống nhúng led matrix 8x32 running text
1 Sơ đồ giải thuật (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w