1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

kỹ thuật lập trình 8051 giao tiếp led matrix 8x32

13 70 0

Đ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 13
Dung lượng 868,99 KB

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

Nội dung

môn kỹ thuật lập trình cho vi điều khiển ít nhất sinh viên điện tử nào cũng phải có học qua cho nên hôm nay mình đưa tài liệu này cho các bạn tham khảo lập trình 8051 giao tiếp với led matrix trên phần mềm proteus và phần mềm keil C4 để lập trình, và môn này mình cũng đạt được 10 điểm trong kỳ thi cuối kỳ.

Trang 1

MỤC LỤC:

ĐỀ TÀI: SỬ DỤNG VI ĐIỀU KHIỂN 8051 GIAO TIẾP Trang

VÀ ĐIỀU KHIỂN HIỂN THỊ VỚI LED MATRIX 8x32

Lời nói đầu 2

Chương I: Phần Mở Đầu 3

1 Ý tưởng đưa ra đề tài 3

2 Lý thuyết cơ bản của lập trình vi xử lý và vi điều khiển 3

2.1 Vi xử lý là gì? 3

2.2 Vi điều khiển là gì? 3

3 Những linh kiện được sử dụng ở trong đề tài 3

Chương II: Phần Nội Dung Chính 5

1 Phân tích sơ qua về code 5

1.1 Chương trình 8051 giao tiếp với led matrix 5

1.2 Phân tích chương trình 8

2 Mô phỏng phần cứng trên phần mềm Proteus 11

Chương III: Kết Luận Nội Dung 14 Tài liệu tham khảo

Phiếu đánh giá tiểu luận

Trang 2

LỜI NÓI ĐẦU

Môn học Kỹ Thuật Lập Trình Cho Vi Xử Lý Và Vi Điều Khiển là môn khá quen thuộc của khối sinh sinh viên ngành điện tử

Nhưng vấn đề chính hôm nay tôi lại dùng kiến thức đã học nên đã viết ra đoạn chương trình sử dụng họ vi điều khiển 8051 giao tiếp và điển khiển hiển thị với LED MATRIX chạy dòng ký tự trên “ LÊ QUANG ĐOÀN ”

Mặc dù đã cố gắng trong quá trình viết, nhưng không thể tránh khỏi những sai sót Mong nhận được sự đóng góp ý kiến của thầy cô, để có thể hoàn thiện những bài sau này

Trang 3

CHƯƠNG I: PHẦN MỞ ĐẦU

1 Ý tưởng đưa ra đề tài

- Tôi tò mò rằng thấy các biển quảng cáo đèn led vì sao hoạt động ra chữ, nên sau khi được học môn kỹ thuật lập trình vi xử lí và vi điều khiển này thì tôi lại tự có thể viết

ra dòng led chạy trên bảng matrix tùy theo suy nghĩ của mình, nhưng đó là tên tôi

và kí tự ngành học, khóa học, trường

- Sử dụng vi điều khiển AT89C51 , IC biên dịch 74HC595, bảng LED MATRIX 8x32

- Nhưng thực tế thì sử dụng AT89S52 , IC 74HC595, LED MATRIX 8x32, Điện Trở, Transitor C1815, thạch anh 12Mhz để tạo dao động, tụ 33pF, 10 µF

2 Lý thuyết cơ bản của lập trình vi xử lý và vi điều khiển

2.1 Vi xử lý là gì?

- Vi xử lý (viết tắt là µP hay uP), đôi khi còn được gọi là bộ vi xử lý, là một linh kiện điện tử máy tính được chế tạo từ các transistor thu nhỏ tích hợp lên trên một vi mạch tích hợp đơn

2.2 Vi điều khiển là gì?

- Vi điều khiển là một máy tính được tích hợp trên một chip, nó thường được sử dụng

để điều khiển các thiết bị điện tử

3 Những linh kiện được sử dụng ở trong đề tài

- Sử dụng vi điều khiển AT89C51 có hình dưới đây

o Hình 1 là vi điều khiển AT89C51 dùng để điều khiển và giao tiếp các linh kiện khác hoặc cảm biến , AT89C51 còn gọi tắt là 8051 gồm có 40 dip và

có 32 cổng đầu ra để giao tiếp

o Hình 2 là IC 74HC595 còn được viết tắt là 74595 là dùng để mở rộng cổng

vi điều khiển với gồm có 3 bit đầu vào và có 8 bit đầu ra

Trang 4

o Hình 3 là một bảng led matrix 8x8 gồm có 64 led được mắc nối theo ma trận

8 hàng 8 cột lại với nhau

