You are on page 1of 103

TRNG C CNG THNG

KHOA IN IN T

TT NGHIP
ti:

THIT K BNG QUNG CO LED S DNG


VI IU KHIN ATMEGA 16
MODULE IU KHIN HIN TH

Sinh vin thc hin:

NGUYN VN BO
Lp CCQ1306B

Ging vin hng dn: TS. O VN PHNG

TP H Ch Minh, 12-2015

B CNG THNG
TRNG C CNG THNG TP HCM
---------------------------------------------

CNG HA X HI CH NGHA VIT NAM

c lp - T do - Hnh phc

---------------------------------

NHIM V N TT NGHIP

H v tn sinh vin: .NGUYN VN BO... S hiu sinh vin: 2113060068


Kho:...49..Khoa: in in t
1.

Ngnh: .........

u n:

Thit k bng qung co LED s dng vi iu khin ATMEGA16


Module iu khin hin th
2.

Cc s liu v d liu ban u:

......
.
.....
3.

Ni dung cc phn thuyt minh v tnh ton:

...

...

...
4.

Cc bn v, th ( ghi r cc loi v kch thc bn v ):

...
..
..
5.

H tn ging vin hng dn: O VN PHNG..

6.

Ngy giao nhim v n: .

7.

Ngy hon thnh n: ..


Ngy

Ch nhim B mn

thng

nm

Ging vin hng dn

Sinh vin hon thnh v np n tt nghip ngy

thng

nm

Cn b phn bin
1

B GIO DC V O TO
TRNG I HC BCH KHOA H NI

---------------------------------------------------

BN NHN XT N TT NGHIP
H v tn sinh vin:

.............

NGUYN VN BO

............

S hiu sinh

vin: .....2113060068......
Ngnh: .................................................................................................. Kho: .............. 49 .........................
Ging vin hng dn:....................... TS. O VN PHNG ....................................................
Cn b phn bin: .......................................................................................................................................
1. Ni dung thit k tt nghip:
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
......................................................................................................................

2. Nhn xt ca cn b phn bin:


...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
...................................................................................................................................................................................................
..........................................................................

Ngy

thng

nm

Cn b phn bin

Li ni u
Qung bo c s dng trong rt nhiu lnh vc ca i sng x hi . Hu
nh i u ta cng c th thy nhng bng qung co vi nhiu hnh thc khc
nhau. Vi mc ch lm ni bt ln sn phm ca mnh c khi tri sng hay ti
ngi ta s dng rng ri cc bng qung co in t. Bng qung bo in t c
nhiu loi , c s dng trong nhiu lnh vc khc nhau , c kh nng hin th hnh
nh v mu sc phong ph . Tuy nhin do iu kin c hn nn trong n ny
chng em mong mun tm hiu v nguyn l thit k mt bng qung co in t c
kh nng iu khin hin th cc k t theo nh mong mun v thit k mt module
led qung bo c nh th nghim.
u tin chng em xin cm n s hng dn ch bo tn tnh ca thy
Nguyn Tin Dng . Thy cung cp cho chng em cc ti liu v ti gip
chng em d dng hn trong qu trnh tm hiu n . Trong qu trnh lm thc
hin n thy ch bo chng em mi khi gp kh khn n c th hon
thnh.
Chng em cng xin cm n cc thy c gio trong khoa tn tnh dy d
chng em trong nhng nm hc va qua gip chng em c nhng kin thc c
s lm n ny.
Sinh vin
NGUYN VN BO

Tm tt n
Ni dung chnh ca n l vic iu khin hin th led ma trn. Khi iu
khin hin th led ma trn c 2 phng php cp ngun theo tng hng hay tng
ct. n s tp trung trnh by v phng php cp ngun theo tng ct . Vic cp
ngun cho cc ct c thc hin bng cch s dng IC gii m 74HC138 , cp
ngun cho cc hng trong ct c thc hin bng cch s dng b ghi dch
74HC595. D liu m ha cp ngun cho cc hng trong ct c gi ra b ghi
dch thng qua vic s dng SPI ca vi iu khin. Vic iu khin thi gian cp
ngun cho ma trn to tc qut c thc hin bng cch s dng b nh thi.
Phn cui ca n s trnh by v cch to mt s hiu ng cho ma trn led khi s
dng phng php cp ngun theo ct.

Project abstract
The main content of this project is led matrix display control. There has two
power supply methods for controlling the led matrix : row by row or column by
column . In this project , I will introduce the column once. When using this method,
the 74HC138 decoder is used to power for each column and the 74HC595 shift
register is used to power every row in the column which is chosen by 74HC138.
The data which is coded the power suply for every row in each column is tranfered
to the shift register by using the SPI of the microcontroller. Timing to power the led
matrix can be done by using the timer/counter of the microcontroller. This is the
simple method to controll the scan rate for led matix display. Some led matrix
display effects will be presented in the final part of this document.

Mc lc
Li ni u...............................................................................................................1
Tm tt n...........................................................................................................2
Danh sch cc hnh v.............................................................................................5
Danh sch cc bng.................................................................................................6
Danh sch cc cng thc.........................................................................................7
Phn m u............................................................................................................8
Chng 1 : Gii thiu chung................................................................................10
1.1) Qung co....................................................................................................10
1.2) Bng led qung bo......................................................................................11
1.2.1) Mt s c trng....................................................................................11
1.1.2) Qung co bng led................................................................................12
1.3) Gii thiu chung v h thng........................................................................16
Chng 2 : Gii thiu v vi iu khin AVR Atmega16.....................................19
2.1) Gii thiu v vi iu khin h AVR...............................................................19
2.1.1) Mt s c trng....................................................................................19
2.1.2) Mt s c trng....................................................................................20
2.1.3) Mt s c trng....................................................................................22
2.1.4) Mt s h vi diu khin AVR.................................................................23
2.2) S b v vi iu khin Atmega16..................................................................23
2.2.1) c trng...............................................................................................25
2.2.2) CPU.......................................................................................................27
2.2.3) B nh....................................................................................................34
Chng 3 : Nguyn tc iu khin led ma trn...................................................39
3.1) Cu trc v nguyn l cp ngun cho led ma trn.......................................39
3.2) Nguyn tc to font ch hin th...................................................................40
3.3) iu khin hin th led ma trn....................................................................41
Chng 4: iu khin cp ngun cho led ma trn..............................................44
4.1) iu khin cp ngun cho ct dng 74HC138.............................................44
4.1.1) Chc nng ca 74HC138.......................................................................44
4.1.2) S dng 74HC138 cp ngun cho cc ct ma trn............................45
4.2) iu khin cp ngun cho hng dng 74HC595..........................................47
3

4.2.1) Chc nng ca 74HC595.......................................................................47


4.2.2) S dng 74HC595 cp ngun cho cc hng ca ma trn...................49
4.3) Truyn d liu cp ngun cho hng s dng SPI.........................................51
4.3.1) Atmega16 SPI........................................................................................51
4.3.2) Thit lp SPI truyn d liu cho 74HC595............................................55
4.3) Kt lun........................................................................................................56
Chng5: To tn s qut cho ma trn...............................................................57
5.1) Timer1 Atmega16........................................................................................57
5.1.1) Mt s ch hot ng........................................................................57
5.1.2) Cc thanh ghi.........................................................................................62
5.2) To tn s qut ma trn...............................................................................67
5.3) Kt lun.......................................................................................................68
Chng 6: Hiu ng hin th bng led.................................................................69
6.1) Bng led hin th..........................................................................................69
6.2) Dch tri, phi..............................................................................................71
6.3) Dch ln xung.............................................................................................74
6.4) Hin th tng k t........................................................................................77
6.5) Kt lun........................................................................................................79
Kt lun.................................................................................................................. 80
Ti liu tham kho.................................................................................................81
Ph lc A: S ghp ni h thng iu khin led ma trn..............................82
Ph lc B: M chng trnh np cho vi iu khin............................................86

Danh sch cc hnh v


Hnh 1 - 1 S khi h thng................................................................................16
Hnh 2 - 1 Cu trc b nh AVR..............................................................................21
Hnh 2 - 2 Cu trc bn trong ca AVR...................................................................22
Hnh 2 - 3 S khi ca Atmega16.......................................................................24
Hnh 2 - 4 S chn Atmega16.............................................................................26
Hnh 2 - 5 S khi cu trc ATmega16...............................................................29
Hnh 2 - 6 Cc thanh ghi h tr lm vic AVR CPU................................................31
Hnh 2 - 7 S b nh process..............................................................................34
Hnh 2 - 8 S b nh d liu...............................................................................35
Hnh 2 - 9 Nhng chu k truy xut SRAM................................................................35
Hnh 3 - 1 Led ma trn chung anot..........................................................................39
Hnh 3 - 2 Lu thut ton cp ngun cho ma trn led........................................42
Hnh 4 - 1 S chn 74HC138..............................................................................44
Hnh 4 - 2 Ghp ni 74HC138 vi vi diu khin d cp ngun cho ct ca ma trn
................................................................................................................................. 46
Hnh 4 - 3 S chn 74HC595..............................................................................47
Hnh 4 - 4 Ghp ni 74HC595 vi vi iu khin cp ngun cho hng ca ma trn
................................................................................................................................. 49
Hnh 4 - 5 Ghp ni tip cc IC 74HC595..............................................................50
Hnh 4 - 6 S khi ca SPI.................................................................................51
Hnh 4 - 7 Ghp ni vi iu khin vi 74HC595 s dng SPI.................................55
Hnh 5 - 1 Gin thi gian ch CTC................................................................58
Hnh 5 - 2 Gin thi gian ch Fast PWM......................................................60
Hnh 5 - 3 Gin thi gian ch Phase Corect PWM........................................61
Hnh 6 - 1 Bng led hin th....................................................................................69
Hnh 6 - 2 M phng hiu ng dch tri..................................................................71
Hnh 6 - 3 Lu thut ton hiu ng dch tri......................................................72
Hnh 6 - 4 M phng hiu ng dch ln...................................................................74
Hnh 6 - 5 Lu thut ton hiu ng dch ln.......................................................75
Hnh 6 - 6 M phng hiu ng hin th tng ch.....................................................77
Hnh 6 - 7 Lu thut ton hiu ng hin th tng k t.......................................78
Hnh A - 1 S ghp ni h thng.........................................................................82
Hnh A - 2 Khi cp ngun......................................................................................83
Hnh A - 3 Khi cht d liu cc hng....................................................................83
Hnh A - 4 Khi giao tip my tnh..........................................................................84
Hnh A - 5 Khi khuch i dng cho ct................................................................84
5

Hnh A - 6 Khi x l trung tm v qut ct............................................................85

Danh sch cc bng


Bng 3 - 1 To font ch cho k t............................................................................40
Bng 4 - 1 Chc nmg hot ng ca 74HC138.....................................................45
Bng 4 - 2 Chc nng hot ng ca 74HC595......................................................48
Bng 4 - 3 Chc nng ca bit CPOL.......................................................................53
Bng 4 - 4 Chc nng ca bit CPHA.......................................................................53
Bng 4 - 5 Quan h gia tn s SCK v tn s giao ng.......................................54
Bng 5 - 1 Thit lp ch u ra cho timer..........................................................62
Bng 5 - 2 Cc ch iu ch xung......................................................................63
Bng 5 - 3 La chn tn s cho b m..................................................................64
Bng 5 - 4 To tc qut 60 Hz cho ma trn........................................................68

Danh sch cc cng thc


Cng thc 5 - 1 Quan h gia tn s u ra vi tn s timer ch d CTC...........59
Cng thc 5 - 2 phn gii PWM........................................................................59
Cng thc 5 - 3 Quan h gia tn s u ra vi tn s timer ch Fast PWM. 61

Phn m u
Qung co lun l mt trong cc vn ng vai tr quan trng trong s
pht trin ca mt cng ty, doanh nghip hay thm ch l ca mt ca hng. Qung
co tt s em li nhiu li ch to ln. Cng chnh v vy m khng ngc nhin khi
hng nm cc doanh nghip u t rt nhiu vo vn ny. Mt trong nhng
bin php c a dng hin nay l s dng bng qung co bng n LED, v
s n gin, hin i, bt mt, chi ph hp l cng nh tnh hiu qu ca n. Nhng
bng thng tin, cng cho hay nhng bng LED qung co vi mu sc sc s, bt
mt, gy nhiu ch chc hn khng cn xa l i vi ngi dn, nht l ngi
dn th.
Qung co bng n LED hin nay c ng dng rt rng ri trong nhiu
ngnh, nhiu lnh vc. N khng ch gii hn bi vic hin th cc dng ch, cc
bin hiu nhp nhy m cn c th hin th cc hnh nh ha, cc hnh nh full
colour v c bit l c th hin th c c video. N cng khng ch gii hn
trong vic qung co trong nh (indoor), bn ngoi tri (semi outdoor ) m cn c
th qung co c ngoi tri, ngay gia ban ngy vi sng v sc nt cao.
(Chng I s gii thiu chi tit hn v vn qung co bng n LED).
Tuy nhin do cn hn ch v nhiu mt nn trong n ny chng em ch
gii hn vic hin th cc dng ch c truyn t my tnh xung vi nh dng
font ting anh lu sn trong b nh Flash ca AVR v mt s hiu ng hin th
c bn.
Trong 2 chng u tin ca n chng em s gii thiu chung v qung
co bng bng LED, gii thiu h thng cng nh s lc v vi iu khin AVR v
h ATMega 16. Cc chng tip theo chng em s trnh by v ng gp ca mnh
cho ti. Cc khi khuch i cng sut v giao tip my tnh s c bn Bi
Lu Qunh v Nghim Xun Quyn s trnh by nn trong n ny em s tp
trung trnh by v vic iu khin hin th, cht d liu cho ma trn :

- Chng 3 s trnh by v nguyn tc c bn khi iu khin ma trn led


- Chng 4 s trnh by c cch s dng cc IC thng dng iu khin cp
ngun cho ma trn led
- Chng 5 s trnh by v cch to tn s qut cho ma trn s dng timer
- Chng 6 s trnh by v gii thut to mt s hiu ng hin th k t trn
ma trn led.
n hon thnh c th iu khin hin th cc k t trn ma trn gm c
2x3 ma trn led 8x8, c kh nng la chn mu sc, tc qut, hiu ng hin th
cho ma trn ng thi c kh nng m rng cho cc ma trn kch thc ln hn.

Chng 1 : Gii thiu chung


1.1) Qung co
Hng ngy, d bt c u chng ta cng u bt gp nhng loi hnh qung
co khc nhau : trong nh th l trn ti vi, i radio, internet cn ngoi tri th l
cc bng rn, bng, bin qung co v thm ch l c t ri na. Vy qung co l g
v ti sao li phi qung co ?
Qung co l hnh thc tuyn truyn, gii thiu thng tin v sn phm, dch
v, cng ty hay tng. Qung co l nhng n lc nhm tc ng ti hnh vi, thi
quen mua hng ca ngi tiu dng hay khch hng bng cch cung cp nhng
thng ip bn hng theo cch thuyt phc v sn phm hay dch v ca ngi bn.
Cc nh hng, cng ty, doanh nghip tham gia cc hot ng qung co khng
ngoi mc ch qung b hnh nh, gii thiu sn phm, dch v, thng tin ca
h t thu ht c thm cc khch hng tim nng, nng cao tnh cnh tranh
v em li nhiu ngun li cho cng ty. Mt chin dch qung co tt s gp phn
tch cc vo s pht trin ca doanh nghip v th cng c th ni rng, qung co
, ang v vn s tip tc ng mt vai tr quan trng trong cuc sng ca x hi
loi ngi hin nay.
Trn th gii, qung co hin nay pht trin ti nhng trnh cao, tuy
nhin Vit Nam - do cn nhiu hn ch - nn a s cc sn phm qung co vn
cn trnh thp. Cc sn phm qung co c th n vi khch hng tim
nng cn phi c truyn ti qua cac hng tin truyn thng, nh: bo in, tp ch,
i pht thanh, truyn hnh, bo in t.
Cc loi hnh qung co ph bin hin nay :
Truyn hnh.
Internet.

