project lam led trai tim 32 led
Post on 30-May-2015
423 Views
Preview:
TRANSCRIPT
Vưa qua tôi nhân đươc rât nhiêu điên thư cua Ban đoc, nhiêu thư vân hoi vê đê tai ban đen Led va cac ban đen quang bao. Trong lân nay tôi đê cư môt thư cua môt Ban đoc, dân kiên truc không chuyên vê điên tư, hoi vê cac vân đê co liên quan đên ban đen 32 Led săp xêp thanh hinh trai tim va co nhiêu kiêu nhâp nhay đep măt. Tôi đoan chăc cung co nhiêu Ban mơi chơi ic lâp trinh cung thich đê tai nay, nên mươn y, viêt bai tra lơi thư dai hơi hơn, đây đu hơn, mong bai viêt nay đap ưng đươc tinh to mo ham tim hiêu cua cac Ban.
Nôi dung trong file đinh kem theo điên thư trong đo co cac hinh như sau:
1. Hinh ve sơ đô mach điên cho thây mach dung IC AT89C51, 52 đê điêu khiên sư nhâp nhay cua 32 Led găn trên 4 cang p0, p1, p2, p3. Đây la môt mach điên rât cơ ban, tri cac điên trơ han dong co thê dung 150 ohm đên 220 ohm. Y1 la thach anh dung tao xung nhip, co thê dung thach anh 12MHz. Cac tu ôn tân găn bên canh thach anh theo nha san xuât IC nên dung tri 33pF.
Thư Ban đoc co 4 y chinh, đươc tra lơi nhanh như sau:
Y 1: Ban co thê dung ic lâp trinh AT89C51 vơi bô nhơ nôi la 4Kbyte hay tôt hơn dung AT89C52 vơi bô nhơ nôi la 8Kbyte.
Y 2: Trong mach dung cac điên trơ han dong cho Led, Ban co thê dung điên trơ co tri tư 150 ohm đên 220 ohm.
Y 3: Bên canh thach anh, theo nha san xuât IC đê nghi Ban nên dung tu 33pF đê tăng hê sô ôn đeinh tân sô cua thach anh.
Y 4: Vê Led, chân A cho nôi vao đương nguôn +5V, chân K cua Led, qua điên trơ han dong, lây dong điên tư chay ra trên cac chân cua cac cang đê phat sang. Ban dung Ohm kê kim, đăt ơ thang đo Rx1, đo kiêm tra Led, khi đo thuân Led se sang, luc nay dây mau đen đang ơ trên chân Anode va dây mau đo cho biêt chân K.
Trong phân sau tôi se ve lai sơ đô mach điên chinh xac hơn, ro rang hơn va se giai thich chi tiêt phương cach thiêt kê loai mach nay.
2. Hinh tông thê cua 32 Led hinh trai tim.
Hinh măt dươi cua ban mach in, trên đo la cac đương đông nôi mach.
3. Cach bô tri cac linh kiên trên ban mach in, lơi măt trên.
Phân tra lơi thư mơ rông:
Đê thiêt kê mach 32 Led găn thanh hinh trai tim, cho nhâp nhay theo nhiêu kiêu, Ban co thê rap theo sơ đô mach điên như sau:
Phân 1: Sơ đô cho thây cach kêt nôi 32 Led trên 4 cang cua ic AT89C52
Hinh ve cho thây, chung ta găn 32 Led trên hinh trai tim, môi Led đươc điêu khiên tăt mơ đôc lâp bơi môt chân cua ic lâp trinh AT89C52. Vân đê quan trong la Ban phai nhơ chân nao
điêu khiên Led nao. Trong hinh ve trên Ban thây, chung ta găn Led D1 đên D8 tiêp theo la D9 đên D16 cho cung hinh bên trai va Led D17 đên D24 liên theo la D25 đên D32 tao ra hinh cung bên phai. Điêu nay phai xac đinh chinh xac vi sau nay chung ta se dung cac câu lênh đê tăt mơ cac Led trên đung theo trinh tư, đung theo y muôn, nêu không săp đung trinh tư cua chương trinh điêu khiên, cac Led se nhâp nhay "loan cao cao".
Phân 2: Sơ đô mach điên cơ ban dung điêu khiên sư nhâp nhay cua cac Led găn trên cac cang p0, p1, p2, p3
Muôn dung ic lâp trinh AT89C52, trươc hêt Ban hay rap vao cac phu kiên sau:
* Trên chân 9 găn tu 10uF va điên trơ 8.2K đê tao tinh reset môi khi mơ nguôn. Ngay khi mach đươc câp nguôn, tu 10uF nap điên, no se keo chân sô 9 lên mưc ap cao, điêu nay se reset ic AT89C52, câu truc mach bên trong se đươc xac lâp vê trang thai mơ đâu theo quy đinh. Chung ta biêt ơ trang thai khơi đâu, tâ ca cac chân cua 4 cang đêu cho ơ mưc ap cao va như vây 32 Led trên hinh trai tim luc mach mơi đươc câp điên
se ơ trang thai tăt. Sau môt luc tu nap đây, tra chân 9 vê lai mưc ap thâp, mưc 0V, ic lâp trinh băt đâu chay cac câu lênh co trong bô nhơ EEPROM. Nêu thây cân Ban găn thêm nut nhân reset S1.
* Trên chân 18, 19 Ban găn thach anh đinh tân cho mach dao đông trong ic lâp trinh. Thông thương dung thach anh 12MHz, vây trong ic se co xung nhip chu ky 1us. ơ đây ngươi ta găn cac tu nho 33pF co công dung ôn tân.
* Điêu cân nhơ la phai cho chân 31 nôi vao đương nguôn 5V đê khai bao la cho chay cac câu lênh năm trong bô nhơ trong.
Phân 3: Sơ đô mach nguôn nuôi, nguôn 5V co đô ôn đinh tôt
Mach nguôn gôm biên ap cach ly T1, no co 2 công dung: (1), vưa tao tinh cach ly giưa mach điên va đương nguôn AC, giư an toan cho ngươi dung. (2), vưa dung lam giam ap AC, ha mưc nguôn AC 220V xuông 9V. Dung câu năn dong 4 diode đê chuyên đôi dong AC ra dang dong điên xung môt pha. Tu C1 dung tu hoa lơn lam kho chưa điên, no co 3 công dung: (1), giam đô dơn song. (2), nâng cao mưc ap DC lên gân băng mưc volt cưc đai. (3), lam kho chưa điên ôn đinh điêu kiên câp điên cho tai. Dung Led đo vơi điên trơ han dong 1K lam đen chi thi. Đê co mưc ap DC 5V co đô ôn đinh tôt, trong mach dung ic ôn ap 3 chân 7805. Vơi loai ic ôn ap tich cưc, đê tranh mach điên trong ic không phat sinh hiên tương dao đông tư kich, ơ nga ra
dung thêm tu hoa C2 lam tu loc, co thê dung thêm tu loc nho C3 đê loc bo cac tin hiêu nhiêu tân cao nhiêm vao đương nguôn. Điêu cân nhơ: IC 7805 phai cho găn trên la nhôm lam nguôi.
Noi vê cach găn 32 Led theo hinh ve trai tim.
Qua hinh thi pham trên, trươc hêt Ban ve hinh trai tim hay hinh gi khac cung đươc, sau đo găn 32 Led theo đương bao cua hinh, điêu Ban cân nhơ la Led nao đươc điêu khiên bơi chân nao cua ic AT89C52, sau đo Ban se dung cac câu lênh tăt mơ cac Led nay theo cac kiêu nhâp nhay ma Ban muôn. Đo chinh la nôi dung cua bai viêt nay.
Cach viêt chương trinh nguôn tao ra cac kiêu nhâp nhay.
Hinh đông dươi đây cho thây môi Led đươc điêu khiên bơi môt chân cua ic lâp trinh AT89C52, hay AT89C51. Trong mach nay chung ta cho Led sang vơi mưc ap thâp, hay bit 0 va cho tăt Led vơi mưc ap cao hay bit 1.
Cac lênh co thê dung đê đăt bit 0, bit 1 lên cac chân cua cac cang la:
setb bit : set bit, cho đăt chân lên mưc ap cao se lam tăt Led.
clr bit : clear bit, cho đăt chân xuông mưc ap thâp se câp dong lam sang Led.
mov p0, #11111111b : đăt 8 chân cua cang p0 lên mưc ap cao, lam tăt 8 Led trên cang p0.
hay:
mov p0, #00000000b : đăt 8 chân cua cang p0 xuông mưc ap thâp, cho sang 8 Led trên cang p0.
Chung ta co thê lâp bang lưu giư cac kiêu nhâp nhay va cho xuât cac ma điêu khiên ra cac cang đê điêu khiên sư tăt sang cua cac Led. Môt thi du:
kieu_1: ; dung bit 0 đê cho Led sang, vây kiêu nay se cho 1 Led sang nhây.db 11111111bdb 11111110b
db 11111101bdb 11111011bdb 11110111bdb 11101111bdb 11011111bdb 10111111bdb 01111111bdb 10111111bdb 11011111bdb 11101111bdb 11110111b
db 11111011bdb 11111101bdb 11111110b
......
Sau đây la môt chương trinh nguôn dung điêu khiên 32 Led trên 4 cang cua ic lâp trinh AT89C51 hay 52.
Chung ta se dung cach viêt cơ ban, dê hiêu nhât, đo la muôn Led sang thi cho no co bit 0, muôn tăt Led thi gan cho no bit 1. Trươt hêt hay tao ra cac đoan chương trinh con dung cho cac nkiêu nhâp nhay;
Kiêu 1: cho 3 Led nhây như hinh đông trên.
kieu_1a: ; 3 Led nhây ra biên trai, va 3 Led nhây ra biên phai. mov p0, #11111000b mov p1, #00011111b call delay mov p0, #11110001b mov p1, #10001111b call delay mov p0, #11100011b mov p1, #11000111b call delay mov p0, #11000111b mov p1, #11100011b call delay mov p0, #10001111b mov p1, #11110001b call delay mov p0, #00011111b mov p1, #11111000b call delay; băt câu giưa p0 - p2 va p1 - p3
mov p0, #00111111b mov p2, #11111110b mov p1, #11111100b mov p3, #01111111b call delay mov p0, #01111111b mov p2, #11111100b mov p1, #11111110b mov p3, #00111111b call delay mov p0, #11111111b mov p2, #11111000b mov p1, #11111111b mov p3, #00011111b call delay; cho 3 Led nhây trên p2, p3 mov p2, #11110001b mov p3, #10001111b call delay mov p2, #11100011b mov p3, #11000111b call delay mov p2, #11000111b mov p3, #11100011b call delay mov p2, #10001111b mov p3, #11110001b call delay mov p2, #00011111b mov p3, #11111000b call delay ret Cho 3 Led tư biên trai, biên phai nhây trơ vao, chương trinh con viêt như sau:
kieu_1b: ; cho 3 Led nhây tư biên vao mov p2, #00011111b mov p3, #11111000b call delay
mov p2, #10001111b mov p3, #11110001b call delay mov p2, #11000111b mov p3, #11100011b call delay mov p2, #11100011b mov p3, #11000111b call delay mov p2, #11110001b mov p3, #10001111b call delay mov p2, #11111000b mov p3, #00011111b call delay mov p2, #11111100b mov p0, #01111111b mov p3, #00111111b mov p1, #11111110b call delay mov p2, #11111110b mov p0, #00111111b mov p3, #01111111b mov p1, #11111100b call delay mov p2, #11111111b mov p0, #00011111b mov p3, #11111111b mov p1, #11111000b call delay mov p0, #10001111b mov p1, #11110001b call delay mov p0, #11000111b mov p1, #11100011b call delay mov p0, #11100011b mov p1, #11000111b call delay mov p0, #11110001b mov p1, #10001111b
call delay mov p0, #11111000b mov p1, #00011111b call delay ret
Thư viêt môt đoan chương trinh con khac: Cho 4 Led chay quay vong, tư cung bên phai qua cung bên trai va chay ngươc lai.
kieu_2a: ; cho 4 Led nhây tư bên trai qua bên phai mov P0, #11110000b call delay mov p0, #11000011b call delay mov p0, #00001111b call delay mov p0, #00111111b mov p2, #11111100b call delay mov p0, #11111111b mov p2, #11110000b call delay mov p2, #11000011b call delay mov p2, #00001111b call delay mov p2, #00111111b mov p3, #11111100b call delay mov p2, #11111111b mov p3, #11110000b call delay mov p3, #11000011b call delay mov p3, #00001111b call delay mov p3, #00111111b mov p1, #11111100b call delay mov p3, #11111111b
mov p1, #11110000b call delay mov p1, #11000011b call delay mov p1, #00001111b call delay ret
kieu_2b: ; cho 4 Led nhây tư bên phai qua bên trai mov p1, #00001111b call delay mov p1, #11000011b call delay mov p1, #11110000b call delay mov p1, #11111100b mov p3, #00111111b call delay mov p1, #11111111b mov p3, #00001111b call delay mov p3, #11000011b call delay mov p3, #11110000b call delay mov p3, #11111100b mov p2, #00111111b call delay mov p3, #11111111b mov p2, #00001111b call delay mov p2, #11000011b call delay mov p2, #11110000b call delay mov p2, #11111100b mov p0, #00111111b call delay mov p2, #11111111b mov p0, #00001111b
call delay mov p0, #11000011b call delay mov p0, #11110000b call delay ret
kieu_3: ; cho 8 Led sang kêu đưa vong mov p0, #00000000b call delay mov p0, #11111111b mov p3, #00000000b call delay mov p3, #11111111b mov p1, #00000000b call delay mov p1, #11111111b mov p2, #00000000b call delay mov p2, #11111111b ret
Viêt đoan chương trinh con cho 2 Led sang lan dân tư trên xuông dươi.
kieu_4: ; cho 2 Led sang lan dân tư trên xuông dươi. mov p0, #11111100b mov p1, #00111111b call delay mov p0, #11110000b mov p1, #00001111b call delay mov p0, #11000000b mov p1, #00000011b call delay mov p0, #00000000b mov p1, #00000000b call delay mov p2, #11111100b
mov p3, #00111111b call delay mov p2, #11110000b mov p3, #00001111b call delay mov p2, #11000000b mov p3, #00000011b call delay mov p2, #00000000b mov p3, #00000000b call delay ret
Câu truc cua chương trinh nguôn co thê viêt như sau:
org 0000hstart: call xoa call kieu_1a call xoa call kieu_1b call xoa mov r3, #10tt_1: call kieu_2a call xoa call kieu_2b call xoa djnz r3, tt_1 mov r3, #5tt_2: call xoa call kieu_3 call xoa djnz r3, tt_2 mov r3, #20tt_3: call xoa call kieu_4 call xoa
djnz r3, tt_3 jmp start; kieu_1a:kieu_1b: kieu_2a:kieu_2b:kieu_3:kieu_4:;xoa: mov p0, #11111111b mov p1, #11111111b mov p2, #11111111b mov p3, #11111111b retdelay: mov r7, #20v_6: mov r6, #100v_5: mov r5, #200 djnz r5, $ djnz r6, v_5 djnz r7, v_6 retend Đên đây, Ban co thê ghep cac đoan chương trinh con trên thanh 1 file, đăt tên tuy chon, ho la .asm, thi du: tên file la led-nhay.asm va dung M-IDE đê dich file .asm nay, tao ra file .hex đê rôi cho nap cac ma lênh trong file nay vao trong bô nhơ cua AT89C52, thê la xong.
File nguôn led-nhay.asm co nôi dung như sau:
org 0000hstart: call xoa call kieu_1a
call xoa call kieu_1b call xoa mov r3, #10tt_1: call kieu_2a call xoa call kieu_2b call xoa djnz r3, tt_1 mov r3, #5tt_2: call xoa call kieu_3 call xoa djnz r3, tt_2 mov r3, #20tt_3: call xoa call kieu_4 call xoa djnz r3, tt_3 jmp start; kieu_1a: ; 3 Led nhây ra biên trai, va 3 Led nhây ra biên phai. mov p0, #11111000b mov p1, #00011111b call delay mov p0, #11110001b mov p1, #10001111b call delay mov p0, #11100011b mov p1, #11000111b call delay mov p0, #11000111b mov p1, #11100011b call delay mov p0, #10001111b mov p1, #11110001b call delay mov p0, #00011111b
mov p1, #11111000b call delay; băt câu giưa p0 - p2 va p1 - p3 mov p0, #00111111b mov p2, #11111110b mov p1, #11111100b mov p3, #01111111b call delay mov p0, #01111111b mov p2, #11111100b mov p1, #11111110b mov p3, #00111111b call delay mov p0, #11111111b mov p2, #11111000b mov p1, #11111111b mov p3, #00011111b call delay; cho 3 Led nhây trên p2, p3 mov p2, #11110001b mov p3, #10001111b call delay mov p2, #11100011b mov p3, #11000111b call delay mov p2, #11000111b mov p3, #11100011b call delay mov p2, #10001111b mov p3, #11110001b call delay mov p2, #00011111b mov p3, #11111000b call delay retkieu_1b: ; cho 3 Led nhây tư biên vao mov p2, #00011111b mov p3, #11111000b call delay mov p2, #10001111b mov p3, #11110001b
call delay mov p2, #11000111b mov p3, #11100011b call delay mov p2, #11100011b mov p3, #11000111b call delay mov p2, #11110001b mov p3, #10001111b call delay mov p2, #11111000b mov p3, #00011111b call delay mov p2, #11111100b mov p0, #01111111b mov p3, #00111111b mov p1, #11111110b call delay mov p2, #11111110b mov p0, #00111111b mov p3, #01111111b mov p1, #11111100b call delay mov p2, #11111111b mov p0, #00011111b mov p3, #11111111b mov p1, #11111000b call delay mov p0, #10001111b mov p1, #11110001b call delay mov p0, #11000111b mov p1, #11100011b call delay mov p0, #11100011b mov p1, #11000111b call delay mov p0, #11110001b mov p1, #10001111b call delay mov p0, #11111000b
mov p1, #00011111b call delay ret kieu_2a: ; cho 4 Led nhây tư bên trai qua bên phai mov P0, #11110000b call delay mov p0, #11000011b call delay mov p0, #00001111b call delay mov p0, #00111111b mov p2, #11111100b call delay mov p0, #11111111b mov p2, #11110000b call delay mov p2, #11000011b call delay mov p2, #00001111b call delay mov p2, #00111111b mov p3, #11111100b call delay mov p2, #11111111b mov p3, #11110000b call delay mov p3, #11000011b call delay mov p3, #00001111b call delay mov p3, #00111111b mov p1, #11111100b call delay mov p3, #11111111b mov p1, #11110000b call delay mov p1, #11000011b call delay mov p1, #00001111b call delay ret
kieu_2b: ; cho 4 Led nhây tư bên phai qua bên trai mov p1, #00001111b call delay mov p1, #11000011b call delay mov p1, #11110000b call delay mov p1, #11111100b mov p3, #00111111b call delay mov p1, #11111111b mov p3, #00001111b call delay mov p3, #11000011b call delay mov p3, #11110000b call delay mov p3, #11111100b mov p2, #00111111b call delay mov p3, #11111111b mov p2, #00001111b call delay mov p2, #11000011b call delay mov p2, #11110000b call delay mov p2, #11111100b mov p0, #00111111b call delay mov p2, #11111111b mov p0, #00001111b call delay mov p0, #11000011b call delay mov p0, #11110000b call delay ret kieu_3: ; cho 8 Led sang kiêu đưa vong mov p0, #00000000b call delay
mov p0, #11111111b mov p3, #00000000b call delay mov p3, #11111111b mov p1, #00000000b call delay mov p1, #11111111b mov p2, #00000000b call delay mov p2, #11111111b retkieu_4: ; cho 2 Led sang lan dân tư trên xuông dươi. mov p0, #11111100b mov p1, #00111111b call delay mov p0, #11110000b mov p1, #00001111b call delay mov p0, #11000000b mov p1, #00000011b call delay mov p0, #00000000b mov p1, #00000000b call delay mov p2, #11111100b mov p3, #00111111b call delay mov p2, #11110000b mov p3, #00001111b call delay mov p2, #11000000b mov p3, #00000011b call delay mov p2, #00000000b mov p3, #00000000b call delay ret ;xoa: mov p0, #11111111b mov p1, #11111111b
mov p2, #11111111b mov p3, #11111111b retdelay: mov r7, #20v_6: mov r6, #100v_5: mov r5, #200 djnz r5, $ djnz r6, v_5 djnz r7, v_6 retend
Chuyên file nay vao vung soan thao M-IDE đê tim lôi, hinh chup sau đây cho thây cach dung trinh M-IDE.
Sau khi dich xong, chung ta co file led-nhay.hex, nôi dung như sau:
:100000001202A512003B1202A51200CC1202A57B1F:100010000A12015D1202A51201CA1202A5DBF27BCF:10002000051202A51202371202A5DBF57B1412029B:10003000A512025C1202A5DBF580C57580F87590EB:100040001F1202B27580F175908F1202B27580E3B3:100050007590C71202B27580C77590E31202B2752F:10006000808F7590F11202B275801F7590F81202A0:10007000B275803F75A0FE7590FC75B07F1202B21C:1000800075807F75A0FC7590FE75B03F1202B27549:1000900080FF75A0F87590FF75B01F1202B275A0B1:1000A000F175B08F1202B275A0E375B0C71202B23B:1000B00075A0C775B0E31202B275A08F75B0F112CA:1000C00002B275A01F75B0F81202B22275A01F759A:1000D000B0F81202B275A08F75B0F11202B275A01D:1000E000C775B0E31202B275A0E375B0C71202B2D1:1000F00075A0F175B08F1202B275A0F875B01F121D:1001000002B275A0FC75807F75B03F7590FE12023B:10011000B275A0FE75803F75B07F7590FC1202B27B:1001200075A0FF75801F75B0FF7590F81202B2754B:10013000808F7590F11202B27580C77590E312023C:10014000B27580E37590C71202B27580F175908F19:100150001202B27580F875901F1202B2227580F0FB:100160001202B27580C31202B275800F1202B2750C:10017000803F75A0FC1202B27580FF75A0F01202DC:10018000B275A0C31202B275A00F1202B275A03FE1:1001900075B0FC1202B275A0FF75B0F01202B27514:1001A000B0C31202B275B00F1202B275B03F7590B3:1001B000FC1202B275B0FF7590F01202B27590C3D6:1001C0001202B275900F1202B22275900F1202B293:1001D0007590C31202B27590F01202B27590FC7560:1001E000B03F1202B27590FF75B00F1202B275B037:1001F000C31202B275B0F01202B275B0FC75A03F26:100200001202B275B0FF75A00F1202B275A0C31230:1002100002B275A0F01202B275A0FC75803F120206:10022000B275A0FF75800F1202B27580C31202B2C0:100230007580F01202B2227580001202B27580FF42:1002400075B0001202B275B0FF7590001202B2755F
:1002500090FF75A0001202B275A0FF227580FC7598:10026000903F1202B27580F075900F1202B2758045:10027000C07590031202B27580007590001202B230:1002800075A0FC75B03F1202B275A0F075B00F12E8:1002900002B275A0C075B0031202B275A00075B0AD:1002A000001202B2227580FF7590FF75A0FF75B035:0F02B000FF227F147E647DC8DDFEDEFADFF622BA:00000001FF
top related