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

Ứng dụng vi điều khiển 89C52 thiết kế hiển thị bảng đèn led quảng cáo

41 905 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 41
Dung lượng 623 KB

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

Nội dung

Hiện nay nước ta đang trong thời kì công nghiệp hóa hiện đại hoa nên nhu cầu về thông tin cuộc sống hằng ngày cũng như các hoạt động chính trị, kinh tế , văn hóa …là rất cần thiết. Để đáp ứng nhu cầu trên thì một hình thức quảng cáo mới ra đời.Đó chính là hình thưc quảng cáo bằng “ bảng đèn quang báo” nhờ ứng dụng của vi điều khiển. Bảng đèn quang báo gồm nhiều ma trận led ghép lại với nhau. Mỗi ma trận led hiển thị một kí tự. Tùy theo chiều dài bảng đèn mà ta hiển thị những bảng tin có độ dài ngắn khác nhau. Các chữ trong bảng tin sẽ được hiển thị lần lượt từ trái qua phải cho tới khi nào đến kí tự cuối cùng thì nó sẽ lặp lại từ đầu và quá trình đó được lặp lại mãi. Thấy được tầm quan trọng của Vi Điều Khiển nên chúng em có tìm hiểu đề tài “Ứng dụng vi điều khiển 89C52 thiết kế hiển thị bảng đèn led quảng cáo”. Đề tài của chúng em gồm 3 phần: Phần I: Cơ sở lý thuyết. Phần II: Nội dung thiết kế. Phần III: Ưu nhược điểm. Trong quá trình thực hiện đề tài do lượng kiến thức còn hạn chế nên chúng em không tránh khỏi những thiếu sót. Chúng em rất mong thầy cô đóng góp ý kiến để chúng em có thể ứng dụng đề tài vào thực tế.

Trang 1

Lời nói đầu

Hiện nay nước ta đang trong thời kì công nghiệp hóa hiện đại hoa nên nhu cầu

về thông tin cuộc sống hằng ngày cũng như các hoạt động chính trị, kinh tế , vănhóa …là rất cần thiết

Để đáp ứng nhu cầu trên thì một hình thức quảng cáo mới ra đời.Đó chính làhình thưc quảng cáo bằng “ bảng đèn quang báo” nhờ ứng dụng của vi điều khiển.Bảng đèn quang báo gồm nhiều ma trận led ghép lại với nhau Mỗi ma trậnled hiển thị một kí tự Tùy theo chiều dài bảng đèn mà ta hiển thị những bảng tin có

độ dài ngắn khác nhau Các chữ trong bảng tin sẽ được hiển thị lần lượt từ trái quaphải cho tới khi nào đến kí tự cuối cùng thì nó sẽ lặp lại từ đầu và quá trình đóđược lặp lại mãi

Thấy được tầm quan trọng của Vi Điều Khiển nên chúng em có tìm hiểu đềtài “Ứng dụng vi điều khiển 89C52 thiết kế hiển thị bảng đèn led quảng cáo”

Đề tài của chúng em gồm 3 phần:

Phần I: Cơ sở lý thuyết.

Phần II: Nội dung thiết kế.

Phần III: Ưu nhược điểm.

Trang 2

Trong quá trình thực hiện đề tài do lượng kiến thức còn hạn chế nên chúng emkhông tránh khỏi những thiếu sót Chúng em rất mong thầy cô đóng góp ý kiến đểchúng em có thể ứng dụng đề tài vào thực tế.

Phần I: Cơ sở lý thyết.

Trang 3

1.1 Giới thiệu chung về AT89S52.

Dựa trên nguyên tắc quét ảnh màn hình ta có thể thực hiện việc hiển thị các kí

tự trên ma trận led bằng cách quét theo hang và quét theo cột Mỗi led trên ma trậnled được coi là một điểm ảnh Địa chỉ của mỗi điểm ảnh này được xác định đồngthời bởi mạch giải mã hàng và giải mã cột Trạng thái của các điểm ảnh được xácđịnh nhờ dữ liệu đưa ra từ bộ vi điều khiển AT89S52