10

Bo ch.
Pht thanh.
Qung co trc tuyn.
Qung co qua bu in.
Qung co trn cc phng tin vn chuyn.
Qung co qua cc trang vng.
Qung co trn t ri, p phch, pano hay bng rn.
Qung co trn bao b sn phm.
Qung co qua cc th gi trc tip.
Qung co truyn ming.
Qung co bng n LED.

1.2) Bng led qung bo


Trong cc loi hnh qung co cp n trn th qung co bng n LED
l mt loi hnh qung co c s dng rng ri bi nhiu cng ty, ca hng bi
tnh n gin, hin i cng nh hu dng ca n. Ta hy cng tm hiu n LED l
g, hot ng ra sao v ti sao n li c s dng cho mc ch qung co v xu
hng pht trin ca qung co bng n LED.

1.2.1) Mt s c trng
LED (Light Emitting Diode i t pht quang) l cc loi i t c kh nng
pht ra nh sng hay tia hng ngoi, t ngoi. Cng ging nh i t, LED c cu
to t mt khi bn dn loi P ghp vi mt khi bn dn loi N.

11

Hot ng ca LED cng ging nh nhiu loi i t bn dn khc : khi bn


dn loi P cha nhiu l trng t do mang in tch dng nn khi ghp vi khi
bn dn loi n cha cc in t t do th cc l trng ny c xu hng chuyn ng
khuch tn sang khi N, cng lc khi P li nhn thm cc in t (in tch m)
t khi N chuyn sang. Kt qu l khi P tch in m (thiu ht l trng v tha
in t) trong khi khi n tch in dng (thiu ht in t v tha l trng). bin
gii hai mt tip gip, mt s in t bi l trng thu ht v khi chng tin li gn
nhau, chng c xu hng kt hp vi nhau to thnh cc nguyn t trung ha. Qu
trnh ny c th gii phng nng lng di dng nh sng (hay cc bc x in t
c bc sng gn ). Ty theo mc nng lng gii phng l cao hay thp m
bc sng nh sng pht ra khc nhau (tc mu sc ca LED s khc nhau). Mc
nng lng (v mu sc ca LED) hon ton ph thuc vo cu trc nng lng ca
cc nguyn t cht bn dn. Thng thng LED c in th phn cc thun cao hn
cc loi i t khc khong 1,5 n 3V nhng in th phn cc ngc LED li
khng cao.
n LED c nhng ng dng rt phong ph v rng ri : lm b phn hin
th trong cc thit b in, in t, trang tr, lm n giao thng, cc n LED pht
ra tia hng ngoi c dng trong cc thit b iu khin t xa trong in t dn
dng thm ch ngy nay ngi ta v ang nghin cu n LED pht nh sng
trng thay th cho cc thit b chiu sng thng thng nh n si t, n
neon, n compactiu ny l hon ton c th v c l l s thnh hin thc
trong mt tng lai khng xa. y chc chn s l mt bc tin quan trng trong
ngnh cng nghip nng lng v hin ti n LED trng c tui th ti 50.000 gi
s dng, gp 50 ln so vi bng n 60W. iu ny c ngha l chng c th thp
sng lin tc trong vng gn 6 nm. Hn th na chng dng in p thp nn
khng gy chy n m tit kim in hn nhiu so vi bng n khc. Mt trong
nhng ng dng quan trng v ph bin hin nay ca n LED chnh l trong lnh
vc qung co : bng qung co bng n LED.

12

1.1.2) Qung co bng led


n LED thc s l c cch t ph mi trong cng ngh cao ni chung v
trong qung co ni ring. l cc bng hiu, bng ch dn, panel qung co c
s dng n LED v mch in t to hiu ng nh sng. Qua tm hiu ta thy
nhiu c im ni bt ca n nh bn ca n cao gp my chc ln bng n
thng, v li rt t hao in, khng gy chy n, an ton tuyt i, chng rung
ng tt, c bit l n vn sng r vo ban ngy v vy c th dng c nhng bin
qung co trong nh (indoor) v ngoi tri (outdoor) cho hiu qu cao cng nh gy
s ch ng thi truyn t thng tin n khch hng v ngi i ng.
Bng in t c thng tin thay i c cn c gi l bng quang bo hay
mn hnh in t LED, c nhiu mu sc, nhiu cch hin th sinh ng, d dng
thu ht s ch ca mi ngi. Do d dng thay i thng tin trn bng in t nn
y c xem l phng tin truyn t thng tin hin i, nhanh chng.
Bng LED qung co c s dng c indoor, outdoor v semi-outdoor :
Bng indoor s dng tt trong nh, khng s dng ngoi tri c v
khng sng v khng chu c ma nng.
Bng outdoor c sng cao, kt cu chc chn, chu c ma nng.
Bng semi-outdoor c sng cao, s dng tt ngoi tri nhng chu
ma nng km nn bng qung co loi ny thng c t di
mi hin nh.
Trong lnh vc qung co, ng dng ca n LED c th hin di nhiu
hnh thc khc nhau nh :
Bng thng tin in t ch chy
Bng thng tin in t l sn phm ca ngnh cng ngh cao vi nhiu u
im ni bt tr thnh mt phn khng th thiu trong nhiu lnh vc ca cuc
sng. im ni bt ca bng thng tin in t l kh nng thay i thng tin v
phng thc trao i thng tin. Vi nhiu tnh nng c o, bng thng tin in t
(bng quang bo, bng in t, bng LED) lun thu ht c ng o s ch
13

quan st ca nhiu ngi. Do , n l sn phm c dng cho cc chng trnh


qung co, cc bn tin chng khon, ti chnh
Cng v tnh tin li m bng thng tin in t c ng dng rng ri
nhiu ni vi nhiu mc ch khc nhau nh: khch sn, nh hng, trung tm
thng mi, tr s cng ty, ngn hng, sn bay, hiu vng, sn giao dch chng
khon, giao thng hay ti cc cng tro ca cc tnh v thnh ph
c thit k rt khoa hc nn bng thng tin in t rt d dng khi s
dng, c th iu khin bng bn phm chuyn dng, bng nt bm, iu khin t
xa hay my tnh Khng nhng th, n cn rt tin li trong sn xut, lp t.
Ngoi ra bng thng tin in t cn c cc thuc tnh u vit khc nh : in
p thp, tnh n nh cao, cng sng mnh, thay i ni dung nhanh, d dng,
k xo hin th a dng.
Bin hiu, bin vy gy ch cho khch i ng.
L loi bin qung co in t s dng n LED siu sng c lp trnh
bng vi iu khin to nn cc hiu ng hin th khc nhau gy n tng mnh m
v s ch c bit i vi ngi i ng.
Bng thng tin v hnh nh ha:
L sn phm ca ngnh cng ngh cao vi nhiu u im ni bt tr
thnh mt phn quan trng trong nhiu lnh vc cuc sng. Bng c kh nng th
hin a dng cc hnh bng ch, logo v cc hnh nh ha. C th t mu sc
khc nhau cho tng dng ch hoc tng ch, iu chnh c tc k xo. L
phng thc qung co hnh nh Logo, gii thiu v sn phm mt cch c ng
sc tch nht.
Cc loi bng t gi: bng gi vng, bng gi ngoi t, bng t gi
ngn hng

14

L bng thng tin in t thit k chuyn dng cho tng ngnh (c bit l
ngn hng), sn phm c s dng rng ri cc s giao dch, phng giao dich,
l phng tin tt gip cho vic trao i t gi nhanh, thun tin. Bng c nhiu
tnh nng d s dng v thay i thng tin qua my tnh.
Bng qung co mn hnh Full Colour :
Sn phm mn hnh Full Colour l dng sn phm mi, ng dng nhng
cng ngh khoa hc tin tin nht ca ngnh LED hin nay. Sn phm c ng
dng trong mi lnh vc ca x hi nh vn ha, truyn thng, th thao, du lch.

Mn hnh Video Display:


Hin th nhiu mu sc, sc nt trung thc v sng ng l sn phm ch yu
phc v cho lnh vc qung b thng hiu, sn phm a dng v chng loi, c th
dng indoor, outdoor hay semi-outdoor.
Sn phm c kh nng hin th c tt c cc dng thng tin qung co,
trnh din cc hnh nh ng, chiu mt on phim video nh mt mn hnh Ti Vi
ln v cn hn th na c th kt ni trc tuyn vi mng my tnh. Sn phm cng
c thit k lp t c trong nh ln ngoi tri.
Bng thng tin in t dng cho th trng chng khon:
Khc vi c trng hin th LED qung co bnh thng, y l bng hin th
thng tin d liu ng, thng tin c cp nht lin tc. Mn hnh ln c th chia ra
thnh nhiu vng hin th theo tng nhm thng tin chng khon nh: tn cng
ty, cc tiu v cc thng s u gi, nh logo Thng tin hin th c chia
thnh cc kch bn chy song song vi nhau trn cng hoc khc phn vng hin
th. Thng tin chng khon c cp nht mt cch t ng ln bng in t. Mu
15

sc thng tin hin th trn bng in t thay i theo tng m chng khon v ph
thuc vo s tng gim gi ca m chng khon . iu ny gip cho mi ngi
theo di thng tin chng khon mt cch d dng hn.
Khng ch c vy ngy nay bng LED qung co cn c ng dng trong
nhiu ngnh, lnh vc khc na nh : bng thng tin nghip v cho ngnh du lch,
bu in in t, ngn hng in t, bng kt qu x s kin thit, bng t s thi
u th thao, bng in t dng cho tn hiu giao thng vi kiu dng phong ph,
thit k hin i v hiu ng bt mt cho hiu qu cao trong lnh vc qung co.
Tuy nhin, do hn ch v nhiu mt cng nh nh hng ca suy thoi kinh
t ton cu nn hin nay Vit Nam xut hin khng nhiu cc bng, bin qung
co hin th video, nhng cc bng qung co hin th dng text dng gii thiu,
qung b thng hiu hay hin th thng tin v cc loi hnh dch v, sn phm
(mc li xut ngn hng, thng tin ti sn giao dch chng khon, thng tin v
thi gian biu ti sn bay, kt qu cc trn bng ) th vn ang pht trin mnh
m. c im u vit ca loi hnh ny l d dng thay i, cp nht ni dung cn
hin th bng phn mm.

1.3) Gii thiu chung v h thng


Vi mc ch tm hiu v cch thit k v xy dng mt bng qung co in
t bng n LED n gin chng em xy dng mt h thng quang bo vi s
khi nh sau:

16

Hnh 1 - S khi h thng


Khi giao tip vi my tnh : c chc nng trao i d liu gia my tnh v
vi iu khin, truyn cc d liu nh ni dung hin th, mu sc hin th, hiu ng
hin th ...n vi iu khin, ng thi nhn cc d liu ti vi iu khin c
th iu khin hin th nh mong mun. Do , khi ny khi thc hin gm c mt
phn mm s dng trn my tnh c chc nng giao tip vi ngi dng chn
cc thng s cn truyn ti vi iu khin v mt s th tc nhn d liu ti vi
iu khin. Cc d liu ny s c khi iu khin hin th x l c th iu
khin ma trn LED hin th ni dung cng nh hiu ng mong mun.

17

Khi iu khin hin th : c chc nng x l cc d liu m my tnh


truyn ti to ra cc d liu v mc logic cn cp cho cc led trong tng ct
ng thi iu khin qu trnh cp ngun cho led ma trn . Khi ny c xy dng
bng cc th tc x l d liu trn vi iu khin . Khi nhn c d liu v chui
k t cn hin th th khi ny s to d liu v mc logic cn cp cho led ma trn.
Khi nhn c d liu v mu sc, hiu ng hin th th khi ny s xc nh th tc
gi d liu cho cc khi cht d liu hng v ct.
Khi cht d liu hng : c chc nng cht cc gi tr logic cp ngun cho
cc hng ca ma trn. Khi ny gm mt chui cc b 74HC595 mc ni tip. D
liu v mc logic ca cc hng v tn hiu bo cht d liu s c khi iu khin
hin th gi n. Cc d liu ny s c cht li ti u ra ca khi cho n khi d
liu mi c yu cu cht.
Khi cht d liu ct : c chc nng cht cc gi tr logic cp ngun cho cc
ct ca ma trn. Khi ny c thc hin bng cch s dng IC 74HC138. D liu
v mc logic ca cc ct s c khi iu khin hin th gi n ph hp vi d
liu ca cc hng c th hin th ng nh mong mun. Cc d liu ny s c
cht li ti u ra ca khi cho dn khi d liu mi c yu cu cht.

Khi khuch i cng sut hng : c chc nng m bo cp ngun cho


cc hng ca led ma trn, ng thi hn ch dng chy qua cc chn ca cc IC
cht d liu hng. m bo chc nng ny khi ny gm cc IC ULN2803 mc
ni tip vi cc IC 74HC595.
Khi khuch i cng sut ct : c chc nng m bo cp ngun cho
cc ct ca led ma trn, ng thi hn ch dng chy qua cc chn ca cc IC cht
d liu ct. m bo chc nng ny khi c xy dng gm cc transistor
B562. Cc B ca cc transistor c iu khin bi IC 74HC138.

18

Chng 2 : Gii thiu v vi iu khin AVR Atmega16


2.1) Gii thiu v vi iu khin h AVR
2.1.1) Mt s c trng
y l loi vi iu khin 8 bit, x l nhanh, tiu th nng lng thp.
AVR [6] c cu trc RISC vi :
131 lnh, hu ht cc lnh thc thi trong mt chu k xung nhp.
32 x 8 thanh ghi a dng
Full static operation
19

Tc lm vic 16MPIS, vi thch anh 16 MHz.


On_chip 2 cycle multipler.
B nh :
ISP Flash vi kh nng 10.000 ln ghi xa.
EEROM.
RAM.
Giao tip JTAG :
Kh nng qut ton din theo chun JTAG.
H tr kh nng Debug onchip
H tr lp trnh Flash, EEROM, fuse
Lock bit qua giao tip JTAG
Ngoi vi :
Timer/ counter 8 bit vi cc ch : so snh v chia tn s.
Timer/counter 16 bit vi cc ch : so snh, chia tn s, capture,
PWM.
Timer thi gian thc (Real time Clock) vi b dao ng ring bit.
Cc knh PWM.
Knh bin i ADC 10 bit.
H tr giao tip I2C.
B giao tip ni tip lp trnh c USART.
Giao tip SPI.
Watch_dog timer vi b dao ng on_chip ring bit.
Nhng thuc tnh c bit :
Power on reset v Brown-out detection.
Ch hiu chnh b sai s cho b dao ng RC on chip
Cc ch ngt ngoi v trong a dng.
6 mode sleep : Idle, ADC noise reduction, tit kim nng lng,
power-down, standby, extended standby.
Cc phn mm lp trnh cho AVR :
20

AVRStudio, Code Vision. Cc phn mm ny c h tr phn np v


Debug on chip.
Ngoi ra c th dng chng trnh np PonyProg2000, Winpic800

