Tài liệu Sử dụng proteus để thiết kế led ma trận docx

23 1.9K 5
Tài liệu Sử dụng proteus để thiết kế led ma trận docx

Đ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

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ứ B chọn sau chúng ok ta lại chọn tiếp ln 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 Phần thiết kế lập khơng trình khó , : 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 ORG dễ : 0000H BATDAU: MOV R1,#4 MOV A,#00 MOV P1,A MOV P2,A MAIN1: SETB ACALL P1.1 DELAY SETB P1.0 SETB P1.2 ACALL DELAY SETB P1.3 SETB P2.1 ACALL DELAY SETB P1.4 SETB P2.0 ACALL DELAY SETB P1.5 SETB P1.7 ACALL DELAY SETB P1.6 ACALL DELAY MAIN2: MOV P1,#00H MOV P2,#00H ACALL MAIN3 DELAY : MOV P1,#0FFH MOV P2,#0FFH ACALL DELAY DJNZ R1,MAIN2 SJMP BATDAU DELAY : MOV R2,#50 N1:MOV R3,#50 N2:MOV R4,#70 N3:DJNZ R4,N3 DJNZ R3,N2 DJNZ R2,N1 RET END 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 : Code sau : org 0000h ; chọn ngăn nhớ rom để nạp mã lệnh batdau: mov DPTR,#maled ; nạp liệu nhãn maled vào ghi dptr lap:mov r0,#30 main1 : mov r2,#24 ;ban đầu phần maled có hàng ứng với 24 chuỗi 0h mov r1,#16 ; nạp vào ma tran chạy muộn ma tran b cột nên =16 mov r7,#8 mov b ,#0 mov r3,#7fh main2: mov a,r3 ; nạp liệu từ r3 vào a ,a chứa 0111 1111 b rl a ; thực quay trái a cột nhận giá trị mov r3,a mov p1,a setb p3.3 ; tắt matrận 2,3,4 setb p3.2 setb p3.3 clr p3.0 ; cho matrận tích cực mov a,r2 ; nạp R2 vào a movc a,@a+DPTR ; nạp data a + dptr ->địa 16b để vào a mov p2,a ;…… inc r2 acall delay ;gọi trễ cjne r3,#07fh,main2 ; quét đủ cột ma trận chuyển main3: mov a,r3 rl a mov r3,a mov p1,a clr p3.1 setb p3.0 setb p3.2 setb p3.3 mov a,r1 movc a,@a+DPTR mov p2,a inc r1 acall delay cjne r3,#07fh,main3 main4: mov a,r3 rl a mov r3,a mov p1,a clr p3.2 setb p3.0 setb p3.1 setb p3.3 mov a,r7 movc a,@a+DPTR mov p2,a inc r7 acall delay cjne r3,#07fh,main4 main5: mov a,r3 rl a mov r3,a mov p1,a clr p3.3 setb p3.2 setb p3.0 setb p3.1 mov a,b movc a,@a+DPTR mov p2,a inc b acall delay cjne r3,#07fh,main5 djnz r0,main1 inc DPTR mov a,DPL cjne a,#144,lap ; 144 = (số hàng db x8 ,để giới hạn quay ) sjmp batdau delay : push 04 ; cất vào sactk để tý lấy dung lần thư push 05 push 06 mov r4,#4 n1:mov r5,#4 n2:mov r6,#4 n3:djnz r6,n3 djnz r5,n2 djnz r4,n1 pop 06 pop 05 pop 04 ret delay2: ; tạo trễ thời gian ,t= 4X4X4x2us = 128us mov r4,#4 m1:mov r5,#4 m2:mov r6,#4 m3:djnz r6,m3 djnz r5,m2 djnz r4,m1 ret org 800h ;chọn địa để tránh data bị đè lên maled: db 0h, 0h, 0h, 0h, 0h, 0h ,0h, 0h db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h db 0h, 0h, 0h, 0h, 0h, 0h, 0h, 0h db 0h, 0h, 7eh, 10h, 8h, 70h, 0h,8h db 3eh, 48h, 20h,0h,8h,3eh,48h,20h db 0h ,0fch, 14h, 14h ,8h, 0h,0h, 24h db 0h, 40h, 0a0h, 50h, 28h, 14h,0ah, 4h db 0h, 7eh, 8h, 8h, 8h,7eh,0h,3ch db 42h,42h,42h,3ch,0h,7eh,0h, 0h db 3ch, 42h, 42h, 62h, 7ch,80h,0h,3eh db 40h, 40h, 3eh, 0h,7ch,0ah,0ah, 0ah db 7ch, 0h, 7eh, 4h, 8h,10h ,7eh, 0h db 0h, 8h, 7eh, 4ah, 4ah, 42h, 3ch, 0h db 7eh, 0h, 7eh,4ah, 4ah, 42h ,0h, 7eh db 4h, 8h, 10h, 7eh, 0h, 0h, 2h, 2h db 7eh, 2h, 2h,0h ,3eh, 40h ,40h, 40h db 3eh, 3h ,0h, 0h, 0h, 0h ,0h, 0h end Vì khơng có thời gian để giải thích hết lệnh phân tich đến chất mong bạn thông cảm nha Co ji thi mail cho minh (anle_433@yahoo.com hay 0984040941) 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 ... 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... 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... nhớ rom để nạp mã lệnh batdau: mov DPTR,#maled ; nạp liệu nhãn maled vào ghi dptr lap:mov r0,#30 main1 : mov r2,#24 ;ban đầu phần maled có hàng ứng với 24 chuỗi 0h mov r1,#16 ; nạp vào ma tran

Ngày đăng: 25/01/2014, 19:20

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 - Tài liệu Sử dụng proteus để thiết kế led ma trận docx

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: - Tài liệu Sử dụng proteus để thiết kế led ma trận docx

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 ) - Tài liệu Sử dụng proteus để thiết kế led ma trận docx

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 ) 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 : - Tài liệu Sử dụng proteus để thiết kế led ma trận docx

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

  • Đang cập nhật ...

Tài liệu liên quan