TA的每日心情 | 开心 2023-6-1 15:13 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的:单片机上电后,显示流水灯,按下按键后小灯全亮,然后返回主函数,继续显示流水灯。
2 n2 g4 d% L6 d$ Z) E( R目前问题:按下按键后,小灯全亮,但松开按键后小灯还是保持全亮,没有恢复中断前的状态。) Z6 l3 R3 V9 t) O
请问这是什么原因导致,以下是代码
9 ]; p# `3 C- M% Q#include <reg52.h>
7 T7 ?$ W5 O& G; P: B) o, i" c# ]#include <intrins.h># [$ C6 O( N$ H' W& F' S3 O4 W5 `
#define LED P0: m9 \5 ]! L$ g7 {3 D
: k! i1 ^. o" O# B. a5 @& {9 }% L! U: Zsbit K1=P3^2;
) b$ c) {8 }# y* Hint a;; ~. C% T! S, f8 D5 |1 h
$ K$ s8 l4 w, W7 Z1 D, D& _$ |* m, fvoid delay(ms)0 ~$ ~: \5 y$ m" }/ A* u
{
1 J0 `) X6 j- s7 T+ _$ h int i;3 L8 D0 c, k5 F4 ]
while(ms--)
. P. J1 E* A1 z: ~' g {
/ H7 |5 l4 i$ Y7 c h6 D0 {2 A for (i=0;i<100;i++)
* P. g: d; w A2 x {2 C1 D) z3 _& M5 J) `2 A4 K8 [
;
' ^) ^/ P9 F8 l# Z1 v }
9 C" E3 r8 c! _8 A }
+ S2 q A4 W3 F q- Y}
! L s8 f) p7 F% `# N, l" F2 f. E* F
void zhongduan()
) m' t' ?: F) @$ Z! ]& o6 ~{
L- Q2 n7 ?% X3 Q EA=1;% e- F2 H5 N2 P& k. r" ^
EX0=1;# ~3 e `7 H9 @0 i- ]( A
}
8 H5 K, ?9 A& Z( S, v) u) K
' X* ~% m3 |6 H. @1 n5 t, Xvoid main()
; V( O! C5 O9 H9 y; L- V0 }{
/ E. F# `! |& a, n- i a=0; t5 I I& T/ X$ o
zhongduan();/ N0 N5 g8 k- w" D: y! }7 v6 c# Y
LED=0xfe;
, k5 p" q# E3 ~ delay(200);
h/ M$ i9 h* y! f3 L) j# l4 B while(1)0 }0 {7 L# A2 a' \
{
5 o2 f3 p! P8 ]. {
- [: u2 m X7 w- V E! o for(a=0;a<7;a++)
6 j) `3 P2 M; A: ^: @ {
0 C7 M5 v: d, f, [! i LED=_crol_(LED,1);
' Y& e2 {7 @4 c9 a" @9 F
1 @3 ~$ s" {4 h1 { delay(250);
$ @" G! @6 H' o# q' @ }3 C% w$ m& G& l4 T5 B) E. n s
' i* F$ m5 S1 M6 r- X) l+ ` for(a=0;a<7;a++)# I H" s5 Q, F( i% e! c$ \& Z0 e
{: y: ?$ y2 Y7 ?4 R N7 C9 Q! S
LED=_cror_(LED,1);
9 |* v/ }9 ?) k6 }9 e3 @) p3 w5 j
4 H1 R0 h: {; h: t) b/ G delay(250);3 a. d4 D' d# V z6 _1 ~
}+ @. l* Q% L! l
; `& y. |, h, t0 G' Y/ N}) E8 j; y9 k& |& l8 c4 ` O
}) ?/ ?2 C" U7 a- G4 Z/ N9 s, A' X
void init0() interrupt 05 b' |1 H$ B6 y
{* y- r C1 ~; \& Z
if(K1==0)7 Y4 j5 ^6 l( @( P
{( V1 c! @' o9 J! d+ g: v
delay(10);
: t5 l" A) J, [ if(K1==0)8 H0 G R7 ?( w! ~
{
; f7 x( p# ?& N8 b" e% s4 N& z LED=0x00;" T7 d0 A& V! y
delay(200);
% I& u! d/ W% ?0 u5 G0 t }# ~& k9 Q$ n, x9 B8 L4 M
}8 n5 E u, g3 V
* E* S$ H) j9 _# d H" g1 P}9 q3 H. I0 ~ h& i% U# \/ e% B
|
|