TA的每日心情 | 开心 2023-6-1 15:13 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的:单片机上电后,显示流水灯,按下按键后小灯全亮,然后返回主函数,继续显示流水灯。
% y3 ?3 e; X+ m/ g目前问题:按下按键后,小灯全亮,但松开按键后小灯还是保持全亮,没有恢复中断前的状态。
8 x& U. |# j9 L' Z请问这是什么原因导致,以下是代码1 d4 I+ l5 b3 w% l0 T$ o
#include <reg52.h>& [( {% B3 f, L* s7 r
#include <intrins.h>; ]8 @9 [" @2 s2 \3 w" T1 P/ E' b* D
#define LED P00 C+ \0 e* ~! j/ z* }4 {
4 K6 I1 ]8 K5 I; z8 Q4 c# [5 q2 dsbit K1=P3^2;
5 v* D3 L0 p" J2 I- ^# Q0 ?+ M; S- Mint a;( \. a: H1 U- Q; j8 p* I& m3 H
: H6 }, B6 o9 F/ hvoid delay(ms)
* e7 U$ P: s' ?: z4 q$ E6 r{
, k' [: p N8 Q) Q int i;+ `) b9 }9 F0 O% N0 E3 ?% N# d
while(ms--)
4 V4 `# F: D% t+ x; { {% u! S! i* E/ T
for (i=0;i<100;i++)
0 Z5 @9 e4 k3 e% z {8 j: B4 V8 V1 y, o
;
5 G& z: G: j0 n. D }
* w) g- ^" }, K4 T7 E& g; Z }- {& H" q5 Q, p( c8 z7 \
}8 W; k5 X1 [5 `- B; b& B) x
4 Y e7 r( U6 ]" m0 f- b: a& R F
void zhongduan()
& [( V! h! `6 u5 ]3 `{. |5 }8 [3 o X2 Z: @, ]' o) g
EA=1;
! K% g8 \9 U3 B: `$ K5 f EX0=1;6 H, R" {/ Q( ^1 Z/ ?
}
9 | g0 W6 g/ g; f
O! o5 x/ {3 j0 T- Z" o# ivoid main()
/ y) ~# Y6 @1 }5 A( S4 \& @{
( ?4 }, B/ i1 K" n1 L' ?) J% p a=0;% n+ r! B$ [+ i( Y$ f
zhongduan();& @* q* [5 `6 e7 j
LED=0xfe;9 W8 B Y, [0 t9 q
delay(200);
: `! a! h4 o; E9 @ while(1)$ y. X. a ~+ V6 T% W7 |; U4 w# ^
{
4 N. l" b) A0 I8 Y8 E% H' r3 i( S1 u & b3 R s) Q8 u) \5 O0 U
for(a=0;a<7;a++)
$ ?8 \/ T5 g1 K! k9 t {
) m8 N/ L& O+ U1 v# M; H6 s" V LED=_crol_(LED,1);
/ i9 K4 L! E) C
, d+ G; v: @) d" c3 z4 ^ delay(250);
9 g3 Y( L+ B3 Z: H9 a2 q }) a8 T) k+ u" a6 x& g
8 J* h; n+ ^2 q5 D for(a=0;a<7;a++)
2 n. C& h' v: C# W- a0 f {) b% _% a) n3 }/ Q: @3 q% d/ L
LED=_cror_(LED,1);7 E9 e" N) F- i" M) D0 g4 @ p
& r- t/ z$ k% Z4 V: I delay(250);
1 Z1 k/ G) _$ j. t }
7 v, l% N7 S0 W$ c( J; u& Q
4 r4 C$ j0 Y8 T/ p}
) Y0 i4 S: ~& H( \; y4 q4 I6 [}5 T# a0 I( g i
void init0() interrupt 01 K" N7 A$ o1 r: w E5 [
{
" V% w- U* C" Q) T/ t r if(K1==0)+ O5 v6 A; ~, v
{6 W0 G/ y {" F
delay(10);
: A. n3 }& y% O if(K1==0)
! _$ s1 e- x* m# e {$ e; @- c5 E. R0 X$ B) q% S# d
LED=0x00;
( k5 R6 S# R& x" b delay(200);
- Z$ ?* f8 C/ H- d" i: h6 a }
8 @6 W( l- F% B* e, m6 a }: o9 ~1 q6 a" \/ H9 z @
3 l& \1 M% v& s( M, F}
' r4 L; I: k, O5 u; R d |
|