AT89S52 có 8 kb Flash ROM trên chip, khi chân /EA đặt ở mức logic cao(+5v) thì VĐK sẽ thực hiện chương trình bộ nhớ trong Khi /EA đặt ở mức logicthấp ( 0v) thì VDK thực hiện chương trình ở bộ nhớ ngoài , AT89S52 có 256 bytesRAM nội, 32 bytes thấp của bộ nhớ nội dùng cho các thanh ghi, 128 bit có chứacác byte định địa chỉ theo bit từ 20H đến 2FH

AT89S52 có chứa 3 bộ đếm /định thời (timer/counter) 16 bit được dùng choviệc định thời hoặc đếm sự kiện

AT89S52 chứa 1 port nối tiếp phục vụ cho việc trao đổi thông tin với các thiết

bị có khả năng giao tiếp nối tiếp như máy tính( qua cổng COM)…

AT89S52 có chứa 6 nguồn ngắt, 2 mức ưu tiên,1 bộ giao động trên chip, nóthường được nối với bộ giao động thạch anh có tần số lớn nhất là 33MHz, thôngthường là 12 MHz

Trang 4

AT89S52 dùng nguồn 1 chiều có dải điện áp từ 4v -5,5v được cấp qua chân

40 và chân 20

1.2 Sơ đồ khối và chức năng các khối của 8052.

Trang 5

Bộ vi điều khiển AT89S52 gồm các khối chức năng sau đây:

+ CPU( Central Processing unit ) bao gồm:

- Thanh ghi tích lũy A

- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia

- Đơn vị logic học ALU( Arithmetic Logical Unit)

Trang 6

- Thanh ghi từ trạng thái chương trình ( PSW: Program Sttatus Worl)

- Bốn băng thanh ghi

- Con trỏ ngăn xếp

+ Bộ nhớ chương trình( bộ nhớ ROM) gồm 8 Kb Flash.

+ Bộ nhớ dữ liệu ( Bộ nhớ RAM ) gồm 256 Bytes.

Bộ UART ( Universal Ansynchrous Receiver and Transmitter) có chức năngtruyền nhận nối tiếp, AT89S52 có thể giao tiếp với cổng nối tiếp của máytính thông qua bộ UART

+ Ba bộ timer/count 16 bit: thực hiện các chức năng định thời và đếm sự kiện + WDM ( Watch Dog Timer ) : được dùng để phục hồi lại hoạt động của CPU khi

nó bị treo bởi một nguyên nhân nào đó

+ Khối diều khiển ngắt : với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.

+ Bộ lập trình ( ghi chương trình lên flash ROM ): cho phép người sử dụng có

thể nạp chương trình cho chip mà không cần bộ nạp chuyên dụng

+ Bộ chia tần: với hệ số chia là 12.

+ Bốn cổng xuất nhập: với 32 chân.

Trang 7

1.3 Sơ đồ chân và chứa năng các chân của AT89S52.

Trang 8

1.3.1 Port 0( P0.0-P0.7).

Trang 9

Port 0 gồm 8 chân , ngoài chức năng xuất nhập Port 0 còn là bus đa hợp dữliệu và địa chỉ ( AD0- AD7) , chức năng này sẽ được sử dụng khi 8051 giao tiếpvới thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch PIO…

1.3.2 Port 1( P1.0-P1.7).

Trang 10

Đối với 8051, chức năng duy nhất của Port 1 là chức năng xuất nhập, cũngnhư các Port khác Port 1 có thể xuất nhập theo bit và theo byte.

Riêng dòng 89xx, ba chân P1.5,P1.6,P1.7 được dung để nạp ROM theo chuẩnISP; hai chân P1.0 và P1.1 được dùng cho bộ timer

1.3.3 Port 2( P2.0-P2.7).

Port2

Trang 11

ngoài chức năng là cổng vào / ra nhủ Port 0 và Port 1 còn là byte cao của bus địachỉ khi sử dụng bộ nhớ ngoài.

1.3.4 Port 3( P3.0-P3.7).

MỗichântrênPort3

ngoài chức năng xuất nhập còn có một chức năng riêng cụ thể như sau:

Chức năng

Dữ liệu nhận cho Port nối tiếp

Dữ liệu truyền cho Port nối tiếp

Ngắt bên ngoài 0

Ngắt bên ngoài 1

Ngõ vào của Timer/count 0

Trang 12

P3.0

