You are on page 1of 12

PHN I: LINH KIN S DNG TRONG MCH

ILED ma trn:
Da trn nguyn tc nh qut mn hnh, ta c th thc hin vic hin th ma trn
n bng cch qut theo hng v qut theo ct. Mi Led trn ma trn LED c th coi nh
mt im nh. a ch ca mi im nh ny c xc nh ng thi bi mch gii m
hng v gii m ct, im nh ny s c xc nh trng thi nh d liu a ra t b vi
iu khin.
Nh vy ti mi thi im ch c trng thi ca mt im nh c xc nh. Tuy
nhin khi xc nh a ch v trng thi ca im nh tip theo th cc im nh cn li s
chuyn v trng thi tt (nu LED ang sng th s tt dn). V th hin th c ton
b hnh nh ca ma trn n, ta c th qut ma trn nhiu ln vi tc qut rt ln, ln
hn nhiu ln thi gian kp tt ca n. Mt ngi ch nhn bit c ti a 24 hnh/s do
nu tc qut rt ln th s khng nhn ra c s thay i nh ca n m s thy
c ton b hnh nh cn hin th.
1-

Cu to:

Ma trn LED c thit k nh sau:


- Cc Led trn cng mt hng c ni cc chn dng vi nhau.
- Cc Led trn cng mt ct c ni cc chn m vi nhau.
2Nguyn l hot ng:
Trng thi ca mt LED s c quyt nh bi tn hiu in p i vo ng thi c
2 chn. LED sng th in p 5V phi a vo chn dng v chn m phi c ni
t, LED s tt khi khng c in p a vo chn dng.
1

VD:
- sng mt im (giao im ca hng 2, ct 2) ta a in p vo cc hng v
ct nh sau: Hng 2 cp 5V, hng 1,3,4 ni t; ct 2 ni t, ct 1,3,4 cp 5V
- sng mt hng (hng 2): Hng 2 ni 5V, hng 1,3,4 v tt c cc ct ni t
- sng mt ch (ch U): Ta chia thnh nhiu pha, mi pha sng mt ct
+ Pha 1: Sng ct 1 Hng 1,2,3
+ Pha 2: Sng ct 2 Hng 4
+ Pha 3: Sng ct 3 Hng 4
+ Pha 4: Sng ct 4 Hng 1,2,3
Nguyn tc qut bng di:
thc hin qut bng di ta phi tun theo mt s nguyn tc sau:
- Ti mt thi im ch c mt ct bng 0 (0V), tt c cc ct cn li bng 1(5V)
i vi qut ct v ch c mt hng bng 0, tt c cc hng cn li bng 1 i vi qut
hng.
- D liu xut ra hng phi c lu trong mng, mi phn t ca mng tng ng
vi mt hng hoc mt ct.
- Mi lt qut xong tt c cc ct (hng) gi l qut xong mt mnh, tn s qut
phi ln hn 24 mnh/s, thng ta tn s qut ln hn hoc bng 30 mnh/s.
- Khi sng hng (ct) xong phi tt hng (ct) ri mi sng hng (ct) tip theo.

II1-

Vi iu khin PIC 16F877A:


S chn:

2Chc nng:
+ S dng cng ngh tch hp cao RISC CPU.
+ Ngi s dng c th lp trnh vi 35 cu lnh n gin.
+ Tt c cc cu lnh thc hin trong mt chu k lnh ngoi tr mt s cu lnh r
nhnh thc hin trong 2 chu k lnh.
+ Tc hot ng l: - Xung ng h vo l DC- 20MHz
- Chu k lnh thc hin trong 200ns
+ B nh chng trnh Flash 8Kx14 words
+ B nh Ram 368x8 bytes
+ B nh EEPROM 256x 8 bytes
Kh nng ca b vi x l ny
+ Kh nng ngt ( ln ti 14 ngun ngt trong v ngt ngoi )
+ Ngn nh Stack c phn chia lm 8 mc
+ Truy cp b nh bng a ch trc tip hoc gin tip.
+ Ngun khi ng li (POR)
+ B to xung thi gian (PWRT) v b to dao ng (OST)
+ B m xung thi gian (WDT) vi ngun dao ng trn chp (ngun dao ng
RC ) hot ng ng tin cy.
+ C m chng trnh bo v.
+ Phng thc ct gi SLEEP
+ C bng la chn dao ng.
+ Cng ngh CMOS FLASH /EEPROM ngun mc thp ,tc cao.
+ Thit k hon ton tnh .
+ Mch chng trnh ni tip c 2 chn.
3

+ X l c /ghi ti b nh chng trnh .


+ Di in th hot ng rng : 2.0V n 5.5V
+ Ngun s dng hin ti 25 mA
+ Dy nhit cng nghip v thun li .
+ Cng sut tiu th thp:
< 0.6mA vi 5V, 4MHz
20 A vi ngun 3V, 32 kHz
< 1 A ngun d phng.
+ Timer0: 8 bt ca b nh thi, b m vi h s t l trc
+ Timer1: 16 bt ca b nh thi, b m vi h s t l trc, c kh nng tng
trong khi ch Sleep qua xung ng h c cung cp bn ngoi.
+ Timer 2: 8 bt ca b nh thi, b m vi 8 bt ca h s t l trc, h s t l
sau
+ C 2 ch bt gi, so snh, iu ch rng xung(PWM).
+ Ch bt gi vi 16 bt, vi tc 12.5 ns, ch so snh vi 16 bt, tc gii
quyt cc i l 200 ns, ch iu ch rng xung vi 10 bt.
+ B chuyn i tn hiu s sang tng t vi 10 bt .
+ Cng truyn thng ni tip SSP vi SPI phng thc ch v I2C (ch/ph)
+ B truyn nhn thng tin ng b, d b (USART/SCL) c kh nng pht hin 9
bt a ch.
+ Cng ph song song (PSP) vi 8 bt m rng, vi RD, RW v CS iu khin.
+ Pic16F877 c 3 khi b nh. B nh chng trnh FLASH, b nh d liu RAM,
b nh EEPROM.
IIIIC m rng cng ni tip 74HC595 v mch b tr:
1IC 74HC595:
S chn:

