EDA365电子工程师网

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

作者: 诸葛翠花    时间: 2018-4-15 23:28
标题: 想找人看看这个程序是哪里有问题
#include "reg51.h"
) X4 `, o( _( J. }7 u9 k9 j/ |#include"intrins.h"; n. L0 b6 N+ x! N) Q& V
typedef unsigned char u8;4 A* ~2 R5 Z9 j6 a6 n
typedef unsigned char u16;4 `5 V6 l+ }  Q+ c

  J" G# Q) T" J7 o# \+ B( N; Ksbit SRCLK=P3^6;' V. ], R& ]: m/ Y- y$ W
sbit RCLK=P3^5;4 |1 g% y  n; z5 q
sbit SER=P3^4;  S3 O4 N! Q' N
u8 code ledwei1[]=
1 ]  ]1 B+ x7 |8 o, [ {
$ g* O* U9 d5 L   0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
( r! X8 |1 b8 G( Z   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80: z1 [8 C% O# T) j9 R( c2 H  Y  O$ |
};
1 L0 L$ I6 b( t7 \ u8 code ledduan1[]=/ W) i% V- V" G( a0 ~8 d( O
{
& ^. q, f1 V. m$ X" C /*--  文字:  普  --*/+ u5 a+ `2 s$ d; e( F3 d) j
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
& A3 r# N. ]8 L% w0 Q0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,
% P& C- T% {" d0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00+ d3 t; D+ T8 x; E# D5 u  e
};0 ~4 f" _9 y  H! J

& I0 K) W. B9 j$ G- w+ T
$ a, q5 U6 Q) m- ^# Q: _. m* j+ l) G- u1 ^$ \0 u- x$ m7 O7 D$ a7 Z

. l0 U( r% P1 f8 B5 c# @! B1 W         void delay(u16 i )/ @, Z0 h1 U6 C$ o; E$ ^
         {0 V0 _& C4 e# O9 ^; S
            while(i--);
% M# E) m0 F0 B3 B
( O" R+ Z$ \* h7 J! t% k         + u0 x2 [  r  }+ q
         }+ ^  c( L# }: B, v* C: G$ C% D- N
# [9 t: c4 W( j3 B$ `: C

3 Z$ }5 m+ G2 \7 ?5 ^4 t# S0 z void Hc595sendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
- e0 j: R/ z% j$ {8 m/ y# r/ p3 ?
) _5 ]  N% S+ i* \% ? {
1 e+ w) F9 L4 w1 N" }8 k   u8 a ;- O- a# Q# o) m  H% G
   SRCLK=1;% @! a9 I% z1 {5 X) H" o2 [
   RCLK=1;
5 q$ I" t! C& d. U   for(a=0;a<8;a++)        //传递四个参数分别移位四次在移位寄存器当中去
  w0 H; v* n/ T3 i) N. k8 C   {/ \8 Q2 \! [1 V' f' r
        SER =dat1>>7;
6 d* F; T: U- s6 l1 j        dat1<<=1;7 d! c% p9 |% N( @- ~/ q
        SRCLK=0;  W3 B9 N6 |0 r- z3 P
        _nop_();2 H3 u, V/ M9 _
        _nop_();; z* Z# s6 u  j4 Z- p8 g
        SRCLK=1;* o7 k& t7 ~3 _- a% M
    }
" |+ h6 s. H/ r( M. ^% L         2 j/ E4 Q% q8 Y7 c4 w% E& `' g
       for(a=0;a<8;a++)        
$ |0 u. q  U7 o0 ~! n* q   {$ Z' c7 _( p* e6 b" a
        SER =dat2>>7;9 C- K! R0 G7 P  L: n3 U
        dat2<<=1;
- \: q( Z7 U9 E9 l3 v, s5 Q        SRCLK=0;; A8 j0 z  I9 P) ?7 Y# p
        _nop_();3 J4 I0 G/ c; Z6 L
        _nop_();  C: W" z- f; C9 J
        SRCLK=1;
% t* A+ F9 I9 Z1 x; K6 G    }   
3 Q! ]. J( c1 Q& [. u$ j9 I, u       for(a=0;a<8;a++)        + B% U3 T0 v% f4 [: V2 @2 _
   {- q5 K; `. u+ Z  Y" t
        SER =dat3>>7;                         
2 H: u& ?  d3 _+ M& p+ p- R        dat3<<=1;3 @: q1 R; Q6 y* M  E$ {
        SRCLK=0;* B* Q7 u5 o+ I: z
        _nop_();
& G: U; M! w& a/ `        _nop_();9 A7 R: e# k. ?5 K
        SRCLK=1;1 x! @& m) D7 x# e, K/ r
    }
0 g3 T. x4 \3 H" P2 _& T          for(a=0;a<8;a++)         8 z3 m  a& \9 H, W( S. A
   {
- z3 R0 O' |$ l% N9 Q6 C+ L        SER =dat4>>7;
. u/ T* f9 g1 a        dat4<<=1;: S( p" R( [) L2 {5 a# G! x
        SRCLK=0;: R* E0 @9 v5 K% A
        _nop_();# {4 B: I5 B) N1 X
        _nop_();
' J" o- m6 C, V; R8 z& ^        SRCLK=1;( m/ d  ^, t: R5 D0 t2 N: _
    }' t4 l" J1 J  E4 N- z  j# q
         " ~* S1 V: ~" |/ q5 a0 P
       RCLK=0;' i# @! |/ \) z% y8 X5 `3 [
           _nop_();% w& s2 B3 I6 d3 T7 {
           _nop_();
" G3 }1 c# d8 E  I  C                 RCLK=1;
8 m; y( M3 h, V. A7 h* p, O& m( F }( b1 i& ]- R9 [0 k: f

( Q$ D7 C5 i8 }- j5 ]" z1 Q) \' V7 A! Q# `; R
     void main()
- X' l1 G3 }0 g& ~3 S' d& ?8 k$ H     {, P  ]# E# {. o$ d+ \& j
        u8 i ;
* W* h- }/ V5 q) y+ E5 U7 P+ S& W+ s  `) J( |0 h
        while(1)
' R9 }1 k+ f8 s2 M5 }  w6 W       {& s; F  q( L. O9 Z( Y) |; C
                 for(i=0;i<16;i++)
5 u5 ?# J, ~2 U, a% ?9 D) }( |+ R7 u5 y" b0 n( j5 N5 u( H: r
                  {
7 i6 x) ~* A+ `+ x( w0 s8 W- B6 |                          Hc595sendByte(~ledwei1[i+16],~ledwei1,ledduan1[16+i],ledduan1);: a$ o/ h# _1 B) J9 Y- }
                            delay(10);
$ t$ ?" V! _) c" c                  
8 W: K/ l/ C# ]' e/ j                  }, m$ I8 j: Z7 L! {" F
       " ?' A& ]! Y# t7 ^% n. ?
       }' I5 R- c5 H. H7 \
                                                       1 u7 r0 Y* `- i( }& K6 d0 ?$ O1 I
     3 I7 w' x% j* n( z3 [
     ( d4 q/ H7 @% D' v5 _4 |
     }/ A) ]& Z: F# d9 |8 L
[img][/img]
作者: 诸葛翠花    时间: 2018-4-15 23:30
程序在调试的时候显示的全是led字, 我只想led灯显示一个普字,跑出来全是灯在闪烁,我不清楚到底是哪里出了问题




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