P3.0

T1/WR/RD

Ngõ vào của Timer/count 1

Xung ghi bộ nhớ dữ liệu ngoài

Xung đọc bộ nhớ dữ liệu ngoài

1.3.5 Chân /PSEN( Program Store Enable)

/PSEN là chân điều khiển đọc chương trình bộ nhớ ngoài, nó được nối vớichân /OE để cho phép đọc các byte mã lệnh trên ROM ngoài /PSEN sẽ ở mức thấptrong thời gian đọc mã lệnh Mã lệnh được đọc từ bộ nhớ ngoài qua bus dữ liệu(Port 0) thanh ghi lệnh để được giải mã

Khi thực hiện chương trình trong ROM nội thi /PSEN ở mức cao

1.3.6 Chân ALE ( Address Latch Emable).

ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của

vi điều khiển Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như

74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ /dữ liệu( Port0)

Trang 13

1.3.7 Chân /EA( External Access).

Tín hiệu /AE cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài viđiều khiển Nếu /AE ở mức cao( nối với Vcc) thì vi điều khiển thi hành trong ROMnội Nếu /AE ở mức thấp( nối với GND ) thì vi điều khiển thục hiện chương trình

từ bộ nhớ ngoài

1.3.8 RST( Reset).

Ngõ vào RST trên chân 9 là ngõ reset của 8051 Khi tín hiệu này được đưa lênmức cao ( trong ít nhất 2 chu kì máy) , các thanh ghi trong bộ vi diều khiển được tảinhững giá trị thích hợp để khởi đọng hệ thống

1.3.9 XTAL1, XTAL2.

Trang 14

AT89S52 có một bộ dao động trên chip, nó thường được nối với bộ dao đọngthạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz.

Trang 17

Mô tảKhông sử dụng

Cho phép đặt hệ số chia cho tần số xungclock khi truy xuất ngoại vi:

0: Hệ số chia là 12(chế độ X1)

1: Hệ số chia là 6(chế độ X2)

1.4.2 Mạch reset.

Trang 18

Có 4 cách để reset AT89S52 lần lượt là: reset khi cấp nguồn, reset bởi WDT,reset bằng phần mềm, reset bằng mạch ngoài qua chân RST.

Trong một hệ thống gồm nhiều vi mạch khả trình thì một mạch reset tích hợp

cả 2 cách reset khi bật nguồn và resetbởi mạch ngoài thường được sử dụng

Trang 19

Phần 2: Nội dung thiết kế.

2.1 Thiết kế mô hình bảng LED điện tử dùng 01 ma trận LED

đa sắc.

Yêu cầu:

- Mạch điện tử được thiets kế trên máy tính bằng phần mềm chuyên dụng

- Xây dựng bộ mã font gồm 26 chữ cái không dấu( A-Z) và 10 chữ số (0-9)

- Hệ thống hiển thị lần lượt từng chữ cái và chữ số với 3 màu xanh, đỏ , vàng

Trang 20

- AT89S52 : là bộ VĐK có nhiệm vụ đưa tín hiệu ra điều khiển ma trận LED

hoạt động

- Mạch giải mã : có nhiệm vụ giải mã tín hiệu lấy ra từ VĐK.

- Bộ đệm : có nhiệm vụ lấy tín hiệu được giải mã đưa lên ma trận LED.

2.3 Cách quét LED

Tại một thời điểm thì chỉ có trạng thái của một điểm ảnh được xác định Đểxác định các trạng thái và địa chỉ điểm ảnh tiếp theo thì các điểm ảnh còn lại sẽchuyển về trạng thái tắt( led đang sáng sẽ chuyển về trạng thái tắt dần ) Vì thế hiệnthị được toàn bộ hình ảnh của ma trận led ta có thể quét ma trận led nhiều lần vớitốc độ quét rất lớn( lớn hơn nhiều lần thời gian kịp tắt của đèn)

Mạch Giải Mã

Trang 21

Mắt người chỉ nhận biết được tối đa 24 hình/s Do đó nếu tốc độ quét rất lớnthì sẽ không nhận ra được sự thay đổi của đèn mà sẽ thấy được toàn bộ hình ảnhcàn hiển thị.

Để thực hiện việc đó ta thiết kế ma trận led như sau:

