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

Nghiên cứu ic at89c52 và ứng dụng vào mạch chạy chữ dùng led ma trận 8x8 kèm file mô phỏng layout

25 708 4

Đ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 25
Dung lượng 3,08 MB

Nội dung

Chính việc hữu dụng cũng nhưphổ biến của các bảng quảng cáo mà trong đồ án này chúng em đã lựa chọn đề tàinghiên cứu, tìm hiểu về cách tạo chữ chạy sử dụng led ma trận 8x8

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN ỨNG DỤNG

2 Lưu Thành Trung

LỚP : CCVT03A

Đà Nẵng, tháng 12 năm 2012

Trang 2

MỤC LỤC i

DANH MỤC HÌNH VẼ i

DANH MỤC BẢNG ii

LỜI MỞ ĐẦU 1

Chương I: GIỚI THIỆU VỀ IC 89C52 2

1.1Giới Thiệu Chung về VĐK AT89C52: 2

1.2.Khảo sát sơ đồ chân 3

1.3 Bộ nhớ dử liệu- Bộ nhớ Ram 6

1.4 Các bank thanh ghi 8

1.5 Vùng RAM truy xuất từng bit 9

1.6.Vùng RAM bình thường 9

1.7.Các thanh ghi có chức năng đặc biệt 9

1.8.Tìm hiểu một số ô nhớ có chức năng đặc biệt 9

1.8.1Các thanh ghi có địa chỉ 80H, 90H, A0H, B0H: 9

1.8.2Thanh ghi A 9

1.8.3.Thanh ghi B 9

1.8.4 Con trỏ sắp xếp SP :địa chỉ 81H 10

1.8.5 Con trỏ dữ liệu DPTR 10

1.8.6.Thanh ghi trạng thái chương trình PSW (địa chỉ byte D0H) 10

Chương II: GIỚI THIỆU VỀ CÁC LINH KIỆN KHÁC 12

2.1 Giới thiệu về ma trận LED 12

2.1.1 Cấu tạo 12

2.1.2 Cơ sở lý thuyết 12

2.1.3 Nguyên lý hoạt động 12

2.2 Các linh kiện sử dụng trong mạch 13

CHƯƠNG III: THIẾT KẾ MẠCH 15

3.1 Sơ đồ nguyên lý 15

3.2 Mạch in 15

3.3 Chương trình (code) 16

3.4 Mạch thực tế 21

21

KẾT LUẬN 22

DANH MỤC HÌNH VẼ Hình 2.1: IC AT89c52 2

Hình 2.2: Sơ đồ chân 3

Hình 2.3: sơ đồ khối bên trong của 89c52 5

Trang 3

Hình 2.1 Sơ đồ ghép nối của ma trận led 8x8 12

Hình 2.2 Tranzito A1015 13

Hình 2.3 Hình dạng thực tế của tụ gốm (a) và tụ hóa (b) 14

Hình 2.4 Hình dạng thực tế của thạch anh tạo dao động 14

Hình 3.1 Sơ đồ nguyên lý của mạch 15

Hinh 3.2: Mạch in led ma trận 15

Hình 3.3: mạch led ma trận đã hoàn thành 21

DANH MỤC BẢNG Bảng 2.1: Cấu trúc bộ nhớ RAM bên trong vi điều khiển 8

Bảng 2.2: Chức năng từng bit trong thanh trạng thái PSW 10

Trang 4

LỜI MỞ ĐẦU

Trong thời đại khoa học kỹ thuật phát triển hiện nay, nhu cầu về thông tin là yếutố quan trọng hàng đầu giúp tất cả các lĩnh vực trong xã hội tồn tại và phát triển Việcnắm bắt thông tin càng sớm và chính xác sẽ giúp cho cơ hội thành công trong côngviệc sẽ càng cao hơn Nhu cầu thiết yếu là đưa thông tin đến với mọi người để mọingười cùng biết và nắm bắt nó Quảng cáo là một công cụ giúp cho thông tin đến vớixã hội một cách nhanh nhất

Do thực tế của các bảng quảng cáo chỉ thể hiện các chương trình đã được lậptrình cố định trong các vùng nhớ của chương trình nên việc thay đổi nội dung quảng

cáo sẽ rất khó khăn cho người có nhu cầu sử dụng Quảng cáo tốt sẽ đem lại nhiều lợi

