|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机检测开关按下状态的程序
2 P( M6 ]; U W8 U1 Y
* J9 y% J5 p' M& D6 z
2 C! P; `/ B% p, a( G( n
+ k: I0 z" [2 u$ w9 a. D3 J9 i+ }
下面的程序是为了使我们按下开关按键的时候,能够通过一个LED灯来显示对应的状态,这个程序的作用是:可以通过单片机和按键控制多种线路的输出作用,当然我们如果把LED灯改成实现其它功能的电路,则达到了控制多种电路的目的。比如抢答器的应用,当我们选手按下的时候,可以通过数码管,让其显示选手的号码,当然抢答器比这个会复杂点,但这个程序是抢答器的一个基础。我觉得挺实用的,所以拿出来跟大家分享下。具体的电路如下: ![]() ( |/ ^; _3 _: s& P" w4 J
8 x. i) ]% z5 [" I4 V
+ k. c7 Q; \1 I( n" J程序如下: #include
/ _- U7 E) F5 O2 _sbit p20=P2^0;: ]7 i* F0 z, n4 @
sbit p21=P2^1;- n) c6 W3 V* o
sbit p22=P2^2;
& W [* F' r, i f& D& Q5 G3 v Jsbit p23=P2^3;
9 i) O* `% `8 a+ g9 W; o# C3 U3 Z3 ~sbit p24=P2^4; r$ l7 L9 B% q; B
sbit p25=P2^5;6 t9 d$ k' l0 |/ b2 A8 u1 q
sbit p26=P2^6;
% i ]" I8 ~" Msbit p27=P2^7;' a, G6 y$ f" S9 X4 N, |- D" `
void main()2 [: k8 }9 T% W
{+ @" V5 f) U6 Q; V
while(1)
3 r" z* v2 @* S2 m9 T$ L{$ ?% ^! h Y0 j# p+ d2 E
if(p24==0)+ S* j! w, E5 J$ o6 _: V; `* x
p23=0;
4 z& q0 }, b6 X/ e v. @; [: q) yelse
/ Y) ^3 l( b3 n6 Z! Fp23=1;, n; k& B/ D1 x2 [
if(p25==0)* e+ O- X/ h0 g' Y1 g9 {: \
p22=0;
+ K+ l Y9 S* _1 Melse
7 C8 h0 G2 ^: gp22=1;
" D Y) q/ U% a# q8 uif(p26==0)
8 N& Y( }+ |. r, K& N; D p21=0;
! t; \/ h8 S7 c3 e! z; pelse* Y; u+ N9 ^: X& o* H% K
p21=1; if(p27==0)
N2 w6 i0 r; N( J' J" q p20=0;* j' k" k( w( O$ l
else
' E" [! B7 l9 m+ a; xp20=1; . n* U6 }. }( x6 D
}! U v! F/ M7 E& _5 l) L: L
} . E% g, [* j. q
|
|