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

Báo cáo thực hành led ma trận

32 1,5K 10
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo cáo thực hành led ma trận
Tác giả Nhóm Sinh Viên Thực Hiện
Người hướng dẫn Nguyễn Nam Quân, PTS.
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Báo cáo Thực hành
Năm xuất bản 2001
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 1,17 MB

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

Nội dung

Trong khuôn khổ của đề tài, trên cơ sở những kiếnthức đã được học trong môn học, chúng em đã thiết kế một mạch điện tử với tên đề tài đầy đủ là: Mô phỏng mạch led ma trận trên phần mềm P

Trang 1

Lời nói đầu

Trong sự phát triển của kỹ thuật điện tử ngày nay, kỹ thuật số đang dầnchiếm ưu thế về số lượng các ứng dụng của nó trên nhiều thiết bị điện tử từdân dụng cho đến chuyên động, trong nhiều lĩnh vực như đo lường, điềukhiển, v v… nhờ vào nhiều ưu điểm của nó Có thể nói, nền tảng của kỹ thuật

số là các mạch logic sè dựa trên sự kết hợp của các cổng logic cơ bản mà ngàynay đã được tích hợp trong các IC sè Các mạch logic sè sử dụng ma trận LED

để hiển thị thông tin nhằm mục đích thông báo, quảng cáo, … tại các nơi côngcộng đã được sử dụng rất rộng rãi

Việc thiết kế hoàn thiện một mạch quảng cáo cần nhiều công sức cũngnhư kiến thức nhất định Trong khuôn khổ của đề tài, trên cơ sở những kiếnthức đã được học trong môn học, chúng em đã thiết kế một mạch điện tử với

tên đề tài đầy đủ là: Mô phỏng mạch led ma trận trên phần mềm Proteus Mục đích của đề tài là tìm hiểu thêm về lĩnh vực kỹ thuật số, nâng

cao kiến thức của mình

Do kiến thức còn hạn hẹp và thời gian thực hiện không được nhiều nên đềtài của chúng tôi còn rất nhiều sai sót, hạn chế Mặc dù đã cố gắng phần nàothiết kế và tính toán một các chi tiết các mạch, các thông số nhưng đôi khi cònmang tính lý thuyết, chưa thực tế Chúng tôi mong có sự góp ý và sửa chữa để

đề tài này có tính khả thi hơn về cả phương diện kinh tế cũng như kỹ thuật

Chúng em xin chân thành cảm ơn thầy giáo Nguyễn Nam Quân đã hướngdẫn và giúp đỡ chúng em thiết kế và hoàn thành đề tài này

Hà Nội 12/ 2001 Nhóm sinh viên thựchiện:

Trang 2

CHƯƠNG I: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ THƯ

I Đặt vấn đề.

Quang báo là hình thức thông báo trên bảng đèn Bảng đèn quang báogồm nhiều ma trận LED ghép lại, mỗi một ma trận biểu diễn một kí tự Tùychiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khácnhau.Với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng cónhững tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậycao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kếthợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việctrao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điềukhiển Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứngdụng nó vào mục đích quảng cáo, chẳng hạn như dùng trong quang báo Nhờvậy, việc thiết kế phần cứng cho quang báo trở thành ít phức tạp hơn, nhưng

độ tin cậy cao hơn Trong thực tế để hiển thị các văn bản, người ta dùng cáckiểu chữ là các Ma Trận LED 8x32, 8x12 hoặc 8x14 tuỳ thuộc vào mục đích

ta thường phân biệt các loại bảng LED theo số hàng và cột Môt bảng led 5x7tức là có 5 cột dọc và 7 hàng ngang, tổng cộng sẽ có 5x7=35 led đơn được

Trang 3

ghép lại.Cũng như vậy một bảng led 8x8 là có 8 hàng và 8 cột,do đó có 64led đơn ghép lại.Và nhiều loại cỡ to hơn như 16x16 hay 32x32.Trong đề tàinày chúng em sử dụng 2 led ma trận 2 màu 8x8 tức là có 8 hàng và 16 cột, do

đó có 8x16x2 = 256 led đơn ghép lại

II TẦM QUAN TRỌNG CỦA ĐỀ TÀI

- Đây là một đề tài nghiên cứu mang tính thực tiễn trong việc vận dụngcác kiến thức đã được học vào trong thực tế

- Về mặt khoa học, đề tài sẽ giúp cho nhóm sinh viên thực hiện hiểu rõthêm về cấu tạo led ma trận và nguyên lí điều khiển led ma trận trongthực tế

