8X8 LED点阵.docx
《8X8 LED点阵.docx》由会员分享,可在线阅读,更多相关《8X8 LED点阵.docx(11页珍藏版)》请在冰豆网上搜索。
8X8LED点阵
51单片机C语言实验及实践教程_24.8X8LED点阵显示技术
发布:
2009-4-0414:
12 | 作者:
hnrain | 查看:
714次
1. 实验任务电子园51单片机学习网xd_i'v+a_VW.\
在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。
_e(m*z#v&D/E0
2. 电路原理图电子园51单片机学习网"B_R_q_m.Z_e_o7@
电子园51单片机学习网)ne:
L0Y_E.@_}_X7A
图4.24.1
9u_Z_\_D!
F6Q_o0
3. 硬件电路连线电子园51单片机学习网1M
k1c+w_f$a
(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;电子园51单片机学习网_aW)S|_PI,x!
A"e5R_k
(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;
M_D__(J_V$XvL0
4. 程序设计内容
_H_d0W[/L_G_D0
(1). 8X8 点阵LED工作原理说明电子园51单片机学习网_j_R"w_J_mMb_S
8X8点阵LED结构如下图所示
_N_e:
^_J7N_K0
电子园51单片机学习网+l:
D%Ay8cw$N;tg
从图4.24.2中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
电子园51单片机学习网_P/i_g!
K_u_n$p
一根竖柱:
对应的列置1,而行则采用扫描的方法来实现。
-[3N2V_k:
M!
r;h9e_N'C0
一根横柱:
对应的行置0,而列则采用扫描的方法来实现。
;X_E$^)q_F_G0
5. 汇编源程序电子园51单片机学习网_p3|__5i,M:
?
.]_g9g
ORG00H
&_kX_i_G+j_X_t0
START:
NOP电子园51单片机学习网:
^8h:
j_zT"do(E5F
MOVR3,#3
_?
$u_I;u.\_z_I_G0\_N0
LOP2:
MOVR4,#8电子园51单片机学习网_u&R_a9mr_r_r
MOVR2,#0电子园51单片机学习网_U_d;h7P_gk_r
LOP1:
MOVP1,#0FFH
@(].b5e_@_S_W_x0
MOVDPTR,#TABA电子园51单片机学习网_n)V_q3l_`0}q)]_W
MOVA,R2电子园51单片机学习网_]/p1re_D_e
MOVCA,@A+DPTR电子园51单片机学习网_?
_]%c.W-H
MOVP3,A
___}_Q_G+e&ldL_t[0g0
INCR2
6j.t3q9n
^#h']1?
-h+p|_S0
LCALLDELAY
_\_ZB"p.o_\0
DJNZR4,LOP1
_}_H_g$n__${3x#L5B0
DJNZR3,LOP2电子园51单片机学习网0U$|_r7u0m+j__'P
MOVR3,#3
+@_n_MU_o_A_D;wVn0
LOP4:
MOVR4,#8电子园51单片机学习网,e'Oe$v_I_c_]
MOVR2,#7电子园51单片机学习网8LA_H3M_jPq:
M
LOP3:
MOVP1,#0FFH电子园51单片机学习网$U_m_P_q_i9h/_.@k"R_[
MOVDPTR,#TABA
"k,[_E_{+E_i_n0
MOVA,R2
R_\_S+[B_m_T(L3`0
MOVCA,@A+DPTR
@_y-Y_Y_{2z']!
p;Rwn0
MOVP3,A
6a"f_MC4cO_H_|.U9K0
DECR2
!
H!
@%W;r+?
_x0
LCALLDELAY
c*S8}o_gAU:
T0
DJNZR4,LOP3电子园51单片机学习网Vi{"w%Uv_T_d.S
DJNZR3,LOP4
#b-k7i(U4F_O0
_S3l_A_E_p*d_R_v0
MOVR3,#3
/B_XT"A(}_P
R9[0
LOP6:
MOVR4,#8
_xA_`_Xv_K_qe_t0
MOVR2,#0电子园51单片机学习网_x$|*D7a_X_^VT
LOP5:
MOVP3,#00H
?
IvO3~.WNk0
MOVDPTR,#TABB电子园51单片机学习网_`_Y___H_~"x\$a
MOVA,R2
3}_Z1s%]_}0F)Lt#j0
MOVCA,@A+DPTR
_E1X;V)o_g_Q8v_z_|_r:
_0
MOVP1,A电子园51单片机学习网_|_O!
Q/V-Pyc_@_X_W
INCR2
_R_f_o_i_M3`_k0
LCALLDELAY电子园51单片机学习网*z_k-K_D`7W
DJNZR4,LOP5
#[_t_s_w8w.F_f4O/]6a0
DJNZR3,LOP6
%?
]1v_MO_sK*^_[0
MOVR3,#3电子园51单片机学习网_G_K_r)[+l)[
LOP8:
MOVR4,#8
hv_f!
r_S_y0
MOVR2,#7电子园51单片机学习网_mH7u#T_p_a_e3f_]
LOP7:
MOVP3,#00H
__/Y_@*Y_K-d_z_?
$o0
MOVDPTR,#TABB电子园51单片机学习网_uH_v3EX"}1`_Q.[
MOVA,R2
_F1h+pQ:
VY6]_T.s_LA_c0
MOVCA,@A+DPTR
_t0b
R*T_@_|{0
MOVP1,A
_`I-QK_M_p-`_s
x_Y_a0
DECR2电子园51单片机学习网_H_w_\+|_i_u_b
LCALLDELAY电子园51单片机学习网&x_R!
@*v;t"t_VD\-`
DJNZR4,LOP7
$g_X!
p-H_x_I_z_T0
DJNZR3,LOP8电子园51单片机学习网_H"}*^_J
Ps/v{'D3x
LJMPSTART电子园51单片机学习网_L_|_dA4e
DELAY:
MOVR5,#10电子园51单片机学习网$I_D_M___Jr8xr*l
D2:
MOVR6,#20
(y){\7Z_p7h1c:
?
0
D1:
MOVR7,#248电子园51单片机学习网_x1i4s_Z_K8x_|?
_@'?
DJNZR7,$电子园51单片机学习网_?
5}&O+G_EU
DJNZR6,D1
_Z_S9`_X"P3i9n+|_u_x0
DJNZR5,D2电子园51单片机学习网_`4B_J5I_}7`A.U
RET
;c2@)[_iD0
TABA:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
.p"^_N:
@0|2o0
TABB:
DB01H,02H,04H,08H,10H,20H,40H,80H
V_t2W0S/AR_Y%T0
END电子园51单片机学习网#Q2l_B_mt5m
%z_HQ&G_y0Z_I_s!
L_X0
6. C语言源程序电子园51单片机学习网_b_\w6On,X_T_`9w
#include 电子园51单片机学习网5LX_Ge
T*N.G
unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
_D_y+z_b$F!
A'K0
unsignedcharcodetabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};电子园51单片机学习网_Y.}_M7Y2[&t_S6i;F8v_D
voiddelay(void)电子园51单片机学习网_A_y8N[_k"r,B
{电子园51单片机学习网H_{_`S8m1E___`_d
unsignedchari,j;
_G0W!
|8a_A#uOJ0
for(i=10;i>0;i--)电子园51单片机学习网2F;a_pB'R6h_m
for(j=248;j>0;j--);电子园51单片机学习网?
1tk_l_[(~3a_O_|3C_]
}
_T+|!
k6r_h2y*e0
voiddelay1(void)电子园51单片机学习网6\%N_e(K&qn8l_|
{电子园51单片机学习网0M(]_m5C_c,S"d_O
unsignedchari,j,k;电子园51单片机学习网/u.f$h__a{
for(k=10;k>0;k--)
_V`_Z_X4ja0
for(i=20;i>0;i--)电子园51单片机学习网_E_m$H*L_o
for(j=248;j>0;j--);电子园51单片机学习网_Y/S_y_b{_X_G_Coq
}
_iE_A4Fn8n:
p0
voidmain(void)
%h7gd'Y.v7r0
{
/~_v0J1j_|0
unsignedchari,j;
P^_^'U.t"w_qT0
while
(1)电子园51单片机学习网_Q8v_o_J_R
{电子园51单片机学习网)J/}3V,s%F_~-T_Q
for(j=0;j<3;j++) //fromlefttoright3time电子园51单片机学习网_^_s_h_D$t_pw
{电子园51单片机学习网5a~:
e]`!
En_e+}
for(i=0;i<8;i++)
8d6b_z_?
$L_~7r3O0
{电子园51单片机学习网_a_n_@_Q_@_\)B
P3=taba[i];电子园51单片机学习网_q8P,SC&f,P_J_a
P1=0xff;电子园51单片机学习网\#b9H*Y%y"E
delay1();
_H{_{'Hg_d2R#[;J([0
}电子园51单片机学习网_U(p_~`-x
}
O_|/Y8e_B0
for(j=0;j<3;j++) //fromrighttoleft3time
f;H_c8o_J3T+x_T0
{电子园51单片机学习网$Xd[m_|H
for(i=0;i<8;i++)电子园51单片机学习网6^9d"C!
{_sL
{电子园51单片机学习网3b_H_WG-`:
P_Tf)uF_E
P3=taba[7-i];
a_qq|O_B_?
#d0
P1=0xff;
_qc-n(T_c0
delay1();电子园51单片机学习网#u-n&k_n8K)?
_C9~_j!
]
}
2y2F_T6S;`_[Ri_G0
}电子园51单片机学习网_@&@_Q;p3~
for(j=0;j<3;j++) //fromtoptobottom3time电子园51单片机学习网!
K\_?
_l8@
{电子园51单片机学习网_^_O+PC,_$P2U_`
for(i=0;i<8;i++)
4E*d8S.JK_Q%h0
{电子园51单片机学习网_n(NY_e5V_g*v
P3=0x00;
9Q'S_j~8a7O8T_l__0
P1=tabb[7-i];
_R*\.KrCv7Pe0
delay1();
$bI9}S,|-B;G_d0
}电子园51单片机学习网_S/DS2J_h_X_b8T
}
)l_s_~"M3_$M0
for(j=0;j<3;j++) //frombottomtotop3time
:
K4@5`4U_p
x_K#e0
{电子园51单片机学习网_j_y_@_y+xQ7Z
for(i=0;i<8;i++)
_@.I:
a2I_i0
{电子园51单片机学习网'Y_A_x4j^;tU_U$~&t
P3=0x00;电子园51单片机学习网*zDO_]_d_j/T_z_r
P1=tabb[i];电子园51单片机学习网)G_W-U*Z^_y_lU,A
delay1();
+^_m^7L_iL/_-J_T_P0
}电子园51单片机学习网1k_Z7J$|_r
}
_p_T_T_\/h/o5R_N0
}
5m_]8I&H2?
k0
}
_]/ez_?
5~3A0
电子园51单片机学习网7k_nZi%Q
_I,X_N-P_D3m)j0