ích to lớn Cũng chính vì vậy mà không ngạc nhiên khi hàng năm các doanh nghiệp đãđầu tư rất nhiều vào vấn đề này Một trong những biện pháp được ưa dùng hiện nay đó

là sử dụng bảng quảng cáo bằng đèn LED, vì sự đơn giản, hiện đại, bắt mắt, chi phíhợp lý cũng như tính hiệu quả của nó Những bảng thông tin, cổng chào hay nhữngbảng LED quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều chú ý chắc hẳn đã khôngcòn xa lạ đối với người dân, nhất là người dân đô thị Chính việc hữu dụng cũng nhưphổ biến của các bảng quảng cáo mà trong đồ án này chúng em đã lựa chọn đề tàinghiên cứu, tìm hiểu về cách tạo chữ chạy sử dụng led ma trận 8x8 Trong bài làmkhông thể tránh khỏi những sai sót Rất mong được sự giúp đỡ, góp ý của thầy cô vàcác bạn

Xin chân thành cảm ơn!

Đà Nẵng, tháng 12 năm 2011

Trang 5

Chương I: GIỚI THIỆU VỀ IC 89C521.1Giới Thiệu Chung về VĐK AT89C52:

Hình 2.1: IC AT89c52.Cấu trúc chung về VĐK AT89C52

VĐK 89C52 mà chúng ta sử dụng có những đặc điểm sau:

· 4KB ROM bên trong

· 256 Byte ngoài

· 4 Port xuất nhập dữ liệu I/O

· Giao tiếp nối tiếp

· 64 KB vùng nhớ mã ngoài

· 64 KB vùng nhớ dữ liệu ngoài

· Xử lý Boolean

Trang 6

1.2.Khảo sát sơ đồ chân.

Hình 2.2: Sơ đồ chân Trên sơ đồ chân trên có các nhóm chân sau:

1 Nhóm chân nguồn nuôi.

+ nguồn nuôi 5V (chân số 40)

+ nối đất (chân số 20)

2 Nhóm chân điều khiển.

Nhóm này còn phân biệt các tín hiệu vào, ra

a Nhóm tín hiệu vào điều khiển

+ Xtal1 (chân số 18), Xtal2 (chân số 19): nối tinh thể thạch anh cho mày phátxung nhịp chu trình

+ RST(Reset): (chân số 9): nối chuyển mạch để xóa về trạng thái ban đầu haykhởi động lại

+ /EA/CPP: (chân số 31) chọn nhớ ngoài (nối đất) hay chọn nhớ trong (nối

Trang 7

nguồn nuôi 5V).

+ T2 hay P1.0: (chân số 1) tín hiệu vào đếm cho Timer2/ Counter2 của 8952+ T2EX: (chân số 2) tín hiệu vào ngắt ngoài 2 cho 8950

+ /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt ngoài 0 cho 8051

+ /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt ngoài 1 cho 8051

+ T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0

+ T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1

b Nhóm tín hiệu ra điều khiển

+ ALE//PROG: (chân số 30) dùng để đưa tín hiệu chốt dịa chỉ (ALE) khi cónhớ ngoài hay điều khiển ghi chương trình /PROG

+ /PSEN: (chân số 29) dùng để đưa tín hiệu điều khiển đọc bộ nhớ chươngtrình ROM ngoài

+ /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài + /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài

c Nhóm các tín hiệu địa chỉ, dữ liệu

+ cổng vào, ra địa chỉ/ dữ liệu P0 hay P0.0-P0.7: (chân số 39-32) dùng để traođổi tin về dữ liệu D0-D7, hoặc đưa ra các địa chỉ thấp (A0-A7) theo chế độ dồn kênh(kết hợp với tín hiệu chốt địa chỉ ALE)

+ cổng vào ra địa chỉ/ dữ liệu P2 hay P2.0-P2.7: (chân số 21-28) dùng để trao đổi tin song song về dữ liệu (D0-D7) hoặc đưa ra địa chỉ cao (A8-A15)

+ cổng vào ra dữ liệu P1 hay P1.0-P1.7: (chân số 1-8) dùng để trao đổi tinsong song dữ liệu (D0-D7)

+ cổng vào, ra P3 hay P3.0-P3.7: (chân số 10-17)