- Về mặt thực tiễn, đề tài này có thể áp dụng vào thực tế để thiết kế các

hệ thống quang báo với kích thước lớn hơn, mở rộng điều khiển hệthống quang báo bằng các phương pháp khác như giao tiếp máy tính,điều khiển từ xa v v

III GIỚI HẠN ĐỀ TÀI

Do thời gian thực hiện đề tài có hạn và kiến thức còn hạn chế nênnhóm sinh viên thực hiện đã đưa ra những giới hạn sau:

1 Điều khiển 2 led ma trận 2 màu xanh đỏ, việc kết hợp

đồng thời hai màu xanh đỏ để tạo thành màu thứ 3

2 Mạch phải hoạt động tốt không bị nhiễu khi quét led và bànphím

3 Mạch phải chạy ổn định trong quá trình làm việc

IV ĐỐI TƯỢNG NGHIÊN CỨU

Đối tượng nghiên cứu của đề tài này chính là:

- Cách thức giao tiếp giữa vi điều khiển và led ma trận

- Cách thức giao tiếp giữa vi điều khiển và ma trận phím

- Cách lập trình cho vi điều khiển để lưu dữ liệu và hiển thị lên led matrận

Trang 4

V PHƯƠNG PHÁP NGHIÊN CỨU

Trong quá trình nghiên cứu, nhóm sinh viên thực hiện chủ yếu dựa vàohai phương pháp chính:

- Phương pháp tham khảo tài liệu: Thu thập các tài liệu liên quan đến

vi điều khiển, Kỹ thuật mạch điện tử, Thiết kế mạch điện tử vàPhương pháp nghiên cứu khoa học Sau đó, nhóm sinh viên vậndụng các kiến thức hiện có để tổng hợp các tài liệu, sau cùng thiết

kế ra mạch điện phù hợp với các yêu cầu mà ban đầu nhóm đã đề ra

- Phương pháp quan sát và thực nghiệm: Sau khi đã có mạch theotính toán lý thuyết, nhóm sinh viên thực hiện đã thi công mạchthực tế theo đúng sơ đồ nguyên lý đã vạch ra Do có hạn chế trongviệc tính toán lí thuyết nên nhóm đã sử dụng kết quả chạy thực tế đểđiều chỉnh lại lý thuyết một cách hợp lý

PHẦN II: TỔNG QUAN VỀ PHƯƠNG PHÁP ĐIỀU KHIỂN

I Cơ sở lí thuyết chung.

Dựa trên nguyên tắc như quét màn hình, ta có thể thực hiện việc hiển thị matrận đèn bằng cách quét theo hàng và quét theo cột Mỗi Led trên ma trận LED

có thể coi như một điểm ảnh Địa chỉ của mỗi điểm ảnh này được xác định đồngthời bởi hàng và cột, điểm ảnh này sẽ được xác định trạng thái nhờ dữ liệu đưa ra

từ bộ vi điều khiển 8951

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 ảnh còn lại sẽ chuyển về trạng thái tắt (nếu LED đang sáng thì sẽ tắt dần)

Vì thế để hiển thị được toàn bộ hình ảnh của ma trận đèn, ta có thể quét ma trậnnhiều lần với tố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ắtngười chỉ nhận biết được tối đa 24 hình/s do đó nếu tốc độ quét rất lớn thì sẽkhông nhận ra được sự thay đổi nhỏ của đèn mà sẽ thấy được toàn bộ hình ảnhcần hiển thị

Trang 5

II Nguyên lí phần cứng.

1 Vi điều khiển At89s52

1.1 Tổng quan vè họ vi điều khiển 8051

AT8951 là phiên bản 8051 có ROM trên chip là bộ nhớ Flash Phiên bảnnày rất thích hợp cho các ứng dụng nhanh vì bộ nhớ Flash có thể được xóatrong vài giây Dĩ nhiên là để dùng AT8951 cần phải có thiết bị lập trìnhPROM hổ trợ bộ nhớ Flash nhưng không cần đến thiết bị xóa ROM vì bộ nhớFlash được xóa bằng thiết bị lập trình PROM

Mặc dù các thành viên của họ 8051 đều có các kiểu đóng vỏ khác nhau,chẳng hạn như hai hàng chân DIP, dạng vỏ dẹp vuông QFP, và dạng chípkhông có chân đỡ LLC thì chúng đều có 40 chân cho các chức năng khácnhau như vào, ra I/O, đọc RD, ghi WR,địa chỉ, dữ liệu và ngắt Cần phải lưu

