EDA365电子工程师网

标题: 想找人看看这个程序是哪里有问题 [打印本页]

作者: 诸葛翠花    时间: 2018-4-15 23:28
标题: 想找人看看这个程序是哪里有问题
#include "reg51.h"
6 l" z% b9 z3 O#include"intrins.h"
) K6 e7 E9 G6 M' s+ Ltypedef unsigned char u8;
! B3 o7 ^8 l& l& Y( ]2 }typedef unsigned char u16;
$ E  n! a6 |' E3 [0 Y% J  }1 l' O/ M* m$ [+ `; g1 m
sbit SRCLK=P3^6;( H. e9 N) L3 G0 Y) A' g0 ?
sbit RCLK=P3^5;
  r6 V2 n. U5 ^6 csbit SER=P3^4;6 a2 Q" A. n! ^( x- ?* K0 Z
u8 code ledwei1[]=2 `) A' |7 |/ i% x! x
{% N7 J+ Q6 ^) X" t* T" L; D+ F
   0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
# B4 m0 q% A0 H2 f  W0 Q6 Z, {   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
- h8 Y4 W6 v, g' Q, O0 D };
/ E- k0 p1 z4 M; U, z u8 code ledduan1[]=( o7 W  {+ G# I6 P/ V1 K& \
{% G9 x' O& k$ ~: N
/*--  文字:  普  --*/" v! E1 }: }/ b" c7 L& D4 @4 Q
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
, T' I4 @2 D9 Q: z0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,# d7 j# `; N8 e) D( I) A0 K
0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00/ q9 l) d; A! X$ y: ~) h7 W
};  h, H$ @3 p* ]% Y0 ~
7 i+ p, `. B: @' v. p, I  s( X$ }  H/ g. v

5 D) |) g, p% k( A7 }) C( S* s: l" c* O1 r$ ?6 V% q% \! E

# V7 |8 L& Q  G4 G* K% p         void delay(u16 i )+ J: @1 I+ p4 b; I7 i! I
         {
) m8 k1 w( i6 G( }% q) c            while(i--);' M" C8 Z; u1 t" ?

! O3 {; Q, y. ?         
* _2 A- x/ O' y0 p7 w! V. v" `  y         }
3 h1 I' q9 W) [
/ \# C: g+ \  O% |: u
6 _1 c) X, t9 T- A void Hc595sendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)8 K1 `/ m% a& N! i5 G  Y. f

* J6 P' o' Z' N2 n" \+ Q- G {; K. m+ ^% ^) d. S7 b# u
   u8 a ;- C4 \2 O1 _6 b1 c/ w
   SRCLK=1;
) d6 e1 l# w" t! M; F. r. p   RCLK=1;
9 o3 ~! {- Q% ], a  x1 I   for(a=0;a<8;a++)        //传递四个参数分别移位四次在移位寄存器当中去
+ w8 d4 R% P' N8 A0 z) }  g   {
! j8 ?& M6 |1 E: L, h! N$ C        SER =dat1>>7;
& e. c& O9 V) z* Y# z% ^$ P' W        dat1<<=1;
/ G' I7 O% b0 b        SRCLK=0;& C  i' ^+ U! k( b* t, j
        _nop_();4 Z6 Z8 ?* h6 K5 \( ?
        _nop_();
$ [1 o7 m7 s. b& }, C" c. F$ [4 A        SRCLK=1;$ _5 D. u$ B9 C7 o8 h& N  i: J
    }
' B0 u6 [; \  U% _1 N' J/ Q         4 e- I1 w9 t5 C8 E3 m7 V$ A- h5 g
       for(a=0;a<8;a++)        2 @) m6 r- \0 t! b$ ^6 S! n
   {: u( S9 x4 b9 Q& n6 o
        SER =dat2>>7;
+ z; Z$ s, t% O/ r( B        dat2<<=1;
* r( d" E& M+ h" w% I+ M! x! n        SRCLK=0;7 b% E9 s' p7 x% \3 [& S2 e
        _nop_();  H2 T; \2 T; n
        _nop_();
' ~9 @  k( w/ y+ U: B  m        SRCLK=1;7 J1 C5 Y1 B1 C2 |* d
    }   
$ @2 f8 R3 t. c) V& z9 p       for(a=0;a<8;a++)        
* E# Z8 k& ]5 M+ _3 d* ~   {5 P2 }  Y! Q5 W! V
        SER =dat3>>7;                         
) B) X( s4 o) f. K) C        dat3<<=1;$ L1 B) E. g0 j' w: h
        SRCLK=0;$ M/ o$ e! X: r' M4 q0 i0 y
        _nop_();
  E; g8 B; w! D- E! J        _nop_();
3 {& t! P  o0 o, x2 M0 ~  l        SRCLK=1;. t. z0 |/ z. ], u/ D
    }
: T4 }0 p/ D. c1 D! `; h          for(a=0;a<8;a++)         0 G* }$ w9 W& S7 ?/ P4 S
   {
* r0 Y+ {5 _+ T! z! Q; x4 s        SER =dat4>>7;
, d' Q6 e5 \/ b& x8 u' S% e1 Y        dat4<<=1;
! e9 Y. A4 S' g1 _6 r3 V, j$ h        SRCLK=0;
* B8 D7 |9 ?* D; T7 W2 V        _nop_();6 M& i0 A7 E: D3 J
        _nop_();
/ b7 M( f- a2 i: @: j- q  ?+ J        SRCLK=1;4 N8 m; ]$ `" w
    }& |; c* S5 w6 j4 z
         
; J' q# {" i8 {9 {* _3 ~       RCLK=0;2 o' j$ E% n& Z& y7 i6 A5 y& Q
           _nop_();
0 P" {! Y9 N' ^7 T; Z% Q. o$ D           _nop_();  J) K4 q' |' i6 o8 r# _
                RCLK=1;; M1 }8 G; d8 k8 w* N+ E. `! ?
}4 p$ F4 U' ?+ Q* g. C7 }
4 N4 p. W! _7 B9 u% |
# W* B+ n: D4 _1 b& J1 c/ X1 k+ c- R; B
     void main()2 X5 ?6 i+ s1 a  @( e& _' X' s5 q
     {% e# N1 ^% |% u1 a0 v* Z9 u. a# X
        u8 i ;5 s. V0 }% k' i1 i& z

" c) m  S4 E; d. u4 \, k3 {        while(1)$ f. @9 s. _7 v  S( K* @% t
       {
& s, N& `* L  W6 Y/ N  k                 for(i=0;i<16;i++)( l7 x) a6 e: h( [/ C1 Y# M( ^
- r( S& C" b) s3 z
                  {& H2 }3 q/ `$ {$ f9 Q% T# _. o
                          Hc595sendByte(~ledwei1[i+16],~ledwei1,ledduan1[16+i],ledduan1);* N2 X' N" P0 n. A' m
                            delay(10);
0 V* W/ ?- C( f! }* w& G                  
5 ]6 Q- L7 k+ I                  }
+ u$ b1 N- j- K! F      
# f" T; i& G/ ^( z       }) l2 L8 Z8 h3 _' ~2 |3 r& P
                                                       ) p6 \# a5 T7 D7 T0 }
     
) w5 I0 {0 f% [; w% `     3 e8 Z6 h& Z, H6 ~( v% k
     }
3 h/ `5 f$ F" X: I# B[img][/img]
作者: 诸葛翠花    时间: 2018-4-15 23:30
程序在调试的时候显示的全是led字, 我只想led灯显示一个普字,跑出来全是灯在闪烁,我不清楚到底是哪里出了问题




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2