TA的每日心情 | 开心 2023-6-1 15:13 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的:单片机上电后,显示流水灯,按下按键后小灯全亮,然后返回主函数,继续显示流水灯。$ e; s! T% u: R( s
目前问题:按下按键后,小灯全亮,但松开按键后小灯还是保持全亮,没有恢复中断前的状态。% O- D8 x( [: y# E" L8 e' k- s" ~" Y
请问这是什么原因导致,以下是代码
* I2 {- m3 u' J* b( L1 ]9 q. G#include <reg52.h>+ c0 V2 F% s: B4 C0 d% G$ N
#include <intrins.h>% ?1 e, W! C& d$ [+ l$ C
#define LED P00 e! Y" a1 A3 T) T m, b
' W2 ^, ^. |0 Z- W% t/ X, _. V% ^sbit K1=P3^2;
! E- t+ C7 |7 z$ fint a;% X* X) X& e x: J
: @/ E3 o4 O& ovoid delay(ms)
7 ?, j. A6 ^' m2 |{/ [. S2 k k( u y w! c; p5 {
int i;0 N. z: l, f4 ~8 o9 }: b: b
while(ms--)
9 g0 p' B) B, b. e; a {' T! x2 N' W0 U$ {5 x
for (i=0;i<100;i++)
9 G* _6 I, ?5 z. C2 O {
& ?' s$ ^) h5 q4 s" _ ;
: [0 W) Y$ g9 i, H }; T$ c" |' b7 u+ t- a; }5 S
}1 L: D* D( Y1 p: J
}
6 t) \/ Q, d) G# z* m$ S5 ^/ }6 k* |$ }( b! w
void zhongduan()
: a6 ]2 g! N) ~1 T0 ^/ x5 M) t {{) l/ L: J$ X3 q S% ~
EA=1;
! g5 J d" J7 F; s+ V7 u* t0 y EX0=1;
: v$ ]7 J0 e. U' A1 h9 Y( P; n}
# C( A2 }% M) o+ m- `" [0 s# v3 g* J9 O9 s# Z% f! u( w
void main()+ q1 [) b4 u3 e S- {' P
{( f# [3 M' x, x5 z1 ~' K/ \
a=0;
) I, x$ V7 a2 U4 V zhongduan();
) S5 J& h3 L0 z) a( d( G& a LED=0xfe;% K, I1 {" }6 y
delay(200);
N9 x" M9 i6 N while(1)
- b; ]- J; ~) n2 c$ i% U {4 w0 D; y+ C% Q% C5 z
e6 V' z5 X) f" ]2 f# q
for(a=0;a<7;a++)
- _7 ?( U" b" }3 r" T {
: P& S! ?5 G, B. } LED=_crol_(LED,1);
' K, X% j0 m4 c& X1 `
3 T2 P+ j1 i0 x$ j- F delay(250);
% U: s' q4 N' A" v6 v( k% N }$ c& J/ B' s( l$ b$ Z0 k. \
V5 y; Q, X/ i/ K for(a=0;a<7;a++). K1 D) U# W/ W4 o. ~( u( ^% X
{% v8 T! m. Y# ^( F! B* g# V
LED=_cror_(LED,1); M* B9 W) a) B6 D" ~
! h/ H! c! M" U8 R1 o# \; \2 | delay(250);' s/ \% |9 b* [0 L
}
% M' }* L# [' v( i; W
2 D. h& {8 Z/ d- n, E}
( k% G2 V: `) q! `) r7 B) E! c}9 r: k3 d2 j- n/ e
void init0() interrupt 0
& o0 J& n/ U) A- d{& ~1 [; @* k( |# ^; E
if(K1==0)
" O z% O2 G7 Z, B" g) Q; h {# L7 P9 G8 K1 L' P. T
delay(10);
5 r& k; l; {- k m if(K1==0), Y; ~6 g( O3 \" |4 D
{
5 }/ r R2 c2 [. z3 @2 o( M LED=0x00;7 |( E% o. q% m6 e, F; W- y
delay(200);6 P( `1 I9 I6 j' F4 T+ i
}" S2 g$ l/ s( f) P
}
8 N5 o0 F; M9 ^ [3 O
8 S6 Y; Y! q7 ~+ R( m) L: \}7 [) Q7 v0 p& U0 j: F
|
|