ý rằng một số hãng cung cấp một phiên bản 8051 có 20 chân với số cổng vào

ra ít hơn cho các ứng dụng yêu cầu thấp hơn Tuy nhiên vì hầu hết các nhàphát triển chính sử dụng chíp đóng vỏ 40 chân với 2 hàng chân DIP nên tachỉ tập trung mô tả phiên bản này

1.2 Vi điều khiển At89S52

AT89C52 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao, công

suất nguồn tiêu thụ thấp và có 4Kbyte bộ nhớ ROM Flash xoá được/lập trìnhđược Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung

có độ tích hợp cao

AT89S52 có các đặc trưng chuẩn sau: 4Kbyte Flash, 128 byte RAM, 32đường xuất nhập, hai bộ định thời/đếm 16 bit, một cấu trúc ngắt hai mức ưutiên và 5 nguyên nhân ngắt, một port nối tiếp song công, mạch tạo dao động

và tạo xung Clock trên Chip

Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ địnhthời/đếm, Port nối tiếp và hệ thống ngắt hoạt động

Mô tả các chân của IC 8951:

Trang 6

- Vcc: Chân cung cấp điện.

- GND: Chân nối đất.

- Port 0: Port 0 là port xuất nhập 8 bit 2 chiều cực D hở Port 0 còn

được cấu hình làm bus địa chỉ (byte thấp) và làm bus dữ liệu đahợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chươngtrình ngoài Port 0 cũng nhận các byte mã trong khi lập trình choFlash và xuất các byte mã trong khi kiểm tra chương trình

- Port 1: Port 1 là port xuất nhập 8 bit hai chiều có các điện trở kéo

lên bên trong Khi các logic 1 được ghi lên các chân của port 1,các chân này được kéo lên mức cao bởi các điện trở kéo lên bêntrong và có thể được sử dụng như là các ngõ vào Khi làm nhiệm

vụ là các port nhập, các chân của port 1 đang được kéo xuốngmức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trởkéo lên bên trong

- Port 2: Port 2 là port xuất nhập 8 bit hai chiều có các điện trở kéo

lên bên trong Khi các logic 1 được ghi lên các chân của port 2,các chân này được sử dụng như là các ngõ vào Khi làm nhiệm vụport nhập, các chân của port 2 đang được kéo xuống mức thấp dotác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bêntrong Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìmnạp lệnh từ bộ nhớ chương trình ngoài, và trong thời gian truyxuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit

- Port 3: Là port xuất nhập 8 bit hai chiều có các điện trở kéo lên

bên trong Khi các logic 1 được ghi lên các chân của port 3, cácchân này được kéo lên mức cao bởi các điện trở kéo lên bên trong

và có thể được sử dụng như là các ngõ vào Khi làm nhiệm vụport nhập, các chân của port 3 đang được kéo xuống mức thấp dotác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bêntrong Port 3 còn được sử dụng làm các chức năng khác củaAT89S52:

Trang 7

n

P3.0 RxD Ngõ vào Port nối tiếp

P3.1 TxD Ngõ ra Port nối tiếp

P3.2 INT0 Ngõ vào ngắt ngoài 0

P3.3 INT1 Ngõ vào ngắt ngoài 1

P3.4 T0 Ngõ vào bên ngoài của bộ định thời

1

P3.5 T1 Ngõ vào bên ngoài của bộ định thời

0P3.6 WR Điều khiển ghi bộ nhớ dữ liệu ngoàiP3.7 RD Điều khiển đọc bộ nhớ dữ liệu ngoài

- RST: Ngõ vào Reset Mức cao trên chân này trong 2 chu kỳ máy

trong khi bộ dao động đang hoạt động sẽ Reset AT89S52

Trang 8

Mạch Reset tự động khi khởi động máy

“Với bài này chúng em thực hiện Reset bằng cách nối chân 9 của 8951với nguồn 5V”

ALE: ALE là một xung ngõ ra cho phép chốt địa chỉ ALE

(Address Latch Enable) cho phép chốt byte thấp của địa chỉ trongthời gian truy xuất bộ nhớ ngoài Chân này cũng được dùng làmngõ vào xung lập trình (PROG) trong thời gian lập trình choFlash

Khi hoạt động bình thường, xung của ngõ ra ALE luôn luôn có tần số