Sở đồ nguyên lý của ma trận led 8x8

Trang 22

Các led trên cùng một hàng được nối chân dương với nhau.

Các led trên cùng một cột được nối chân âm với nhau

Trạng thái của mỗi led được quyết định bởi tín hiệu điện áp 5v đưa vào đòngthời cả 2 chân

VD : Để led sáng thì điện áp 5v phải đưa vào chân dương còn chân âm nốimass Led tắt thì không có điện áp nối vào chân dương

Trang 23

2.4 Sơ đồ nguyên lý.

* Nguyên lý hoạt động.

Trang 24

Trong khi bộ giải mã cột chọn hang thứ nhất thì bộ giải mã hàng sẽ quét lầnlượt hết 8 hàng của từng màu một, dữ liệu được đưa vào sẽ xác định trạng thái củatất cả các hàng ở cột 1.

Tiếp tục quét cột thứ 2 bộ giải mã hàng lại đưa dữ liệu vào lần lượt hết 8 hàngcủa mỗi màu và quyết định trạng thái của tất cả các đèn ở cột 2

Quá trình cứ như vậy cho tới khi quét hết 8 cột của mỗi màu

2.5 Sơ đồ mạch in.

Trang 25

2.6 Chương trình điều khiển cho AT89S52.

// mang cac hang, du lieu muc thap

unsigned char code cot[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //mang cot, du lieu ra muc thap

Trang 26

//mang 26 chu cai va 10 chu so

unsigned char code hang[]={

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, // xoa ma tran

0X03,0X01,0XEE,0XEE,0X01,0X03,0XFF,0XFF,//A

0X00,0X00,0X76,0X76,0X76,0X89,0XFF,0XFF,//B

0X81,0X00,0X7e,0X7E,0X3C,0XBD,0XFF,0XFF,//C

0x00,0x00,0x7E,0X7E,0X81,0XC3,0XFF,0XFF,//D

0X00,0X00,0X66,0X66,0X66,0X66,0XFF,0XFF,//E

0X00,0X00,0XE6,0XE6,0XE6,0XFE,0XFF,0XFF,//F

0X81,0X00,0X7E,0X5E,0X18,0X19,0XFF,0XFF,//G

0X00,0X00,0XEF,0XEF,0X00,0X00,0XFF,0XFF,//H

0X7E,0X7E,0X00,0X00,0X7E,0X7E,0XFF,0XFF,//I

0X3E,0X7E,0X00,0X80,0XFE,0XFE,0XFF,0XFF,//J

0X00,0X00,0XE3,0XC9,0X9C,0X3E,0XFF,0XFF,//K

0X00,0X00,0X7F,0X7F,0X7F,0X3F,0XFF,0XFF,//L

Trang 27

0X00,0X01,0XFB,0XFB,0X01,0X00,0XFF,0XFF,//M

0X00,0X01,0XE7,0XCF,0X80,0X00,0XFF,0XFF,//N

0X81,0X00,0X7E,0X7E,0X00,0X81,0XFF,0XFF,//O

0X00,0X00,0XF6,0XF6,0XF0,0XF9,0XFF,0XFF,//P

0X81,0X00,0X5E,0X3E,0X00,0X81,0X7F,0XFF,//Q

Trang 29

unsigned char code hang_wellcome[]={

Trang 31

unsigned char code hang_start[]={

Trang 32

};

//////////////////////////////////////////////////////////////////////// ///////////////////////

unsigned char code hang_end[] = {

Trang 33

//////////////////////////////////////////////////////////////////////// ///////////////////////

unsigned char code hang_thanks[] = {

//

main()

Trang 34

for (n=1;n<=10; n++) //LAN LUOT HIEN THI CAC SO TU 9 VE 0 {

for(o=0; o<=50; o++) // QUYET MOI SO 50 LAN for (l=m;l<m+8; l++)

if (m==80) m=0;

}

Trang 35

////////////////////////////////////////////////////////////////////////////// /////////////////

k=0;

while(k!=128) {

k++;

for(n=0; n<5; n++)//quyet mot chu 50 lan

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

P2=cot[l];

P3 = hang_wellcome[l+k];

delay(60); // xoa ma tran sau moi lan quyet P1 = 0XFF;// nham tranh tinh trang led ke ben bi nhieu

P2 = 0XFF;

P3 = 0XFF;

P0 = 0XFF;

} }

////////////////////////////////////////////////////////////////////////////// /////////////////

k=0;

while(k!=64) {

k++;

Trang 36

for(n=0; n<5; n++)//quyet mot chu 50 lan

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

P2 = 0XFF;

P3 = 0XFF;

P0 = 0XFF;

} }

////////////////////////////////////////////////////////////////////////////// ////////////////

////////////////////////////////////////////////////////////////////////////// /////////////////

k=0;

while(k!=312) {

k++;

for(n=0; n<5; n++)//quyet mot chu 50 lan

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

P2=cot[l];

Trang 37

if (k<78) P3=hang[l+k];

if (k>=78 && k<=156) P1 = hang[l+k];

if (k>156) {

P1 = hang[l+k];

P3=hang[l+k];

} delay(60); // xoa ma tran sau moi lan quyet P1 = 0XFF;// nham tranh tinh trang led ke ben bi nhieu

P2 = 0XFF;

P3 = 0XFF;

P0 = 0XFF;

} }//*/

////////////////////////////////////////////////////////////////////////////// /////////////////

k=0;

while(k!=72) {

k++;

for(n=0; n<5; n++)//quyet mot chu 50 lan

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

Trang 38

P1=hang_end[l+k];

delay(60); // xoa ma tran sau moi lan quyet P1 = 0XFF;// nham tranh tinh trang led ke ben bi nhieu

P2 = 0XFF;

P3 = 0XFF;

P0 = 0XFF;

} }