2.1.2) Mt s c trng
AVR c cu trc Havard trong ng truyn cho b nh d liu (data
memory bus) v ng truyn cho b nh chng trnh (Program memory bus)
c tch ring. Data memory bus ch c 8 bit v c kt ni vi hu ht cc thit
b ngoi vi, cc Register File. Trong khi , program memory bus c rng 16 bit
v ch phc v cho thanh ghi lnh (instruction register).
B nh chng trnh (program memory) l b nh Flash lp trnh c.
Trong cc loi AVR c nh AT90S1200 b nh chng trnh ch gm mt phn l
Application Flash Section cn trong cc loi AVR mi c thm phn Boot Flash
Section. Chc nng chnh ca b nh chng trnh l cha cc lnh (instruction)
nn chng ta khng c nhiu c hi tc ng nn b nh ny khi lp trnh cho chip.
Cng chnh v vy m i vi ngi lp trnh th b nh ny khng qu quan
trng. Tt c cc thanh ghi quan trng cn kho st nm trong b nh d liu ca
chip.

21

Hnh 2 - Cu trc b nh AVR


B nh d liu (data memory) : y l phn cha cc thanh ghi quan trng
nht ca chip. B nh d liu trn cc chip AVR c ln khc nhau ty theo mi
chip. Tuy nhin v c bn b nh ny c chia lm cc phn :
Tp thanh ghi (Register file) : gm 32 thanh ghi 8 bit c a ch tuyt
i t 0x0000 n 0x001F. Cc thanh ghi ny c t tn l t R0
n R31. Chng c c im :
c truy cp trc tip trong cc instruction.
Cc ton t, php ton thc hin trn cc thanh ghi ny ch cn
mt xung Clock.
Tp thanh ghi c kt ni trc tip vi b x l trung tm,
CPU chip.
Chng l ngun cha cc s hng trong cc php ton v cng
l ch cha kt qu

Cc thanh ghi vo ra (thanh ghi I/O hay cn gi l vng


nh I/O) l cng giao tip gia CPU vi thit b ngoi vi. Tt c cc
thanh ghi iu khin, trng thi ca thit b ngoi vi u nm y.
22

RAM ngoi (External RAM) : cc chip vi iu khin


AVR cho php ngi dng c th gn thm RAM ngoi cha bin,
vng ny thc cht ch tn ti khi no ngi s dng gn thm b nh
ngoi vo chip.

EEPROM (Electrical Erasable Programmable ROM) l


mt phn quan trng ca cc chip AVR mi, v l ROM nn b nh
ny khng b xa ngay c khi khng cp ngun nui chip, rt thch
hp cho cc ng dng lu tr d liu.

2.1.3) Mt s c trng

Hnh 2 - Cu trc bn trong ca AVR

23

Hot ng :Cc lnh c cha trong b nh chng trnh Flash Memory


di dng cc thanh ghi 16 bit. B nh chng trnh c truy cp trong mi chu
k xung Clock v mt lnh cha trong Program memory c load vo thanh ghi
lnh (instruction Register), thanh ghi lnh tc ng cng nh la chn tp thanh ghi
cng nh RAM cho ALU thc thi. Trong khi thc thi chng trnh, a ch ca dng
lnh ang thc thi c quyt nh bi b m chng trnh PC (Program
Counter).
AVR c u im l hu ht cc lnh u c thc thi trong mt chu k
xung nhp, v th m trong mt s trng hp d ngun clock ca AVR nh hn
mt s loi vi iu khin khc (nh PIC) nhng thi gian thc thi vn nhanh hn.

2.1.4) Mt s h vi diu khin AVR


Vi iu khin AVR rt phong ph v a dng, bao gm nhiu h khc nhau :
H ATUC30xxxx (xxxx th hin dung lng Flash ca vi iu khin,
v d : ATUC30512 c 512 kB Flash).
Dng vi iu khin MEGA AVR.
Dng Tiny AVR.
Dng LCD AVR
Dng USB AVR
Dng CAN AVR.

2.2) S b v vi iu khin Atmega16


Atmega16 [3] l b vi iu khin CMOS 8 bit tiu th in nng thp da
trn kin trc RISC (Reduced Intruction Set Computer). Vo ra Analog digital v
ngc li. Vi cng ngh ny cho php cc lnh thc thi ch trong mt chu k xung
nhp, v th tc x l d liu c th t n 1 triu lnh trn giy tn s 1 Mhz.
Vi iu khin ny cho php ngi thit k c th ti u ho ch tiu th nng
lng m vn m bo tc x l.
24

S khi

Hnh 2 - S khi ca Atmega16


Atmega16 c tp lnh phong ph v s lng vi 32 thanh ghi lm vic a
nng. Ton b 32 thanh ghi u c ni trc tip vi ALU (Arithmetic Logic
Unit), cho php truy cp 2 thanh ghi c lp bng mt chu k xung nhp. Kin trc
t c c tc x l nhanh gp 10 ln vi iu khin dng CISC (Complex
Intruction Set Computer) thng thng.
Khi s dng vi iu khin Atmega16, c rt nhiu phn mm c dng
lp trnh bng nhiu ngn ng khc nhau l: Trnh dch Assembly nh AVR
studio ca Atmel, Trnh dch C nh win AVR, CodeVisionAVR C, ICCAVR. C 25

CMPPILER ca GNU Trnh dch C c nhiu ngi dng v nh gi tng


i mnh, d tip cn i vi nhng ngi bt u tm hiu AVR, l trnh dch
CodeVisionAVR C. Phn mm ny h tr nhiu ng dng v c nhiu hm c sn
nn vic lp trnh tt hn.

2.2.1) c trng
c ch to theo kin trc RISC hiu sut cao m in nng tiu th thp
Tp lnh gm 131 lnh, hu ht u ch thc thi trong 1 chu k xung nhp.
B nhn hai chu k.
32 x 8 thanh ghi lm vic a dng.
Hot ng tnh
16 MIPS vi thng lng 16MHz
8KB Flash ROM lp trnh c ngay trn h thng :
Giao din ni tip SPI c th lp trnh ngay trn h thng.
Cho php 1000 ln ghi/xa.
B EEPROM 512 byte, cho php 100.000 ln ghi/xa
16 Kbyte b nh chng trnh in-System Self-programmable Flash.
Chu k ghi/xa (Write/Erase) :10.000 Flash/ 100.000 EEPROM.

bn d liu 20 nm 85C v 100 nm 25C


B nh SRAM 512 byte.
B bin i ADC 8 knh, 10 bit.
32 ng I/O lp trnh c.
B truyn ni tip bt ng b vn nng UART.
Vcc=2.7V n 5.5V.
Tc lm vic: 8 MHz i vi Atmega16L, 16MHz i vi Atmega16

ti a .
Tc x l lnh n 8 MIPS 8 MHz ngha l 8 triu lnh trn giy.
B nh thi gian thc (RTC) vi b dao ng v ch m tch bit
2 b Timer 8 bit v 1 b Timer 16 bit vi ch so snh v chia tn s
tch bit v ch bt mu.
4 knh iu ch rng xung PWM.
C n 13 interrupt ngoi v trong.
B so snh Analog.
26

B lp trnh Watch dog timer.


6 ch ng : Idle, ADC Noise Reduction, Power-save, Power-down,
Standby v Extended Standby.
Giao tip ni tip Master/Slave SPI.

Hnh 2 - S chn Atmega16

VCC: in p ngun nui.


GND: Ni mass.
PortA (PA7PA0): PortA nhn vo tn hiu Analog v chuyn i qua
tn hiu Digital. Ngoi ra PortA c th c tch ra lm vo ra 2 hng 2
bit nu b chuyn i A/D khng c s dng. Khi cc chn PA0 n
PA7 l cc li vo v c t xung ch thp t bn ngoi, chng s
l ngun dng nu cc in tr ni ln ngun dng c kch hot. Cc
chn ca Port A vo trng thi c in tr cao khi tn hiu Reset ch
tch cc hoc ngay c khi khng c tn hiu xung ng h.
Port A cung cp cc ng a ch/d liu vo/ra hot ng theo kiu a
hp knh khi dng b nh SRAM bn ngoi.
PortB,D : tng t nh PortA.
27

PortC (PC7PC0): tng t nh PortA. Nhng nu cho php giao


din JTAG, th cc chn PC5, PC3, PC2 s hot ng ngay c khi reset
li tn hiu.
Reset: Li vo t li. B vi iu khin s c t li khi chn ny
ch thp trong hn 50ns, cc xung ngn hn khng to ra tn hiu t
li.
XTAL1: Li vo b khuch i o v li vo mch to xung nhp bn
trong.
XTAL2: Li ra b khuch i o : XTAL1 v XTAL2 ln lt l li
vo v li ra ca mt b khuch i o. B khuch i ny c b tr
lm b to dao ng trn chip. Mt b tinh th thch anh hoc mt b
cng hng gm c th c s dng. iu khin b vi iu khin t
mt ngun xung nhp bn ngoi, chn XTAL2 trng, cn chn
XTAL1 c ni vi b dao ng bn ngoi.
AREF : L chn chuyn i tn hiu analog cho b chuyn i A/D.
AVCC : L chn ngun cho Port A v cho b chuyn i A/D. N c th
t kt ni vi ngun chnh ngay c khi ADC khng c s dng.

2.2.2) CPU
Kin trc AVR ni chung, cc chc nng chnh ca CPU m bo s thc thi
chnh xc process. CPU phi c kh nng truy xut b nh, thc hin tnh ton, iu
khin thit b ngoi vi v cc knh ngt.
Trong th t thc hin song song, AVR s dng kin trc Harvard vi b
nh tch ri gia hai lung process v d liu. Cc ch lnh trong b nh process
c thc hin vi nhng mc pipeline n. Trong khi mt lnh dang thc thi, lnh
tip theo s c tm np trc t b nh process. Khi nim ny cho php cc lnh
s c thc hin trong mi chu k xung. B nh process l h thng b nh Flash
lp trnh li c. Truy xut nhanh thanh ghi File cha 32*8 bit thanh ghi lm vic
a nng vi mt chu k xung n truy xut thi gian. iu ny cho php b tnh
ton ALU lm vic n chu k.

28

6 trong 32 thanh ghi c th s dng nh 3 a ch gin tip thanh ghi con tr


cho khng gian a ch d liu. N cng c th c s dng nh con tr ca b
nh process Flash.
Mt lnh AVR c 16 bit n nh dng word.
Mi a ch b nh process cha 16 hoc 32 lnh.
B nh process Flash c chia ra lm 2 khu vc, khu vc khi ng
process v khu vc ng dng process. C hai khu vc c thit k bo v cc bit
ghi v c/ghi.
Trong khi cc ngt v process con c gi, a ch tr v ca Counter
process (PC) c lu tr trong Stack. Stack c nh phn trong d liu tng
qut SRAM, v vy kch thc STACK c hn ch bi kch thc SRAM tng v
cch s dng ca n. Tt c cc process s dng phi khi to gi tr u cho Stack
Poiter trc khi process con hoc ngt c gi. Stack Poiter c c/ghi c s
dng trong khng gian I/O. D liu SRAM c th d dng c truy xut qua 5
cch nh a ch khc nhau h tr trong kin trc AVR. Khng gian b nh trong
kin trc AVR l tt c nhng bn b nh ph bin tuyn tnh. Mt module ngt
linh hot c nhng thanh ghi iu khin trong khng gian I/O vi mt ngt ton cc
cho php ngt trong thanh ghi trng thi. Tt c cc ngt u c vector ngt ring
bit trong bng vector ngt. a ch vector ngt cng thp quyn u tin ngt cng
cao.
Khng gian b nh I/O cha 64 a ch cho cc chc nng ngoi vi CPU nh
thanh ghi iu khin,SPI, v mt s chc nng I/O khc.

29

Hnh 2 - S khi cu trc ATmega16


2.2.2.1 ALU Arithmetic Logic Unit :
Thc thi cao AVR ALU hot ng trong s kt ni trc tip vi tt c 32
thanh ghi h tr lm vic. Hot ng trong ALU c chia thnh 3 chc nng
chnh: s hc, logic v chc nng bit.
2.2.2.2 Thanh ghi trng thi (Status Registers) :
Cha thng tin v kt qu ca cc tnh ton c thc thi gn nht. Ch
Status Register c thay i sau tt c cc php tnh ton trong ALU.

Bit

30

I
Read/Write
Khi to

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Bit 7-I : cho php ngt ton cc. Khng cho php ngi s dng t
xa. Ch b xa khi c ngt mi xut hin v c ch dn bi RETI cho
nhng ngt k tip. C th c t hoc c xa bi SEI v CLI.
Bit 6-T : bit lu tr. C th chp t BST sang BLD v ngc li.
Bit 5-H : C nh na H s dng nh na hu ch trong php tnh s

BCD.
Bit 4-S : tn hiu bit S = N V
Bit 3-D : 2 c trn
Bit 2-N : c ph nh.
Bit 1-Z : c zero
Bit 0-C : c nh.

2.2.2.3 Thanh ghi mc ch chung:


Thanh ghi file c ti u ha cho AVR tng cng lp tp tin. Trong mnh
lnh t c s thc hin i hi v tnh ti u ha nhng s vo ra y
c h tr :
Mt ton hng ng ra 8 bit v mt kt qu ng vo 8 bit.
Hai ton hng ng ra 8 bit v mt kt qu ng vo 8 bit.
Hai ton hng ng ra 8 bit v mt kt qu ng vo 16 bit.
Mt ton hng ng ra 16 bit v mt kt qu ng vo 16 bit.

31

Hnh 2 - Cc thanh ghi h tr lm vic AVR CPU


2.2.2.4 Con tr ngn xp (Stack pointer):
Bit

Bit

14

13

12

11

10

SP15

SP14

SP13

SP12

SP11

SP10

SP9

SP8

SP7

SP6

SP5

SP4

SP3

SP2

SP1

SP0

3
R /W
R /W
0
0

2
R/W
R/W
0
0

1
R/W
R/W
0
0

R/W
R/W
0
0

R/W
R/W
0
0

Read/Write
Khi to

15

4
R/W
R/W
0
0

R/W
R/W
0
0

0
R/W
R/W
0
0

Thanh ghi Stack Poiter lun tr n nh ca ngn xp.


Stack Poiter tr n ngn xp d liu SRAM lu tr nhng process con
v nhng ngt cc b. Khong trng trong SRAM phi c nh ngha bi
process trc bt k process con no gi n thc thi hoc ngt no c hot
ng. Stack Poiter gim i 1 khi d liu c y ln trn Stack vi lnh
PUSH, v gim i 2 khi tr v a ch c y ln trn Stack vi s gi
process con hoc ngt c gi. Stack Poiter tng ln 1 khi d liu c a ra
khi Stack vi lnh POP, v tng ln 2 khi d liu c a ra khi Stack tr v
t process con RET hoc tr v t ngt RETI.
Stack Poiter AVR c b xung nh 2 thanh ghi 8 bit trong khng gian
I/O. S lng cc bt c s dng l s thi hnh ph thuc. Ch khng gian

32

d liu trong b xung ca kin trc AVR nh nn ch s dng thanh ghi SPL,
trong trng hp ny khng c thanh ghi SPH.
2.2.2.5 Reset v x l ngt.
AVR cung cp vi ngun ngt khc nhau. Cc ngt ny c vector Reset ring
bit vi vector process. Tt c cc ngt ghi mc logic 1 cng vi ngt ton cc.
Trong thanh ghi trng thi cc bit cho php ngt ph thuc gi tr Counter process.
Cc ngt c th t ng b cm khi khi ng kha bit BLB02 hoc BLB12.
Khi mt ngt xut hin, ngt ton cc cho php I-bit xa v tt c cc ngt
cn li b cm. S dng phn mm c th ghi logic 1 cho I-bit cho php ngt. Tt c
cc ngt c cho php c th ngt thng trnh. I-bit t ng c lp khi mt
lnh ngt tr li thc thi t RETI.
C hai kiu ngt c bn.
Kiu 1 : hot ng bi 1 s kin lp bi c ngt. Vi mi ngt Counter
process l mt vector ti vector ngt hin ti trong th t thc thi, phn cng
s xa c ngt. Cc c ngt c th b xa bi ghi logic 1 ti v tr bit c
xa. Nu iu kin mt ngt xut hin trong khi cho php ngt bit b xa th
c ngt s c lp v nh n khi ngt cho php hoc c ngt b xa bi
phn mm. Tng t, iu kin cc ngt xut hin trong khi bit
GIE(Global Interrupt Enable) b xa th c nh s lp v nh n khi bit GIE
c lp.
Kiu 2 : cc ngt s c hot ng nu iu kin ngt c mt. Nhng
ngt ny khng cn c c ngt. Nu iu kin ngt khng xut hin trc khi
ngt cho php ngt s khng c hot ng.
Khi AVR thot khi 1 ngt, n s lun tr v process chnh v thc thi hn
mt lnh trc khi tm dng ngt. Ch thanh ghi trng thi khng t ng lu tr
khi vo mt th tc ngt v cng khng t phc hi khi thot ra khi th tc. Khi s
dng lnh CLI cm cc ngt th ngt s khng trc tip b cm. Khng c ngt
c thc thi sau lnh CLI ngay c khi xut hin ng thi vi lnh. Xem v d
sau :
Ghi bng Assembly