bằng 1/6 tần số của mạch dao động trên chip, có thể được sử dụng cho các mục đích định thời từ bên ngoài và tạo xung Clock Tuy nhiên cần lưu ý là

một xung ALE sẽ bị bỏ qua trong mỗi chu kì truy xuất của bộ nhớ dữ liệungoài

Khi cần, hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vô hiệu

hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ byte là

8E(h) Khi bit này được set, ALE chỉ tích cực trong thời gian thực thi lệnh

MOVX hoặc MOVC Ngược lại chân này sẽ được kéo lên mức cao Việc set

bit không cho phép hoạt động chốt byte thấp của địa chỉ sẽ không có tác dụngnếu bộ vi điều khiển đang ở chế độ thực thi chương trình ngoài

- XTAL1: Ngõ vào đến mạch khuếch đại đảo của mạch dao động

và ngõ vào đến mạch tạo xung Clock bên trong chip

- XTAL2: Ngõ ra từ mạch khuếch đại đảo của mạch dao động.

Trang 9

Để tạo mạch dao động cho vi điều khiển 8951 hoạt động, chúng em chọnmạch tạo dao động như hình vẽ dưới đây, với các giá trị của linh kiện là:C1 = C2 =30pF;

Thạch anh dao động có tần số 12MHz

Kết nối của mạch dao dộng

Sơ đồ chân của IC AT89C51:

Trang 10

2 Module led ma trận Led Ma Trận thực ra bao gồm nhiều Led đơn ghéplại mà thành.

Nhìn vào hình ta thấy rằng: các Anode của các đèn Led đơn được mắcnối với nhau, và các Cathode cũng vậy, tạo thành môt bảng Led Ma Trận.Kích cở của Led Ma Trận còn tùy thuộc vào người thiết kế Chúng ta có thểghép các Led đơn lại với nhau để tạo được Bảng Led ma trận, nhưng côngviệc này gây mất nhiều thời gian nên để đơn giản thì ta mua trên thị trườngcác con Led Ma Trận đã được đóng gói sẵn

*) Nguyên lí quét led ma trận 8x8

Để ma trận có thể sáng như hình vẽ (hiển thị một phần của chữADIDAS):

Trang 11

Đèn LED thứ nhất Đèn LED thứ hai Đèn Led thứ ba

Thực hiện quét dòng và cột:

- Chọn cột 1, đưa điện áp cột 1 về 0

- Sau đó chọn và quét lần lượt các hàng 1,2,3,4,5,6,7,8 như sau:

+ Đèn 1 tắt => Điện áp đưa vào hàng 1 là 0V

+ Đèn 2 tắt => Điện áp đưa vào hàng 2 là 0V

+ Đèn 3 sáng => Điện áp đưa vào hàng 3 là 5V

+ Đèn 4 sáng => Điện áp đưa vào hàng 4 là 5V

+ Đèn 5 sáng => Điện áp đưa vào hàng 5 là 5V

+ Đèn 6 sáng => Điện áp đưa vào hàng 6 là 5V

+ Đèn 7 sáng => Điện áp đưa vào hàng 7 là 5V

+ Đèn 8 sáng => Điện áp đưa vào hàng 8 là 5V

Chọn cột 2, nối đất Sau đó quét lần lượt các hàng 1,2,3,4,5,6,7,8 + Đèn 1 tắt => Điện áp đưa vào hàng 1 là 0V

+ Đèn 2 sáng => Điện áp đưa vào hàng 2 là 5V

+ Đèn 3 tắt => Điện áp đưa vào hàng 3 là 0V

+ Đèn 4 sáng => Điện áp đưa vào hàng 4 là 5V

+ Đèn 5 tắt => Điện áp đưa vào hàng 5 là 0V

+ Đèn 6 tắt => Điện áp đưa vào hàng 6 là 0V

Trang 12

+ Đèn 7 tắt => Điện áp đưa vào hàng 7 là 0V

+ Đèn 8 tắt => Điện áp đưa vào hàng 8 là 0V

- Tiếp tục quét với các cột từ 3 đến 8 bằng cách như trên, sau đó chuyểnsang quét đèn LED thứ hai và thứ ba một cách tương tự

- Để mắt người nhận biết được toàn bộ hình ảnh của ma trận ta phải tiếnhành quét nhiều lần Do mắt người không phân biệt được sự thay đổi ảnh nếuảnh đó được quét với tốc độ 24 hình/s nên nếu ta quét ảnh với tốc độ lớn hơnhoặc bằng 24 hình/s thì ảnh sẽ chạy liên tục và không bị giật