////////////////////////////////////////////////////////////////////////////// ////////////////

k=0;

while(k!=56) {

k++;

for(n=0; n<5; n++)//quyet mot chu 50 lan

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

P2 = cot[l];

P3 = hang_thanks[l+k];

delay(60); // xoa ma tran sau moi lan quyet P1 = 0XFF;// nham tranh tinh trang led ke ben bi nhieu

P2 = 0XFF;

P3 = 0XFF;

Trang 39

P0 = 0XFF;

} }

////////////////////////////////////////////////////////////////////////////// /////////////////

}

}

2.7 Hình ảnh mạch thực tế.

Trang 40

Kết Luận.

3.1 Ưu điểm của mạch.

Mạch hiển thị sử dụng led matrix có rất nhiều ứng dụng Ví dụ như dung đểquảng cáo với các hiệu ứng cho chạy chữ từ trái qua phải, từ phải qua trái … tùytheo mục đích của người sử dụng mà có thể hiển thị những dòng chữ và cách quétchữ phù hợp với mục đích sử dụng

3.2 Nhược điểm.

Đề tài của chúng em mới dungef lại ở đồ án môn học nên để đưa đề tài vàoứng dụng thực tế thì vẫn còn rất nhiều hạn chế như: mạch chỉ có thể hiển thị từngchữ cái một nên để đọc thành một dòng chữ có ý nghĩa thì ta phải đọc lần lượt từngchữ một chứ không đọc được ngay cả dòng chữ

3.3 Hướng cải thiện.

Trang 41

Để đưa đề tài này vào ứng dụng được trong thực tế thì chúng em cần làmmạch với nhiều led matrix ghép lại với nhau sao cho khi hiển thị các đoạn văn bảnhay dòng chữ bất kì thì người sử dụng có thể hiểu được ý nghĩa của nó

Ngày đăng: 09/05/2015, 08:50

HÌNH ẢNH LIÊN QUAN

1.3. Sơ đồ chân và chứa năng các chân của AT89S52. - Ứng dụng vi điều khiển 89C52 thiết kế hiển thị bảng đèn led quảng cáo
1.3. Sơ đồ chân và chứa năng các chân của AT89S52 (Trang 7)
2.4. Sơ đồ nguyên lý. - Ứng dụng vi điều khiển 89C52 thiết kế hiển thị bảng đèn led quảng cáo
2.4. Sơ đồ nguyên lý (Trang 23)
2.5. Sơ đồ mạch in. - Ứng dụng vi điều khiển 89C52 thiết kế hiển thị bảng đèn led quảng cáo
2.5. Sơ đồ mạch in (Trang 24)

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