33

Ghi bng C

Khi s dng lnh SEI cho php ngt:


Ghi bng Assembly

Ghi bng C

2.2.2.6 Ngt p ng li thi gian


Ngt thc thi p ng cho tt c cc ngt cho php ca AVR l 4 chu k xung
ti thiu. Sau 4 chu k xung vector process thm a ch cho ngt ang hot ng
trong process con thc thi. Trong khong thi gian ny b nh process s y ln
trn Stack. Vector ngt nhy n ngt trong process con v lnh ngt ny s a ra 3
chu k xung. Nu mt ngt xut hin trong khi thc thi nhiu chu trnh lnh, th
lnh s c trc khi ngt c thc hin. Nu mt ngt xut hin khi MCU ch
ng, ngt thc thi yu cu thi gian tng bi 4 chu k xung.
Tr v t ngt process con a rad 4 chu k xung b m chng trnh s
c a ra t Stack, Stack Poiter tng thm 2 v I-bit trong SREG c lp.

34

2.2.3) B nh
Phn ny m t cc b nh khc nhau trong Atmega16. Kin trc AVR c 2
b nh chnh : b nh d liu v b nh process. B xung thm vo c tnh AVR
mt b nh EEPROM lu tr d liu.
2.2.3.1 H thng b nh lp trnh li Flash
Atmega16 cha 16 K bytes On-Chip trong h thng b nh lp trnh li
Flash lu tr process. Cho AVR 16 hoc 32 bit th b nh flash l 8K*16. B nh
Flash c kh nng ghi/ xa 1000 ln cho mi vng. Atmega16 c Counter 13 bit
cng vi 8K a ch process.

Hnh 2 - S b nh process
2.2.3.2 B nh d liu SRAM
C ti 1120 a ch nh cho b nh nhp xut, thanh ghi file v SRAM
ni. 96 ng a ch u tin dnh ring cho thanh ghi file v b nh vo ra v cn
1024 ng a ch cn li cho SRAM ni.

35

Hnh 2 - S b nh d liu

Hnh 2 - Nhng chu k truy xut SRAM


2.2.3.3 B nh d liu EEPROM
Atmega16 cha 512 byte b nh d liu EEPROM. N c t chc nh
mt khng gian d liu ring bit, mi byte n c th c v ghi. EEPRAM c kh
nng thc hin 100.000 chu k ghi/xa. Truy xut gia EEPRAM v CPU c m
t theo c t thanh ghi a ch, thanh ghi d liu v thanh ghi iu khin EEPROM.

36

Thanh ghi a ch EEPROM :EEARH v EEARL


15

Bit

Bit

Khi to

13

12

11

10

EEAR8

EEAR7

EEAR6

EEAR5

EEAR4

EEAR3

EEAR2

EEAR1

EEAR0

R
R/W
0
X

R/W
R/W
X
X

Read/Write

14

4
R
R/W
0
X

R
R/W
0
X

R
R/W
0
X

R
R/W
0
X

0
R
R/W
0
X

R
R/W
0
X

Bit 159 Res : cc bit ng k trc.


Cc bit ny s lun c c l 0.
Bit 80 EER80 : a ch EEPROM.
Thanh ghi a ch EEPROM EEARH v EEARL m t a ch EEPROM
trong 512 byte khng gian EEPROM. Cc byte d liu EEPROM c thm vo
tuyn tnh gia 0 v 511. Gi tr u ca EEAR l khng xc nh. Mt gi tr ring
phi c ghi trc.
2.2.3.3.2 Thanh ghi d liu EEPROM : EEDR
7

Bit

MSB
Read/Write
Khi to

LSB

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Bit 70 EEDR70 : EEPROM d liu


EEPROM ghi hot ng, thanh ghi EEDR cha d liu ghi ti EEPROM trong
a ch a bi thanh ghi EEAR. Cho hot ng c EEPROM, EEDR cha d liu
c ngoi t EEPROM ti a ch a bi EEAR.
2.2.3.3.3 Thanh ghi iu khin EEPROM :EECR
Bit

Read/Write
Khi to

EERIE

2
EEMWE

R/W

R/W

R/W

R/W

R/W

R/W

EEWE

EERE

R/W

R/W

Bit 74 Res : cc bit ng k trc


Cc bit ny c ng k trc trong Atmega16 v lun c c l 0.
37

Bit 3 EERIE : EEPROM sn sng cho php ngt


Ghi EERIE ln 1 cho php EEPROM sn sng ngt nu I-bit trong SREG
c lp. Ghi EERIE v 0 s cm ngt. Khi EEWE b xa EEPROM sn sng pht
ra ngt l mt hng s ngt.
Bit 2 EEMWE : EEPROM ch cho php ghi
Khi Bit EEMWE c lp, lp EEWE vi 4 chu k xung s ghi d liu ti
EEPROM ti a ch c chn. Nu EEMWE = 0, lp EEWE s khng c nh
hng. Khi EEMWE c ghi ln 1 bi phn mm, phn cng xa bit v 0 sau 4
chu k xung.
Bit 1 EEWE : EEPROM cho php ghi
EEPROM cho php ghi tn hiu EEWE

c ghi tn hiu tra cu ti

EEPROM. Khi a ch v d liu a ln chnh xc, bit EEWE phi ghi ln 1. Bit
EEMWE phi ghi ln 1 trc khi logic 1 c ghi cho EEWE. Cc bc cn lm
khi ghi EEPROM. (bc 3 v 4 c th b qua).
i n khi EEWE tr v 0.
i n khi SPMEN trong SPMCR tr v 0.
Ghi a ch mi EEPROM ti EEAR (ty chn).
Ghi d liu mi EEPROM ti EEAR (ty chn).
Ghi logic 1 ti bit EEMWE trong khi ghi EEWE trong EECR v 0.
Trong 4 chu k xung ng h sau khi lp EEMWE ghi logic 1 cho
EEWE.
Bit 0 EERE : EEPROM cho php c
Tn hiu cho php c EERE c tn hiu tra cu ti EEPROM. Khi a ch
ng th lp ln thanh ghi EEAR, bit EERE phi ghi logic 1 khi ng
EEPROM c. S truy xut EEPROM c cn 1 lnh v yu cu d liu c gi tr
trc tip. Khi EEPROM c c CPU b dng trong 4 chu k trc khi lnh tip
c thc thi. Ngi s dng cn phi kim tra bit EEWE trc thao tc c. Nu
ghi hot ng trong tin trnh th khng ci no c th c EEPROM, cng khng
th thay i thanh ghi EEAR. B dao ng chun c s dng ly thi gian
truy xut EEPROM.
2.2.3.4 B nh I/O :
Tt c cc Atmega16 I/O v cc thit b ngoi vi trong khng gian I/O. V tr
I/O c truy xut bi lnh IN v OUT, s chuyn d liu gia 32 thanh ghi h tr
38

lm vic v khng gian I/O. Nhng thanh ghi I/O thuc phm vi a ch 00$ - $1F
l bt truy xut trc tip s dng cc lnh SBI v CBI. Trong cc thanh ghi gi tr
cc bit n c kim tra bi cc lnh SBI v CBI.

Chng 3 : Nguyn tc iu khin led ma trn


3.1) Cu trc v nguyn l cp ngun cho led ma trn
Led ma trn bao gm cc led n c xp thnh hng v ct . Cc led n
trong cng mt hng th c ni chung anot (catot) cn trong cng mt ct th
c ni chung catot (anot). Do cc led c th sng ta phi cp ngun cho led
nh sau : cp mc cao (thp) cho hng v mc thp (cao) cho ct.

39

Hnh 3 - Led ma trn chung anot


Vi cch sp xp nh trn ti mt thi im ta khng th hin th mt k t
(vi trn 2 hng 2 ct) trn ma trn. Do c th hin th mt k t trn led ma
trn th ta phi li dng hin tng lu nh trn vng mc. Ta phi cho tng hng
(ct) ca k t ln lt kin th trn led ma trn vi tn s cao. Trc tin ta phi
xc nh mc logic cn cp cho tng hng (ct) ca led ma trn hin th k t
ri lu cc gi tr logic ny li. Sau khi cn hin th k t th ta ln lt a cc
gi tr ny ra cc chn cp ngun cho hng (ct) ng thi cp ngun cho ct (hng)
tng ng vi n.

3.2) Nguyn tc to font ch hin th


c th hn ta xt v d hin th ch R trn led ma trn 8x8 theo cch qut
ln lt tng ct ma trn. Do qut theo tng ct nn ta s phi xc nh mc logic
cn cp cho tt c cc led trong tng ct. Gi thit cc led cng hng mc chung
anot, cc led trong cng mt ct mc chung catot. Khi nu mun mt led no
trong ct sng th ta phi cp in p mc cao vo hng tng ng.
40

Bng 3 - To font ch cho k t


H

Nhn

vo

mun hin th ch

H
H

cho cc led trong

Ct 5: L ,

bng trn ta thy

R phi cp ngun
H

tng ct nh sau :
H

H,H,L,L,L,H

,L
Ct 4: H , L , L , H , L , H , L , L
Ct 3: H , L , L , H , H , L , L , L
Ct 2: H , L , L , H , L , L , L , L
Ct 1: H , H , H , H , H , H , H , L
Cc led trong cc ct khc c cp in p mc thp .
Cc gi tr ny cn c lu li trong b nh ca vi iu khin khi cn ta
c th ly ra. Ta c th lu cc gi tr ny thnh tng byte trong b nh theo trt t
t hng 1 ti hng 8 hay ngc li. V d ct 1 ta lu theo th t t hng mt ti 8
th lu gi tr 0F8H cn nu ngc li th l 7FH .
Vic m ha font ph thuc vo cch cp ngun cho ma trn led. Nu ta cp
ngun cho tng ct ca ma trn led sng ln lt th font ch phi lu cc gi tr
logic m ha cch cp ngun cho tt c cc led trong ct . Gi s ta m ha font 6
ct 8 hng ( 5 ct m ha ch 1 ct to khong cch 2 ch k tip) nh nu trong
nguyn tc iu khin led th mi k t cn 6 byte d liu lu.

3.3) iu khin hin th led ma trn


tin cho vic truy xut d liu ta c th khai bo 1 mng trong b nh
Flash ca Atmega16 lu cc d liu ny. Khi a ch u ca d liu m ha 2 k
t gn nhau th cch nhau cch nhau 6. V vy khi bit c v tr ca 1 k t trong

41

font th ta c th xc nh a ch ca d liu m ha k t . Trn c s ta c


th d dng xut d liu ca k t cn hin th ra .
Sau khi xc nh c cc mc logic cn cp cho ma trn led th ta c th
tin hnh iu khin qu trnh cp ngun cho led ma trn c c hnh nh nh
mun. Vic cp ngun cho led ma trn ph thuc vo cch m ha d liu (theo
tng hng hay theo tng ct ca ma trn). Nu d liu m ha l cc hng trong 1
ct (hng) th ti mt thi im ta ch cp ngun cho mt ct (hng . Qu trnh iu
khin hin th led ma trn 8x8 theo tng ct (hng) bao gm cc bc sau :
-

B1: Ly mu d liu : ly cc d liu v mc logic cn cp cho cc ct


(hng) ca ma trn

B2: Bt u vi ct i=1.

B3: Cp ngun cho ct i

B4: Xut d liu tng ng vi ct ( c ly mu t trc) cp


ngun cho cc hng ca ma trn

B5: i=i+1 ; quay li bc 2 nu i>8 ,nu khng th quay li bc 3

42

Hnh 3 - Lu thut ton cp ngun cho ma trn led

Nu ch iu khin 1 s lng led ma trn nh th ta c th dng trc tip cc


chn ca vi iu khin iu khin vic cp ngun cho led ma trn. Nu ma trn
ln hn th ta phi dng cc b ghi dch cp ngun cho led ma trn.

43

hnh nh trn led ma trn hin th r rng khng b nhy ta cn phi iu


khin tn s qut led ma trn. C th dng cc b nh thi ca vi iu khin
iu khin thi im cp ngun cho led ma trn to tn s qut.
Tm li iu khin led ma trn ta u tin ta cn phi xc nh c
phng php cp ngun cho ma trn ( cp ngun theo tng ct hay tng hng ). Sau
khi xc nh c phng php cp ngun ta cn phi xy dng font ch cho
ph hp vi cch cp ngun. T y ta c th tin hnh iu khin vic cp ngun
cho ma trn dng ch trn ma trn hin th nh mong mun.

44

Chng 4: iu khin cp ngun cho led ma trn


Chng ny s trnh by v cch iu khin cp ngun cho ma trn s dng
phng php cp ngun theo tng ct. Vic iu khin cp ngun cho cc ct c
thc hin bng cch s dng IC 74HC138. Cc hng ca ma trn s c cp ngun
bng cch s dng b ghi dch 74HC595. Cc d liu m ha font c truyn ni
tip t vi iu khin ti b ghi dch bng cch s dng SPI .

4.1) iu khin cp ngun cho ct dng 74HC138


4.1.1) Chc nng ca 74HC138

S chn ca 74HC138 [4] :

Hnh 4 - S chn 74HC138


IC 74HC138 l b gi m 3 u vo ( A0,A1,A2) 8 u ra ph nh (Y0 n
Y7 ). N c 3 u vo cho php : 2 u vo tch cc thp ( E1 , E 2 ) v mt u vo
tch cc mc cao (E3). Tt c cc u ra ca 74HC138 s mc cao tr khi E1 , E 2
mc thp v E3 mc cao. Khi cc u vo E1 , E 2 mc thp v E3 mc cao
th u ra ca 74HC138 s c quyt nh bi u vo .

45

Bng 4 - Chc nmg hot ng ca 74HC138

E1

E2

u vo
E3
A0
X
X

X
L

X
L

X
H

X
L

X
L

X
L

H
L

H
H

H
H

H
H

H
H

H
H

H
H

H
H

A1
X

A2
X

Y0
H

Y1
H

Y2
H

u ra
Y3 Y4
H
H

Y5
H

Y6
H

Y7
H

4.1.2) S dng 74HC138 cp ngun cho cc ct ma trn


Theo nguyn tc qut ma trn led th ti mi thi im ta ch cp ngun cho
mt ct ca ma trn do c th dung 74HC138 cp ngun cho cc ct ca ma
trn . Cc u vo ( A0,A1,A2) ca 74HC138 s c ni vi cc chn ca vi iu
khin, cc u ra ca 74HC138 c ni vi cc ct ca ma trn led thng qua mt
cng ph nh ( hoc cc b m dng cp ngun cho ct ), cn cc chn E1 , E 2
c ni t, E3 ni dng ngun .Thng qua vic gi tn hiu t vi iu khin ti
cc chn u vo ca 74HC138 ta c th chn c ct cn cp ngun .

