Professional Documents
Culture Documents
CC BI THC HNH
MODULE LED MA TRN
I.
11-1:
148
M qut ct:
Nguyen nh Phu
M qut ct cho 1 led gm 16 bit: 8 bit cho 8 ct , 8 bit cho 8 ct xanh, khi qut ct th mi
mt thi im ch cho 1 ct mc logic 1, cc ct cn li mc 0.
Do kt ni mch ti u theo v tr cc chn IC thanh ghi dch MBI 5026 vi cc led nn th t
cc chn iu khin khng lin tc vi nhau.
Bng 11-1: M qut ct cho led mu sng, xanh tt:
TT
bit
Ct
1
2
3
4
5
6
7
8
15
3
14
X3
13
2
12
X2
11
1
10
X1
9
0
1
8
X0
BH
02
08
20
80
00
00
00
00
1
1
1
7
X4
6
4
5
X5
4
5
3
X6
2
6
1
X7
0
7
1
1
1
1
BL
00
00
00
00
40
10
04
01
2 BYTE
0200
0800
2000
8000
0040
0010
0004
0001
BL
00
00
00
00
80
20
08
02
2 BYTE
0100
0400
1000
4000
0080
0020
0008
0002
BL
00
00
00
00
C0
30
0C
03
2 BYTE
0300
0C00
3000
C000
00C0
0030
000C
0003
{0x0200,0x0800,0x2000,0x8000,0x0040,0x0010,0x0004,0x0001}
Ch : cc cn li u bng 0.
Bng 11-2: M qut ct cho led mu xanh sng, tt:
TT
bit
Ct
15
3
1
2
3
4
5
6
7
8
14
X3
13
2
12
X2
11
1
10
X1
9
0
8
X0
1
BH
01
04
10
40
00
00
00
00
1
1
1
7
X4
6
4
5
X5
4
5
3
X6
2
6
1
X7
0
7
1
1
1
1
{0x0100,0x0400,0x1000,0x4000,0x0080,0x0020,0x0008,0x0002}
Bng 11-3: M qut ct cho led mu xanh v u sng thnh mu cam:
TT
bit
Ct
1
2
3
4
5
6
7
8
15
3
14
X3
13
2
12
X2
11
1
10
X1
9
0
1
8
X0
1
BH
03
0C
30
C0
00
00
00
00
7
X4
6
4
5
X5
4
5
3
X6
2
6
1
X7
0
7
{0x0300,0x0C00,0x3000,0xC000,0x00C0,0x0030,0x000C,0x0003}
M iu khin c 2 mu xanh c th OR 2 m ca ring tng led vi nhau.
b. M k t cho kiu qut ct:
CH A
2
3
CH B
0
1
00
X
X
X
X
X
X
X
7F
X
X
X
X
X
X
X
1F
24
44
24
X
X
X
X
X
1F
X
X
X
X
49
X
49
36
CH C
6
7
00
3E
CH D
4
5
00
X
X
X
X
X
X
X
7F
X
X
X
X
X
X
X
X
49
X
X
41
X
41
X
41
22
X
X
X
X
X
X
X
41
X
41
X
41
3E
00
Nguyen nh Phu
149
c.
Mch in:
Lu : khai bo mng cha cc m qut led hin th mu 16 bit, khai bo mng cha
cc m ca k t cn hin th trn led ma trn 8 bit, khai bo mng cha d liu hiu chnh
li cho ph hp vi phn cng. Chng trnh chnh tin hnh khi to port v IC cht, cho
m qut ct ca led 2 v led 3 bng 0 v ch A ch hin th 5 ct ca led 1, tin hnh sp
xp li 4 bit cao ca cc m cho ng vi th t kt ni ca phn cng. Thc hin vng lp
while tin hnh cc bc : ly m qut ct th 1, ly m th 1 ca k t, gi ra cc IC
iu khin led ma trn led s sng ct th 1, tin hnh delay ri lp li cho cho ct th 2,
3, 4, 5 ri lm li t u, kt qu led s sng ch A.
Chng trnh:
#INCLUDE <TV_PICKIT2_SHIFT.c>
CONST UNSIGNED INT16 MA_QUET_COT_DO[8]={
0x0200,0x0800,0x2000,0x8000,0x0040,0x0010,0x0004,0x0001};
CONST UNSIGNED INT8 CHUOI[5]={0x1F,0x24,0x44,0x24,0x1F,0x00};
UNSIGNED INT8 CHUOI_HIENTHI[6];
UNSIGNED INT8 J;
UNSIGNED INT16 MA_HANG,MQC_LED1,MQC_LED2,MQC_LED3;
150
Nguyen nh Phu
VOID MAIN()
{
SET_UP_PORT_IC_CHOT();
MQC_LED2 = 0; MQC_LED3 = 0;
FOR(J=0;J<6;J++) CHUOI_HIENTHI[J]=HIEU_CHINH_4BIT_CAO(CHUOI[J]);
WHILE(TRUE)
{
FOR(J=0;J<6;J++)
{
MQC_LED1 = MA_QUET_COT_DO[J];
MA_HANG = CHUOI_HIENTHI[J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_MS(1);
}
}
}
d.
e.
f.
Mch in:
Lu :
Chng trnh:
#INCLUDE <TV_PICKIT2_SHIFT.c>
CONST UNSIGNED INT16 MA_QUET_COT_DO[8]={
0x0200,0x0800,0x2000,0x8000,0x0040,0x0010,0x0004,0x0001};
CONST UNSIGNED INT16 MA_QUET_COT_XANH[8]={
0x0100,0x0400,0x1000,0x4000,0x0080,0x0020,0x0008,0x0002};
CONST UNSIGNED INT8 CHUOI[6]={0x1F,0x24,0x44,0x24,0x1F,0x00};
UNSIGNED INT8 CHUOI_HIENTHI[6];
UNSIGNED INT8 J;
UNSIGNED INT16 CK,MA_HANG,MQC_LED1,MQC_LED2,MQC_LED3;
Thc hanh vi ieu khien
Nguyen nh Phu
151
VOID CHU_A_MAU_XANH()
{
FOR (CK=0;CK<100;CK++)
{
FOR(J=0;J<6;J++)
{
MQC_LED1 = MA_QUET_COT_XANH[J];
MA_HANG = CHUOI_HIENTHI[J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_MS(1);
}
}
}
VOID CHU_A_MAU_DO()
{
FOR (CK=0;CK<100;CK++)
{
FOR(J=0;J<6;J++)
{
MQC_LED1 = MA_QUET_COT_DO[J];
MA_HANG = CHUOI_HIENTHI[J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_MS(1);
}
}
}
VOID MAIN()
{
SET_UP_PORT_IC_CHOT();
FOR(J=0;J<6;J++) CHUOI_HIENTHI[J]=HIEU_CHINH_4BIT_CAO(CHUOI[J]);
MQC_LED2 = 0; MQC_LED3 = 0;
WHILE(TRUE)
{
CHU_A_MAU_XANH();
CHU_A_MAU_DO();
}
}
d. Tin hnh bin dch v np.
e. Quan st kt qu: sau khi np xong th LED sng ch A mt khong thi gian quyt nh
bi chu bin chu k lp CK_LAP, nu thng s ny ln th thi gian led sng nhiu, nh
led sng ngn, bn c th iu chnh.
f.
Gii thch chng trnh:
152
Nguyen nh Phu
Mch in:
Lu :
Chng trnh:
#INCLUDE <TV_PICKIT2_SHIFT.c>
CONST UNSIGNED INT16 MA_QUET_COT_XANH[]={
0x0100,0x0400,0x1000,0x4000,0x0080,0x0020,0x0008,0x0002};
CONST UNSIGNED INT8 CHUOI[10]={
0x1F,0x24,0x44,0x24,0x1F,0x00 //CHU A
0x7F,0x49,0x49,0x49,0x36,0x00}; //CHU B
UNSIGNED INT8 CHUOI_HIENTHI[12];
UNSIGNED INT8 J;
UNSIGNED INT16 CK,CK_LAP,MA_HANG,MQC_LED1,MQC_LED2,MQC_LED3;
VOID CHU_A_MAU_XANH()
{
FOR (CK=0;CK<CK_LAP;CK++)
{
FOR(J=0;J<6;J++)
{
MQC_LED1 = MA_QUET_COT_XANH[J];
MA_HANG = CHUOI_HIENTHI[J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_MS(1);
}
}
}
VOID CHU_B_MAU_XANH()
{
FOR (CK=0;CK<CK_LAP;CK++)
{
FOR(J=0;J<6;J++)
{
MQC_LED1 = MA_QUET_COT_XANH[J];
MA_HANG = CHUOI_HIENTHI[J+6];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_MS(1);
}
}
}
VOID MAIN()
{
SET_UP_PORT_IC_CHOT();
FOR(J=0;J<12;J++) CHUOI_HIENTHI[J]=HIEU_CHINH_4BIT_CAO(CHUOI[J]);
MQC_LED2 = 0; MQC_LED3 = 0; CK_LAP=100;
WHILE(TRUE)
{
CHU_A_MAU_XANH();
CHU_B_MAU_XANH();
Thc hanh vi ieu khien
Nguyen nh Phu
153
}
}
d.
e.
f.
Mch in:
Lu :
Chng trnh:
#INCLUDE <TV_PICKIT2_SHIFT.c>
CONST UNSIGNED INT16 MA_QUET_COT_XANH[]={
0x0100,0x0400,0x1000,0x4000,0x0080,0x0020,0x0008,0x0002};
CONST UNSIGNED INT8 CHUOI[]={
0x1F,0x24,0x44,0x24,0x1F,0x00
0x7F,0x49,0x49,0x49,0x36,0x00
0x3E,0x41,0x41,0x41,0x22,0x00
0x7F,0x41,0x41,0x41,0x3E,0x00
};
//CHU A
//CHU B
//CHU C
//CHU D
Nguyen nh Phu
CHU_MAU_XANH();
I++;
}WHILE(I<4);
}
}
d.
e.
f.
Nguyen nh Phu
155
MA_HANG = CHUOI_HIENTHI[I*8+J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_US(100);
XUAT_MATRANLED(0,0,0,0);
MQC_LED1 = 0; MQC_LED3 = 0;
I++;
FOR(J=0;J<8;J++)
{
MQC_LED2 = MA_QUET_COT_DO[J];
MA_HANG = CHUOI_HIENTHI[I*8+J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_US(100);
XUAT_MATRANLED(0,0,0,0);
}
MQC_LED1 = 0; MQC_LED2 = 0;
I++;
FOR(J=0;J<8;J++)
{
MQC_LED3 = MA_QUET_COT_DO[J];
MA_HANG = CHUOI_HIENTHI[I*8+J];
XUAT_MATRANLED(MA_HANG,MQC_LED3,MQC_LED2,MQC_LED1);
DELAY_US(100);
XUAT_MATRANLED(0,0,0,0);
}
}
}
d.
e.
f.
Nguyen nh Phu
Tng t cho bit th 2 ca cc byte hng th 2 sng, bit th 3 ca cc byte hng th 3 sng,
bit th 4 ca cc byte hng th 4 sng, , bit th 7 ca cc byte hng th 7 sng.
Do c 3 led 24 ct th phi thc hin 24 byte.
M qut hng: mi mt thi im ch cho 1 hng mc logic 1, cc hng cn li bng 0.
Bng 11-6: M qut hng:
Bit
0 1 2 3 4 5 6 7
B4(1)
1
B5(2)
1
B6(4)
1
B7(8) 1
B3(8)
1
B2(4)
1
B1(2)
1
B0(1)
1
S hex
10
20
40
80
08
04
02
01
Nguyen nh Phu
157
TT 48 BYTE GI RA CT 40
41
LED3
CX20
42
43
CX21
44
45
CX22
46
47
CX23
V d 11-1: Yu cu mun hin th mt chui 4 k t ABCD trn 3 led ma trn 88, sng mu . Mi
k t c 5 byte v 1 byte khong cch gia 2 k t lin tip nn tng l 6 byte, 4 k t th tng l 24 byte.
Chui m ca 4 k t nh sau:
0x1F,0x24,0x44,0x24,0x1F,0x00:
s hin th t ct th 0 n ct th 5
0x7F,0x49,0x49,0x49,0x36,0x00:
s hin th t ct th 6 n ct th 11
0x3E,0x41,0x41,0x41,0x22,0x00,
s hin th t ct th 12 n ct th 17
0x7F,0x41,0x41,0x41,0x3E,0x00,
s hin th t ct th 18 n ct th 23
Nguyen nh Phu
DL_COT_DO[0]=DL_HIENTHI[3];
DL_COT_DO[4]=DL_HIENTHI[1];
DL_COT_DO[9]=DL_HIENTHI[4];
DL_COT_DO[13]=DL_HIENTHI[6];
DL_COT_DO[2]=DL_HIENTHI[2];
DL_COT_DO[6]=DL_HIENTHI[0];
DL_COT_DO[11]=DL_HIENTHI[5];
DL_COT_DO[15]=DL_HIENTHI[7];
DL_COT_DO[16]=DL_HIENTHI[11];
DL_COT_DO[20]=DL_HIENTHI[9];
DL_COT_DO[25]=DL_HIENTHI[12];
DL_COT_DO[29]=DL_HIENTHI[14];
DL_COT_DO[18]=DL_HIENTHI[10];
DL_COT_DO[22]=DL_HIENTHI[8];
DL_COT_DO[27]=DL_HIENTHI[13];
DL_COT_DO[31]=DL_HIENTHI[15];
DL_COT_DO[32]=DL_HIENTHI[19];
DL_COT_DO[36]=DL_HIENTHI[17];
DL_COT_DO[41]=DL_HIENTHI[20];
DL_COT_DO[45]=DL_HIENTHI[22];
DL_COT_DO[34]=DL_HIENTHI[18];
DL_COT_DO[38]=DL_HIENTHI[16];
DL_COT_DO[43]=DL_HIENTHI[21];
DL_COT_DO[47]=DL_HIENTHI[23];
}
VOID COPY_48_BYTE_COT_HIENTHI()
{
FOR (I=0;I<48;I++) DL_48_COT[I]=DL_COT_DO[I];
}
VOID XUAT_1BIT_CUA_48_BYTE_HIENTHI()
{
FOR (I=0;I<48;I++) DL_48_COT[I]=XUAT_1BIT(DL_48_COT[I]);
}
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
VOID MAIN()
{
SET_UP_PORT_IC_CHOT();
XOA_DL_48_COT();
SAPXEP_VITRI_48BYTE_COT_DO();
WHILE(TRUE)
{
COPY_48_BYTE_COT_HIENTHI();
FOR(J=0;J<8;J++)
{
XUAT_1BIT_CUA_48_BYTE_HIENTHI();
XUAT_2BYTE(MA_QUET_HANG[J]);
MO_LED_MATRAN;
MO_IC_74573_B_THONG_DL();
OUTPUT_HIGH(RCK_MATRANLED); OUTPUT_LOW(RCK_MATRANLED);
CHOT_IC_74573_B_GOI_DU_LIEU;
DELAY_US(500);
TAT_MATRANLED();
}
}
}
d. Tin hnh bin dch v np.
e. Quan st kt qu: sau khi np xong th LED sng ch ABCD r p.
f.
Gii thch chng trnh:
Nguyen nh Phu
159
a. Mch in:
b. Lu :
c. Chng trnh:
#INCLUDE <TV_PICKIT2_SHIFT.c>
CONST UNSIGNED INT8 MA_QUET_HANG[8]={0x01,0x02,0x04,0x08,0x80,0x40,0x20,0x10};
CONST UNSIGNED INT8 DL_HIENTHI[]={
0x1F,0x24,0x44,0x24,0x1F,0x00, //CHU A
0x7F,0x49,0x49,0x49,0x36,0x00, //CHU B
0x3E,0x41,0x41,0x41,0x22,0x00, //CHU C
0x7F,0x41,0x41,0x41,0x3E,0x00, //CHU D
};
UNSIGNED INT8 DL_COT_XANH[48]={};
UNSIGNED INT8 DL_48_COT[48]={};
UNSIGNED INT8 J,I;
VOID XOA_DL_48_COT()
{
UNSIGNED INT8 J1;
{
FOR (J1=0;J1<8;J1++)
DL_COT_XANH[J1]=0x00;
}
}
VOID SAPXEP_VITRI_48BYTE_COT_XANH()
{
DL_COT_XANH[1]=DL_HIENTHI[3]; DL_COT_XANH[3]=DL_HIENTHI[2];
DL_COT_XANH[5]=DL_HIENTHI[1]; DL_COT_XANH[7]=DL_HIENTHI[0];
DL_COT_XANH[8]=DL_HIENTHI[4]; DL_COT_XANH[10]=DL_HIENTHI[5];
DL_COT_XANH[12]=DL_HIENTHI[6]; DL_COT_XANH[14]=DL_HIENTHI[7];
DL_COT_XANH[17]=DL_HIENTHI[11]; DL_COT_XANH[19]=DL_HIENTHI[10];
DL_COT_XANH[21]=DL_HIENTHI[9]; DL_COT_XANH[23]=DL_HIENTHI[8];
DL_COT_XANH[24]=DL_HIENTHI[12]; DL_COT_XANH[26]=DL_HIENTHI[13];
DL_COT_XANH[28]=DL_HIENTHI[14]; DL_COT_XANH[30]=DL_HIENTHI[15];
DL_COT_XANH[33]=DL_HIENTHI[19];
DL_COT_XANH[37]=DL_HIENTHI[17];
DL_COT_XANH[40]=DL_HIENTHI[20];
DL_COT_XANH[44]=DL_HIENTHI[22];
DL_COT_XANH[35]=DL_HIENTHI[18];
DL_COT_XANH[39]=DL_HIENTHI[16];
DL_COT_XANH[42]=DL_HIENTHI[21];
DL_COT_XANH[46]=DL_HIENTHI[23];
}
VOID COPY_48_BYTE_COT_HIENTHI()
{
FOR (I=0;I<48;I++) DL_48_COT[I]=DL_COT_XANH[I];
}
VOID XUAT_1BIT_CUA_48_BYTE_HIENTHI()
{
FOR (I=0;I<48;I++) DL_48_COT[I]=XUAT_1BIT(DL_48_COT[I]);
}
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
VOID MAIN()
{
SET_UP_PORT_IC_CHOT();
XOA_DL_48_COT();
160
Nguyen nh Phu
SAPXEP_VITRI_48BYTE_COT_XANH();
WHILE(TRUE)
{
COPY_48_BYTE_COT_HIENTHI();
FOR(J=0;J<8;J++)
{
XUAT_1BIT_CUA_48_BYTE_HIENTHI();
XUAT_2BYTE(MA_QUET_HANG[J]);
MO_LED_MATRAN;
MO_IC_74573_B_THONG_DL();
OUTPUT_HIGH(RCK_MATRANLED); OUTPUT_LOW(RCK_MATRANLED);
CHOT_IC_74573_B_GOI_DU_LIEU;
DELAY_US(500);
TAT_MATRANLED();
}
}
}
d.
e.
f.
tn
Nguyen nh Phu
161
Nguyen nh Phu
Mch in:
Lu :
Chng trnh:
Nguyen nh Phu
163
#INCLUDE <TV_PICKIT2_SHIFT.c>
CONST UNSIGNED INT8 DL_HIENTHI[]={
0x1F,0x24,0x44,0x24,0x1F,0x00, //CHU A
0x7F,0x49,0x49,0x49,0x36,0x00, //CHU B
0x3E,0x41,0x41,0x41,0x22,0x00, //CHU C
0x7F,0x41,0x41,0x41,0x3E,0x00, //CHU D
};
#INCLUDE <TV_PICKIT2_MATRAN_SHIFT.c>
UNSIGNED INT8 J,I;
VOID MAIN()
{
SET_UP_PORT_IC_CHOT();
XOA_DL_48_COT();
SAPXEP_VITRI_48BYTE_COT_DO(0);
WHILE(TRUE)
{
COPY_48_COT_HIENTHI();
FOR(J=0;J<8;J++)
{
XUAT_1BIT_CUA_48_COT_HIENTHI();
XUAT_2BYTE(MA_QUET_HANG[J]);
XUAT_DULIEU_HIENTHI_MATRAN();
DELAY_US(500);
TAT_MATRANLED();
}
}
}
d. Tin hnh bin dch v np.
e. Quan st kt qu: sau khi np xong th LED sng ch ABCD r p.
f.
Gii thch chng trnh:
Nguyen nh Phu
COPY_48_COT_HIENTHI();
FOR(J=0;J<8;J++)
{
XUAT_1BIT_CUA_48_COT_HIENTHI();
XUAT_2BYTE(MA_QUET_HANG[J]);
XUAT_DULIEU_HIENTHI_MATRAN();
DELAY_US(500);
TAT_MATRANLED();
}
}
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
VOID MAIN()
{ SET_UP_PORT_IC_CHOT();
WHILE(TRUE)
{
XOA_DL_48_COT();
SAPXEP_VITRI_48BYTE_COT_XANH(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
}
XOA_DL_48_COT();
SAPXEP_VITRI_48BYTE_COT_DO(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
}
}
}
d.
e.
f.
Nguyen nh Phu
165
{
COPY_48_COT_HIENTHI();
FOR(J=0;J<8;J++)
{
XUAT_1BIT_CUA_48_COT_HIENTHI();
XUAT_2BYTE(MA_QUET_HANG[J]);
XUAT_DULIEU_HIENTHI_MATRAN();
TAT_MATRANLED();
}
DELAY_US(500);
}
VOID MAIN()
{ SET_UP_PORT_IC_CHOT();
WHILE(TRUE)
{
XOA_DL_48_COT();
SAPXEP_VITRI_48BYTE_COT_XANH(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
}
XOA_DL_48_COT();
SAPXEP_VITRI_48BYTE_COT_DO(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
SAPXEP_VITRI_48BYTE_COT_XANH(0);
SAPXEP_VITRI_48BYTE_COT_DO(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
}
XOA_DL_48_COT();
SAPXEP_VITRI_XANH_DO_XANH_DO(0);
FOR (CK=0;CK<200;CK++)
{
HIEN_THI_MA_TRAN();
}
XOA_DL_48_COT();
SAPXEP_VITRI_DO_XANH_DO_XANH(0);
FOR (CK=0;CK<200;CK++)
{
HIEN_THI_MA_TRAN();
}
XOA_DL_48_COT();
SAPXEP_VITRI_DO_DO_XANH_XANH(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
}
XOA_DL_48_COT();
SAPXEP_VITRI_XANH_XANH_DO_DO(0);
FOR (CK=0;CK<100;CK++)
{
HIEN_THI_MA_TRAN();
}
}
}
d.
e.
f.
166
Nguyen nh Phu
Nguyen nh Phu
167
d.
e.
f.
Bi tp 11-28. Chng trnh iu khin LED ma trn hin th ch ABCD dch t phi
sang tri mu xanh ri n mu .
Lu tn file l BAI_11_28_MTQH_ABCD_XANH_DO_DICH
0,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,32,33,34,35,
X=0 TNH W = X/6=0, Z = X%6=0 :
TM BYTE CUI L Y={W(W+4)} => (Y*6+5-Z)= (Y*6+5-0)={ 5,11,17,23,29}
=> V TR
{X+{5,11,17,23,29}}={0+{5,11,17,23,29}}= {5,11,17,23,29}
X=1
X=2
X=3
X=4
X=5
X=6
168
Nguyen nh Phu
X=6
X=7
X=8
X=9
X=10
X=11
X=12
=> Y = X/6=1,
=> Y = X/6=1,
=> Y = X/6=1,
=> Y = X/6=1,
=> Y = X/6=1,
=> Y = X/6=1,
=> Y = X/6=2,
VT = Y*6+5=1*6+5=11
VT = Y*6+5=1*6+5=11
VT = Y*6+5=1*6+5=11
VT = Y*6+5=1*6+5=11
VT = Y*6+5=1*6+5=11
VT = Y*6+5=1*6+5=11
VT = Y*6+5=2*6+5=17
TNH S D Z:
Nu Z=0 th xt v tr: ti (29-Z) =29:
xt gim t (29-Z) =29 v (24-Z) =24 => 5 byte
xt gim t (23-Z) =23 v (18-Z) =18 => 5 byte
xt gim t (17-Z) =17 v (12-Z) =12 => 5 byte
xt gim t (11-Z) =11 v (6-Z) =6 => 5 byte
xt gim t (5-Z) =5 v (0-Z) =0 => 5 byte
Nu Z=1 th xt v tr: ti (29-Z) =2=:
xt gim t (29-Z) =29 v (24-Z) =24 => 5 byte
xt gim t (23-Z) =23 v (18-Z) =18 => 5 byte
xt gim t (17-Z) =17 v (12-Z) =12 => 5 byte
xt gim t (11-Z) =11 v (6-Z) =6 => 5 byte
xt gim t (5-Z) =5 v (0-Z) =0 => 5 byte
Nu Z=1 th xt v tr: ti (29-Z)=28:
xt gim t 29-Z v 24 = 5 byte
xt gim t 23 v 18 = 5 byte
xt gim t 17 v 12 = 5 byte
xt gim t 11 v 6 = 5 byte
xt gim t 5 v 4 = 5 byte
, 17, 23, 29. Xa li khi mu
Thc hanh vi ieu khien
Nguyen nh Phu
169
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0x24,0x44,0x24,0x1F,0x01,
0x7F,0x49,0x49,0x49,0x36,0x00,
0x3E,0x41,0x41,0x41,0x22,0x01,
0x7F,0x41,0x41,0x41,0x3E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
170
//CHU A
//CHU B
//CHU C
//CHU D
TT 48 BYTE GI RA CT 00
01
02
03
04
05
06
CT LED1
CD3
CD2
CD1
CD0
TT 48 BYTE GI RA CT 08
09
10
11
12
13
14
CT LED1
CD4
CD5
CD6
TT 48 BYTE GI RA CT 16
17
18
19
20
21
22
CT LED2
CD11
CD10
CD9
CD8
TT 48 BYTE GI RA CT 24
25
26
27
28
29
30
CT LED2
CD12
CD13
CD14
TT 48 BYTE GI RA CT 32
33
34
35
36
37
38
CT LED3
CD19
CD18
CD17
CD16
TT 48 BYTE GI RA CT 40
41
42
43
44
45
46
CT LED3
CD20
CD21
CD22
Dch ct th t: 6,4,2,0,9,11,13,15,22,20,18,16,25,27,29,31,38,36,34,32,41,43,45,47
07
TT 48 BYTE GI
LED1
TT 48 BYTE GI
LED1
TT 48 BYTE GI
LED2
TT 48 BYTE GI
LED2
TT 48 BYTE GI
LED3
TT 48 BYTE GI
LED3
RA CT 00
CD3
RA CT 08
CX4
RA CT 16
CD11
RA CT 24
CX12
RA CT 32
CD19
RA CT 40
CX20
15
CD7
23
31
CD15
39
47
CD23
01
CX3
09
CD4
17
CX11
25
CD12
33
CX19
41
CD20
02
CD2
10
CX5
18
CD10
26
CX13
34
CD18
42
CX21
03
CX2
11
CD5
19
CX10
27
CD13
35
CX18
43
CD21
04
CD1
12
CX6
20
CD9
28
CX14
36
CD17
44
CX22
05
CX1
13
CD6
21
CX9
29
CD14
37
CX17
45
CD22
06
CD0
14
CX7
22
CD8
30
CX15
38
CD16
46
CX23
07
CX0
15
CD7
23
CX8
31
CD15
39
CX16
47
CD23
01
CD2
05
CX5
9
CD10
13
CX13
17
01
CX2
05
CD5
9
CX10
13
CD13
17
02
CD1
06
CX6
10
CD9
14
CX14
187
02
CX1
06
CD6
10
CX9
14
CD14
18
03
CD0
07
CX7
11
CD8
15
CX15
19
03
CX0
07
CD7
11
CX8
15
CD15
19
Nguyen nh Phu
LED3
CD19 CX19 CD18 CX18 CD17 CX17 CD16 CX16
TT 48 BYTE GI RA CT 20
20
21
21
22
22
23
23
LED3
CX20 CD20 CX21 CD21 CX22 CD22 CX23 CD23
XANH TRC, SAU
TRC XANH SAU
XANH TRC SAU
TRC XANH SAU
XANH SAU TRC
Dch ct th t :
7,5,3,1,8,10,12,14,23,21,19,17,24,26,28,30,39,37,35,33,40,42,44,46
6,4,2,0,9,11,13,15,22,20,18,16,25,27,29,31,38,36,34,32,41,43,45,47
3,2,1,0,4,5,6,7,11,10,9,8,12,13,14,15,19,18,17,16,20,21,22,23
Dch ct th t:
6,4,2,0,9,11,13,15,22,20,18,16,25,27,29,31,38,36,34,32,41,43,45,47
Dch ct th t: 6,4,2,0,9,11,13,15,22,20,18,16,25,27,29,31,38,36,34,32,41,43,45,47
Dch ct th t : 7,5,3,1,8,10,12,14,23,21,19,17,24,26,28,30,39,37,35,33,40,42,44,46
6,4,2,0,9,11,13,15,22,20,18,16,25,27,29,31,38,36,34,32,41,43,45,47
Gii thch cho cc thng tin trong bng:
D liu ca byte th 0 (00) khi dch ra ct th s lm ct th 3 ca led sng (CD3).
D liu ca byte th 2 (02) khi dch ra ct th s lm ct th 2 ca led sng (CD2).
D liu ca byte th 4 (04) khi dch ra ct th s lm ct th 1 ca led sng (CD1).
D liu ca byte th 6 (06) khi dch ra ct th s lm ct th 0 ca led sng (CD0).
D liu ca byte th 9 (09) khi dch ra ct th s lm ct th 4 ca led sng (CD4).
Tng t cho cc ct cn li, cc trng l ca 24 ct mu xanh xem bng tip theo.
VT1=K%6;VTKT1=VT1;
I3=0;
GHT=5-VT1; GHD=-1+ VT1;
DO{
IF (DL_COT_X_DICH[GHT]==1) //XOA NEU MAU DO
{
FOR(I2=GHT;I2>GHD;I2--)
{DL_COT_X_DICH[I2]=0;}
}
GHT=GHT+6,GHD=GHD+6;
I3++;
}WHILE(I3==5);
VT1=0 TH
GHT = 5, GHD=0:
XA T 0 N 5
GHT = GHT+ 6=11, GHD=GHD+6=6:
XA T 6 N 11
TNH S D Z:
Nu VT=0 th xt v tr: ti (29-Z) =29:
xt gim t (29-Z) =29 v (24-Z) =24 => 5 byte
xt gim t (23-Z) =23 v (18-Z) =18 => 5 byte
Thc hanh vi ieu khien
Nguyen nh Phu
171
172
Nguyen nh Phu