找回密码
 注册
关于网站域名变更的通知
查看: 249|回复: 2
打印 上一主题 下一主题

这个单片机流水灯程序不按照循环走,按下按键就全部亮了.我加过延时函数了

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-1-25 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
这个程序流水灯循环的时候,不按照循环走,按下按键就全部亮了,我加过延时函数了,也是一次全部亮。求助各位学霸。
. u1 }; Q! k9 c/ B9 F+ G$ @* d! r; w( W5 Q- ?$ ^1 z
单片机源程序如下:% i2 R5 B4 J7 R7 p
#include<reg52.h>  f0 |0 l% V! X. y
#define u8 unsigned char
7 i8 Z' x8 t. Y) a3 [2 \# Ksbit S7=P3^0;$ g9 q$ W7 y& C3 M5 u6 ?
sbit S6=P3^1;$ \& t. j) ?# {8 K4 p
sbit S5=P3^2;
! C, l& v! f" r) W( \  c+ D$ lsbit S4=P3^3;  D( P$ o( J1 e5 I

: e/ Z: C" D4 I' ?5 E. bu8 code LedChar[18] =1 f" X6 H" ^4 A2 B4 F% [) q

$ n( _: v9 _6 z# I+ v' g# i4 S    {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
' `( J- s2 t- H2 M) G' u" S6 f# K' K* [! P! [' |" @. w
     0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,3 d! h1 k$ p! v1 M* O" R" J6 w
; l3 M+ t& M4 _  N0 O! U
     0xbf,0x7f};
