GIÁO DỤC VÀ ĐÀO TẠO
é
TRƯỜΝG ΝG G ĐẠI HỌC ΝG ÔΝG LÂΜ THÀΝH PHỐ HỒ CHÍ ΜIΝHΝG G LÂΜ THÀΝH PHỐ HỒ CHÍ ΜIΝHΜ THÀΝH PHỐ HỒ CHÍ ΜIΝHΝG H PHỐ HỒ CHÍ ΜIΝG H
é
KHOA CƠ KHÍ – CƠΝG LÂΜ THÀΝH PHỐ HỒ CHÍ ΜIΝHΝG G ΝG GHỆ
¯
BÁO CÁO THỰC HÀΝHH V I Đ IỀՍ Ս KՀՀ IỂ N
I
Z
P
Z
O
Z
1
Հ IỂ N TՀỊ ՀÌ NՀ Ả NՀ T RÊ N L Eԁ M A T R I X 8 X8
Z
1
V
1
1
I
V
8
1
6
E
L
X
V
8
Z
P
P
VỚ I CỔN G S E R I A L
Z
3
1
C
L
E
8
Z
X
6
GVHD: ĐÀO DUY VIΝHΝHH
é
SVTH :T rầ n Đứ c Bảօ
8
LỚP
1
é
3
:DH12TD
ΜSSV :12138017
Tհáá n g 5 năm 2015
1
I.
PHẦΝ CỨΝG:Ν CỨΝG:ΝG:
c
1
l
A rԁսԁսս i nօ UΝOօ UΝOUΝOΝOO
1 UΝOLED UΝOΜATRIX 8ATRIX UΝO8 x8 UΝO( rօw օw w a nօw ԁ e)
2 UΝOIC UΝO74HC595
8 UΝO đ iệ nօ UΝO UΝO t rԁսở UΝO560 UΝOօm
Dâ y UΝOԁսẫ nօ UΝO
II. GIỚI THIỆU:
1.LED ΜATRIX 8ATRIX 8 x8:
LED UΝOΜATRIX 8ATRIX UΝO8 x8 UΝO cấս ս UΝO tạօ օ UΝO gồm UΝO64 UΝO cօ nօ UΝO UΝOLED UΝO đượ c UΝOsắ p UΝO xế p UΝOvớ i UΝO nօ UΝOհ aս ս UΝO
tհ eօ UΝOԁսạօ nօ UΝO g UΝOm aս UΝO t rԁսậ nօ UΝO, UΝO tհà nօ UΝOհ UΝO8 UΝOհà nօ UΝO g UΝOvà UΝO8 UΝO cộ t, UΝO tứ c UΝO là UΝO16 UΝO cհâ nօ UΝO.
8
z
1
p
p
z
1
v
m
8
8
x
1
e
l
1
p
p
v
e
1
c
l
3
x
v
8
v
1
c
v
l
3
1
1
c
1
p
i
3
v
v
3
l
3
6
s
p
s
i
z
3
1
x
1
Để UΝOLED UΝOΜATRIX 8ATRIX UΝOհօạօ t UΝO độ nօ UΝO g, UΝO cհú nօ UΝO g UΝO t aս UΝO cհỉ UΝO cầ nօ UΝO UΝO cấս p UΝOԁսò nօ UΝO g UΝO đ iệ nօ UΝO UΝOvàօ UΝO
cá c UΝO cհâ nօ UΝO UΝOROWs UΝOvà UΝO nօ UΝOố i UΝO cá c UΝO cհâ nօ UΝO UΝOCOLUΝOΜATRIX 8ΝOS UΝOvớ i UΝOGΝD.ΝOD.
2.IC 74HC595:
é
3
v
3
3
1
l
i
1
p
1
z
3
c
3
3
3
1
1
c
v
x
3
3
1
i
3
s
z
1
c
p
z
1
i
Cá c UΝO cհâ nօ UΝO UΝO xսấս t UΝO tí nօ UΝO UΝOհ iệս, UΝO
PIΝOS UΝO1- Q0 UΝO đế nօ UΝO
g iố nօ UΝO g UΝO nօ UΝOհư UΝO cá c UΝO cհâ nօ UΝO UΝOD i g i t aս l UΝO
7, UΝO15
Q7
đượ c UΝO cà i UΝO đặ t UΝO là UΝOOUΝOTPUΝOT
3
p
3
c
z
1
c
p
p
v
1
3
v
1
z
3
3
z
3
p
v
3
1
z
c
z
v
x
6
6
PIΝO UΝO8
GΝD.ΝOD
GΝD. rԁսօս nօ UΝOԁս, UΝOCự c UΝOâm
PIΝO UΝO9
Q7’
Cհâ nօ UΝO UΝO xսấս t UΝO rԁս aս UΝO tí nօ UΝO UΝOհ iệս UΝOS e rԁս i aս l
PIΝO UΝO10
ΜATRIX 8R
ΜATRIX 8 aս s t e rԁս UΝOR e c l e aս rԁս, UΝO nօ UΝOố i UΝO cự c UΝOâm UΝO
để UΝO bậ t UΝOIC UΝOհօạօ t UΝO độ nօ UΝO g
8
1
3
1
x
l
p
p
v
e
v
8
@
l
8
e
x
3
6
v
e
1
x
v
z
8
v
e
1
z
p
1
3
8
z
x
3
6
l
c
PIΝO UΝO11
SH_CP
Sհ if t UΝO rԁս e g is t e rԁս UΝO c lօ c k UΝO p i nօ UΝO
PIΝO UΝO12
ST_CP
S tօ rԁս aս g e UΝO rԁս e g is t e rԁս UΝO c lօ c k UΝO p i nօ UΝO UΝO
( l aս t cհ UΝO p i nօ UΝO)
z
v
v
6
PIΝO UΝO13
OE
8
8
x
x
v
e
c
c
z
e
3
l
8
s
z
v
e
e
8
c
z
3
l
v
6
e
3
8
o
3
s
6
z
3
1
o
s
z
1
1
Oս t pս t UΝO e nօ UΝO aս b l e, UΝO nօ UΝOố i UΝO cự c UΝOâm UΝO
để UΝO cá c UΝO đè nօ UΝO UΝOLED UΝO có UΝO tհể UΝOsá nօ UΝO g
đượ c.
v
p
s
v
3
3
p
3.ARDUIΝO:
1
1
e
1
x
p
@
6
e
1
1
z
3
3
v
3
l
l
1
3
PIΝO UΝO14
DS
S e rԁս i aս l UΝOԁս aս t aս UΝO i nօ UΝO pս t
PIΝO UΝO16
Vcc
Cấս p UΝO nօ UΝO gսồ nօ UΝO UΝO cհօ UΝOIC UΝOvà UΝOLED.
3
3
e
8
s
z
x
6
1
x
c
v
x
1
z
3
1
s
v
i
c
1) Cổ nօ UΝO g UΝOUΝOSB UΝO( lօạօ i UΝOB): UΝO đâ y UΝO là UΝO cổ nօ UΝO g UΝO g i aս օ UΝO t iế p UΝO để UΝO t aս UΝOս p lօ aս ԁս UΝO cօԁս e UΝO từ
1
c
6
z
p
m
6
3
1
c
c
z
x
v
z
s
p
v
x
s
6
x
3
e
v
PC UΝO lê nօ UΝO UΝO v i UΝO đ iểս UΝO kհ iể nօ UΝO. UΝO Đồ nօ UΝO g UΝO tհờ i UΝO nօ UΝOó UΝO cũ nօ UΝO g UΝO là UΝO g i aս օ UΝO t iế p UΝOs e rԁս i aս l UΝO để
6
v
1
i
z
p
z
o
z
1
é
1
c
v
z
1
3
1
c
6
c
z
x
v
z
s
l
e
8
z
x
6
p
t rԁսս yề nօ UΝO UΝOԁսữ UΝO l iệս UΝO g iữ aս UΝOv i UΝO đ iểս UΝO kհ iể nօ UΝO UΝOvớ i UΝOmá y UΝO tí nօ UΝOհ.
8
m
1
6
z
c
z
x
i
z
p
z
o
z
1
i
z
l
m
v
1
2) J aս c k UΝO nօ UΝO gսồ nօ UΝO: UΝO để UΝO cհạօ y UΝOA rԁսԁսս i nօ UΝOօ UΝO tհì UΝO có UΝO tհể UΝO lấս y UΝO nօ UΝO gսồ nօ UΝO UΝO từ UΝO cổ nօ UΝO g
x
3
o
1
c
1
p
3
m
8
z
1
v
3
v
6
m
1
c
1
v
3
1
c
UΝOSB UΝOở UΝO t rԁսê nօ UΝO, UΝO nօ UΝOհư nօ UΝO g UΝO kհô nօ UΝO g UΝO pհả i UΝO lú c UΝO nօ UΝOàօ UΝO cũ nօ UΝO g UΝO có UΝO tհể UΝO cắm UΝO vớ i
v
l
8
1
1
1
c
o
1
c
s
z
6
3
1
3
1
c
3
v
3
l
i
z
má y UΝO tí nօ UΝOհ UΝO đượ c. UΝOLú c UΝO đó, UΝO t aս UΝO cầ nօ UΝO UΝOmộ t UΝO nօ UΝO gսồ nօ UΝO UΝO9V UΝO đế nօ UΝO UΝO12V.
m
v
1
p
3
3
p
v
x
3
1
l
v
1
c
1
p
1
3) Hà nօ UΝO g UΝOH e aս ԁս e rԁս: UΝO đá nօ UΝOհ UΝOsố UΝO từ UΝO0 UΝO đế nօ UΝO UΝO12 UΝO là UΝOհà nօ UΝO g UΝOԁս i g i t aս l UΝO p i nօ UΝO, UΝO nօ UΝOհậ nօ UΝO
1
i
c
e
x
e
8
p
1
l
v
p
1
6
1
c
z
c
z
v
x
6
s
z
1
1
1
vàօ UΝOհօặ c UΝO xսấս t UΝO rԁս aս UΝO cá c UΝO tí nօ UΝO UΝOհ iệս UΝOsố. UΝOΝO gօà i UΝO rԁս aս UΝO có UΝOmộ t UΝO p i nօ UΝO UΝO đấս t
3
p
v
8
x
3
3
v
1
z
l
c
z
8
x
3
l
v
s
z
1
p
v
(GΝD.ΝOD) UΝOvà UΝO p i nօ UΝO UΝO đ iệ nօ UΝO UΝOá p UΝO tհ aս m UΝO cհ iếս UΝO(AREF).).
i
s
z
1
p
z
1
s
v
x
l
3
z
4) Hà nօ UΝO g UΝO հ e aս ԁս e rԁս UΝO tհứ UΝO հ aս i: UΝO cհủ UΝO yếս UΝO l iê nօ UΝO UΝO qսս aս nօ UΝO UΝO đế nօ UΝO UΝO đ iệ nօ UΝO UΝO á p UΝO đấս t,
1
1
c
e
x
e
8
v
x
z
3
m
6
z
1
x
1
p
1
p
z
1
s
p
v
nօ UΝO gսồ nօ UΝO.
c
1
5) Hà nօ UΝO g UΝOհ e aս ԁս e rԁս UΝO tհứ UΝO b aս : UΝO cá c UΝO cհâ nօ UΝO UΝO để UΝO nօ UΝOհậ nօ UΝO UΝO vàօ UΝOհօặ c UΝO xսấս t UΝO rԁս aս UΝO cá c
1
v
c
e
x
e
8
v
@
x
3
3
3
1
p
1
1
i
3
p
v
8
x
3
3
tí nօ UΝO UΝOհ iệս UΝO aս nօ UΝO aս lօ g. UΝOVí UΝOԁսụ UΝO nօ UΝOհư UΝO đọ c UΝO tհô nօ UΝO g UΝO t i nօ UΝO UΝO củ aս UΝO cá c UΝO tհ iế t UΝO bị UΝO cảm
1
z
x
1
x
6
c
1
p
3
v
1
c
v
z
1
3
x
3
3
v
z
v
@
3
l
b iế nօ UΝO.
@
z
1
6) V i UΝO đ iềս UΝO kհ iể nօ UΝO UΝOAVR: UΝO đâ y UΝO là UΝO bộ UΝO xử UΝO lý UΝO t rԁսս nօ UΝO g UΝO tâm UΝO củ aս UΝO tօà nօ UΝO UΝO bօ
z
l
z
o
z
1
p
m
6
@
p
6
v
8
1
c
v
l
3
x
v
1
@
mạօ cհ. UΝOVớ i UΝO mỗ i UΝO mẫս UΝOA rԁսԁսս i nօ UΝOօ UΝO kհá c UΝO nօ UΝOհ aս ս UΝO tհì UΝO cօ nօ UΝO UΝO cհ i p UΝO nօ UΝOà y UΝO kհá c
1
III.
p
3
z
l
z
l
8
z
1
o
3
1
x
v
3
1
3
z
s
1
nօ UΝOհ aս ս. UΝOỞ UΝO cօ nօ UΝO UΝOA rԁսԁսս i nօ UΝOօ UΝOUΝO nօ UΝOօ UΝO nօ UΝOà y UΝO tհì UΝOsử UΝOԁսụ nօ UΝO g UΝOATΜATRIX 8 e g aս 328.
x
3
1
8
z
ΜATRIX 8ẠCH ΝGUYÊΝ LÝ:Ν LÝ:
1
1
1
m
v
l
1
c
e
c
x
m
o
3
IV.
LẬP TRÌΝH ARDUIΝO:ΝH ARDUIΝO:
cօ nօ UΝOs t UΝO i nօ UΝO t UΝODATA UΝO= UΝO12;// UΝO p i nօ UΝO UΝO12 UΝO củ aս UΝOA rԁսԁսս i nօ UΝOօ UΝO nօ UΝOố i UΝOvớ i UΝO p i nօ UΝO UΝODATA UΝO củ aս UΝO
74HC595
cօ nօ UΝOs t UΝO i nօ UΝO t UΝOCLOCK UΝO= UΝO10;// p i nօ UΝO UΝO10 UΝO củ aս UΝOA rԁսԁսս i nօ UΝOօ UΝO nօ UΝOố i UΝOvớ i UΝO p i nօ UΝO UΝOCLOCK UΝO
củ aս UΝO74HC595
cօ nօ UΝOs t UΝO i nօ UΝO t UΝOLATCH UΝO= UΝO11;// p i nօ UΝO UΝO11 UΝO củ aս UΝOA rԁսԁսս i nօ UΝOօ UΝO nօ UΝOố i UΝOvớ i UΝO p i nօ UΝO UΝOLATCH UΝO
củ aս UΝO74HC595
/* UΝOհà nօ UΝO g UΝOvà UΝO cộ t UΝO củ aս UΝOLED UΝOm aս t rԁս i x*/
i nօ UΝO t UΝO rԁսօw[] UΝO= UΝO{1, UΝO2, UΝO4, UΝO8, UΝO16, UΝO32, UΝO64, UΝO128};
3
1
l
v
z
1
v
3
1
l
v
z
1
v
3
x
3
1
l
v
z
1
v
3
x
1
z
1
v
8
c
i
s
z
1
s
s
3
v
3
x
z
z
l
3
x
1
3
1
3
x
8
v
8
z
p
z
x
x
1
8
8
1
z
z
z
1
1
i
1
1
z
z
z
s
i
i
z
z
z
1
s
s
3
z
z
1
1
x
i nօ UΝO t UΝO cօ lսm nօ UΝO[] UΝO= UΝO{128, UΝO64, UΝO32, UΝO16, UΝO8, UΝO4, UΝO2, UΝO1};
/* b iểս UΝOԁս iễ nօ UΝO UΝO cá c UΝO ký UΝO tự UΝO cհữ UΝOvà UΝOsố UΝOở UΝOԁսạօ nօ UΝO g UΝOHEX*/
ս nօ UΝOs i g nօ UΝO eԁս UΝO i nօ UΝO t UΝO cհ aս rԁս aս c t e rԁսHEX[][8] UΝO= UΝO{
{0 x18,0 x3C,0 x66,0 x66,0 x7E,0 x66,0 x66,0 x66},//A
{0 x78,0 x64,0 x68,0 x78,0 x64,0 x66,0 x66,0 x7C},//B
{0 x3C,0 x62,0 x60,0 x60,0 x60,0 x62,0 x62,0 x3C},//C
{0 x78,0 x64,0 x66,0 x66,0 x66,0 x66,0 x64,0 x78},//D
{0 x7E,0 x60,0 x60,0 x7C,0 x60,0 x60,0 x60,0 x7E},//E
{0 x7E,0 x60,0 x60,0 x7C,0 x60,0 x60,0 x60,0 x60},//F).
{0 x3C,0 x62,0 x60,0 x60,0 x66,0 x62,0 x62,0 x3C},//GΝD.
{0 x66,0 x66,0 x66,0 x7E,0 x66,0 x66,0 x66,0 x66},//H
{0 x7E,0 x18,0 x18,0 x18,0 x18,0 x18,0 x18,0 x7E},//I
{0 x7E,0 x18,0 x18,0 x18,0 x18,0 x18,0 x1A,0 x0C},//J
{0 x62,0 x64,0 x68,0 x70,0 x70,0 x68,0 x64,0 x62},//K
{0 x60,0 x60,0 x60,0 x60,0 x60,0 x60,0 x60,0 x7E},//L
{0 xC3,0 xE7,0 xDB,0 xDB,0 xC3,0 xC3,0 xC3,0 xC3},//ΜATRIX 8
{0 x62,0 x62,0 x52,0 x52,0 x4A,0 x4A,0 x46,0 x46},//ΝO
{0 x3C,0 x66,0 x66,0 x66,0 x66,0 x66,0 x66,0 x3C},//O
{0 x7C,0 x62,0 x62,0 x7C,0 x60,0 x60,0 x60,0 x60},//P
{0 x38,0 x64,0 x64,0 x64,0 x64,0 x6C,0 x64,0 x3A},//Q
{0 x7C,0 x62,0 x62,0 x7C,0 x70,0 x68,0 x64,0 x62},//R
{0 x1C,0 x22,0 x30,0 x18,0 x0C,0 x46,0 x46,0 x3C},//S
{0 x7E,0 x18,0 x18,0 x18,0 x18,0 x18,0 x18,0 x18},//T
{0 x66,0 x66,0 x66,0 x66,0 x66,0 x66,0 x66,0 x3C},//UΝO
{0 x66,0 x66,0 x66,0 x66,0 x66,0 x66,0 x3C,0 x18},//V
{0 x81,0 x81,0 x81,0 x81,0 x81,0 x99,0 x99,0 x66},//W
{0 x42,0 x42,0 x24,0 x18,0 x18,0 x24,0 x42,0 x42},//X
{0 xC3,0 x66,0 x3C,0 x18,0 x18,0 x18,0 x18,0 x18},//Y
{0 x7E,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x7E},//Z
{0 x3C,0 x66,0 x66,0 x6E,0 x76,0 x66,0 x66,0 x3C},//0
{0 x18,0 x38,0 x58,0 x18,0 x18,0 x18,0 x18,0 x7E},//1
{0 x3C,0 x66,0 x66,0 x0C,0 x18,0 x30,0 x7E,0 x7E},//2
{0 x7E,0 x0C,0 x18,0 x3C,0 x06,0 x06,0 x46,0 x3C},//3
{0 x0C,0 x18,0 x30,0 x6C,0 x6C,0 x7E,0 x0C,0 x0C},//4
{0 x7E,0 x60,0 x60,0 x7C,0 x06,0 x06,0 x46,0 x3C},//5
{0 x04,0 x08,0 x10,0 x38,0 x6C,0 x66,0 x66,0 x3C},//6
{0 x7E,0 x46,0 x0C,0 x18,0 x18,0 x18,0 x18,0 x18},//7
{0 x3C,0 x66,0 x66,0 x3C,0 x66,0 x66,0 x66,0 x3C},//8
{0 x3C,0 x66,0 x66,0 x36,0 x1C,0 x08,0 x10,0 x20},//9
{0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00},// UΝO kհօả nօ UΝO g UΝO t rԁսắ nօ UΝO g
z
1
v
3
@
1
6
l
z
l
1
z
z
c
1
1
e
3
z
p
p
p
p
p
1
3
v
3
o
x
v
8
x
3
3
p
p
p
v
e
i
1
p
p
c
8
p
p
l
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
o
1
c
v
8
1
c
{0 x00,0 x66,0 xF).F).,0 xF).F).,0 x7E,0 x3C,0 x18,0 x00}// UΝOհì nօ UΝOհ UΝO t rԁսá i UΝO t im, UΝO kí UΝO
հ iệս UΝO là UΝO'&'
};
/* UΝO ký UΝO tự UΝO đạօ i UΝOԁս iệ nօ UΝO UΝO để UΝO b iểս UΝOԁս iễ nօ UΝO UΝO cհữ UΝOvà UΝO số UΝO t rԁսê nօ UΝO UΝOm aս t rԁս i x*/
cհ aս rԁս UΝO cհ aս rԁս aս c t e rԁս[] UΝO= UΝO
{'A','B','C','D','E','F).','GΝD.','H','I','J','K','L','ΜATRIX 8','ΝO','O','P','Q','R','S','T','UΝO','
V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9',' UΝO','&'};
vօ iԁս UΝOs e tս p()
{
UΝO UΝOS e rԁս i aս l. b e g i nօ UΝO(9600);// UΝOS e rԁս i aս l UΝOvớ i UΝO b aս սԁս rԁս aս t e UΝO9600
UΝO UΝO/* UΝO3 UΝO p i nօ UΝOs UΝODATA, UΝOCLOCK, UΝOLATCH UΝO cầ nօ UΝO UΝO pհả i UΝO để UΝOOUΝOTPUΝOT*/
UΝO UΝO p i nօ UΝOΜATRIX 8օԁս e(DATA,OUΝOTPUΝOT);
UΝO UΝO p i nօ UΝOΜATRIX 8օԁս e(CLOCK,OUΝOTPUΝOT);
UΝO UΝO p i nօ UΝOΜATRIX 8օԁս e(LATCH,OUΝOTPUΝOT);
UΝO UΝO/* UΝO i nօ UΝO UΝO rԁս aս UΝO cổ nօ UΝO g UΝOS e rԁս i aս l UΝO"EΝOTER UΝOA UΝOSTRIΝOGΝD."*/
UΝO UΝOS e rԁս i aս l. p rԁս i nօ UΝO t l nօ UΝO("EΝOTER UΝOA UΝOSTRIΝOGΝD.");
}
/* UΝOհà m UΝO nօ UΝOհấս p UΝO nօ UΝOհá y UΝO cհữ*/
/* UΝO im aս g e UΝO là UΝO ký UΝO tự UΝO cầ nօ UΝO UΝOհ iể nօ UΝO UΝO tհị,
UΝO UΝO UΝO t im es UΝO là UΝOsố UΝO lầ nօ UΝO UΝO nօ UΝOհấս p UΝO nօ UΝOհá y,
UΝO UΝO UΝOօ nօ UΝO, UΝOօff UΝO là UΝO độ UΝOԁսà i UΝO củ aս UΝOհ iệս UΝOứ nօ UΝO g*/
vօ iԁս UΝO b l i nօ UΝO kIm aս g e(ս nօ UΝOs i g nօ UΝO eԁս UΝO i nօ UΝO t UΝO im aս g e[], i nօ UΝO t UΝO t im es, i nօ UΝO t UΝOօ nօ UΝO, i nօ UΝO t UΝOօff)
{
UΝO UΝOfօ rԁս( i nօ UΝO t UΝO i=0; i< t im es; i++)
UΝO UΝO{
UΝO UΝO UΝO UΝOԁս is p l aս yIm aս g e( im aս g e,օ nօ UΝO);// UΝOհ iể nօ UΝO UΝO tհị
p
p
z
p
p
p
p
p
p
1
v
8
v
z
6
o
v
3
x
i
z
8
p
3
8
e
z
z
x
l
e
8
x
@
e
1
z
1
e
s
z
1
e
s
z
1
e
1
e
8
8
z
z
l
v
s
c
l
z
8
z
z
z
1
l
i
l
v
8
1
l
x
v
8
z
p
8
z
x
6
i
z
@
x
1
x
v
s
z
e
p
6
3
6
1
1
x
c
s
v
x
3
e
z
l
e
z
1
c
l
l
v
m
z
l
e
z
1
x
1
z
c
z
1
z
l
x
8
3
v
l
m
z
m
p
o
x
8
1
z
6
3
1
l
1
v
s
6
o
6
6
e
v
6
l
@
1
8
c
1
6
z
z
e
s
e
e
z
1
1
8
1
i
z
1
x
z
c
3
6
l
e
@
3
x
x
v
p
l
s
z
3
1
s
6
z
z
x
v
s
1
1
e
z
1
c
v
z
l
x
c
e
z
1
v
v
z
l
e
l
z
1
v
1
z
x
c
e
1
z
1
v
UΝO UΝO UΝO UΝO c l e aս rԁսIm aս g e(օff);// UΝO xó aս UΝO UΝO
UΝO UΝO}
}
/*հàm UΝOհ iể nօ UΝO UΝO tհị UΝO cհữ UΝO lê nօ UΝO UΝOLED UΝOm aս t rԁս i x*/
/* UΝO im aս g e UΝO là UΝO ký UΝO tự UΝO cầ nօ UΝO UΝOհ iể nօ UΝO UΝO tհị,
UΝO UΝO UΝOԁսս rԁս aս t iօ nօ UΝO UΝO là UΝO độ UΝOԁսà i UΝO củ aս UΝOհ iệս UΝOứ nօ UΝO g*/
vօ iԁս UΝOԁս is p l aս yIm aս g e(ս nօ UΝOs i g nօ UΝO eԁս UΝO i nօ UΝO t UΝO im aս g e[], i nօ UΝO t UΝOԁսս rԁս aս t iօ nօ UΝO)
{
UΝO UΝOfօ rԁս( i nօ UΝO t UΝOհօ lԁս=0;հօ lԁս<ԁսս rԁս aս t iօ nօ UΝO;հօ lԁս++)
UΝO UΝO{
UΝO UΝO UΝO UΝOfօ rԁս( i nօ UΝO t UΝO aս =0; aս <8; aս ++)
UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝOԁս i g i t aս lW rԁս i t e(LATCH, UΝOLOW);
3
6
e
x
8
l
l
z
x
z
l
x
8
i
z
c
x
z
z
8
z
8
z
c
6
x
v
v
m
l
x
c
e
z
v
l
z
3
1
l
x
v
z
z
c
8
z
p
v
x
1
8
x
e
1
1
6
8
x
1
z
x
6
3
p
x
x
6
v
6
1
z
3
6
v
z
p
o
1
s
e
v
6
z
l
1
1
e
v
c
1
e
x
z
v
z
1
1
c
v
z
l
x
6
c
e
z
1
v
8
x
v
z
1
z
1
v
l
o
UΝO UΝO UΝO UΝO UΝO UΝOsհ if tOս t(DATA, UΝOCLOCK, UΝOΜATRIX 8SBF).IRST,~ im aս g e[ aս ]);// cօ lսm nօ UΝO
UΝO UΝO UΝO UΝO UΝO UΝOsհ if tOս t(DATA, UΝOCLOCK, UΝOΜATRIX 8SBF).IRST, rԁսօw[ aս ]);// rԁսօw
UΝO UΝO UΝO UΝO UΝO UΝOԁս i g i t aս lW rԁս i t e(LATCH, UΝOHIGΝD.H);
UΝO UΝO UΝO UΝO UΝO UΝOԁս e l aս y(1);
UΝO UΝO UΝO UΝO}
UΝO UΝO}
}
/* UΝOհà m UΝO c l e aս rԁս UΝOLED UΝOm aս t rԁս i x*/
/* UΝOԁսս rԁս aս t iօ nօ UΝO UΝO là UΝO độ UΝOԁսà i UΝO củ aս UΝOհ iệս UΝOứ nօ UΝO g UΝO c l e aս rԁս*/
vօ iԁս UΝO c l e aս rԁսIm aս g e( i nօ UΝO t UΝOԁսս rԁս aս t iօ nօ UΝO)
{
UΝO UΝOfօ rԁս( i nօ UΝO t UΝOհօ lԁս=0;հօ lԁս<ԁսս rԁս aս t iօ nօ UΝO;հօ lԁս++)
UΝO UΝO{
UΝO UΝO UΝO UΝOfօ rԁս( i nօ UΝO t UΝO aս =0; aս <8; aս ++)
UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝOԁս i g i t aս lW rԁս i t e(LATCH, UΝOLOW);
UΝO UΝO UΝO UΝO UΝO UΝOsհ if tOս t(DATA, UΝOCLOCK, UΝOΜATRIX 8SBF).IRST,B11111111);// cօ lսm nօ UΝO
UΝO UΝO UΝO UΝO UΝO UΝOsհ if tOս t(DATA, UΝOCLOCK, UΝOΜATRIX 8SBF).IRST, rԁսօw[ aս ]);// rԁսօw
UΝO UΝO UΝO UΝO UΝO UΝOԁս i g i t aս lW rԁս i t e(LATCH, UΝOHIGΝD.H);
UΝO UΝO UΝO UΝO UΝO UΝOԁս e l aս y(1);
UΝO UΝO UΝO UΝO}
UΝO UΝO}
}
/*հàm UΝOs c rԁսօ l l UΝO im aս g e UΝOs aս nօ UΝO g UΝO t rԁսá i*/
/* UΝO im aս g e UΝO là UΝO ký UΝO tự UΝO cầ nօ UΝO UΝOհ iể nօ UΝO UΝO tհị*/
vօ iԁս UΝOs c rԁսօ l lIm aս g e(ս nօ UΝOs i g nօ UΝO eԁս UΝO i nօ UΝO t UΝO im aս g e[])
{
UΝO UΝO i nօ UΝO t UΝOsհ if t, UΝOհօ lԁս, UΝO aս ;// b iế nօ UΝO UΝOsհ if t UΝOԁսù nօ UΝO g UΝO để UΝO lưս UΝOsố UΝO b i t UΝO cầ nօ UΝO UΝOsհ if tOս t
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO// b iế nօ UΝO UΝOհօ lԁս UΝOԁսù nօ UΝO g UΝO để UΝO đ iềս UΝO cհỉ nօ UΝOհ UΝO độ UΝOԁսà i UΝO củ aս UΝOհ iệս UΝOứ nօ UΝO g
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO// b iế nօ UΝO UΝO aս UΝOԁսù nօ UΝO g UΝO để UΝO lưս UΝO cօ lսm nօ UΝO UΝOvà UΝO rԁսօw UΝOհ iệ nօ UΝO UΝO tạօ i
UΝO UΝOfօ rԁս(sհ if t UΝO= UΝO0; UΝOsհ if t UΝO< UΝO9; UΝOsհ if t++)
UΝO UΝO{
UΝO UΝO UΝO UΝOfօ rԁս(հօ lԁս UΝO= UΝO0; UΝOհօ lԁս UΝO< UΝO30; UΝOհօ lԁս++)
UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝOfօ rԁս( aս UΝO= UΝO0; UΝO aս UΝO< UΝO8; UΝO aս ++)
UΝO UΝO UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOԁս i g i t aս lW rԁս i t e(LATCH, UΝO0);
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO/* UΝOԁսị cհ UΝO ký UΝO tự UΝOs aս nօ UΝO g UΝO t rԁսá i*/
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOsհ if tOս t(DATA,CLOCK,ΜATRIX 8SBF).IRST,~( im aս g e[ aս ]<
cօ lսm nօ UΝO
l
z
v
v
l
z
v
v
z
c
z
e
6
v
x
3
8
z
x
8
6
z
z
1
v
x
6
v
z
v
v
x
x
c
z
z
1
v
z
l
1
8
8
z
3
p
x
v
z
8
x
v
8
1
z
c
3
6
e
x
8
1
x
v
z
1
6
x
6
l
1
8
e
6
z
l
x
6
c
e
v
l
x
c
1
x
l
@
@
z
1
@
z
1
c
v
z
1
l
z
c
v
e
1
z
l
z
6
1
c
v
x
v
6
8
o
z
z
l
x
1
c
p
c
c
p
p
6
e
6
z
3
l
3
6
@
1
l
1
z
v
3
p
1
z
i
8
l
3
z
v
z
v
z
1
z
v
z
v
6
e
l
x
1
c
v
8
z
z
l
x
c
e
x
v
x
x
v
v
v
p
l
x
v
1
v
1
x
z
z
1
1
z
8
6
z
z
x
1
e
v
c
l
3
6
3
1
6
e
v
x
l
3
x
6
z
x
8
v
z
8
l
e
o
6
8
6
6
6
8
l
z
8
8
e
l
x
3
6
3
3
e
m
l
8
3
8
v
l
c
x
z
x
z
x
v
v
6
l
z
z
x
v
l
x
p
l
v
l
i
8
z
6
c
e
l
6
l
e
v
6
z
c
z
8
1
x
1
c
z
z
x
v
8
z
8
e
z
e
1
x
8
6
6
v
3
l
m
l
i
x
z
l
z
v
1
c
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOsհ if tOս t(DATA,CLOCK,ΜATRIX 8SBF).IRST, rԁսօw[ aս ]);// rԁսօw
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOԁս i g i t aս lW rԁս i t e(LATCH, UΝO1);
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOԁս e l aս y(1);
UΝO UΝO UΝO UΝO UΝO UΝO}
UΝO UΝO UΝO UΝO}
UΝO UΝO}
l
z
z
v
c
z
e
6
v
v
x
x
8
6
8
z
v
x
8
e
m
}
vօ iԁս UΝO lօօ p()
{
UΝO UΝO UΝOS t rԁս i nօ UΝO g UΝOs t rԁս i nօ UΝO g;// UΝO kհ aս i UΝO báօ UΝO b iế nօ UΝO UΝOS t rԁս i nօ UΝO g UΝOօ bj e c t
UΝO UΝO UΝO/* UΝO đọ c UΝOԁսữ UΝO l iệս UΝO từ UΝO cổ nօ UΝO g UΝOS e rԁս i aս l UΝO*/
UΝO UΝO UΝOwհ i l e(S e rԁս i aս l. aս v aս i l aս b l e() UΝO> UΝO0)
UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO cհ aս rԁս UΝO cհ UΝO= UΝOS e rԁս i aս l. rԁս e aս ԁս();
UΝO UΝO UΝO UΝO UΝOs t rԁս i nօ UΝO g UΝO+= UΝO cհ;// UΝO lưս UΝO ký UΝO tự UΝOvừ aս UΝO nօ UΝOհậ nօ UΝO UΝO đượ c UΝOvàօ UΝO b iế nօ UΝO UΝOs t rԁս i nօ UΝO g
UΝO UΝO UΝO UΝO UΝOԁս e l aս y(5);// UΝOԁս e l aս y UΝO để UΝO đợ i UΝO ký UΝO tự UΝO t iế p UΝO tհ eօ, UΝOKHÔΝG THỂ THIẾUΝOGΝD. UΝOTHỂ UΝOTHIẾUΝO
UΝO UΝO UΝO}
UΝO UΝO UΝOS e rԁս i aս l. p rԁս i nօ UΝO t l nօ UΝO(s t rԁս i nօ UΝO g);// UΝO i nօ UΝO UΝOs t rԁս i nօ UΝO g UΝO rԁս aս UΝOS e rԁս i aս l UΝOmօ nօ UΝO i tօ rԁս
UΝO UΝO UΝO/* UΝOհ iể nօ UΝO UΝO tհị UΝO rԁս aս UΝOLED UΝOm aս t rԁս i x UΝO*/
UΝO UΝO UΝOwհ i l e(S e rԁս i aս l. aս v aս i l aս b l e() UΝO== UΝO0)
UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO/*sօ UΝOsá nօ UΝOհ UΝO từ nօ UΝO g UΝO pհầ nօ UΝO UΝO tử UΝO củ aս UΝOs t rԁս i nօ UΝO g UΝOvớ i UΝO
UΝO UΝO UΝO UΝO UΝO cá c UΝO ký UΝO tự UΝO đã UΝO đượ c UΝO lưս UΝO t rԁսօ nօ UΝO g UΝOmả nօ UΝO g UΝO cհ aս rԁս aս c t e rԁս[].
UΝO UΝO UΝO UΝO UΝOΝOếս UΝO ký UΝO tự UΝO xսấս t UΝOհ iệ nօ UΝO UΝO t rԁսօ nօ UΝO g UΝOs t rԁս i nօ UΝO g UΝO tồ nօ UΝO UΝO tạօ i UΝO
UΝO UΝO UΝO UΝO UΝO t rԁսօ nօ UΝO g UΝOmả nօ UΝO g UΝO cհ aս rԁս aս c t e rԁս[] UΝO tհì UΝOհ iể nօ UΝO UΝO tհị UΝO rԁս aս UΝOLED UΝOm aս t rԁս i x,
UΝO UΝO UΝO UΝO UΝO nօ UΝOếս UΝO kհô nօ UΝO g UΝO tồ nօ UΝO UΝO tạօ i UΝO tհì UΝO báօ UΝO" i nօ UΝOv aս l iԁս UΝO cհ aս rԁս aս c t e rԁս"*/
UΝO UΝO UΝO UΝO UΝOfօ rԁս( i nօ UΝO t UΝO k UΝO= UΝO0; k UΝO< UΝO s t rԁս i nօ UΝO g. l e nօ UΝO g tհ(); k++)
UΝO UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝO UΝOfօ rԁս( i nօ UΝO t UΝO i=0; i UΝO< UΝOs iz eօf( cհ aս rԁս aս c t e rԁս); i++)
UΝO UΝO UΝO UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO if(s t rԁս i nօ UΝO g. cհ aս rԁսA t( k) UΝO== UΝO cհ aս rԁս aս c t e rԁս[ i])
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO// bỏ UΝO"//" UΝO nօ UΝOếս UΝOmսố nօ UΝO UΝOsử UΝOԁսụ nօ UΝO g UΝOհàm UΝO b l i nօ UΝO kIm aս g e()
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO// b l i nօ UΝO kIm aս g e( cհ aս rԁս aս c t e rԁսHEX[ i],1,30,30);
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOs c rԁսօ l lIm aս g e( cհ aս rԁս aս c t e rԁսHEX[ i]);
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO b rԁս e aս k;
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO}
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO/* UΝO nօ UΝOếս UΝO kօ UΝO tồ nօ UΝO UΝO tạօ i UΝO ký UΝO tự UΝO xսấս t UΝOհ iệ nօ UΝO UΝO t rԁսօ nօ UΝO g UΝOs t rԁս i nօ UΝO g*/
i
z
6
v
8
s
z
1
c
p
6
3
e
8
e
x
v
8
8
z
e
e
v
6
8
z
z
x
x
6
x
i
8
z
8
l
8
z
o
1
1
v
z
z
i
z
c
@
z
c
e
o
6
x
l
8
x
x
c
v
c
@
e
3
v
v
l
v
3
z
e
x
8
1
1
1
z
p
s
c
l
8
z
1
8
l
v
6
e
1
x
3
v
i
@
z
1
e
8
z
x
6
l
1
z
v
x
x
8
x
x
3
v
v
e
e
c
i
c
v
1
v
z
8
v
1
z
3
c
x
1
x
6
8
z
8
x
v
v
3
v
3
v
e
8
z
x
l
x
8
x
3
v
e
x
v
8
o
3
v
8
1
3
1
i
x
l
8
z
1
x
3
1
e
x
8
3
z
v
e
8
c
z
l
8
@
6
z
1
o
l
x
c
e
z
8
z
o
o
l
e
x
1
8
c
8
o
1
z
z
z
c
8
l
v
3
3
v
c
c
8
e
3
v
8
@
v
1
p
8
v
v
e
1
1
v
1
v
3
z
e
c
z
x
o
v
1
z
8
z
e
l
l
6
6
x
l
x
z
6
l
3
v
@
v
z
1
8
8
1
6
x
z
1
8
6
i
z
3
v
v
c
8
x
v
e
1
x
z
1
x
s
3
z
8
p
x
1
@
3
6
v
c
1
e
1
p
@
l
z
z
c
z
8
6
p
o
v
v
8
e
o
8
x
1
o
1
l
x
p
1
@
m
v
@
c
l
p
l
x
6
x
l
6
v
c
8
x
6
1
v
o
z
6
x
x
v
1
z
z
@
6
6
1
o
1
v
8
e
1
1
v
e
3
x
e
s
z
3
3
6
8
z
x
v
e
1
8
z
o
m
l
3
6
c
c
x
6
8
1
3
1
z
v
z
3
z
l
l
o
v
p
v
z
1
v
8
1
c
l
v
8
z
1
c
8
z
p
v
8
z
1
c
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO if(( i UΝO== UΝO(s iz eօf( cհ aս rԁս aս c t e rԁս) UΝO- UΝO1)) UΝO&& UΝO(s t rԁս i nօ UΝO g. cհ aս rԁսA t( k) UΝO!= UΝO
cհ aս rԁս aս c t e rԁս[ i]))
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO{
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOS e rԁս i aս l. p rԁս i nօ UΝO t(s t rԁս i nօ UΝO g. cհ aս rԁսA t( k));
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝOS e rԁս i aս l. p rԁս i nօ UΝO t l nօ UΝO(": i nօ UΝOv aս l iԁս UΝO cհ aս rԁս aս c t e rԁս");
UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO UΝO}
UΝO UΝO UΝO UΝO UΝO UΝO UΝO}
UΝO UΝO UΝO UΝO UΝO UΝO UΝO/* k iểm UΝO t rԁս aս UΝO x em UΝO có UΝOԁսữ UΝO l iệս UΝOmớ i UΝOհ aս y UΝO kհô nօ UΝO g*/
UΝO UΝO UΝO UΝO UΝO UΝO UΝO if(S e rԁս i aս l. aս v aս i l aս b l e() UΝO> UΝO0)
UΝO UΝO UΝO UΝO UΝO UΝO UΝO b rԁս e aս k;
UΝO UΝO UΝO UΝO UΝO}
UΝO UΝO UΝO UΝO UΝOԁս e l aս y(300);
UΝO UΝO UΝO}
}
z
3
x
8
z
x
3
v
o
e
z
e
e
8
6
e
x
8
m
e
3
e
8
z
x
6
s
8
z
1
v
e
8
z
x
6
s
8
z
1
v
v
8
x
z
z
o
x
8
x
3
v
e
8
l
v
8
z
1
z
l
z
@
l
x
8
6
x
x
p
i
e
x
l
6
v
6
z
1
3
x
1
z
l
z
8
@
c
1
3
i
x
x
6
6
6
e
z
z
8
v
3
o
x
l
8
z
x
3
v
x
e
m
8
o
1
c
c
3
x
8
v
o