|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机检测开关按下状态的程序
( ?+ d0 O# D2 H$ f+ ?
$ f* y2 E' p6 O" z; p7 u
7 F0 i; y/ c9 q5 j8 E u8 f8 i, p- N% ?
" {; P; P% S7 H( {
下面的程序是为了使我们按下开关按键的时候,能够通过一个LED灯来显示对应的状态,这个程序的作用是:可以通过单片机和按键控制多种线路的输出作用,当然我们如果把LED灯改成实现其它功能的电路,则达到了控制多种电路的目的。比如抢答器的应用,当我们选手按下的时候,可以通过数码管,让其显示选手的号码,当然抢答器比这个会复杂点,但这个程序是抢答器的一个基础。我觉得挺实用的,所以拿出来跟大家分享下。具体的电路如下: ![]()
- ^% n* W6 y- Y6 r( D6 ?2 k. }3 |+ I( t( O; M
& I1 S3 ]9 v N" s" g* \* r程序如下: #include
D0 A% T+ s) C' r$ g8 usbit p20=P2^0;6 @2 I4 Y$ I4 S
sbit p21=P2^1;
5 `6 Q4 U, ^8 X! V1 ?' j7 usbit p22=P2^2;
9 o9 \- E+ ]/ Q; M# U* Msbit p23=P2^3;
# A; H: N2 b/ Ysbit p24=P2^4;
$ r0 S2 d" f2 Q& fsbit p25=P2^5;
# v: e0 W% J7 U P. ~, csbit p26=P2^6;
; V) ]* D. }( `* L" Csbit p27=P2^7;3 X; P) x! k. ~: f
void main()6 ?: j9 e! ]7 f) ]3 f
{
, C) o3 @* n" ^ Z6 I5 e" v/ Jwhile(1)
. Q8 P0 C3 y+ o) t2 M' x# v{* Q' [7 F/ T8 u0 f' h' d7 ~( m [
if(p24==0), [, s: C0 S! b
p23=0;
# K3 q+ T) ~" [( Q4 E3 Z5 T$ Relse
: ` Z9 n( W* I: }. ~p23=1;. C+ R+ A$ _6 x; b4 D) K* [
if(p25==0)
1 i9 U& c0 B8 O; T1 i p22=0;& \# c. r5 D o. Q2 E4 p
else
# j. O2 M9 M3 {# ?! Qp22=1;
7 y' u: b; d% j) o7 Wif(p26==0)
8 w Y, i3 C; j. \9 u) e p21=0;
: l& l# M0 _1 Nelse
4 ?! Y, q) T; ep21=1; if(p27==0)5 w5 u5 c' M; N8 D& ]$ y
p20=0;
: {' T+ t% ]- Z+ w" L+ o ^else. F6 r1 i" ^, V. D/ t
p20=1; 3 [+ w% F6 K3 _- k
}$ s! B6 W3 [% E+ A* e/ X. a3 @5 T! B1 T
} % Z U: n4 H n) ~, p9 R3 x) I
|
|