46

Hnh 4 - Ghp ni 74HC138 vi vi diu khin d cp ngun cho ct ca ma trn

Khi m rng ma trn ta tng thm s lng IC cp ngun cho tt c cc


ct, cc IC ny c th cng ni chung hoc ring chn iu khin. Hoc ch s dng
mt IC nhng cp ngun ng thi cho tt c cc ma trn, khi mt chn ca IC
s c ni vi cc ct ca cc ma trn khc nhau .

47

4.2) iu khin cp ngun cho hng dng 74HC595


4.2.1) Chc nng ca 74HC595
74HC595 [5] l b ghi dch 8 bt gm c :
1 u vo cho php ( OE )
1 u vo chn thanh ghi dch ( MR )
1 u vo d liu ni tip (DS)
1 u vo cp xung cho thanh ghi dch (SH_CP)
1 u vo cp xung cho thanh ghi cha (ST_CP)
8 u ra 3 trng thi ( Q1 n Q7 v Q7)

Hnh 4 - S chn 74HC595

48

Bng 4 - Chc nng hot ng ca 74HC595


u vo
SH_CP ST_CP OE

MR

DS

u ra
Q7 Qn

Chc nng
MR mc thp d liu ch dch

X
X

L
L
H

L
L
L

X
X
X

L
L
L

trong thanh ghi dch u ra

khng i trng thi


Xa thanh ghi dich np d liu

vo thanh ghi cha


Xa thanh ghi dch u ra
trng thi tr khng cao
Dch chuyn trng thi cao vo
thanh ghi dch, gi tr trc

Q6

ca bt th 6 trong thanh ghi


dch c chuyn sang u ra
Q7
Ni dng ca thanh ghi dch

Qn

c chuyn sang thanh ghi


cha v chuyn sang u ra
Dch chuyn ni dung ca
thanh ghi dch ng thi ni

Q6

Qn

dung ca thanh ghi dch c


c chuyn vo thanh ghi
cha v cc u ra song song

4.2.2) S dng 74HC595 cp ngun cho cc hng ca ma trn


Khi dng 74HC595 cp ngun cho ma trn led ta ni cc u ra song song
ca 74HC595 vi cc chn cp ngun cho hng ca ma trn. ng thi phi s
49

dng 3 chn ca vi iu khin ni vi

cc chn DS,SH_CP,ST_CP ca

74HC595. Cc bit d liu m ha mc logic cn cp cho cc hng ca 1 ct ma trn


s c truyn lin tip DS ca 74HC595. ng b bit th vi iu khin mi khi
xut 1 bit ti chn DS s pht mt xung c sn dng vo chn SH_CP. Sau khi
truyn xong ht d liu, cc led trn ct sng th ta phi chuyn d liu trong
thanh ghi dch vo cc u ra ca 74HC595 bng cch cp 1 xung sn dng vo
chn ST_TP. Ch IC c th hot ng v y d liu ra cc chn u ra th
chn OE phi ni t, chn MR ni dng ngun.

Hnh 4 - Ghp ni 74HC595 vi vi iu khin cp ngun cho hng ca ma


trn
Khi m rng ma trn led ta ghp nhiu 74HC595 ni tip nhau: cc chn
SH_CP c ni chung vi 1 ngun cp xung, cc chn ST_CP cng c ni
chung vi nhau, u ra Q7 ca IC pha trc c ni vi u vo DS ca IC tip
theo. Khi d liu s c dch ng b t IC ny sang IC khc v u ra ca cc
IC cng c cht ng b.

50

Hnh 4 - Ghp ni tip cc IC 74HC595

51

4.3) Truyn d liu cp ngun cho hng s dng SPI


4.3.1) Atmega16 SPI
truyn d liu t vi iu khin vo b ghi dch ta c th dng mt on
chng trnh phn mm lp trnh cho vi iu khin truyn tng bit ca d liu. Tuy
nhin Atmega16 c phn cng h tr vic truyn d liu ni tip vi cc thit b
ngoi vi (SPI).
a) S khi v cc ch SPI [3] :

Hnh 4 - S khi ca SPI


Ta c th thit lp SPI 2 ch Master v Slave :
ch Slave, chn Slave Select ( SS ) phi t l u vo .Khi chn ny b
ko xung mc thp th SPI s hot ng, chn MISO c th t lm u ra, cc
chn khc l u vo. Khi chn SS c ko ln mc cao mc cao SPI ngng
nhn d liu t bn ngoi vo. Chn SS c tc dng ng b byte, gi gip cho b
52

m bit ca slave ng b vi b pht xung ca master. Khi SS b ko ln mc cao


th SPI slave s ti lp li mc logic truyn v nhn, ng thi xa d liu nhn
trong thanh ghi dch.
ch Master, ta c th t SS lm u ra hay vo ty :
Nu SS c t lm u ra th n khng lm nh hng ti SPI , n ch c tc
dng iu khin mc logic cho chn SS ca SPI slave.
Nu SS c t lm u vo th n phi c gi mc cao m bo cc
hot ng ca SPI master. Nu SPI b ko xung mc thp bi thit b ngoi vi th
n s hiu l mt Master khc nn s t li SPI ch Slave v bt u truyn
d liu. trnh xung t trong qu trnh ny SPI tin hnh cc th tc sau:
- Xa bit MSTR trong thanh ghi SPCR SPI ch Slave. Do cc chn
MOSI v SCK tr thnh u vo.
- Thit lp mc cao cho c SPIF trong thanh ghi SPCR. Nu ngt SPI v ngt
ton cc c cho php th qu trnh ngt s c thc hin.
b) Cc thanh ghi SPI:
* Thanh ghi diu khin - SPCR :
7

Bit

SPIE SPE
Read/Write
Khi to

DORD

R/W

R/W

R/W

MSTR
R/W
0

CPOL CPHA SPR1 SPR0


R/W
0

R/W

R/W

R/W
0

Bit 7 - SPIE : SPI Interupt Enable


Ngt SPI s c thc hin nu c SPIF trong SPSR c thit lp v ngt
ton cc c cho php.
Bit 6 - SPE : SPI Enable
Bit ny phi c t mc cao SPI c th hot ng
Bit 5 - DORD : Data Order
Khi DORD mc cao th bit LSB c truyn trc
Khi DORD mc thp th bit MSB c truyn trc
Bit 4 - MSTR : Master/Slave Select
53

Bit c tc dng chn ch cho SPI : Master nu mc cao, Slave nu mc


thp. Nu chn SS c t lm u vo th khi chn ny b ko xung mc thp th
MSTR s b xa v SPIF c thit lp mc cao. Do d ngi dng s phi t
MSTR tr li mc cao nu mun tip tc s dng ch Master.
Bit 3 CPOL :Clock Polarity:
Khi bit ny c ghi 1 th SCK mc cao khi ri, ngc li th SCK mc
thp khi ri.
Bng 4 - Chc nng ca bit CPOL
CPOL
0
1

Leading Edge
Rising
Failing

Trailing Edge
Failing
Rising

Bit 2 CPHA : Clock Phase


Xc nh vic ly mu d liu trn sn trc hay sau ca SCK :
Bng 4 - Chc nng ca bit CPHA
CPHA
0
1

Leading Edge
Sample
Setup

Trailing Edge
Setup
Sample

Bit1,0 SPR1,SPR0 :SPI Clock Rate Select 1 and 0


iu khin tc ca SCK ch Master . Quan h gia SCK
v tn s giao ng (fosc) c th hin nh sau:

Bng 4 - Quan h gia tn s SCK v tn s giao ng


SPI2X

SPR1

SPR0

Tn s SCK
54

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

fosc/4
fosc/16
fosc/64
fosc/128
fosc/2
fosc/8
fosc/32
fosc/64

* Thanh ghi trng thi SPSR :


7

Bit

Read/Write

SPIF

WCOL -

R/W

Khi to

SPI2X

Bit 7 SPIF: SPI Interrupt Flag


Sau khi kt thc vic d liu, c SPIF c thit lp. Ngt s xy ra nu ngt SPI
v ngt ton cc c cho php.
Bit 6 WCOL: Write COLision flag
c thit lp nu SPDR c ghi d liu khi ang truyn d liu. S c xa
sau khi thanh ghi trng thi c kim tra.
Bit 5..1 : Khng c dng trong Atmega16
Bit 0: SPI2X: Double SPI Speed Bit
S dng km vi SPR1, SPR0 xc nh tn s ca SCK

* Thanh ghi d liu SPDR :


Bit

MSB
Read/Write
Khi to

R/W
X

LSB
R/W
X

R/W

R/W

R/W

R/W

R/W
X

R/W
X

55

Cha d liu cn truyn v nhn .

4.3.2) Thit lp SPI truyn d liu cho 74HC595


kt ni SPI gia Atmega16 v 74HC595 ta cn ni chn SCK ca vi iu
khin vi chn SH_CP ca 74HC595, ni chn MOSI ca vi iu khin vi chn
DS ca 74HC595. Ngoi ra cn phi dng 1 chn ca vi iu khin ni vi chn
ST_CP ca 74HC595 cht d liu ti u ra ca 74HC595.

Hnh 4 - Ghp ni vi iu khin vi 74HC595 s dng SPI

Do vic giao tip gia vi iu khin v 74HC595 ch l qu trnh truyn d


liu t vi iu khin n 74HC595 nn ta c th thit lp cho SPI ch master
vi cch sp xp d liu theo trt t bit c trng s cao th m ha cho hng trn
v cc u ra ca 74HC595 cng c ni vi cc chn ca ma trn led theo trt t
trn th ta t bit DORD=0 .
Cc gi tr cn np cho thanh ghi :
SPCR=0x50
SPSR=0x00
56

Sau trong chng trnh mi khi mun gi 1 byte no ra ta c th dng


lnh trong CodeVisionAVR :
spi(byte) ;
Lnh ny cho php gi 1 byte t vi iu khin qua chn MOSI ti thit b
ngoi vi.Sau nu mun cht d liu ta cn phi s dng 1 th tc gi 1 sn
dng ti chn ST_CP ca 74HC595 thng :
void latchdata( ) {
PORTB.3=0;
PORTB.3=1;
}

4.3) Kt lun
Khi cp ngun cho ma trn ty theo kch thc ca ma trn m ta c th s
dng nhiu phng php khc nhau. Vi cc ma trn nh ta c th s dng cc
chn ca vi iu khin trc tip iu khin vic cp ngun cho ma trn. Vi ma
trn ln th cn phi dng cc IC h tr cho vic iu khin cp ngun cho ma trn.
Khi cp ngun cho ma trn theo tng ct th ta c th s dng cc IC c tc dng
chn knh cp ngun cho ma trn, ti mi thi im mi IC ny ch cp ngun
cho 1 ct ca ma trn . i vi cc hng trong ct th ta c th dng cc b ghi dch
cp ngun. Khi cp ngun th ta cn ch vic cp pht d liu ca cc hng
phi tng ng vi ct c cp ngun.

Chng5: To tn s qut cho ma trn


m bo cho hnh nh hin th r nt th ta cn phi iu chnh tn s hin
th cho ph hp . Tn s hin th cng cao th hnh nh cng r nt . Dng b nh
thi ca vi iu khin gip ta c th iu khin tn s hin th ca ma trn led. Mi
57

khi ngt nh thi c thc hin th ta s cho mt ct ca ma trn sng . Qua ta


c th tnh c tn s hin th ca ma trn bng 1/8 tn s ngt. Chng s gii
thiu v mt s ch ca Timer1 v cc thanh ghi dng thit lp ch , sau
s trnh by v cch thit lp thanh ghi dng cho vic iu khin tn s qut led ma
trn.

5.1) Timer1 Atmega16


5.1.1) Mt s ch hot ng
Trc tin ta cn ch cc nh ngha sau:

BOTTOM : Counter ti BOTTOM khi n c dng 0x0000.


MAX : Counter ti MAX khi n c dng 0xFFFF.
TOP : khi Counter ti TOP khi gi tr ca n bng gi tr cao nht
trong hng m. Gi tr TOP c th c gn l 1 trong cc gi tr c
nh khc sau : 0x00FF, 0x01FF, 0x03FF hoc l gi tr lu trong
OCR1A hoc thanh ghi ICR1. Vic gn gi tr TOP ph thuc vo ch
hot ng.

a) Ch thng thng :
Ch hot ng n gin nht ca Timer l ch thng (WGM13:0 =
0). Trong ch ny b m lun m ln v khng c xa. B m trn khi
m qua gi tr max (MAX= 0xFFF) v tr li BOTTOM (0x0000). Trong ch
ny Timer/Counter Overflow Flag (TOV1) s c thit lp ngay khi TCNT1 tr v
0. Trong trng hp ny c TOV1 hot dng nh bit th 17 ca b m nn n
khng t xa. Tuy nhin khi kt hp vi ngt trn Timer c ny c th t ng xa,
phn gii ca Timer c th tng ln bi phn mm.
Khi bt tn hiu u vo kh d s dng ch thng nhng cn phi
ch ti khong thi gian ln nht gia cc s kin ngoi, khong thi gian ny
phi khng vt qu phn gii ca b m. Nu khong thi gian gia cc s
kin qu di ta c th dng ngt trn hay tng rng xung m c th m rng
phn gii cho khi ny .
58

b) Ch CTC ( clear timer on compare) :


Trong ch CTC (WGM13:0 = 4 hoc 12), thanh ghi ICR1 hoc OCR1A
c s dng to phn gii cho b m. Trong ch CTC b m b xa v 0
khi gi tr b m (TCTN1) trng vi gi tr ca thanh ghi OCR1A (WGM13:0 = 4)
hoc ICR1 (WGM13:0 = 12). Thanh ghi OCR1A hoc ICR1 nh ngha gi tr nh
cho b m.

Hnh 5 - Gin thi gian ch CTC


Mt ngt c th pht ra khi gi tr b m t ti gi tr TOP bi cng s
dng c OCF1A hoc ICF1. Nu ngt c cho php, th tc iu khin ngt c th
c s dng cp nhp li gi tr TOP. Thay i TOP bng gi tr gn vi
BOTTOM khi b m ang chy vi rng xung ln phi thc hin cn thn .
Nu gi tr mi ghi cho OCR1A hoc ICR1 thp hn so vi gi tr ca TCNT, b
m s khng bt c thi im t gi tr TOP. Do n s m ti gi tr MAX
(0xFFF) ri quay v 0x0000 trc khi c th c th gp cgi tr TOP. c th
to sng u ra trong ch CTC, u ra OC1A c th lt mc logic ca n mi khi
bt gp gi tr top bng cch thit lp cc bit chn ch so snh u ra COM1A1:0
= 01. Gi tr ca chn OC1A s khng c cp nht nu ta khng thit lp n l
u ra (DDR_OC1A=1). Sng pht ra t chn OCA1 s c tn s cc i ca fOC1 A
= f clk _ I /O khi OCR1A c lp v 0x0000. Tn s ca sng c tnh nh sau:

59

Cng thc 5 - Quan h gia tn s u ra vi tn s timer ch d CTC

f OCnA

f clk _ I / O
2.N .(1 OCRnA)

N th hin chia tn ,c th l cc gi tr sau : 1, 8, 64, 256, 1024


