Lập trình ma trận LED trong Protues dùng 8501

19 3K 37
Lập trình ma trận LED trong Protues dùng 8501

Đ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

Lập trình ma trận LED trong Protues dùng 8501

HDSD Led matrix Trong Proteus Và Cách Quét LED SD 8051 Viết Phạm Thanh Toàn Thứ sáu, 29 Tháng 2010 10:33 Đây viết bạn Phạm Thanh Toàn phamtoanbonmat@gmail.com Một viết chi tiết lập trình ma trận LED Protues dùng 8501 Kết dịch chữ : http://hoiquandientu.com I GIỚI THIỆU SƠ QUA : Trong proteus có nhiều loại led ma trận , ví dụ loại 8x8 5x8.Tơi nói led matrix loại 8x8 phổ biến thường hay dung ,các loại led matrix khác nguyên lý tượng tự Led ma trận proteus có nhiều màu khác ,có loại màu đỏ ,màu xanh ,và màu xanh da trời Mỗi loại lại có khác biệt chân để xác định đâu hàng đâu cột Do để đơn giản tui ,nói loại màu xanh ,vì loại trơng đẹp Led ma tran màu xanh có hình dạng sau : II CÁCH XÁC ĐỊNH HÀNG CỘT ,THAY ĐỔI THÔNG SỐ Khi làm việc với led matrix , điều quan tâm lớn phải xác định xem ,chân ,tức đâu chân hàng , đâu chân cột ,trong chân hàng ,thì chân chân ứng với hàng đầu ,và chân ứng với hàng cuối để xác định bít cao ,bít thấp - Dùng nguồn 5V mass để thử rút kết luận hình vẽ sau Ta thấy chân chân hàng nối với mass suy cấu tạo nối với catốt led ngược lại chân chân cột - Ta thấy chân chân hàng có chân ko nối mass hàng ko sáng suy chân bên trai led ứng với hàng tính từ - Và đương nhiên chân phía chân cột chân bên trái ứng với cột bên trái Như xác định rõ rang chân led Tuy nhiên giả sử muốn thay đổi theo kiểu sau : a: chân led hàng ,chân cột ,nhưng lúc hàng tich cực với bít (5v) cịn cột tich cực mức (ngược với ) ta làm sau: Kich chuột phải vào led chọn edit properties sau đánh dấu vào edit all properties as text thay đổi A,B,C,D,E,F,G,H 1,2,3,4,5,6,7,8 Ta sau : b.Nếu muốn thay đổi cho cột lên trên,hàng xuống cực tính khơng đổi dung quay 1800 ok III : CÁCH TÍNH MÃ LED HIỆN THỊ Chúng ta nhìn vào hình vẽ sau : Chúng ta sử dụng phần mềm xác định mã led led ma trận , để đỡ thời gian ngồi tính tốn ,và dẫn đến sai Phần mềm có trang web www.hoiquandientu.com Ai chưa có vào down liên hệ với tui quan mai tui ,hj Chú ý : Khi xây dựng ma trận led ,nếu ta chọn hàng la chân mức tich cực dương,tức với bít sang ,cịn bít tắt ,do ta dung mã 0ff có nghĩa led sang Xét theo hình vẽ ta thấy ma trận 8x8 ,với hàng chân tích cực dương ,cột chân tích cực âm chữ T tương đương với mã led : 0h,02h ,02h,7eh,2h,2h,0h,0h Phải ý maled tính theo hàng có dạng cột hình vẽ (data đẩy vào hàng ) Với chữ T 00h ,tức cột ko sáng ,tương đương với led đầu hàng khơng sáng nên suy có dạng 0000 0000 b = 00h.Tiếp theo 02h ,ta thấy cột có led ỏ hàng sáng mà mã có dạng 02h = 0000 0010 b từ ta suy thứ tự led bít Giả sử chuỗi bít sau : d7 d6 d5 d4 d3 d2 d1 d0 Với d7 bít có trọng số cao tức MSB cịn d0 LSB trường hợp cần lưu ý ,ma trận led chia bít chuỗi bít chuỗi bít có LSB MSB Xét chuỗi bít đầu ứng với hàng đầu tính từ xuống (4 bít thấp bít ) Giả sử d3d2d1d0 tương đương với 0010 chuỗi bít MSB LÀ D3 ,LSB d1 : Với chuỗi bít cao d7d6d5d4 MSB LÀ D7 ,cịn LSB d4 MSB LSB MSB LSB D7 D6 D5 D4 D3 D2D1 D0 Ví dụ với dòng thứ chữ T LÀ 7eh = 111 111 ( Led cuối -> led đầu tiên) (Tính từ xuống ) Tóm lại với trường hợp (led matran tren ) Thì hàng led tính từ xuống ứng với bít thấp bít thấp Hàng led thứ tư bít cao bít thấp Hàng led thứ bít thấp bít cao Hàng led cuối bít thấp cao bít cao bít ln IV : TRÌNH BIÊN DỊCH TRONG PROTUES Trong isi (proteus) có sẵn trình biên dich để viết code lập trình vào ,có thể viết code ngơn ngữ c asem asem có ưu điểm dung lượng nhẹ , hiểu rõ chất cấu trúc 8051 liệu hoạt động cấu trúc 8051 ,vì asem họ hàng gần với ngơn ngữ máy Nhưng asem lập trình khó đỏi hỏi hiểu chất cấu trúc 8051 Ngôn ngữ c cấp cao ,lập trình đơn giản ngày đựơc ưu tiên dùng hơn.nhưng phải thạo đạt hiệu cao Để viết code lập trình cho chip ta làm sau Vào source : A : Chọn define code generation too : Đối với isi p.5 sp3 để nguyên nhấn ok ,cịn phiên thấp có chỉnh sửa chút ,nhưng thời điểm có dung proteus chả ko dung 7.5 ( 7.6 bị lỗi ) Cứ chọn ok ln B sau lại chọn tiếp add /remove source file : Đổi none phần code generation tool asem 51 (để viết ngôn ngữ asem ) Sau chọn new bên bảng ,chọn ten cho file lập trình : ví dụ tui chọn lednhay.asm chọn open Mở open chọn yes lại chọn ok ,thế ta tạo xong tên file lập trình asm Giả sử làm cho trai tim led nhấp nháy theo ý muốn ,như hình sau : Phần cứng thiết kế khơng khó , Phần lập trình : Lại vào source ,ta thấy có file lednhay.asm phia (nó dạng notpade) kich vào bắt đầu lập trình asm CODE LẬP TRÌNH VÍ DỤ NHƯ SAU : (THEO CÁCH SANG CỦA TƠI ,CỊN CÁC BẠN THÍCH SÁNG THEO KIỂU NÀO LÀ DO MÌNH LẬP TRÌNH THUI ,HJHJ ) Lập trình dễ : ORG 0000H BATDAU: MOV R1,#4 MOV A,#00 MOV P1,A MOV P2,A MAIN1: SETB P1.1 ACALL DELAY SETB P1.0 SETB P1.2 ACALL DELAY SETB P1.3 SETB P2.1 ACALL DELAY SETB P1.4 SETB ACALL SETB SETB ACALL SETB ACALL MAIN2: MOV MOV ACALL MAIN3 MOV MOV ACALL DJNZ SJMP DELAY MOV N1:MOV N2:MOV N3:DJNZ DJNZ DJNZ RET END P2.0 DELAY P1.5 P1.7 DELAY P1.6 DELAY P1,#00H P2,#00H DELAY : P1,#0FFH P2,#0FFH DELAY R1,MAIN2 BATDAU : R2,#50 R3,#50 R4,#70 R4,N3 R3,N2 R2,N1 V: Nguyên lý quét LED ma trận Vì led ma trận bố trí nhiều led đơn ,và led đựoc đấu chung chân với ,do cắm điện vào bình thường led sáng , Do để thị led sang theo mong muốn người ta dung cách ,cho led đơn sáng trước ,rồi tắt cho led sang ,khoảng thời gian chuyển giao ngắt để mắt người ko nhận rời rạc ngắt quãng mà chuyển động ,do led matranxix kô thể hiển thị theo kiểu tĩnh mà theo kiểu động ,tức hiển thị chạy liên tục Xét ví dụ sau -Nhìn vào ví dụ ,tơi cho chạy dịng chữ hội quán điện tử ,bằng cách quýet led ma trận , - sử dụng 89c51 ,có nguồn xung thạch anh để làm xung clock cho 89c51 Sử dụng matran led (nhiều hay dung ) sử dụng ma trận led cần sử dụng IC đệm 74ls541 ic có tác dụng đầu vào đầu y hệt điều khiển ,tức cho data có điều kiện đó: - Điều kiện chân oe1 0e2 tích cực mức ic hoạt động ,(do ta để chân nối mass chân nối vào port 89c51 để điều khiển câu lệnh lập trình ) Khi quét led thông thường để led chạy theo chiều ngang ,do phương pháp gọi quét cột ,tức cột led chọn tích cực cịn liệu đẩy theo hàng ,do liệu liệu bít tính theo hàng quy ma hexa Do yếu tố người ta thường chọn cho led có hàng tích cực mức dương ,cịn cột tích cực mức âm , chọn port để qt cho cột ,cịn liệu tính theo mã hàng đưa vào port bit port chân oe1 led ma trận Và để có điều phải thử led trước ,ví dụ với led xanh phải chỉnh sửa theo kiểu mà tơi vừa trình bày Code lap trình tơi viết asem ,chỉ cần học qua asem bly chút hiểu nguyên lý quyet code : Vì khơng có thời gian để giải thích hết lệnh phân tich đến chất ?(cuối năm bận nhiều việc) tết ,nên chưa hiểu chỗ gửi mail ( phamtoanbonmat@gmail.com ) cho tui nha hjhj Khi làm phải chuý chân led ma trận mã để quýet led theo hàng ,chân ứng với MSB chân ứng với LSB ... lý quét LED ma trận Vì led ma trận bố trí nhiều led đơn ,và led đựoc đấu chung chân với ,do cắm điện vào bình thường led sáng , Do để thị led sang theo mong muốn người ta dung cách ,cho led đơn... led thứ bít thấp bít cao Hàng led cuối bít thấp cao bít cao bít ln IV : TRÌNH BIÊN DỊCH TRONG PROTUES Trong isi (proteus) có sẵn trình biên dich để viết code lập trình vào ,có thể viết code ngơn... qn điện tử ,bằng cách quýet led ma trận , - sử dụng 89c51 ,có nguồn xung thạch anh để làm xung clock cho 89c51 Sử dụng matran led (nhiều hay dung ) sử dụng ma trận led cần sử dụng IC đệm 74ls541