- Khi mô phỏng thì chỉ cần 3 linh kiện trên và viết code bằng ngôn ngữ C là được hoạt động bằng mô phỏng nhưng về thực tế thì sẽ cần nhiều linh kiện khác như là transistor, điện trở, tụ điện có những linh kiện đấy mạch thực tế mới hoạt động chính xác

Trang 5

CHƯƠNG II: NỘI DUNG CHÍNH

1 Phân tích sơ qua về code

1.1 Chương trình 8051 giao tiếp với led matrix

#include <REGX52.H>

#define SH P3_0

#define DS P3_1

#define ST P3_2

void delay(unsigned int time)

{

unsigned int x, y;

for(x = 0; x < time; x++) {

} }

unsigned char cot[]={0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};

unsigned char code hang[]={

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xFF,0xFF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF, //-

Trang 6

0xC3,0xBF,0x7F,0x7F,0xBF,0xC3,0xFF, //V

0xFF,0xFF,0x03,0xCF,0xB7,0x7B,0xFF, //K

0xFF,0x9F,0xAF,0xB7,0x1B,0xFF, //4

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

};

void dulieu(unsigned char x)

{

int i;

for(i = 0; i < 8; i++) {

// truyen du lieu vao DS;

// tao xung dich du lieu;

SH=0;

SH=1;

} //tao xung xuat du lieu ST=0;

ST=1;

}

void main()

{

int i,j,k;

while(1)

{

for(i=0;i<212;i++) /*

30,5 * 8 = 244 ma

n - X * 8;

n: tong so ky tu

Trang 7

X: so bang led matrix

*/

{

{

{ dulieu(hang[i+j+0]); // MA LED MATRIX 4 dulieu(hang[i+j+8]); // MA LED MATRIX 3 dulieu(hang[i+j+16]); // MA LED MATRIX 2 dulieu(hang[i+j+24]); // MA LED MATRIX 1

delay(1);

P1=0x00;

} }

} }

}

1.2 Phân tích chương trình

- Khai báo thư viện của con chip 8051

#include <REGX52.H>

- Khai báo chân IC mở rộng 74HC595

#define SH P3_0

#define DS P3_1

#define ST P3_2

- Khai báo hàm delay

void delay(unsigned int time)

{

unsigned int x, y;

for(x = 0; x < time; x++) {

for(y = 0; y < 123; y++);

} }

- Khai báo hàm mã hex, hàm cột và hàm hàng

- Hàm cột là dòng mã ‘1, 2, 4, 8, 16, 32, 64, 128’ và từ các dòng mã đó được đổi sang mã hex phía dưới

unsigned char cot[]={0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};

- Hàm hàng là các dòng ký tự và số ‘LÊ QUANG ĐOÀN ĐT-VT K43 ĐHKH’ và

từ đó các dòng ký tự và số trên đã được đổi sang mã hex phía dưới

unsigned char code hang[]={

Trang 8

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xFF,0xFF,0xFF,0xFF,0x03,0x7F,0x7F,0x7F, //L

0xFF,0xFF,0x07,0x55,0x56,0x55,0xFF,0xFF, //Ê

0xFF,0xFF,0x87,0x7B,0x7B,0x5B,0xBB,0x47, //Q

0xFF,0xFF,0x83,0x7F,0x7F,0x7F,0x7F,0x83, //U

0xFF,0xFF,0x07,0xDB,0xDB,0xDB,0x07,0xFF, //A

0xFF,0x03,0xF7,0xEF,0xDF,0xBF,0x03,0xFF, //N

0xFF,0x87,0x7B,0x7B,0x5B,0x97,0xFF,0xFF, //G

0xFF,0xFF,0xCF,0x03,0x4B,0x7B,0x7B,0x87, //Đ

0xFF,0xFF,0x87,0x7B,0x7B,0x7B,0x87,0xFF, //O

0xFF,0x07,0xDB,0xDB,0xDA,0x05,0xFB,0xFF, //À

0xFF,0x03,0xF7,0xEF,0xDF,0xBF,0x03,0xFF, //N

0xFF,0xFF,0xFF,0xCF,0x03,0x4B,0x7B,0x7B, //Đ

0x87,0xFF,0xFF,0xFB,0xFB,0x03,0xFB,0xFB, //T

0xFF,0xFF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF, //-

0xC3,0xBF,0x7F,0x7F,0xBF,0xC3,0xFF, //V

0xFF,0xFB,0xFB,0x03,0xFB,0xFB,0xFF,0xFF, //T

0xFF,0xFF,0x03,0xCF,0xB7,0x7B,0xFF, //K

Trang 9

0xFF,0x9F,0xAF,0xB7,0x1B,0xFF, //4

0xFF,0xBB,0x6B,0x6B,0x6B,0x93,0xFF,0xFF, //3

0xFF,0xFF,0xCF,0x03,0x4B,0x7B,0x7B,0x87, //Đ

0xFF,0xFF,0x03,0xCF,0xCF,0xCF,0x03,0xFF, //H

0xFF,0xFF,0x03,0xCF,0xB7,0x7B,0xFF, //K

0xFF,0x03,0xCF,0xCF,0xCF,0x03,0xFF,0xFF, //H

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

};