c) Ch fast PWM :
Fast Pulse Width Modulation hoc ch fast PWM ( WGM13:0 =
5,6,7,14,15) c chc nng to ra nhiu dng sng tn s cao. Fast PWM khc vi
chc nng PWM bi n ch hot ng sn n. B m m t BOTTOM ti
TOP sau lp tc quay v BOTTOM. Trong ch so snh khng o u ra th
u ra OC1x c thit lp khi TCNT1 v OCR1x bng nhau, v xa khi t gi tr
TOP. Trong ch so snh o u ra th chn OC1x c xa khi ICNT1 v
OCR1x bng nhau, v c thit lp khi t gi tr TOP. Do ch dng sn n nn
tn s hot ng ca fast PWM cao gp 2 ln so vi cc ch Phase correct v
Phase and Frequency corect PWM ( cc ch ny khi hot ng dng 2 sn).
Tn s cao lm ch fast PWM ph hp vi iu chnh cng sut, chnh lu v
ng dng DAC. phn gii cho fast PWM c th c nh 8, 9 hoc 10 bit, hoc
nh ngha bi ICR1 hoc OCR1A. phn gii nh nht cho php l 2 bit (ICR1,
OCR1A lp ln 0x0003), ln nht l 16 bit (ICR1 hoc OCR1A khi c gn gi tr
MAX). phn gii PWM trong cc bit c th tnh theo hm :
Cng thc 5 - phn gii PWM

RFPWM

log(TOP 1)
log(2)

60

Hnh 5 - Gin thi gian ch Fast PWM


C trn Timer/Counter (TOV1) c lp mi khi Counter ti gi tr TOP.
Ngoi ra chn OC1A hoc ICF1 c thit lp trong cng mt chu k xung vi thi
im TOV1 c thit lp. Nu ngt c cho php, th tc iu khin ngt c th
c s dng cp nhp li TOP v cc gi tr so snh. Khi thay i cc gi tr
TOP ta phi chc chn gi tr TOP mi ln hn hoc bng gi tr ca tt c cc
thanh ghi so snh nu khng s khng c s gp nhau gia TCNT1 v OCR1x .
Th tc cp nhp li ICR1 khc vi 0CR1A khi s dng nh ngha gi
tr TOP. Thanh ghi ICR1 khng c 2 b m. Nu ICR1 thay i ti 1 gi tr thp
hn TCNT1 khi b m ang chy th n s m t gi tr MAX (0xFFFF) v quay
li gi tr 0x0000 . OCR1A c b m kp nn c th ghi ln n bt k lc no. Khi
OCR1A I/O c ghi, gi tr ghi s c a vo trong thanh ghi m OCR1A.
Thanh ghi so snh OCR1A s cp nhp li gha tr trong thanh ghi m ti chu k
sau khi TCNT1 t gi tr TOP.
Trong ch fast PWM, khi so snh cho php to ra 1 dng sng ti chn
OC1x. Thit lp cc bit COM1x1:0 ti 2 c th to ra mt dng PWM khng o v
mt PWM o bng cch thit lp COM1x1:0 ln 3. Gi tr ti chn OC1x ch quan
st c nu chn ny c thit lp l u ra (DDR_OC1x). Dng sng PWM
c sinh ra khi thit lp (xa) chn OC1x ti thi im OCR1x = TCNT1 v xa
(thit lp) OC1x ti thi im b m b xa ( t TOP v BOTTOM).
61

Tn s PWM ti u ra c th c tnh theo hm:


Cng thc 5 - Quan h gia tn s u ra vi tn s timer ch Fast PWM

fOCnxPWM

log(TOP 1)
log(2)

N th hin chia tn ,c th l cc gi tr sau : 1, 8, 64, 256, 1024


d) Ch Phase Correct PWM
Ch ny hot ng da trn hai sn ln xung.B m s m lin tc t
gi tr BOTTOM n gi tr MAX v sau t gi tr MAX n gi tr
BOTTOM.Trong ch so snh khng o chn so snh (OCx) s b xa khi gi tr
TCNTx bng gi tr OCRx trong qu trnh m ln v s c thit lp bng 1 khi
gi tr so snh xut hin trong qu trnh m xung.Ch so snh o th cc gi
tr l ngc li.Vi hot ng hai sn xung ny th ch ny khng to ra c
tn s nh nh ch mt sn xung. Nhng do tnh cn i ca hai sn xung th
n tt hn cho iu khin ng c .
Ch phase correct PWM hot ng c nh l 8 bt.Trong ch ny b
m s tng cho n khi t gi tr MAX, khi n s i chiu m. Biu thi
gian sau y m t hot ng ca hot ng qu trnh:

Hnh 5 - Gin thi gian ch Phase Corect PWM


62

T biu thi gian ta nhn thy vic thay i tn s trong hot ng ca


phase correct PWM c th thay th bng hai gi tr l MAX v BOTTOM. N linh
hot hn so vi ch Fast PWM.

5.1.2) Cc thanh ghi


1.TCCR1A:
7

Bit

FOC1A

FOC1B

WGM11

WGM10

COM1A1

COM1A0

COM1B1

COM1B0

R/W

R/W

R/W

R/W

R/W

R/W

Read/Write
Khi to

Bit7,6 COM1A1,2 : chn ch u ra cho knh A


Bit5,4 COM1B1,2 : chn ch u ra cho knh B
Nu c 2 bit u c ghi 0 th cc chn OC1A v OC1B coi nh khng
c kt ni vi b dnh thi v hot ng nh cc chn bnh thng khc ca vi
iu khin. Khi c t nht 1 trong 2 bit c ghi mc cao th cc chn ny s c
iu khin bi b nh thi ty theo ch hot ng c chn:
Bng 5 - Thit lp ch u ra cho timer
COM1A1/

COM1A0/

COM1B1

COM1B0

M t
Port hot ng thng thng.Khng kt ni
OC1A/OC1B.

Lt trng thi OC1A/OC1B

Xa OC1A/OC1B

Thit lp OC1A/OC1B

Bit3,2 : cng ch so snh cc ch khng iu ch xung.

63

Bit1,0 : c s dng kt hp vi cc bt WGM12 v WGM13 xc nh ch


ca b nh thi :
Bng 5 - Cc ch iu ch xung
Ch

WGM13 WGM12

WGM11

WGM10

Ch hot ng ca timer

TOP

Cp nht

Thit lp

OCR1X

c TOV1

Thng

0xFFFF

Lp tc

MAX

PWM, Phase Correct, 8-bit

0x00FF

TOP

BOTTOM

PWM, Phase Correct, 9-bit

0x01FF

TOP

BOTTOM

PWM, Phase Correct, 10-bit

0x03FF

TOP

BOTTOM

CTC

OCR1A

Lp tc

MAX

Fast PWM, 8-bit

0x00FF

TOP

TOP

Fast PWM, 9-bit

0x01FF

TOP

TOP

Fast PWM, 10-bit

0x03FF

TOP

TOP

PWM, Phase and Frequency Correct

PWM, Phase and Frequency Correct

10

PWM, Phase Correct

ICR1

TOP

BOTTOM

11

PWM, Phase Correct

OCR1A

TOP

BOTTOM

12

CTC

ICR1

Lp tc

MAX

13

Reserved

14

Fast PWM

ICR1

TOP

TOP

15

Fast PWM

OCR1A

TOP

TOP

ICR1

BOTTOM BOTTOM

OCR1A BOTTOM BOTTOM

2.TCCR1B:
Bit

Read/Write
Khi to

ICNC11

ICES1

WGM13

WGM12

CS12

CS11

R/W

R/W

R/W
0

0
CS10

R/W

R/W

R/W

R/W

64

Bit 7 ICNC1: Khi bit ny c ghi1 th cc tn hiu vo t chn ICP1 s c lc


nhiu. B lc nhiu cn 4 ln ly mu lin tip c gi tr bng nhau chn ICP1. Do
tn hiu vo b tr 4 chu k giao ng so vi khi khng lc nhiu.
Bit 6 ICES1 : Bit ny la chn sn kch hot s kin ti chn ICP1. Khi bit ny
c ghi 0 th sn m c s dng kch hot Khi bit ny c ghi 1 th sn
dng c s dng.
Bit 5 : khng dng trong Atmega16
Bit 4,3 WGM13,2 : Cng vi WGM11,0 xc nh ch ca b nh thi
Bit 2,1,0 CS12,1,0 : Dng la chn tn s cho Timer
Bng 5 - La chn tn s cho b m
CS12
0
0
0
0
1
1
1
1

CS11
0
0
1
1
0
0
1
1

CS10
0
1
0
1
0
1
0
1

M t
Timer khng hot ng
clk I/O /1 ( khng chia tn )
clk I/O /8 ( t b chia tn )
clk I/O /64 ( t b chia tn )
clk I/O /256 ( t b chia tn )
clk I/O /1024( t b chia tn )
Ngun ngoi t chn T1 , sn ln
Ngun ngoi t chn T1 , sn xung

3.TCNT1H/L:
7

Bit

R/W

R/W

TCNT1[15:8]
TCNT1[7:0]
Read/Write
Khi to

R/W

R/W

R/W

R/W

R/W

R/W
0

Lu gi tr ca b m. C kh nng truy nhp trc tip ghi v c thng


qua vic s dng thanh ghi tm thi. Vic thay i thanh ghi ny trong khi b m
65

ang hot ng c th b qua mt ln gp nhau gia TCNT1 v cc thanh ghi


OCR1x .
4.OCR1AH/L:
7

Bit

R/W

R/W

OCR1A[15:8]
OCR1A[7:0]
Read/Write

R/W

R/W

Khi to

R/W

R/W

R/W

R/W

5.OCR1BH/L:
7

Bit

R/W

R/W

R/W

OCR1B[15:8]
OCR1B[7:0]
Read/Write

R/W

R/W

R/W

R/W

R/W

Khi to

Cc thanh ghi OCR1x c lin tc so snh vi thanh ghi TCNT1 . Mi khi bng
nhau c th to ra 1 ngt so snh u ra hay thay i dng sng ti cc chn u
ra OC1x .

6.TIMSK:
Bit

Read/Write
Khi to

OCIE2

TOIE2

TICE1

R/W

R/W

R/W

R/W

OCIE1A

3
OCIE1B

TOIE1
R/W
0

OCIE0
R/W
0

0
TOIE0
R/W
0

Cc bit 7,6,1,0 dng cho cc timer khc ca Atmega16.


Bit 5 - TICIE1 : Khi bit ny c thit lp thnh 1 v ngt ton cc (global
interrupt) c cho php th ngt b m u vo Timer/couter1 (Timer/Counter1
Input Capture interrupt) c cho php. Vector ngt tng ng s c thc thi khi
c ICF1 trong thanh ghi TIFR c thit lp.
66

Bit4 - OCIE1A : Khi bit ny c thit lp thnh 1 v ngt ton cc (global


interrupt) c cho php th ngt so snh u ra 1A (Timer/Counter1 Output
Compare A Match Interrupt) c cho php. Vector ngt tng ng s c thc
hin khi c OCF1A trong thanh ghi TIFR c thit lp.
Bit3 - OCIE1B : Khi bit ny c set thnh 1 v ngt ton cc (global interrupt)
c cho php th ngt so snh u ra 1B (Timer/Counter1 Output Compare B
Match Interrupt) c cho php. Vector ngt tng ng s c thc thi khi c
OCF1B trong thanh ghi TIFR c thit lp .
Bit2 TOIE1 : Khi bit ny cset thnh 1 v ngt ton cc (global interrupt) c
cho php th ngt c trn b nh thi 1 (Timer/Counter1 overflow interrupt) c
cho php. Vector ngt tng ng s c thc thi khi c TOV1 trong thanh ghi
TIFR c thit lp .
7.TIFR:
Bit

7
OCF2

Read/Write
Khi to

6
TOV2

5
ICF1

OCF1A

OCF1B

TOV1

R/W

R/W

R/W

OCF0

R/W

R/W

TOF0

R/W

R/W

Cc bit 7,6,1,0 dng cho cc timer khc ca Atmega16.


Bit5 - ICF1 : C ny c thit lp khi xy ra s kin ti ng vo (Input Capture)
ca chn ICP1. Khi thanh ghi ICR1 (InputCapture Register) c thit lp bi cc
bit WGMn3:0 s dng nh mt gi tr nh thc ICF1 s c thit lp khi b
m t ti gi tr nh. C ICF1 s t ng xa khi ngt tng ng c thc thi,
hoc c th xa hay thit lp bng cch ghi mt gi tr logic vo v tr ca n.

67

Bit4 - OCF1A : C ny c thit lp ngay sau khi gi tr b m (TCNT1) bng


vi gi tr thanh ghi OCR1A (Output Compare Register A). Ch l mt so snh
cng bc (FOC1A) s khng thit lp c ny. C OCF1A s t ng xa khi ngt
tng ng c thc thi, hoc c th xa hay thit lp bng cch ghi mt gi tr
logic vo v tr ca n.
Bit 3 - OCF1B : C ny c thit lp ngay sau khi gi tr b m (TCNT1) bng
vi gi tr thanh ghi OCR1B (Output Compare Register B). Ch l mt so snh
cng bc (FOC1B) s khng thit lp c ny. C OCF1B s t ng xa khi ngt
tng ng c thc thi, hoc c th xa hay thit lp bng cch ghi mt gi tr
logic vo v tr ca n.
Bit 2 - TOV1 : Vic thit lp c ny ph thuc vo thit lp ca cc bit WGMn3:0,
trong ch bnh thng v CTC c TOV1 c thit lp khi b nh thi trn.

5.2) To tn s qut ma trn


m bo mt ngi c th cm nhn c hnh nh d dng khng b
rung th ta cn to tn s qut khong 60Hz .
Do ma trn led c 8 ct sng lun phin nn s ln cp ngun cho led l :
60 x 8= 480 ln/s .
Khi khong cch gia 2 ln cp ngun lin tip khong :
1000:480= 2,083 ms
Tn s ca thch anh l 11.0592MHz do s chu k dao ng trong
khong thi gian trn l :
11.0592 x 2083= 23040ln
y cng l s chu k m timer phi m cp ngun cho led cc ct ca ma trn.
n gin trong vic iu khin cp ngun cho led ma trn ta dng ngt
Timer1 ch CTC ngt khi b m t gi tr TOP=OCR1A . Do khng cn ly
sng u ra nn ta c th gn 0x10 cho thanh ghi TIMSK , gn 0x00 cho thanh ghi
TCCR1A , gn 0x0M cho TCCR1B vi M l mt trong cc gi tr sau :9,A,B,C,D.
68

Do khi dng ngt ch CTC th ta cn np gi tr 23115 cho thanh ghi


OCR1A nu khng chia tn s dao ng ( cc bit CS12:0 ca TCCR1B dc gn
001). Vi cc chia tn khc ca Timer ta c th np cc gi tr sau:
Bng 5 - To tc qut 60 Hz cho ma trn
CS12

CS11

CS10

OCR1A

TCCR1B

23040

0x09

2880

0x0A

360

0x0B

90

0x0C

22

0x0D

thay i tc c qut cho ma trn ta c th thay i cc gi tr ca cc


thanh ghi OCR1A v TCCR1B ( cc bit CS12,11,10 ca TCCR1B) .

5.3) Kt lun
Tc qut ma trn nh hng hnh nh quan st c trn ma trn. Do
vic to tc qut hp l c vai tr quan trng trong vic iu khin hin th led
ma trn. Dng b nh thi l phng php n gin nht iu khin tc qut
mt cch chnh xc. Vic thit lp cc thng s cho b nh thi mt cch linh hot
s gip ta d dng hn trong vic iu khin tc qut cho ma trn.

69

Chng 6: Hiu ng hin th bng led


to cc hiu ng th ta phi qut ma trn led sao cho hnh nh hin th trn
ma trn t c nh mong mun. Do ta ch cn iu khin vic a d liu vo
cc chn ca ma trn mt cch hp l l c th to ra c hiu ng mong mun .
thc hin iu ny ta c th dng 2 mng d liu, 1 mng lu d liu ca
hnh nh ( cha c hiu ng ), 1 mng lu d liu ca hnh nh tc thi a ra
hin th. Mng th 2 c xy dng bng cch x l li d liu ca mng th nht.
Nguyn tc chung cho vic iu khin led ma trn to hiu ng l sau khi 1 hnh
nh c hin th th ta ly mu cho hnh nh tip theo ri cho hin th hnh nh (
d liu m ha cc hnh nh ny c lu mng th 2 ).

