Project Lam Led Trai Tim 32 Led

Embed Size (px)

Citation preview

Va qua ti nhn c rt nhiu in th cua Ban oc, nhiu th vn hoi v tai ban en Led va cac ban en quang bao. Trong ln nay ti c mt th cua mt Ban oc, dn kin truc khng chuyn v in t, hoi v cac vn co lin quan n ban en 32 Led sp xp thanh hinh trai tim va co nhiu kiu nhp nhay ep mt. Ti oan chc cung co nhiu Ban mi chi ic lp trinh cung thich tai nay, nn mn y, vit bai tra li th dai hi hn, y u hn, mong bai vit nay ap ng c tinh to mo ham tim hiu cua cac Ban. Ni dung trong file inh kem theo in th trong o co cac hinh nh sau: 1. Hinh ve s mach in cho thy mach dung IC AT89C51, 52 iu khin s nhp nhay cua 32 Led gn trn 4 cang p0, p1, p2, p3. y la mt mach in rt c ban, tri cac in 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 tn gn bn canh thach anh theo nha san xut IC nn dung tri 33pF. Th Ban oc co 4 y chinh, c tra li nhanh nh sau: Y 1: Ban co th dung ic lp trinh AT89C51 vi b nh ni la 4Kbyte hay tt hn dung AT89C52 vi b nh ni la 8Kbyte. Y 2: Trong mach dung cac in tr han dong cho Led, Ban co th dung in tr co tri t 150 ohm n 220 ohm. Y 3: Bn canh thach anh, theo nha san xut IC nghi Ban nn dung tu 33pF tng h s n inh tn s cua thach anh. Y 4: V Led, chn A cho ni vao ng ngun +5V, chn K cua Led, qua in tr han dong, ly dong in t chay ra trn cac chn cua cac cang phat sang. Ban dung Ohm k kim, t thang o Rx1, o kim tra Led, khi o thun Led se sang, luc nay dy mau en ang trn chn Anode va dy mau o cho bit chn K.

Trong phn sau ti se ve lai s mach in chinh xac hn, ro rang hn va se giai thich chi tit phng cach thit k loai mach nay. 2. Hinh tng th cua 32 Led hinh trai tim.

Hinh mt di cua ban mach in, trn o la cac ng ng ni mach.

3. Cach b tri cac linh kin trn ban mach in, li mt trn.

Phn tra li th m rng: thit k mach 32 Led gn thanh hinh trai tim, cho nhp nhay theo nhiu kiu, Ban co th rap theo s mach in nh sau: Phn 1: S cho thy cach kt ni 32 Led trn 4 cang cua ic AT89C52

Hinh ve cho thy, chung ta gn 32 Led trn hinh trai tim, mi Led c iu khin tt m c lp bi mt chn cua ic lp trinh AT89C52. Vn quan trong la Ban phai nh chn nao

iu khin Led nao. Trong hinh ve trn Ban thy, chung ta gn Led D1 n D8 tip theo la D9 n D16 cho cung hinh bn trai va Led D17 n D24 lin theo la D25 n D32 tao ra hinh cung bn phai. iu nay phai xac inh chinh xac vi sau nay chung ta se dung cac cu lnh tt m cac Led trn ung theo trinh t, ung theo y mun, nu khng sp ung trinh t cua chng trinh iu khin, cac Led se nhp nhay "loan cao cao". Phn 2: S mach in c ban dung iu khin s nhp nhay cua cac Led gn trn cac cang p0, p1, p2, p3

Mun dung ic lp trinh AT89C52, trc ht Ban hay rap vao cac phu kin sau: * Trn chn 9 gn tu 10uF va in tr 8.2K tao tinh reset mi khi m ngun. Ngay khi mach c cp ngun, tu 10uF nap in, no se keo chn s 9 ln mc ap cao, iu nay se reset ic AT89C52, cu truc mach bn trong se c xac lp v trang thai m u theo quy inh. Chung ta bit trang thai khi u, t ca cac chn cua 4 cang u cho mc ap cao va nh vy 32 Led trn hinh trai tim luc mach mi c cp in

se trang thai tt. Sau mt luc tu nap y, tra chn 9 v lai mc ap thp, mc 0V, ic lp trinh bt u chay cac cu lnh co trong b nh EEPROM. Nu thy cn Ban gn thm nut nhn reset S1. * Trn chn 18, 19 Ban gn thach anh inh tn cho mach dao ng trong ic lp trinh. Thng thng dung thach anh 12MHz, vy trong ic se co xung nhip chu ky 1us. y ngi ta gn cac tu nho 33pF co cng dung n tn. * iu cn nh la phai cho chn 31 ni vao ng ngun 5V khai bao la cho chay cac cu lnh nm trong b nh trong. Phn 3: S mach ngun nui, ngun 5V co n inh tt

Mach ngun gm bin ap cach ly T1, no co 2 cng dung: (1), va tao tinh cach ly gia mach in va ng ngun AC, gi an toan cho ngi dung. (2), va dung lam giam ap AC, ha mc ngun AC 220V xung 9V. Dung cu nn dong 4 diode chuyn i dong AC ra dang dong in xung mt pha. Tu C1 dung tu hoa ln lam kho cha in, no co 3 cng dung: (1), giam dn song. (2), nng cao mc ap DC ln gn bng mc volt cc ai. (3), lam kho cha in n inh iu kin cp in cho tai. Dung Led o vi in tr han dong 1K lam en chi thi. co mc ap DC 5V co n inh tt, trong mach dung ic n ap 3 chn 7805. Vi loai ic n ap tich cc, tranh mach in trong ic khng phat sinh hin tng dao ng t kich, nga ra

dung thm tu hoa C2 lam tu loc, co th dung thm tu loc nho C3 loc bo cac tin hiu nhiu tn cao nhim vao ng ngun. iu cn nh: IC 7805 phai cho gn trn la nhm lam ngui.

Noi v cach gn 32 Led theo hinh ve trai tim.

Qua hinh thi pham trn, trc ht Ban ve hinh trai tim hay hinh gi khac cung c, sau o gn 32 Led theo ng bao cua hinh, iu Ban cn nh la Led nao c iu khin bi chn nao cua ic AT89C52, sau o Ban se dung cac cu lnh tt m cac Led nay theo cac kiu nhp nhay ma Ban mun. o chinh la ni dung cua bai vit nay. Cach vit chng trinh ngun tao ra cac kiu nhp nhay. Hinh ng di y cho thy mi Led c iu khin bi mt chn cua ic lp trinh AT89C52, hay AT89C51. Trong mach nay chung ta cho Led sang vi mc ap thp, hay bit 0 va cho tt Led vi mc ap cao hay bit 1.

Cac lnh co th dung t bit 0, bit 1 ln cac chn cua cac cang la: setb bit : set bit, cho t chn ln mc ap cao se lam tt Led. clr bit : clear bit, cho t chn xung mc ap thp se cp dong lam sang Led. mov p0, #11111111b : t 8 chn cua cang p0 ln mc ap cao, lam tt 8 Led trn cang p0. hay: mov p0, #00000000b : t 8 chn cua cang p0 xung mc ap thp, cho sang 8 Led trn cang p0. Chung ta co th lp bang lu gi cac kiu nhp nhay va cho xut cac ma iu khin ra cac cang iu khin s tt sang cua cac Led. Mt thi du: kieu_1: ; dung bit 0 cho Led sang, vy kiu nay se cho 1 Led sang nhy. db 11111111b db 11111110b db 11111101b db 11111011b db 11110111b db 11101111b db 11011111b db 10111111b db 01111111b db 10111111b db 11011111b db 11101111b db 11110111b

db 11111011b db 11111101b db 11111110b ...... Sau y la mt chng trinh ngun dung iu khin 32 Led trn 4 cang cua ic lp trinh AT89C51 hay 52.

Chung ta se dung cach vit c ban, d hiu nht, o la mun Led sang thi cho no co bit 0, mun tt Led thi gan cho no bit 1. Trt ht hay tao ra cac oan chng trinh con dung cho cac nkiu nhp nhay; Kiu 1: cho 3 Led nhy nh hinh ng trn. kieu_1a: ; 3 Led nhy ra bin trai, va 3 Led nhy ra bin 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 ; bt cu gia 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 nhy trn 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 bin trai, bin phai nhy tr vao, chng trinh con vit nh sau: kieu_1b: ; cho mov mov 3 Led call nhy p2, p3, t bin vao #00011111b #11111000b delay

mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov

call call call call call

p2, p3, p2, p3, p2, p3, p2, p3, p2, p3, p2, p0, p3, p1, p2, p0, p3, p1, p2, p0, p3, p1, p0, p1, p0, p1, p0, p1, p0, p1,

call

call

call call call call

#10001111b #11110001b delay #11000111b #11100011b delay #11100011b #11000111b delay #11110001b #10001111b delay #11111000b #00011111b delay #11111100b #01111111b #00111111b #11111110b delay #11111110b #00111111b #01111111b #11111100b delay #11111111b #00011111b #11111111b #11111000b delay #10001111b #11110001b delay #11000111b #11100011b delay #11100011b #11000111b delay #11110001b #10001111b

mov mov ret

call call

p0, p1,

delay #11111000b #00011111b delay

Th vit mt oan chng trinh con khac: Cho 4 Led chay quay vong, t cung bn phai qua cung bn trai va chay ngc lai. kieu_2a: ; cho 4 Led mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov nhy t bn trai P0, call p0, call p0, call p0, p2, call p0, p2, call p2, call p2, call p2, p3, call p2, p3, call p3, call p3, call p3, p1, call p3, qua bn phai #11110000b delay #11000011b delay #00001111b delay #00111111b #11111100b delay #11111111b #11110000b delay #11000011b delay #00001111b delay #00111111b #11111100b delay #11111111b #11110000b delay #11000011b delay #00001111b delay #00111111b #11111100b delay #11111111b

mov mov mov ret kieu_2b:

call call call

p1, p1, p1,

#11110000b delay #11000011b delay #00001111b delay

; cho 4 Led nhy mov call mov call mov call mov mov call mov mov call mov call mov call mov mov call mov mov call mov call mov call mov mov call mov mov

t bn phai qua bn trai p1, #00001111b delay p1, #11000011b delay p1, #11110000b delay p1, #11111100b p3, #00111111b delay p1, #11111111b p3, #00001111b delay p3, #11000011b delay p3, #11110000b delay p3, #11111100b p2, #00111111b delay p3, #11111111b p2, #00001111b delay p2, #11000011b delay p2, #11110000b delay p2, #11111100b p0, #00111111b delay p2, #11111111b p0, #00001111b

mov mov ret kieu_3: ; cho 8 mov mov mov mov mov mov mov ret mov

call call call

p0, p0,

delay #11000011b delay #11110000b delay

Led call call call call

sang p0, p0, p3, p3, p1, p1, p2, p2,

ku

a vong #00000000b delay #11111111b #00000000b delay #11111111b #00000000b delay #11111111b #00000000b delay #11111111b

Vit oan chng trinh con cho 2 Led sang lan dn t trn xung di. kieu_4: ; cho 2 Led mov mov mov mov mov mov mov mov mov sang call call call call lan dn t p0, p1, p0, p1, p0, p1, p0, p1, p2, trn xung di. #11111100b #00111111b delay #11110000b #00001111b delay #11000000b #00000011b delay #00000000b #00000000b delay #11111100b

mov mov mov mov mov mov mov ret

call call call call

p3, p2, p3, p2, p3, p2, p3,

#00111111b delay #11110000b #00001111b delay #11000000b #00000011b delay #00000000b #00000000b delay

Cu truc cua chng trinh ngun co th vit nh sau: org start: 0000h call call call call call call call call call xoa kieu_1a xoa kieu_1b xoa #10 kieu_2a xoa kieu_2b xoa tt_1 #5 xoa kieu_3 xoa tt_2 #20 xoa kieu_4 xoa

tt_1:

mov

r3,

tt_2:

djnz mov

r3, r3,

tt_3:

djnz mov

call call call

r3, r3,

call call call

djnz ; kieu_1a: kieu_1b: kieu_2a: kieu_2b: kieu_3: kieu_4: ; xoa:

jmp

r3,

tt_3 start

mov mov mov mov mov mov mov djnz djnz djnz

p0, p1, p2, p3, r7, r6, r5, r5, r6, r7,

delay: v_6: v_5:

#11111111b #11111111b #11111111b #11111111b ret #20 #100 #200 $ v_5 v_6 ret

end

n y, Ban co th ghep cac oan chng trinh con trn thanh 1 file, t tn tuy chon, ho la .asm, thi du: tn file la lednhay.asm va dung M-IDE dich file .asm nay, tao ra file .hex ri cho nap cac ma lnh trong file nay vao trong b nh cua AT89C52, th la xong. File ngun led-nhay.asm co ni dung nh sau: org start: 0000h call call xoa kieu_1a

tt_1:

mov

call call call call call call call

r3,

xoa kieu_1b xoa #10 kieu_2a xoa kieu_2b xoa tt_1 #5 xoa kieu_3 xoa tt_2 #20 xoa kieu_4 xoa tt_3 start

tt_2:

djnz mov

r3, r3,

tt_3:

djnz mov

call call call

r3, r3,

djnz

call call call jmp

r3,

; kieu_1a: ; 3 Led nhy ra bin trai, va 3 Led nhy ra bin 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

;

;

call bt cu gia p0 mov p0, mov p2, mov p1, mov p3, call mov p0, mov p2, mov p1, mov p3, call mov p0, mov p2, mov p1, mov p3, call cho 3 Led nhy mov p2, mov p3, call mov p2, mov p3, call mov p2, mov p3, call mov p2, mov p3, call mov p2, mov p3, call ; cho mov mov mov mov 3 Led p2, p3, call p2, p3,

mov

p1,

kieu_1b:

#11111000b delay p2 va p1 p3 #00111111b #11111110b #11111100b #01111111b delay #01111111b #11111100b #11111110b #00111111b delay #11111111b #11111000b #11111111b #00011111b delay trn p2, p3 #11110001b #10001111b delay #11100011b #11000111b delay #11000111b #11100011b delay #10001111b #11110001b delay #00011111b #11111000b delay ret nhy t bin vao #00011111b #11111000b delay #10001111b #11110001b

mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov mov

call call call call call

p2, p3, p2, p3, p2, p3, p2, p3, p2, p0, p3, p1, p2, p0, p3, p1, p2, p0, p3, p1, p0, p1, p0, p1, p0, p1, p0, p1, p0,

call

call

call call call call call

delay #11000111b #11100011b delay #11100011b #11000111b delay #11110001b #10001111b delay #11111000b #00011111b delay #11111100b #01111111b #00111111b #11111110b delay #11111110b #00111111b #01111111b #11111100b delay #11111111b #00011111b #11111111b #11111000b delay #10001111b #11110001b delay #11000111b #11100011b delay #11100011b #11000111b delay #11110001b #10001111b delay #11111000b

kieu_2a:

#00011111b call delay ret ; cho 4 Led nhy t bn trai qua bn 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

mov

p1,

kieu_2b:

; cho 4 Led nhy mov call mov call mov call mov mov call mov mov call mov call mov call mov mov call mov mov call mov call mov call mov mov call mov mov call mov call mov call ; cho mov 8

kieu_3:

t bn phai qua bn trai p1, #00001111b delay p1, #11000011b delay p1, #11110000b delay p1, #11111100b p3, #00111111b delay p1, #11111111b p3, #00001111b delay p3, #11000011b delay p3, #11110000b delay p3, #11111100b p2, #00111111b delay p3, #11111111b p2, #00001111b delay p2, #11000011b delay p2, #11110000b delay p2, #11111100b p0, #00111111b delay p2, #11111111b p0, #00001111b delay p0, #11000011b delay p0, #11110000b delay ret Led sang kiu a vong p0, #00000000b call delay

kieu_4:

; xoa:

#11111111b #00000000b call delay mov p3, #11111111b mov p1, #00000000b call delay mov p1, #11111111b mov p2, #00000000b call delay mov p2, #11111111b ret ; cho 2 Led sang lan dn t trn xung di. 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 mov mov p0, p1, #11111111b #11111111b

mov mov

p0, p3,

mov mov delay: v_6: v_5: mov mov mov djnz djnz djnz

p2, p3, r7, r6, r5, r5, r6, r7,

#11111111b #11111111b ret #20 #100 #200 $ v_5 v_6 ret

end

Chuyn file nay vao vung soan thao M-IDE tim li, hinh chup sau y cho thy cach dung trinh M-IDE.

Sau khi dich xong, chung ta co file led-nhay.hex, ni 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