Mc ch s dng IC 74HC595 l nng cao s lng pin output ca vi iu khin.


Thay v phi truy xut trc tip mt gi tr no ra cc cng I/O, ta c th truy xut gin
4

tip thng qua IC 74HC595. Tuy nhin vic trc tin l phi tm hiu xem IC 74HC595
hot ng nh th no v cch iu khin n ra sao. Hnh sau l s khi ca IC:

Thc cht y l IC ghi dch vi 8 bit ng ra Q A QH vi cht d liu 8 bit. D liu


ch c a vo qua 1 chn 14 (chn A) v c iu khin bi cc chn Latch Clock
(chn iu khin cht d liu), Shift Clock (chn iu khin vic dch d liu vo IC
thng qua cc xung clock), RESET (chn tc ng mc thp dng xa d liu) v
chn QH (chn a d liu ni tip ra ngoi, chn ny
dng ni nhiu IC 74HC595 li vi nhau) v chn Output Enable (chn cho
php ng ra). Ta c th iu khin mt IC 74HC595 hoc nhiu IC ghp vi nhau thng
qua 4 chn Latch Clock, Shift Clock, RESET v Serial Data Input. iu ny cho
php m rng mt cch v hn s lng chn output cho vi iu khin, tt nhin vi mt
nhc im l thi gian truy xut chm do d liu phi c dch tng bit vo IC thng
qua tng cnh dng tc ng vo chn Shift Clock trc khi a d liu ra ngoi
thng qua cc chn QA QH.
5

Cch ni nhiu IC 74HC595 li vi nhau:

Nguyn l hot ng:


Trc tin a 1 bit d liu vo chn SDI, to ra mt cnh dng chn SCK
dch bit d liu vo, qu trnh ny lp i lp li lin tc cho n khi ton b d liu
c dch vo cc IC 74HC595 (IC tip theo cng s dch d liu c a ra thng qua
chn SDO ca vi iu khin trc). Sau to mt cnh dng chn RCK a d
liu t cht d liu ra cc chn output.
2Mch m bo dng cho bng LED:
bng LED sng u cn thit k sao cho tt c cc LED trn mt ct cng sng
mt lc th ngun cung cp vn phi tha dng. Nu trong qu trnh qut cho mt im
(1 hng, 1 ct) sng qu lu th v tr s sng tri so vi cc v tr khc.
m bo cung cp dng cho bng LED ta thit k mch m bo dng cho
hng v cho ct nh sau:

a-

Mch m bo dng cho hng:

b-

Mch m bo dng cho ct:

PHN II: THIT K V CHNG TRNH


I-

S khi:

IIS nguyn l:
1- PIC 16F877A:

IIIM ngun:
1PIC 16F877A
#include<16f877a.h>
#use delay(oscillator=20m)
unsigned char cot[32]={
0xf0,0xc8,0xcc,0xcc,0xcc,0xcc,0xc8,0xf0,
0xfc,0xfc,0x30,0x30,0x30,0x30,0x30,0x30,
0xc6,0xc6,0xc6,0xc6,0xc6,0x44,0x28,0x10,
9

0xfc,0xfc,0x30,0x30,0x30,0x30,0x30,0x30,
};
unsigned char hang[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void convert(unsigned char data_out)
{
unsigned char i,tg;
for(i=0;i<=7;i++)
{
tg = data_out;
tg = tg&0x80;
if(tg ==0x80)
output_high(PIN_b0);
else
output_low(PIN_b0);
data_out <<=1;
output_high(PIN_b1);
delay_us(5);
output_low(PIN_b1);
}
}
void clear()
{
convert(0x00);
convert(0x00);
convert(0x00);
convert(0x00);
}
void dong()
{
unsigned int m,n,k;
m=0;
while(m<16)
{
for(k=0;k<30;k++)
for(n=m;n<=m+7;n++)
{ if((n<8)||(n>15))
{
convert(0x00);
convert(0x00);
convert(0x00);
convert(0x00);
}
else
10

{
convert(cot[n-8]);
convert(cot[n]);
convert(cot[n+8]);
convert(cot[n+16]);
}
output_d(~hang[n-m]);
output_high(pin_b2);
delay_us(10);
output_low(pin_b2);
delay_us(10);
clear();
}
m++;
}
}
void tinh()
{
unsigned int n,k;
for(k=0;k<30;k++)
for(n=0;n<=7;n++)
{
convert(cot[n]);
convert(cot[n+8]);
convert(cot[n+16]);
convert(cot[n+24]);
output_d(~hang[n]);
output_high(pin_b2);
delay_us(10);
output_low(pin_b2);
delay_us(10);
clear();
}
}
void main()
{ unsigned int i;
set_tris_b(0);
set_tris_d(0);
while(1)
{
for(i=0;i<=2;i++)
11

dong();
delay_ms(10);
tinh();
delay_ms(1000);
tinh();
delay_ms(1000);
}
}

12

You might also like