6.1) Bng led hin th


Trc khi xy dng cc hiu ng hin th ta cn xc nh xem bng led cn
iu khin c kch thc nh th no v phi xc nh c bng led c xy
dng nh th no. Khi hiu r cch xy dng bng led ta mi c th iu khin cp
ngun cho bng led. Trong n ny chng em xy dng mt bng led gm 6 ma
trn led 8x8 hai mu ( xanh, ) anot chung c b t thnh hai hng mi hng 3
ma trn :

Hnh 6 - Bng led hin th


70

Cc ma trn c xoay sao cho cc anot ca led c ni chung theo tng


ct. Mi ct c 8 led 2 mu, cc catot ca led xanh c ni vi u ra ca IC
74HC595 th nht thng qua b dm dng ULN2803, cn cc catot ca led c
ni vi IC 74HC595 th hai. Hai IC 74HC595 c mc ni tip nhau, u ra ni
tip Q7 ca IC th nht c ni vi u vo ca IC th 2. u ra Q7 ca IC th 2
s c ni vi gic cm m rng sang cc led ma trn tip theo. Vi cch b tr
nh trn, ca ma trn led mi ma trn led s c 8 chn u vo cp ngun ( cho
tng ct ), 2 chn u vo cp ngun cho cc IC, 3 chn u vo ni vi 74HC595 (
DS, SH_CP, ST_CP), v 5 chn u ra ni vi cc ma trn led khc gm 2 chn
ngun v 3 chn ni vi 74HC595.
Vi cch t chc ma trn nh trn phi cp ngun cho ma trn led theo tng
ct. D liu cp ngun cho cc hng khi gi ni tip thng qua SPI cn phi gi
theo th t: d liu cho ma trn led pha sau c gi ra trc v sau khi gi ht
d liu cho tt c cc ma trn th mi cht d liu ti u ra ca cc IC 74HC595.
Mi ma trn cn d liu ca 2 mu, IC cha d liu mu xanh pha trc nn ta s
phi truyn d liu cho mu trc ri mi n mu xanh.
Cc phn tip theo ca chng ny s tnh by v cch to cc hiu ng hin
th cho bng led gm 3 ma trn led c cu to nh trn. Tuy nhin ta c th s dng
cc thut ton ny khi m rng ma trn vi kch thc ln hn.

71

6.2) Dch tri, phi


Vi cch t chc d liu m ha k t theo tng ct th vic iu khin hin
th cho cc k t dch tri , phi trn led ma trn l kh n gin .
Gi s ta mun hnh nh dch sang tri th ta ch vic a d liu ca ct bn
phi ca hnh nh trc ra hin th cho ct hin ti ca hnh nh sau (ct 1 ca
hnh nh mi l ct 2 ca hnh nh c ) .
C th vi ma trn 8 hng 24 ct ta c th lm nh sau :
- Dng mt mng lu d liu ca ton b hnh nh khi khng dch
chuyn. Mng ny cn c kch thc 24 bytes ( lu d liu ca 24 ct ).
- Dng mt mng khc lu d liu ca cc hnh nh tc thi , hnh nh
ny c kch thc bng vi hnh nh trn (24 bytes).
- Ti thi im u tin th hnh nh tc thi s lu gi tr 0 cho tt c cc
ct ( ma trn tt ). Ti thi im th 2 ta gn gi tr ca ct 1 ca mng th nht v
ct 24 ca mng th 2 . Ti thi im tip theo ta gn gi tr ca ct 1,2 ca mng
th nht vo ct 23,24 ca mng th 2... C nh th khi ln lt hin th v ly mu
li hnh nh ta s thy hnh nh trn ma trn led dch t tri sang phi.

Hnh 6 - M phng hiu ng dch tri

72

Hnh 6 - Lu thut ton hiu ng dch tri

Khi m rng kch thc ca ma trn hay s lng cc k t lm vt qu


kch thc ca ma trn th ta vn c th s dng phng php trn nhng vi gi tr
gii hn khng phi l 23 m l s ct ca ma trn hay s ct cn hin th ht
ton b cc k t.
73

Ngoi ra ta cng c th xp 2 mng thnh mt, mng sau, mng 2 trc


ri c mi ln hin th ta l php gn dch tri cc d liu trong mng M[i]=M[i+1],
bt u vi i=0, gn M[2n-1]=0 vi n l s ct hin th. D liu a ra hin th l n
gi tr u ca mng.
Hiu ng dch phi cng tng t nh dch tri nhng phi thay php gn
trong vng lp j thnh M2[j]=M1[n-j]. Ta cng c th gom 2 mang lm mt, mng 1
trc mng 2 sau, c mi ln hin th ta gn M[i] = M[i-1] nhng bt u vi i
= 2n-1v gn M[0]=0 ; d liu a ra hin th l n gi tr sau ca mng.

74

6.3) Dch ln xung


Vi cch t chc d liu m ha k t theo tng ct th vic iu khin hin
th cho cc k t dch ln xung c th thc hin bng cch dch bit cc d liu m
ha hnh nh ca tng ct .
C th vi ma trn 8 hng 24 ct cho hnh nh dch ln ta c th lm nh
sau:
- Dng mt mng lu d liu ca ton b hnh nh khi khng dch
chuyn. Mng ny cn c kch thc 24 bytes ( lu d liu ca 24 ct ).
- Dng mt mng khc lu d liu ca cc hnh nh tc thi , hnh nh
ny c kch thc bng vi hnh nh trn (24 bytes).
- Ti thi im u tin th hnh nh tc thi s lu gi tr 0 cho tt c cc
ct ( ma trn tt ). Ti thi im th 2 ta cn gn bit m ha hng trn cng ca
mng 1 ( MSB ) vo hng di cng ca mng 2 ( LSB ). Do ta cn phi dch
phi cc bit trong tng byte d liu ca mng 1 i 7 bit ri gn vo mng 2. Ti thi
im tip theo ta dch phi 6 bit . C nh vy hnh nh s dch dn ln. Tuy nhin
nu chi dch nh vy th thnh nh ch dch n khi ra gia ma trn. hnh c th
tip tc dch ln th ta phi dch tri d liu i t 1 bit cho n 7 bit . Sau khi dch
tri ht th li gn 0 cho tt c cc bit ca ma trn .

Hnh 6 - M phng hiu ng dch ln


75

Hnh 6 - Lu thut ton hiu ng dch ln

76

Khi m rng ma trn chu trnh gn gi tr hin th s pha tp hn do kch


thc d liu cn gn cho mt ct ca ma trn tng ln. Khi ta c th chia d
liu em ra hin th thnh nhiu mng vi mi mng i din cho 1 dng ca ma
trn. Phn t u tin ca mi mng s cha d liu cho ct u tin ca mi dng.
C mi ln dch ta c th gn Mt[i] = ( Mt[i]<<j ) | ( Md[i]>>(8-j) ). Vi Mt l
dng trn, Md l dng di .
Hiu ng dch xung cng tng t nh dch ln nhng khc chiu ca
php dch bit v s ln dch bit ta c th thay chiu ca php dch v s bit dch i
t (8-i) thnh i .

77

6.4) Hin th tng k t


Vi cch t chc d liu m ha k t theo tng ct th vic iu khin cho
cc k t ln lt hin trn bng led c th thc hin bng cch ly mu ln lt
thm tng t mt .
C th vi ma trn 8 hng 24 ct cho hin th tng k t mt ta c th lm nh sau :
- Dng mt mng lu d liu ca ton b hnh nh khi khng dch
chuyn. Mng ny cn c kch thc 24 bytes ( lu d liu ca 24 ct ).
- Dng mt mng khc lu d liu ca cc hnh nh tc thi, hnh nh ny
c kch thc bng vi hnh nh trn (24 bytes).
- Ti thi im u tin th mng lu hnh nh tc thi c gn 0 tt tt
c cc led. Sau ti cc thi im tip theo ta ln lt gn tng 6 bytes ca mng
1 vo mng 2 a ra hin th ( do c 6 bytes th m ha 1 k t).

Hnh 6 - M phng hiu ng hin th tng ch

78

Hnh 6 - Lu thut ton hiu ng hin th tng k t

79

6.5) Kt lun
Vic s dng 2 mng d liu mt mng lu ton b khung hnh, mt mng
lu hnh nh tc thi s gip vic to cc hiu ng n gin hn. X l cc d liu
trn mng th nht ri lu vo mng th 2 a ra hin th s cn mt lng b
nh ln khi s lng k t v kch thc ca font ch tng. Do khi to cc hiu
ng v iu khin hin th cn phi ch n kch thc b nh. Nu cn c th
dng thm cc b nh ngoi hoc chn cc vi iu khin c b nh ln c th
to hiu ng cn thit. Cc bng in t thng dng thng ch hin th mt ni
dung c nh nn ta c th s dng b nh flash (c kch thc kh ln ) lu gi
tr ca mng th nht, thm ch c th lu ton b cc khung cn hin th. Khi ta
ch cn iu khin vic xut d liu theo a ch hin th.
i vi phng php cp ngun theo tng ct th vic to cc hiu ng dch
tri, dch phi kh n gin v vic m rng ma trn khng nh hng nhiu n
vic gn d liu nhng vi cc hiu ng dch ln xung kh phc tp khi m rng
ma trn. Tuy nhin nu ch s dng mt hiu ng cho ma trn th vi hiu ng dch
ln, xung ta c th chn phng php cp ngun theo tng hng. Khi cn phi
xy dng font ch theo tng hng v phi xp xp li cc ma trn led ( xoay 90
so vi khi cp ngun theo ct ).

80

Kt lun
Module iu khin hin th hon thnh , v t c nhng kt qu
sau:
- C kh nng iu khin hin th 2 chui k t trn hai hng ma trn,
c kh nng iu khin hin th ma trn c rng ln hn.
- C kh nng hin th cc dng k t vi ba mu xanh, v cam.
- C kh nng iu khin hin th cc k t vi mt s hiu ng c
bn. Thut ton iu khin hin th hiu ng c th s dng khi m rng ma trn v
c th lm c s to cc hiu ng phc tp hn.
- C kh nng thay i tn s qut ma trn .
Tuy nhin module vn cn mt s gii hn :
- C th hin th cc k t trn hai dng nhng li c lp vi nhau.
Do khi gp phi mt s yu cu v vic hin th 2 dng ch c tng quan
nht nh th cn phi thay i v vic iu khin xut d liu.
- Tuy c th thay i mu ca dng ch hin th nhng li cha iu
khin c mu sc ca tng k t. Vn ny c th d dng khc phc khi hin
th cc k t tnh, nhng khi cn iu khin cc k t ng th s kh khn trong
vic iu khin mu sc.
- Do qu trnh iu khin hin th cn c giai on ly mu li d liu
nn khi iu khin hin th ma trn c kch thc ln c th gy nh hng n vic
iu khin tn s qut .
Trong ti c th c mt s vn hp l hay cha ti u v cc thut ton
iu khin hin th v s dng b nh ca vi iu khin. Do em rt mong c s
gp ca cc thy c v cc bn n c th hon thin hn.

81

Ti liu tham kho


[1] Steven F. Barrett and Daniel J. Pack, Atmel AVR Microcontroller Primer:
Programming and Interfacing, Morgan & Claypool, 2008
[2] Joe Pardue, C Programming for Microcontrollers, Smiley Micros, 2005
[3] Atmega16 datasheet, www.alldatasheet.com, truy nhp cui cng ngy
26/5/2009
[4] 74HC595 datasheet, www.alldatasheet.com, truy nhp cui cng ngy 26/5/2009
[5] 74HC138 datasheet, www.alldatasheet.com, truy nhp cui cng ngy 26/5/2009
[6] http://www.atmel.com/products/AVR/, truy nhp cui cng ngy 26/5/2009
[7] http://www.dientuvietnam.net/forums/forumdisplay.php?f=55, truy nhp cui
cng ngy 26/5/2009
[8] http://www.dientuvietnam.net/forums/showthread.php?t=21785, truy nhp cui
cng ngy 26/5/2009
[9] http://www.dientuvietnam.net/forums/showthread.php?t=15613, truy nhp cui
cng ngy 26/5/2009

82

Ph lc A: S ghp ni h thng iu khin led ma trn

Hnh A - S ghp ni h thng

83

U5

74HC595

MR
OE

ULN2803
COM
1C
2C
3C
4C
5C
6C
7C
8C

10
18
17
16
15
14
13
12
11

10
18
17
16
15
14
13
12
11

10
18
17
16
15
14
13
12
11

470uF

10
13

1B
2B
3B
4B
5B
6B
7B
8B

COM
1C
2C
3C
4C
5C
6C
7C
8C

U2

ST_CP

1
2
3
4
5
6
7
8

1B
2B
3B
4B
5B
6B
7B
8B

COM
1C
2C
3C
4C
5C
6C
7C
8C

GND

12

15
1
2
3
4
5
6
7
9

1
2
3
4
5
6
7
8

1B
2B
3B
4B
5B
6B
7B
8B
ULN2803

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q7'

15
1
2
3
4
5
6
7
9

1
2
3
4
5
6
7
8

33pF

SH_CP
DS

MR
OE

ST_CP

74HC595
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q7'

15
1
2
3
4
5
6
7
9

220v

11
14

10
13

12

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q7'

U4

SH_CP
DS

MR
OE

ST_CP

SH_CP
DS

U1

11
14

10
13

12

11
14

KHI CP NGUN:

Khoi cap nguon cho IC

TR1
7805

VI
VO
3
33pF

TRAN-2P5S

Hnh A - Khi cp ngun

KHI CHT D LIU CC HNG

U3

ULN2803

U6

74HC595

SCK

MOSI

OC0

Khoi chon hang cho LED

Hnh A - Khi cht d liu cc hng

84

KHI GIAO TIP VI MY TNH:

C3
1nF

P1
ERROR

6
2

RI
DTR
CTS
TXD
RTS
RXD
DSR
DCD

9
4
8
3
7
2
6
1

C2-

C2+

VSVS+

8
7
13
14

R2IN
T2OUT
R1IN
T1OUT

R2OUT
T2IN
R1OUT
T1IN

C1-

C1+

COMPIM

9
10
12
11

RXD
TXD

C6
1nF

Giao tiep may tinh

Hnh A - Khi giao tip my tnh

C7

85

B1

A1
A2
A3
A4
A5
A6
A7
A8

Hnh A - Khi khuch i dng cho ct

A8

A7

C5
A6

C6

C[0..7]

C4
A5

C3
A4

C2
A3

A2

A1

C0

C1

KHI KHUCH I DNG CHO CT:

KHI IU KHIN TRUNG TM V QUT CT:

U8

E1
E2
E3

74HC138

6
4
5

1
2
3

A
B
C

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

15
14
13
12
11
10
9
7

C0
C1
C2
C3
C4
C5
C6
C7

C[0..7]

C2

U7
9

33pF

13
12

C1

40
39
38
37
36
35
34
33

33pF

OC0

KHoi dieu khien trung tam va chon cot

MOSI
SCK

1
2
3
4
5
6
7
8

RESET
XTAL1
XTAL2
PA0/ADC0
PA1/ADC1
PA2/ADC2
PA3/ADC3
PA4/ADC4
PA5/ADC5
PA6/ADC6
PA7/ADC7
PB0/XCK/T0
PB1/T1
PB2/INT2/AIN0
PB3/OC0/AIN1
PB4/SS
PB5/MOSI
PB6/MISO
PB7/SCK

