|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机检测开关按下状态的程序* j( a: Z8 X' K# K
0 d! A% P1 F% u# O! R
7 B8 U0 u0 v8 y( m
6 `, h6 q% ?. s5 P3 |5 f/ L5 E) ?2 y3 ]! D
下面的程序是为了使我们按下开关按键的时候,能够通过一个LED灯来显示对应的状态,这个程序的作用是:可以通过单片机和按键控制多种线路的输出作用,当然我们如果把LED灯改成实现其它功能的电路,则达到了控制多种电路的目的。比如抢答器的应用,当我们选手按下的时候,可以通过数码管,让其显示选手的号码,当然抢答器比这个会复杂点,但这个程序是抢答器的一个基础。我觉得挺实用的,所以拿出来跟大家分享下。具体的电路如下: ![]() ! d; o5 l2 q) u( n) D" ^" X( T
3 h" ~* H+ u2 y. f9 G0 m7 q1 o! c" q* ?0 d" h3 N# @. J/ \
程序如下: #include! G5 b! {% N F/ I
sbit p20=P2^0;5 t1 E7 q. Q# `& E# ^
sbit p21=P2^1;
4 Z2 P+ X# A- c+ I2 D8 m3 O- Jsbit p22=P2^2;
4 ~9 ~ W1 q# u) Isbit p23=P2^3;
1 X8 V7 B9 y' lsbit p24=P2^4;
8 D4 b8 N& u% J& Isbit p25=P2^5;$ O1 R3 [( l" }# ]( t) d" q
sbit p26=P2^6;5 g; [0 h0 h, c: U
sbit p27=P2^7;0 k3 ~: U( }5 W" O+ f
void main()
+ ?% h( _9 F6 K5 j5 L5 d- z1 c{0 J, T8 S' L/ _# Q
while(1)
) X: B3 M) \( v( M{
3 M: T7 {- D! [: @if(p24==0). ?5 a, r: T1 A( `
p23=0;5 \" @+ ]8 L2 `/ {, [
else
5 d* G% D- F2 ~9 y* xp23=1;
% v' ^0 m; \% ], h fif(p25==0)
8 @6 N& j# m6 _9 M$ l p22=0;0 I2 U) c8 d' e6 E/ J
else7 Z' r# s6 m. j4 h+ u
p22=1;
1 |3 ^" @) x4 ?' G5 X" N9 nif(p26==0)" a U6 ]1 p% Y( I
p21=0;7 s* G3 T' }2 t+ _4 ?; i% S
else
8 @8 V' O. i( ` g' _6 Z: \+ ^p21=1; if(p27==0)
C0 \4 V. e2 {5 ?$ x% p p20=0;
) D' \# R- H, y/ U( }5 Telse
$ F( z; K# }) y+ j: b4 n& Ip20=1;
; j; \, G8 L- T}
0 r& E P$ w& G6 ?. @$ h' u}
$ |8 \3 }( x0 ~, B+ q2 B6 n |
|