- P3.0: (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD

- P3.1: (chân số 11) đưa ra tín hiệu truyền tin nối tiếp TXD

- /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt 0 của VĐK

- /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt 1 của VĐK

- T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0 cho VĐK8051/8052

- T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1 choVĐK 8051/8052

- /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài

- /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài

Trang 8

T2 hay P1.0: (chân số 1)tín hiệu vào đếm cho Timer2/ Counter2 cho VĐK8052.

- T2EX: (chân số 2) tín hiệu vào gây ngắt 2 của VĐK 8052

Ngoài các tín hiệu chuyên dùng trên, cổng vào/ ra P3 này còn dùng để traođổi tin về dữ liệu D7-D0

• Cấu trúc bên trong của 89C52 :

• Sơ đồ khối bên trong 89C52:

Hình 2.3: sơ đồ khối bên trong của 89c52

• Bộ nhớ chương trình- Bộ nhớ Rom:

Bộ nhớ ROM dùng để lưu chương trình do người viết chương trình viết ra.Chương trình là tập hợp các câu lệnh thể hiện các thuật toán để giải quyết các côngviệc cụ thể,chương trình do người thiết kế viết trên máy vi tính, sau đó được đưa vàolưu trong ROMcủa vi điều khiển, khi hoạt động, vi điều khiển truy xuất từng câu lệnhtrong ROM đểthực hiện chương trình ROM còn dùng để chứa số liệu các bảng, cáctham số hệ thống, các số liệu cố định của hệ thống Trong quá trình hoạt động nộidung ROM là cố định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở chếđộ xóa hoặc nạp chương trình (do các mạch điện riêng biệt thực hiện)

Bộ nhớ ROM được tích hợp trong chip Vi điều khiển với dung lượng 89c52 là

Trang 9

8KByte

Bộ nhớ bên trong Vi điều khiển 89Sxx là bộ nhớ Flash ROM cho phép xóa bộnhớ ROM bằng điện và nạp vào chương trình mới cũng bằng điện và có thể nạp xóanhiều lần

Bộ nhớ ROM được định địa chỉ theo từng Byte, các byte được đánh địa chỉ theosố hex-số thập lục phân, bắt đầu từ địa chỉ0000H, khi viết chương trình cần chú ý đếnđịa chỉ lớn nhất trên ROM, chương trình được lưu sẽ bị mất khi địa chỉ lưu vượt quavùng này Ngoài ra Vi điều khiển còn có khả năng mở rộng bộ nhớ ROM với việc giaotiếp với bộ nhớ ROM bên ngoài lên đến 64KByte(địa chỉ từ0000H đếnFFFFH)

1.3 Bộ nhớ dử liệu- Bộ nhớ Ram

Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ các kết quả trung gian

và kết quả cuối cùng của các phép toán, xử lí thông tin Nó cũng dùng để tổ chức cácvùng đệm dữ liệu, trong các thao tác thu phát, chuyển đổi dữ liệu

RAM nội trong Vi điều khiển được tổ chức như sau:

Các vị trí trên RAM được định địa chỉ theo từng Byte bằng các số thập lục phân(số Hex)Các bank thanh ghi có địa chỉ 00H đến 1FH210 vị trí được định địa chỉ bit cácvị trí RAM bình thường Các thanh ghi có chức năng đặc biệt có địa chỉ từ 80H đếnFFH.Các byte RAM 8 bit của vi điều khiển được gọi là "ô nhớ" , nếu các ô nhớ cóchức năng đặc biệt thường được gọi là "thanh ghi" , nếu là bit thì được gọi là "bit nhớ"

Trang 10

chỉ

byte

Địa chỉ bit địa chỉ

7 B

7 A

7 9

7 8 7

7 0 6

6 B

6 A

6 9

6 8 6

6 0 5

5 B

5 A

5 9

5 8 5

5 0 4

4 B

4 A

4 9

4 8 4

4 0 3

3 B

3 A

3 9

3 8 3

3 0 2

2 B

2 A

2 9

2 8 2

2 0 1

1 B

1 A

1 9

1 8 1

1 0 0

0 B

0 A

0 9

0 8

FF F0

90

8D 8C 8B 8A 89 88 87

83 82 81 80

F7 F6 F5 F4 F3 F2 F1 F0

E

7 E6 E5 E4 E3 E2 E1 E0

D 7

D 6

A C

A B

A A

A

A 7

A 6

P1

TH1 TH0 TL1 TL0 TMO D TCON PCON

DPH DPL SP P0

Trang 11

0 0 Bank 3

Các lệnh dùng các thanh ghi từ R0 đến R7 mất khoảng không gian lưu trữ ít hơn

và thời gian thực hiện nhanh hơn so với các lệnh dùng các ô nhớ RAM khác, ngoài racác thanh ghi này còn có thêm một số chức năng đặc biệt khác, vì lí do này các dữ liệusử dụng thường thường được người viết chương trình đưa vào lưu trong các thanh ghinày

Ngoài ra, có thể truy xuất thanh ghi trên các bank thanh ghi như với các ô nhớbình thường khác Ví dụ: nguời dùng có thể truy xuất đến thanh ghi R7 bằng ô nhớ07H

Trang 12

1.5 Vùng RAM truy xuất từng bit

Trên RAM nội có 210 ô nhớ bit được định địa chỉ và có thể truy xuất đến từngbit, các bit nhớ này cũng được định địa chỉ bằng các số thập lục phân- số Hex Trong

đó có 128 bit nằm trong các ô nhớ có địa chỉ byte từ 20H đến 2FH, các bit nhớ còn lạichứa trong nhóm thanh ghi có chức năng đặc biệt

Mặc dù các bit nhớ và ô nhớ (byte) cùng được định bằng số Hex, tuy nhiênchúng sẽ được nhận dạng là địa chỉ bit hay địa chỉ byte thông qua các câu lệnh tươngứng dành cho các bit nhớhoặc các ô nhớ này

1.7.Các thanh ghi có chức năng đặc biệt

Các thanh ghi này được định địa chỉ byte, một số được định thêm địa chỉ bit, cóđịa chỉ của các thanh ghi này nằm trong khoảng 80H đến FFH Các thanh ghi đặc biệtnày này được dùng để xác lập trạng thái hoạt động cần thiết cho Vi điều khiển

1.8.Tìm hiểu một số ô nhớ có chức năng đặc biệt

1.8.1Các thanh ghi có địa chỉ 80H, 90H, A0H, B0H:

Đây là các thanh ghi kiểm tra và điều khiển mức logic của các Port, có thể truyxuất và xác lập các thanh ghi này với địa chỉ byte hoặc tên riêng lần lượt là P0, P1, P2,P3 tương ứng với các Port xuất Chẳng hạn để tất cả các chân của Port 0 lên mức logic

1, cần làm cho các bit của thanh ghi có địa chỉ 80H lên mức 1

Trang 13

dữ liệu DPTR thường được sử dụng khi truy xuất dữ liệu từ bộ nhớ ROM hoặc bộ nhớtừ bên ngoài

1.8.6.Thanh ghi trạng thái chương trình PSW (địa chỉ byte D0H)

Bảng 2.2: Chức năng từng bit trong thanh trạng thái PSW

Cờ nhớ C:

Cờ được sử dụng trong các lệnh toán học:

C=1 nếu phép toán cộng xảy ra tràn hoặc phép trừ có mượn

C=0 nếu phép toán cộng không tràn hoặc phép trừ không có mượn

Cờ nhớ phụ AC:

Cờ AC được dùng trong các phép toán cộng hai số BCD

Khi cộng số BCD:

Nếu kết quả 4 bit lớn hơn 09H thì AC=1

Nếu kết quả 4 bit dưới 09H thì AC=0

Cờ 0 hay cờ nhớ Z:

Cờ Z = 0 khi thanh ghi A có giá trị khác 0

Cờ Z =1 khi A thanh ghi A có giá trị là 0

Các bit chọn bank thanh ghi:

Hai bit RS1 và RS2 dùng để xác lập bank thanh ghi được sử dụng, mặc định RS1=0

Trang 14

Cờ tràn OV

Được sử dụng trong các phép toán cộng có dấu, với các phép toán cộng khôngdấu cờ tràn OV được bỏ qua, không cần quan tâm đến OV

Nếu: Phép cộng hai số có dấu lớn hơn +127 thì OV=1

Hoặc phép trừ hai số có dấu nhỏ hơn -127 thì OV=1

Các trường hợp còn lại OV=0

Cờ chẵn lẻ

Cờ chẵn lẻ P tự động được đặt bằng 1 hoặc 0 sao cho tổng số bit mang giá trị 1 trên thanh ghi A với cờ P luôn là một số chẵn Cờ chẵn lẻ được dùng để xử lí dữ liệu trước khi truyền đi theo kiểu nối tiếp hoặc xử lí dữ liệu trước khi nhận vào theo kiểu nối tiếp (hạn chế lỗi phát sinh trong quá trình truyền)

Trang 15

Chương II: GIỚI THIỆU VỀ CÁC LINH KIỆN KHÁC

2.1 Giới thiệu về ma trận LED

2.1.1 Cấu tạo

Ma trận led bao gồm nhiều led đơn bố trí thành hàng và cột trong một vỏ Các tínhiệu điều khiển hàng được nối với A nôt trên tất cả các led trên cùng một hàng Các tínhiệu điều khiển cột cũng được nối với Ca tôt của tất cả các led trên cùng một cột

Hình 2.1 Sơ đồ ghép nối của ma trận led 8x8

2.1.2 Cơ sở lý thuyết

Dựa trên nguyên tắc quét hình, ta có thể thực hiện việc hiển thị ma trận led bằngcách quét theo hàng Mỗi led trên ma trận có thể coi như một điểm ảnh Địa chỉ củamỗi điểm này được xác định đồng thời bởi bộ đệm hàng và bộ đệm cột, điểm ảnh nàysẽ xác định trạng thái nhờ dữ liệu đưa ra từ bộ vi điều khiển 89C51

Như vậy, tại mỗi thời điểm chỉ có trạng thái của một điểm ảnh được xác định.Tuy nhiên, khi xác định địa chỉ và trạng thái của điểm ảnh tiếp theo thì các điểm ảnhcòn lại sẽ chuyển về trạng thía tắt nếu led đang sáng thì sẽ tắt dần Vì thế để hiển thịtoàn bộ hình ảnh của ma trận led, ta có thể quét ma trận nhiều lần với tốc độ quét rấtlớn, lớn hơn nhiều lần so với thời gian kịp tắt của đèn

2.1.3 Nguyên lý hoạt động

Khi có một tín hiệu điều khiển ở cột và hàng, các chân A nôt của các led trênhàng tương ứng được cấp điện áp cao, đồng thời các chân Ca tôt của các led trên cột

Trang 16

tương ứng được cấp điện áp thấp Tuy nhiên lúc đó chỉ có một led sáng , vì nó có đồngthời điện thế cao trên A nôt và điện thế thấp trên Ca tôt Như vậy khi có tín hiệu điềukhiển hàng và cột thì tại một thời điểm chỉ có duy nhất một led tại chỗ giao nhau giữahàng và cột là sáng Các bảng quang báo với số led lớn hơn cũng được kết nối theo cấutrúc như vậy.

Trong trường hợp ta muốn cho sáng đồng thời một số led rời rạc trên ma trận đểhiển thị một ký tự nào đó, nếu trong hiển thị tĩnh ta phải cấp áp cao cho Anôt và ápthấp cho Catôt cho led tương ứng mà ta muốn sáng Nhưng khi đó một số led ta khôngmong muốn cũng sẽ sáng, miễn là nó nằm tại vị trí giao nhau giữa hàng và cột mà tamuốn cấp nguồn Vì vậy trong điều khiển led ma trận ta không thể sử dụng phươngpháp hiển thị tĩnh mà phải sử dụng phương pháp quét (hiển thị động) Có nghĩa là taphải tiến hành cấp tín hiệu điều khiển theo dạng xung quét trên các hàng và cột cầnhiển thị Để cho mắt nhìn thấy các led không bị nháy, thì tần số quét nhỏ nhất cho mỗichu kỳ khoảng 20Hz (50ms) Trong lập trình điều khiển led ma trận bằng vi xử lý tacũng phải sử dụng bằng phương pháp quét như vậy

Ma trận led có thể là loại chỉ hiển thị được một màu hoặc hiển thị được hai màutrên một điểm, khi đó led có số chân ra tương ứng: đối với ma trận led 8x8 hiển thịmột màu thì số chân ra là 16, trong đó 8 chân dùng để điều khiển hàng và 8 chân cònlại dùng để điều khiển cột

2.2 Các linh kiện sử dụng trong mạch

+ Tranzito A1015: Làm nhiệm vụ khuếch đại đảo dữ liệu hàng khi đi qua Ví dụkhi ta đưa dữ liệu hàng mức 0 qua tranzito A1015 thì dữ liệu sẽ được đảo thành mức 1ở ngõ ra

Hình 2.2 Tranzito A1015

+ Tụ điện: Tụ điện có chức năng chính là phóng và nạp điện Trong mạch có sử

dụng tụ gốm dùng trong mạch tạo dao động bằng thạch anh cấp cho IC và một tụ hóa10µF

Ngày đăng: 16/02/2015, 13:41

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w