- Khai báo hàm dữ liệu để biên dịch IC mở rộng 74HC595

void dulieu(unsigned char x)

{

int i;

for(i = 0; i < 8; i++) {

// truyen du lieu vao DS;

DS=x&(0x80>>i); //lay bit cao nhat truoc

// tao xung dich du lieu;

SH=0;

SH=1;

} //tao xung xuat du lieu ST=0;

ST=1;

}

- Khai báo hàm vòng lặp để LED MATRIX 8x32 và sử dụng vài phép tính về toán

ma trận cho led

void main()

Trang 10

{

int i,j,k;

while(1)

{

for(i=0;i<212;i++) /*

30,5 * 8 = 244 ma

n - X * 8;

n: tong so ky tu

X: so bang led matrix

*/

{

for(k=0;k<5;k++) // vong lap tao tre {

for(j=0;j<8;j++) // quet tu cot 1 den cot 8

{ dulieu(hang[i+j+0]); // MA LED MATRIX 4 dulieu(hang[i+j+8]); // MA LED MATRIX 3 dulieu(hang[i+j+16]); // MA LED MATRIX 2 dulieu(hang[i+j+24]); // MA LED MATRIX 1 P1=cot[j]; // MA COT

delay(1);

P1=0x00;

} }

} }

}

2 Mô phỏng phần cứng trên phần mềm Proteus

Trang 11

Hình 2.1: Ký Tự LÊ QUANG

‘do led matrix 8x32 phần thiếu nên không thể ghi ra ở hình đầy đủ.’

Hình 2.2: Ký Tự ĐOÀN

Trang 12

Hình 2.3: Ký Tự ĐHKH

Trang 13

CHƯƠNG III: KẾT LUẬN NỘI DUNG

1 Phân tích ý tưởng viết code về LED MATRIX 8x32 sử dụng vi điều khiển 8051

2 Đề cập qua lý thuyết sơ lược nói về vi xử lý và vi điều khiển

3 Phân tích chương trình được viết ra và các lệnh hàm

4 Mô phỏng vi điều khiển 8051 nối với IC 74HC595 và điều khiển ra LED MATRIX 8x32 trên phần mềm Proteus

5 Có thể làm ra sản phẩm thực tế với bằng những kiến thức trên

Ngày đăng: 09/01/2022, 22:33

HÌNH ẢNH LIÊN QUAN

- Sử dụng vi điều khiển AT89C5 1, IC biên dịch 74HC595, bảng LED MATRIX 8x32. - Nhưng thực tế thì sử dụng AT89S52 , IC 74HC595, LED MATRIX 8x32, Điện Trở,  - kỹ thuật lập trình 8051 giao tiếp led matrix 8x32
d ụng vi điều khiển AT89C5 1, IC biên dịch 74HC595, bảng LED MATRIX 8x32. - Nhưng thực tế thì sử dụng AT89S52 , IC 74HC595, LED MATRIX 8x32, Điện Trở, (Trang 3)
Hình 2.1: Ký Tự LÊ QUANG - kỹ thuật lập trình 8051 giao tiếp led matrix 8x32
Hình 2.1 Ký Tự LÊ QUANG (Trang 11)
‘do led matrix 8x32 phần thiếu nên không thể ghi ra ở hình đầy đủ.’ - kỹ thuật lập trình 8051 giao tiếp led matrix 8x32
do led matrix 8x32 phần thiếu nên không thể ghi ra ở hình đầy đủ.’ (Trang 11)
Hình 2.3: Ký Tự ĐHKH - kỹ thuật lập trình 8051 giao tiếp led matrix 8x32
Hình 2.3 Ký Tự ĐHKH (Trang 12)
Hình 2.4: Ký Tự ĐT-VT - kỹ thuật lập trình 8051 giao tiếp led matrix 8x32
Hình 2.4 Ký Tự ĐT-VT (Trang 12)

TỪ KHÓA LIÊN QUAN

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

w