Ngày đăng: 18/08/2012, 11:49

Hình ảnh liên quan

- Dùng nguồn 5V và mass để thử và rút ra kết luận như hình vẽ sau - Lập trình ma trận LED trong Protues dùng 8501

ng.

nguồn 5V và mass để thử và rút ra kết luận như hình vẽ sau Xem tại trang 2 của tài liệu.
Chúng ta nhìn vào hình vẽ sau: - Lập trình ma trận LED trong Protues dùng 8501

h.

úng ta nhìn vào hình vẽ sau: Xem tại trang 5 của tài liệu.
Phải chú ý maled tính theo hàng nhưng có dạng cột như hình vẽ (data cũng đẩy vào hàng ) Với chữ T đầu tiên là 00h ,tức là cột đầu tiên ko sáng ,tương đương với 8 led đầu ở 8 hàng  không sáng nên suy ra nó có dạng 0000 0000 b = 00h.Tiếp theo là 02h ,ta thấ - Lập trình ma trận LED trong Protues dùng 8501

h.

ải chú ý maled tính theo hàng nhưng có dạng cột như hình vẽ (data cũng đẩy vào hàng ) Với chữ T đầu tiên là 00h ,tức là cột đầu tiên ko sáng ,tương đương với 8 led đầu ở 8 hàng không sáng nên suy ra nó có dạng 0000 0000 b = 00h.Tiếp theo là 02h ,ta thấ Xem tại trang 6 của tài liệu.
Giả sử chúng ta làm cho một trai tim led nhấp nháy theo ý muốn ,như hình sau: - Lập trình ma trận LED trong Protues dùng 8501

i.

ả sử chúng ta làm cho một trai tim led nhấp nháy theo ý muốn ,như hình sau: Xem tại trang 11 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan