ma trận led

Upload: tran-thanh-tung

Post on 03-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Ma trn LED

    1/6

    n LED

    www.hocavr.com/index.php/vi/app/dotmatrix[19/07/2013 11:47:25 CH]

    Ma trn LED( 83 Votes )

    Ni dung Cc bi cn tham kho trc

    1. Ma trn LED.

    2. AVR v ma trn LED.

    Download v d

    Cu trc AVR.

    WinAVR.

    C cho AVR.

    M phng vi Proteus.

    I. Ma trn LED.

    Ma trn LED tc Dot Matrix LED l tp hp nhiu n LED c b tr thnh dng ma trn hnh ch n

    hoc vung vi s hng l a v s ct l b. Ma trn LED c dng rt nhiu trong cc ng dng hin th nh

    bin qung co, hin th thay th LCD hoc thm ch dng hin th video gim s lng cc ng iu khi

    trong cc ma trn LED cc LED c ni chung vi nhau theo hng v ct. S lng LED trn ma trn LED l a

    trong khi s lng ng ra bng tng s hng v ct: a + b. Vic iu khin 1 ma trn LED kch thc ln i

    thit k mt mch driver v iu khin rt phc tp. Vi mc ch gip bn c lm quen khi nim ma trn LE

    trong phm vi bi ny ti ch trnh by thao tc vi 1 ma trn LED c kch thc 7x5 (7 hng, 5 ct). ma trn L

    7x5 thng c dng hin th cc k t trong bng m ASCII thay cho Text LCD. Tuy nhin, bn c th ghcc ma trn LED ny li hin th cc loi hnh nh bt k c phn gii thp. Hnh 1 m t mt cu trc c

    mt ma trn LCD 7x5 vi 12 ng ra c t tn t C0C4 v D0D6 (C i din cho Control line v D l D

    line).

    NG HC AVRo become the AVR Master

    Trang ch Hc AVR ng dng AVR H tr phn mm H tr phn cng Tho lun Thng tin

    tm kim...

    http://www.hocavr.com/index.php/vi/app/textlcd#1-gioi%20thieuhttp://www.hocavr.com/index.php/vi/app/textlcd#2-ADChttp://www.hocavr.com/index.php/vi/app/textlcd#2-ADChttp://www.hocavr.com/index.php/vi/app/textlcd#2-ADChttp://www.hocavr.com/index.php/forum/6-ng-dng-avr-/11-avr-va-ma-trn-ledhttp://www.hocavr.com/index.php/forum/6-ng-dng-avr-/11-avr-va-ma-trn-ledhttp://www.hocavr.com/index.php/vi/lectures/cautrucavrhttp://www.hocavr.com/index.php/vi/lectures/cautrucavrhttp://www.hocavr.com/index.php/vi/lectures/cautrucavrhttp://www.hocavr.com/index.php/vi/software/winavrhttp://www.hocavr.com/index.php/vi/software/c-cho-avrhttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.phphttp://www.hocavr.com/index.phphttp://www.hocavr.com/index.phphttp://www.hocavr.com/http://www.hocavr.com/http://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/infohttp://www.hocavr.com/index.php/vi/infohttp://www.hocavr.com/index.php/vi/infohttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/thaoluanhttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/hardwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/softwarehttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/apphttp://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/index.php/vi/lectureshttp://www.hocavr.com/http://www.hocavr.com/http://www.hocavr.com/http://www.cadkit.net/http://www.hocavr.com/index.phphttp://www.hocavr.com/index.phphttp://www.hocavr.com/index.phphttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/protueshttp://www.hocavr.com/index.php/vi/software/c-cho-avrhttp://www.hocavr.com/index.php/vi/software/winavrhttp://www.hocavr.com/index.php/vi/lectures/cautrucavrhttp://www.hocavr.com/index.php/vi/lectures/cautrucavrhttp://www.hocavr.com/index.php/vi/lectures/cautrucavrhttp://www.hocavr.com/index.php/forum/6-ng-dng-avr-/11-avr-va-ma-trn-ledhttp://www.hocavr.com/index.php/forum/6-ng-dng-avr-/11-avr-va-ma-trn-ledhttp://www.hocavr.com/index.php/vi/app/textlcd#2-ADChttp://www.hocavr.com/index.php/vi/app/textlcd#2-ADChttp://www.hocavr.com/index.php/vi/app/textlcd#2-ADChttp://www.hocavr.com/index.php/vi/app/textlcd#1-gioi%20thieu
  • 7/28/2019 Ma trn LED

    2/6

    n LED

    www.hocavr.com/index.php/vi/app/dotmatrix[19/07/2013 11:47:25 CH]

    Hnh 1. Ma trn LED 7x5.

    Bn trong cc ca ma trn LED l cc LED pht sang. Trong m hnh trn, Cathod (cc m) ca cc LED t

    mi hng c ni chung vi nhau v ng ra chung l cc ng D (Data). Cc Anod ca cc LED trn mi ct

    ni chung to thnh cc ng C (Control). Thng thng, cc ng D v C c chn sao s s lng ng

    nhiu hn ng C hoc sao cho s lng cc ng D gn nht vi s 8, 16, 32(ly tha ca 2). L do ca v

    chn ny nhm gim kch thc b font cha cc k t hoc hnh nh hin th ln ma trn LED, bn s hiu r h

    khi tm hiu cc iu khin ma trn LED 7x5 bn di.

    a) b)

    Hnh 2 m t cch m ma trn LED 7x5 c dng hin th s 4.

  • 7/28/2019 Ma trn LED

    3/6

    n LED

    www.hocavr.com/index.php/vi/app/dotmatrix[19/07/2013 11:47:25 CH]

    Trc ht chng ta s kho cch cho sang cc LED m khng cn quan tm n bng font. Quan st ct

    nht (ct C0) trong hnh 2a, trong ct ny ch c 2 LED hng D2 v D3 l sang, cc LED cn li tt. iu n

    c thc hin bng cch kch chn C0 (Anod) ln mc cao, ko cc chn D2, D3 xung mc 0 trong khi cc ch

    Data khc c gimc cao. Cc ct khc c thc hin tng t. Tuy nhin, cu hi y l lm sao hin

    cc ct vi cc n LED sng khc nhau trong khi cc ng Cathod ca chng u c ni chung (thnh cc ch

    D). V d mt ngi ko tt c 5 chn C0C4 ln mc cao vo xut tn hiu ra cc chn D, khi tt c cc L

    trn dng mt hng s sng hoc tt nh nhau. B quyt y chnh l k thut qut, chng ta s hin th tu

    t cc ct vi cc gi tr tng ng ca chng ch khng hin thng thi. Trong v d hin th s 4, trc

    hy kch chn C0 ln cao trong khi cc chn C1C4 mc thp, xut tn hiu ra cc chn D hin th ln ct C

    Tip theo ko chn C1 ln cao v cc chn Control khc mc thp, xut d liu ra cc chn D hin th

    C1C nh th cho n khi hin th ht cc ct th quay li ct C0. Qu trnh ny gi l qut LED. Do tc

    qut rt cao nn chng ta s khng c cm gic nhp nhy, cc ct ca ma trn nhc hin th ng th

    Ch l sng ca LED ph thuc vo s ct LED, nu bn qut qu nhiu ct LED, t l thi gian ON c

    mi ct s rt nh so vi thi gian OFF v phi chqut cc ct khc. V th nu ma trn LED c nhiu ct ho

    khi ghp nhiu ma trn, cc mch driver cn c s dng m bo sng ca LED.

    Gi s mi LED i din cho 1 bit v cc LED sng i din cho gi tr nh phn 1 trong khi cc LED tt l0. Hnh 2b th hin m hnh s nh phn cho trng hp hin th s 4 trn ma trn LED 7x5. Nu xem mi ct c

    ma trn l 1 con s 7 bit th 5 gi tr cn thit hin th s 4 l: 0x0C, 0x14, 0x24, 0x7F, 0x04. B 5 gi tr n

    to thnh m font cho k t 4, chng sc nh ngha trc v lu trong b nhca chip iu khin (AV

    mi ln mt k tc yu cu hin th, b font tng ng ca k t sc load ra v xut ln lt t

    cc ng Data, y chnh l l do ti sao chng ta gi cc ng D l cc ng Data. Cch qut LED ti v

    trnh by l cch qut ngang, bn c th thc hin qut dc nu ng dng yu cu. Trong phng php q

    dc, cc chn hng chung sc dng chn hng cn hin th, d liu s xut ra theo tng hng trn 5 ct

    ln lt thay i hng (hng 0 trc, n 1v cui cng l 6). So snh 2 cch qut cho trng hp ma trn L

    7x5, r rng trong cch qut ngang chng ta ch cn quet 5 ct cho mi ln LED nn t l thi gian ON s cao h

    (1/5 so vi 1/8 ca cch qut dc). Mt khc, nu thc hin qut dc chng ta cn 8 s s to thnh 1 b f

    cho mt k t v v th tn nhiu b nhhn cho vic lu tr bng font. Trong bi hc ny ti thc hin theo c

    qut ngang v bng font cng c xy dng cho cch qut ny.

    II. AVR v Ma trn LED.

    Phn ny ti minh ha cch hin th ma trn LED 7x5 bng AVR. Chng ta s thc hin trn duy nht mt

    trn LED, cho cc ng dng cn nhiu LED bn c hy t pht trin t tng trong phn ny. Hy v mt m

    in m phng bng phn mm Proteus nh trong hnh 3.

  • 7/28/2019 Ma trn LED

    4/6

    n LED

    www.hocavr.com/index.php/vi/app/dotmatrix[19/07/2013 11:47:25 CH]

    Hnh 3. Hin th ma trn LED bng AVR.

    Cc chn C ca ma trn c ni vi cc chn trn PORTC ca chip AVR ATmega32, v cc chn D c

    vi PORTD. Hy to 1 Project bng Programmer Notepad tn DotMatrix v to 2 file tn font.h cng dotmatri

    trong Project ny. File font.h cha bng font ca cc k t v file dotmatrix.c l file chnh cho chng trnh dem

    List 1 trnh l mt phn ni dung ca file font.h v List 2 l ni dung file dotmatrix.c.

    List 1. Bng font.

    List 2. Chng trnh demo.

  • 7/28/2019 Ma trn LED

    5/6

    n LED

    www.hocavr.com/index.php/vi/app/dotmatrix[19/07/2013 11:47:25 CH]

    iu cn quan tm u tin l kch thc bng font, trong v d ny bng font c xy dng cho 223 symbol

    m ASCII t 32 n 255 (do cc m ASCII trc 32 khng c symbol tng ng nn c th b qua tit kim

    nh), mi symbol cn 5 s 8 bits, nh th chng ta cn tng cng 1115 byte cho bng font trong khi kch th

    SRAM ca chip ATmega32 ch l 2KB (2048 byte). Nu dng SRAM cha bng font s rt ph phm v y l

    bng tnh, gi tr trong bng hon ton khng thay i m chc truy xut c. V th chng ta c th tn d

    b nhchng trnh (Flash) lu bng font ny. Dng u tin trong List 1 chng ta include header pgmspace

    s dng cc thao tc trn b nhchng trnh. Tip theo chng ta khai bo 1 mng tnh c tn font7x5 vi k

    d liu l prog_char tc l kiu char nhng cha trong b nhchng trnh (Program memory). Gi tr cha tro

    mng font7x5 chnh l d liu ca bng font, thc cht mng font7x5 l mng 1 chiu lin tc, vic tch ra t

    nhiu dng c mc ch gip ngi c d hnh dung khi truy cp cc gi tr ca mng xut ra sau ny. Bn h

    hiu rng c mt t hp 5 s s to thnh mt symbol hin th cho ma trn LED. D liu trong bng font c

    xp theo trnh t ASCII v to iu kin thun li khi truy xut bng font theo m ASCII ca k t cn hin

    Tuy nhin cn ch l bng font c bt u cho symbol c m ASCII l 32 ch khng bt u t m ASCII 0

    th khi truy cn bng font t m ASCII chng ta cn ly m ASCII tri 32 c v tr chnh xc trong bng.

    Tip theo chng ta s tm hiu chng trnh chnh, dng 3 trong list 2 include file font.h s dng bng f

    trong chng trnh chnh. Cc dng t 5 n 9 nh ngha cc PORT kt ni vi ma trn LED, PORTD l Data b

    trong khi PORTC l control lines. Chng trnh con void DOTputChar75(uint8_t chr) trong dng 11 l th tc

    d liu t bng font v hin th trn ma trn LED. Tham s chr ca chng trnh ny chnh l m ASCII ca k

  • 7/28/2019 Ma trn LED

    6/6

    n LED

    cn hin th trn ma trn LED. Dng 12 khai bo 2 bin ph, trong bin line cha tn hiu iu khin cho

    ng Control. Dng 13 khai bo mt bin tm tchr dng cha a ch d liu cn ly ra t bng font xut ra

    ng Data, v m ASCII l mt s 8 bit trong khi s lng d liu trong bng font ln gp 5 ln s lng k t

    th cn khai bo bin tchr c kiu d liu 16 bit. Ni dung chnh ca on chng trnh ny nm trong vng lp

    bin i i din cho s th t ca cc chn Control c cho chy t 0 n 4, trong dng 15 CTRL_PORT=lin

    xut tn hiu iu khin ra CTRL_PORT tc ra cc chn C. Do bin line c khi to bng 1 nn ln lp

    tin gi trCTRL_PORT=0b00000001 , tc chn C0 mc cao trong khi cc chn cn li mc thp, ct u t

    c chn. Sau khi 1 ct c chn, dng 16 DATA_PORT=~pgm_read_byte(&font7x5[((tchr - 32) * 5

    i]); c v xut d liu t bng font ra cc chn Data. Trc ht l cch tnh a ch ca d liu trong bng fo

    Nh trnh by trong phn gii thch cho bng font, bng ny c chng ta bt u t k t c m 32 nn chng

    cn tri 32 tham chiu n v tr chnh xc trong bng font: tchr-32. V d mun hin th k t c m chr =

    (m ca k t 0), v tr ca t hp d liu to nn s 0 c cha trong bng font v tr 16, gi tr ny

    tnh 48-32=16. Tip theo, do mi k tc to thnh t 5 s nn a ch thc cht ca su tin trong t hp

    l (tchr-32)*5. di chuyn trong phm vi 5 d liu ng vi 6 ct ca ma trn LED, bin i c cng dn vo

    ch ny v chng ta c: tchr - 32) * 5) + i. c d d liu dng byte t b nhchng trnh, chng ta cn d

    hm pgm_read_byte, hm ny c nh ngha trong header pgmspace.h c khai bo trong file font.h. Nh v

    saiu khi thc hin pgm_read_byte(&font7x5[((tchr - 32) * 5) + i]) chng ta thu c d liu 1 byte tng

    vi ct th i ca k t chr t bng font, vic cui cng c th l xut gi tr ny ra DATA_PORT. Tuy nhin, tr

    khi xut byte c c ra DATA_PORT, chng ta cn o cc bit ca byte ny bng ton t ~, l do c g

    thch l do cc LED trong ma trn trong v v ny c cc hng ni vi cc m Cathode, mt LED sng th gi

    cn cp cho bit D tng ng l 0 ngha l ngc li so vi cch chng ta to bng font (sng l 1). Ch bng m

    thao tc n gin l ton t ~ chng c th d dng vt qua trngi ny. Trong trng hp ma trn LED c

    hng ni vi cc dng Anode th chng ta khng cn o gi trc v. Dng 17 thc hin dch chuyn gi

    ca bin line sang tri 1 v tr, vic lm c tc dng chun b cho ln k tip chn C k tip sc kch. H

    delay trong dng 18 gip cc LED trong ct hin ti sng trong 1 khong thi gian trc khi chuyn qua ct khc

    Chng trnh chnh trong v d ny tht s rt n gin, chng ta trc ht cn khi ng hng xut nhp c

    cc PORT v sau gi hm DOTputChar75() trong vng lp v tn while(1). v d trn, k t 4 c xut

    v kt qu hin th nh trong hnh 3. Ch l hm DOTputChar75() ch qut qua cc ct 1 lt, v th mun h

    th mt k t trong mt khong thi gian chng ta cn gi hm DOTputChar75() lp li trong khong thi gian

    [

    Copyright 2013 Bn quyn thuc v Cng hc AVR (AVR tutorial) - Ti liu hc lp trnh AVR bng ting Vit.

    AVR is a registered trademark ofAtmel Corporation

    This site is founded by Thanhtam Ho

    http://scroll%280%2C0%29/http://www.atmel.com/http://www.hotam.net/http://jigsaw.w3.org/css-validator/validator?uri=%2Findex.php%2Fapp%2Fdotmatrix%3Flang%3Dvihttp://validator.w3.org/check/refererhttp://jigsaw.w3.org/css-validator/validator?uri=%2Findex.php%2Fapp%2Fdotmatrix%3Flang%3Dvihttp://jigsaw.w3.org/css-validator/validator?uri=%2Findex.php%2Fapp%2Fdotmatrix%3Flang%3Dvihttp://www.hotam.net/http://www.atmel.com/http://scroll%280%2C0%29/