- Q& _- p) ]- t8 {! n6 t! D9 y$ c" j) `3 i
void LedXun_huan();
- a9 M# d/ \$ h1 t) w7 {( @# \: hvoid InitSystem();
1 y' h, q5 a" v: P9 gvoid Chosse573(u8 i);
2 q- }5 d. f; ^% W- ~' v4 [4 c. x% Z0 Y9 H2 g4 `
void InitSystem()
. _# [. U3 D6 O' q{, p0 L1 ?% A: z& H! M! h
        Chosse573(5);0 l  [2 j0 @, Z/ q
        P0=0X00;
' J+ ^: z5 g4 R& z6 r}0 ~; ~( m4 A0 ]0 G. H+ f

. |- M2 z5 n6 e7 d1 m- b9 w6 Ovoid Delay(u8 t)
- \$ T$ C" u' G* a8 k5 V- L{
; X( E1 A3 K( n/ k% t1 H* }9 w& X        while(t)
: f6 u/ T+ Y9 N. I        {
( w3 W) }2 ^( x( b( ~" m, `                t--;; _# D. t" G$ y, d' S
        }) g8 [# o  f1 W& R/ L: ?5 p
}8 G/ x- L8 f# X% }1 T

% {  F1 \; ~9 j' rvoid Chosse573(u8 i)5 O3 k' f1 D9 Y) o# D5 a
{' e  C2 _: P, z
        switch(i)0 K3 }* V, ^. u5 F
        {+ V7 Z0 s, i' ]' P' L5 N- I
                case 4:        P2=(P2&0X1F)|0X80;break;/ ]8 X8 D$ c; C- ^" c
                case 5:        P2=(P2&0X1F)|0XA0;break;# I6 j6 `" v7 S$ K# {
                case 6:        P2=(P2&0X1F)|0XC0;break;
& i0 X- g1 I" J8 g$ V                case 7:        P2=(P2&0X1F)|0XE0;break;
. h- G% W& U2 t' v% `6 p& m1 C        }9 H6 V; F- P& [# Y- Z/ }
}
! C! z+ \5 t3 w# b, \0 I0 s  F6 T! U6 t1 b
void KeyDriver()9 J- v: D: K$ K
{
! |4 T6 g7 J5 {  Z        if(S7==0)
$ [9 R/ A- `: p5 ?9 E        {
' E' |0 o- O2 g+ h: C# L8 ^2 n                Delay(500);
" d4 O! e9 L8 L7 S8 x* o: M  W                if(S7==0)
2 ~" n9 E" o. Y9 Y) w! I( b* @                LedXun_huan();
) r2 H9 m4 \9 x        }
4 C9 D' k/ ^4 J5 _6 I5 l) z}, U& V* T) x# r) w) E+ y3 t
# y# f% B" w: q( D* K
void LedXun_huan()
( I' ]0 e! X6 U{
4 S, A9 K! j* \$ ?% h1 I0 @3 M/ u        u8 i;
; p% \+ x& t* W! L/ ?        Chosse573(4);
9 i( [: N0 |( F! J4 Z0 j# e        for(i=0;i<8;i++)* r5 w# W2 V0 d' s: u
        {
; I9 P, X, q. y1 Z$ c# n+ H4 H/ P                P0=~(0x01<<i);
- H1 j# O9 Z3 m" X' K* q5 j2 i% x        }* B9 }# v6 \2 z; k
}. X  |* m3 \0 Q: a. V
% U# \: s. S( w0 R* m! M
void main()+ O2 l$ d; A1 ?% y+ l
{
. K$ g2 ?5 R% ]+ @% a        InitSystem();2 a3 G; r5 @: z- G3 ^! ]
        while(1)7 I' @' i! E( X. O. _
        {. k4 q' c7 Z9 a8 d, X9 y. E. Q' a5 `" Z
                KeyDriver();# o  U+ D  Z1 j
        }
7 c5 [4 T) J# b4 w" u}$ d- q5 _! P0 d4 M

该用户从未签到

2#
发表于 2022-1-25 13:53 | 只看该作者
      
. z4 M0 G4 k5 Q) ?8 |! K延时放错地方了
3 H  u4 i, U9 Y3 H& C4 _. P4 i% h而且延时间太短了$ S2 P$ L& w3 \$ z

' a% K. V/ V$ F4 S9 n) B/ Vvoid Delay1ms(u8 x)                //@11.0592MHz' B6 N6 r6 W7 [& r! r! ?
{
2 E) \+ k& c3 z, u" V        unsigned char i, j;
9 p# B& J2 l& X) K7 Z1 x. t1 j        do9 C# {6 T7 _9 i( V) t
        {
# Q3 Y( n. d2 @2 M8 ]                _nop_();1 Y1 z: j/ O! l1 g; b" ~3 g) U; m/ B( Q
                i = 2;
1 [2 H6 Y! s( m  N' z0 D                j = 199;
# {9 e, [" o/ @) I9 d& a" ?# Y' M+ O7 O                do( G0 A4 c. W0 b) b6 k% L% a
                {$ G) i. Z7 u$ u8 p1 d# y
                        while (--j);0 L5 q- N! [/ v! M# \
                } while (--i);- j- o& k! i- P' P; p4 v' k
        }while(--x);
0 C1 Z, t8 H* d/ e: ~. e7 Z7 P}
3 Q( z0 K( b! P; U1 J+ T6 E- r- u1 q3 n# L2 v: n
略。。。+ Z% ^+ h7 `4 O1 v$ y! F
& C2 [9 B* D( a& X: t! ?; i0 s( z3 `
void LedXun_huan(); p! e( C0 S' H3 I( C
{' q' u9 U( d2 r/ v* P5 r
        u8 i;
( l) s4 f- B- A% P2 l* \; `/ @" B        Chosse573(4);' b, D$ [( R7 X& e- j/ B
        for(i=0;i<8;i++)
+ A- _  Z5 n6 r; s# [: A' m        {
) n6 H1 p2 f0 I( \1 g                P0=~(0x01<<i);
5 q1 y5 S% K6 ~3 O9 Y- a1 h% @) w. T3 V                                Delay1ms(200);
: p* k6 q! o9 x. m; e        }
) y  ]7 `, a1 J$ p& m. R, I$ P7 |$ d1 s}: N" ^" F4 E& }9 s& |
+ M, J2 Z3 p# Y- o: C6 e% N
略。。。

该用户从未签到

3#
发表于 2022-1-25 14:16 | 只看该作者
延时放错地方,延时间太短了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 15:20 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表