PC0/SCL
PC1/SDA
PC2/TCK
PC3/TMS
PC4/TDO
PC5/TDI
PC6/TOSC1
PC7/TOSC2
PD0/RXD
PD1/TXD
PD2/INT0
PD3/INT1
PD4/OC1B
PD5/OC1A
PD6/ICP
PD7/OC2

AVCC
AREF

22
23
24
25
26
27
28
29
14
15
16
17
18
19
20
21

RXD
TXD

30
32

ATMEGA16

Hnh A - Khi x l trung tm v qut ct

86

Ph lc B: M chng trnh np cho vi iu khin


#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#include <spi.h>
#define SCL PORTB.3
unsigned char flash FONT []={0,
62,65,65,65,62,0,
17,33,127,1,1,0,
35,69,73,73,49,0,
34,65,73,73,54,0,
12,20,36,79,4,0,
114,73,73,73,70,0,
62,73,73,73,38,0,
65,66,68,72,112,0,
54,73,73,73,54,0,
50,73,73,73,62,0,
63,68,68,68,63,0,
127,73,73,73,54,0,
62,65,65,65,34,0,
127,65,65,65,62,0,
127,73,73,73,65,0,
127,72,72,72,64,0,
62,65,73,73,46,0,
127,8,8,8,127,0,
65,65,127,65,65,0,
70,65,65,126,64,0,
127,8,20,34,65,0,
127,1,1,1,1,0,
127,32,24,32,127,0,
127,32,16,8,127,0,
62,65,65,65,62,0,
127,68,68,68,56,0,
62,65,69,66,61,0,
127,68,68,74,49,0,
50,73,73,73,38,0,
64,64,127,64,64,0,
126,1,1,1,126,0,
124,2,1,2,124,0,
127,2,12,2,127,0,
65,34,28,34,65,0,

//0
//1
//2
//3
//4
//5
//6
//7
//8
//9
//A
//B
//C
//D
//E
//F
//G
//H
//I
//J
//K
//L
//M
//N
//O
//P
//Q
//R
//S
//T
//U
//V
//W
//X

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
31
33
34
87

96,16,15,16,96,0,
67,69,73,81,97,0,
4,42,42,42,28,0,
126,18,18,18,12,0,
28,34,34,34,20,0,
12,18,18,20,126,0,
28,42,42,16,0,0,
4,62,72,64,32,0,
24,37,37,37,30,0,
126,16,16,16,14,0,
0,92,2,2,4,0,
4,2,2,92,0,0,
126,8,20,34,0,0,
124,2,2,2,0,0,
30,32,30,32,30,0,
62,8,16,62,0,0,
28,34,34,34,28,0,
31,36,36,36,24,0,
24,36,36,36,31,0,
0,30,32,32,24,0,
18,42,42,42,36,0,
0,32,124,34,4,0,
60,2,2,2,60,0,
56,4,2,4,56,0,
56,2,12,2,56,0,
34,20,8,20,34,0,
48,8,14,8,48,0,
34,38,42,50,34,0,
0,0,0,0,0,0,
255};

//Y
//Z
//a
//b
//c
//d
//e
//f
//g
//h
//i
//j
//k
//l
//m
//n
//o
//p
//q
//r
//s
//t
//u
//v
//w
//x
//y
//z
//

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

unsigned char dong1[192],dong2[192];


unsigned char tocdo_quet=50,tocdo_chay=3,c,col=2,eff=1,sc=0,sp=0;
unsigned char tg,m=0,t=0,k=0,i,j,sokt=4,sokt1=4,sokt2=4;
unsigned char chuoi1[16]={8,8,8,8,8,8,8,8};
unsigned char chuoi2[16]={6,6,6,6,6,6,6,6};
void LatchData(){
SCL=0;
SCL=1;
}

88

void lm1() {
for (i=0;i<=sokt1-1;i++){
for (j=0;j<=5;j++) {
dong1[i*6+j]=~FONT[chuoi1[i]*6+j+1];
}
}
for (i=0;i<=sokt2-1;i++){
for (j=0;j<=5;j++) {
dong2[i*6+j]=~FONT[chuoi2[i]*6+j+1];
}
}
}
void lm2(){
for (i=0;i<=sokt1*6-1;i++){
dong1[i+sokt1*6]=dong1[i];
//dong1[i]=0;
dong1[i]=255;
}
for (i=0;i<=sokt2*6-1;i++){
dong2[i+sokt2*6]=dong2[i];
//dong2[i]=0;
dong2[i]=255;
}
}
void xulychuoi(){
for (i=0;i<sokt1;i++) {
if ((chuoi1[i]>47)&&(chuoi1[i]<58)) chuoi1[i]=chuoi1[i]-48;
else if ((chuoi1[i]>64)&&(chuoi1[i]<91)) chuoi1[i]=chuoi1[i]-55;
else if ((chuoi1[i]>96)&&(chuoi1[i]<123)) chuoi1[i]=chuoi1[i]-60;
else chuoi1[i]=62;
}
for (i=0;i<sokt2;i++) {
if ((chuoi2[i]>47)&&(chuoi2[i]<58)) chuoi2[i]=chuoi2[i]-48;
else if ((chuoi2[i]>64)&&(chuoi2[i]<91)) chuoi2[i]=chuoi2[i]-55;
else if ((chuoi2[i]>96)&&(chuoi2[i]<123)) chuoi2[i]=chuoi2[i]-60;
else chuoi2[i]=62;
}
}
void shiftleft(){
for (i=0;i<sokt1*12-1;i++){
dong1[i]=dong1[i+1];
}
89

//dong1[sokt1*12-1]=0;
dong1[sokt1*12-1]=255;
for (i=0;i<sokt2*12-1;i++){
dong2[i]=dong2[i+1];
}
//dong2[sokt2*12-1]=0;
dong2[sokt2*12-1]=255;
}
void shiftright(){
tg= dong1[sokt*12-1];
for (i=sokt1*12-1;i>0;i--){
dong1[i]=dong1[i-1];}
dong1[0]=tg;
tg= dong2[sokt*12-1];
for (i=sokt2*12-1;i>0;i--){
dong2[i]=dong2[i-1];}
dong2[0]=tg;
}
void UP(int k){
sokt=((sokt1>sokt2)?sokt1:sokt2);
if (k<8)
for (i=0;i<=sokt*6-1;i++){
dong1[i]=0xFF;
dong2[i]=(dong1[i+sokt*6]>>(8-k))|(0xFF<<k);
}
else if ((k>7)&&(k<16)) {
m=k-8 ;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong1[i+sokt*6]>>(8-m))|(0xFF<<m);
dong2[i]=(dong1[i+sokt*6]<<m)|(dong2[i+sokt*6]>>(8-m));
}
}
else if ((k>15)&&(k<24)) {
m=k-16 ;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong1[i+sokt*6]<<m)|(dong2[i+sokt*6]>>(8-m));
dong2[i]=(dong2[i+sokt*6]<<m)|(0xFF>>(8-m));
}
}
else
{
m=k-24 ;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong2[i+sokt*6]<<m)|(0xFF>>(8-m));
dong2[i]=0xFF;
90

/*
if ( k>=8) {
for (i=0;i<=sokt*6-1;i++){
m=k-8;
dong1[i]=(dong1[i+sokt*6]<<m)|(0xFF>>(8-m));
dong2[i]=(dong2[i+sokt*6]<<m)|(0xFF>>(8-m));
} }
if (k<8) {
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong1[i+sokt*6]>>(8-k))|(0x7F<<k);
dong2[i]=(dong2[i+sokt*6]>>(8-k))|(0x7F<<k);
} }
*/
}
void down(int k){
sokt=((sokt1>sokt2)?sokt1:sokt2);
if (k>23) {
m=k-24;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=0xFF;
dong2[i]=(dong1[i+sokt*6]>>m)|(0x7F<<m);
} }
if ((k>15)&&(k<=23)) {
m=k-16;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong1[i+sokt*6]>>m)|(0xFF<<(8-m));
dong2[i]=(dong1[i+sokt*6]<<(8-m))|(dong2[i+sokt*6]>>m);
} }
if ((k>7)&&(k<16)) {
m=k-8;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong1[i+sokt*6]<<(8-m))|(dong2[i+sokt*6]>>m);
dong2[i]=(dong2[i+sokt*6]<<m)|(0xFF<<(8-m));
} }
if (k<8){
m=8-k ;
for (i=0;i<=sokt*6-1;i++){
dong1[i]=(dong2[i+sokt*6]<<m)|(0xFF>>(8-m));
dong2[i]=0xFF;
} }
/*
91

if ( k>8) {
for (i=0;i<sokt*6;i++){
m=k-8;
dong2[i]=(dong2[i+sokt*6]>>m)|(0x7F<<(8-m));
dong1[i]=(dong1[i+sokt*6]>>m)|(0x7F<<(8-m));
} }
if (k<=8) {
for (i=0;i<sokt*6;i++){
dong2[i]=(dong2[i+sokt*6]<<(8-k))|(0xFF>>k);
dong1[i]=(dong1[i+sokt*6]<<(8-k))|(0xFF>>k);
} }
*/
}
void tungchu () {
for (i=0;i<k*6;i++){
dong1[i]=dong1[sokt*6+i];
dong2[i]=dong2[sokt*6+i];
}
}
void hienthi() {
switch (col){
// 2do1do
case 0 :
spi(0x00);
spi(dong2[c+16]);
spi(0x00);
spi(dong2[c+8]);
spi(0x00);
spi(dong2[c]);
spi(0x00);
spi(dong1[c+16]);
spi(0x00);
spi(dong1[c+8]);
spi(0x00);
spi(dong1[c]);
break;
// 2xanh1do
case 1 :
spi(dong2[c+16]);
spi(0x00);
spi(dong2[c+8]);
spi(0x00);
92

spi(dong2[c]);
spi(0x00);
spi(0x00);
spi(dong1[c+16]);
spi(0x00);
spi(dong1[c+8]);
spi(0x00);
spi(dong1[c]);
break;
// 2cam1do
case 2 :
spi(dong2[c+16]);
spi(dong2[c+16]);
spi(dong2[c+8]);
spi(dong2[c+8]);
spi(dong2[c]);
spi(dong2[c]);
spi(0x00);
spi(dong1[c+16]);
spi(0x00);
spi(dong1[c+8]);
spi(0x00);
spi(dong1[c]);
break;
// 2do1xanh
case 3 :
spi(0x00);
spi(dong2[c+16]);
spi(0x00);
spi(dong2[c+8]);
spi(0x00);
spi(dong2[c]);
spi(dong1[c+16]);
spi(0x00);
spi(dong1[c+8]);
spi(0x00);
spi(dong1[c]);
spi(0x00);
break;
// 2xanh1xanh
case 4 :
spi(dong2[c+16]);
spi(0x00);
spi(dong2[c+8]);
spi(0x00);
spi(dong2[c]);
93

spi(0x00);
spi(dong1[c+16]);
spi(0x00);
spi(dong1[c+8]);
spi(0x00);
spi(dong1[c]);
spi(0x00);
break;
// 2cam1xanh
case 5 :
spi(dong2[c+16]);
spi(dong2[c+16]);
spi(dong2[c+8]);
spi(dong2[c+8]);
spi(dong2[c]);
spi(dong2[c]);
spi(dong1[c+16]);
spi(0x00);
spi(dong1[c+8]);
spi(0x00);
spi(dong1[c]);
spi(0x00);
break;
// 2do1cam
case 6 :
spi(0x00);
spi(dong2[c+16]);
spi(0x00);
spi(dong2[c+8]);
spi(0x00);
spi(dong2[c]);
spi(dong1[c+16]);
spi(dong1[c+16]);
spi(dong1[c+8]);
spi(dong1[c+8]);
spi(dong1[c]);
spi(dong1[c]);
// 2xanh1cam
case 7 :
spi(dong2[c+16]);
spi(0x00);
spi(dong2[c+8]);
spi(0x00);
spi(dong2[c]);
spi(0x00);
spi(dong1[c+16]);
94

spi(dong1[c+16]);
spi(dong1[c+8]);
spi(dong1[c+8]);
spi(dong1[c]);
spi(dong1[c]);
break;
// 2cam1cam
case 8 :
spi(dong2[c+16]);
spi(dong2[c+16]);
spi(dong2[c+8]);
spi(dong2[c+8]);
spi(dong2[c]);
spi(dong2[c]);
spi(dong1[c+16]);
spi(dong1[c+16]);
spi(dong1[c+8]);
spi(dong1[c+8]);
spi(dong1[c]);
spi(dong1[c]);
break;
default: break;
}
}
void hieuung() {
switch (eff){
// hienbt
case 0 :
lm1();
break;
// dichtrai
case 1 :
if (t==48){
t=0;
sp++;
}
if (sp==tocdo_chay){
sp=0;
k++ ;
shiftleft();
}
if (k==sokt*12) {
lm1();
lm2();
k=0;
95

}
break;
// dichphai
case 2 :
if (t==48){
t=0;
sp++;
}
if (sp==tocdo_chay){
sp=0;
k++ ;
shiftright();
}
if (k==sokt*12) {
lm1();
lm2();
k=0;
}
break;
// dichlen
case 3 :
if (t==48){
t=0;
sp++;
}
if (sp==tocdo_chay){
sp=0;
k++ ;
UP(k);
}
if (k>=32) {
lm1();
lm2();
k=0;
/* if (t==sokt*8){
k++;
UP(k);
}
if (k==16) {
lm1();
lm2();
k=0;
}
*/
}
break;
96

// dichxuong
case 4 :
if (t==48){
t=0;
sp++;
}
if (sp==tocdo_chay){
sp=0;
k++ ;
down(k);
}
if (k>=32) {
lm1();
lm2();
k=0;
}
break;
// tungchu
case 5 :
if (t==200){
t=0;
sp++;
}
if (sp==tocdo_chay){
sp=0;
k++ ;
tungchu();
}
if (k>sokt) {
lm1();
lm2();
k=0;
}
break;
default: break;
}
}
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void) {
hienthi();
LatchData();
PORTC=c+8;
PORTA=c+8;
97

c++;
t++;
if (c==8) c=0;
hieuung();
}
void main(void){
lm1();
lm2();
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: clk/256 kHz
// Mode: CTC top=OCR1A
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x0C;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=tocdo_quet;
OCR1BH=0x00;
OCR1BL=0x00;
/*UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;*/
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
DDRB=0xFF;
DDRC=0xFF;
DDRA=0xFF;
98

SCL=1;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;
// Global enable interrupts
#asm("sei")
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: clk
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x50;
SPSR=0x00;
while (1){
unsigned char temp1,temp2,length;
int i;
temp1 = getchar();
if (temp1=='A')
{
TIMSK=0x00;
//Nhan chuoi ky tu hang 1
//tinh do dai chuoi
temp1 = getchar()-48;
temp2 = getchar()-48;
length = temp1*10 + temp2;
sokt1=length;
//Nhan chuoi ky tu
if (length >=1){
for( i=0;i<length;i++)
{
chuoi1[i] = getchar();
}
//Nhan chuoi ky tu hang 2
//tinh do dai chuoi
temp1 = getchar()-48;
temp2 = getchar()-48;
length = temp1*10 + temp2;
sokt2=length;
//Nhan chuoi ky tu
if (length >=1){
for( i=0;i<length;i++)
{
chuoi2[i] = getchar();
}
//Nhan mau
col = getchar() - 48;
99

//Nhan hieu ung


eff = getchar() - 48;
//Nhan Toc do quet
temp1 = getchar()-48;
temp2 = getchar()-48;
tocdo_quet = temp1*10 + temp2;
//Nhan toc do chay
temp1 = getchar()-48;
temp2 = getchar()-48;
tocdo_chay = temp1*10 + temp2;
xulychuoi();
lm1();
lm2();
t=0;
c=0;
TIMSK=0x10;
}
}
}
}
}

100

You might also like