CHƯƠNG IV: THIẾT KẾ PHẦN MỀM

3.Add File.C vào Project

4.Biên dịch và tạo File Hex

5.Gỡ lỗi chương trình (nếu có)

6.Nạp chương trình cho Vi điều khiển

1. 1 Tạo mới 1 Project

Chạy chương trình Keil C:

Trang 13

Vào Project->New Project:

Trang 14

Chọn đường dẫn để lưu và đặt tên cho project:

Trang 15

Sau đó ấn Save.

Tiếp theo ta chọn loại Chip: ở đây ta lựa chọn Atmel->chọn AT89C51

Trang 18

Ấn Yes và ta đã hoàn thành bước 1 – tạo 1 project mới.

Trang 19

2. 2 Tạo File.C

Tiếp theo ta cần tạo 1 File.C để viết chương trình cho Chip lên file đó.Vào File->New:

Trang 21

Sau đó chọn Save:

Trang 22

Chọn đường dẫn vào cùng thư mục với Project vừa tạo ở bước 1 Sau đó đặt tên, với phần đuôi mở rộng là C:

Trang 23

Chọn Save, và ta đã hoàn thành xong bước 2 – Tạo File.C.

3. 3 Add File.C vào Project

Ta cần phải liên kết File.C với Project vừa tạo với nhau:

Trong giao diện Keil C, ở không gian làm việc của Project: Chuột phải vào phần

“Source Group 1” -> Add files to Group “Source Group 1”:

Trang 24

Chọn đường dẫn đến thư mục Project -> chọn file.C vừa tạo ở bước 2 -> Add:

Trang 25

Và ta đã hoàn tất giai đoạn tạo Project, chuẩn bị viết code nào 

Trang 26

4. 4 Biên dịch và tạo file Hex

Sau khi tạo xong project ta tiến hành soạn thảo chương trình

Trang 27

{ 0x7f, 0x41, 0x41, 0x22, 0x1c }, /* D - 0x44 - 68 */ { 0x7f, 0x49, 0x49, 0x49, 0x41 }, /* E - 0x45 - 69 */ { 0x7f, 0x09, 0x09, 0x09, 0x01 }, /* F - 0x46 - 70 */ { 0x3e, 0x41, 0x49, 0x49, 0x7a }, /* G - 0x47 - 71 */ { 0x7f, 0x08, 0x08, 0x08, 0x7f }, /* H - 0x48 - 72 */ { 0x00, 0x41, 0x7f, 0x41, 0x00 }, /* I - 0x49 - 73 */ { 0x20, 0x40, 0x41, 0x3f, 0x01 }, /* J - 0x4a - 74 */ { 0x7f, 0x08, 0x14, 0x22, 0x41 }, /* K - 0x4b - 75 */ { 0x7f, 0x40, 0x40, 0x40, 0x40 }, /* L - 0x4c - 76 */ { 0x00, 0x42, 0x7f, 0x40, 0x00 }, /* 1 - 0x31 - 49 */ { 0x42, 0x61, 0x51, 0x49, 0x46 }, /* 2 - 0x32 - 50 */ { 0x21, 0x41, 0x45, 0x4b, 0x31 }, /* 3 - 0x33 - 51 */ { 0x18, 0x14, 0x12, 0x7f, 0x10 }, /* 4 - 0x34 - 52 */ { 0x27, 0x45, 0x45, 0x45, 0x39 }, /* 5 - 0x35 - 53 */ { 0x3c, 0x4a, 0x49, 0x49, 0x30 }, /* 6 - 0x36 - 54 */ { 0x01, 0x71, 0x09, 0x05, 0x03 }, /* 7 - 0x37 - 55 */ { 0x36, 0x49, 0x49, 0x49, 0x36 }, /* 8 - 0x38 - 56 */ { 0x06, 0x49, 0x49, 0x29, 0x1e }, /* 9 - 0x39 - 57 */ };

void timer0(void) interrupt 1 //thoi gian ngat tran la 5ms

Ngày đăng: 28/07/2014, 17:59

HÌNH ẢNH LIÊN QUAN

Sơ đồ chân của IC AT89C51: - Báo cáo thực hành led ma trận
Sơ đồ ch ân của IC AT89C51: (Trang 9)

TỪ KHÓA LIÊN QUAN

w