EDA365电子工程师网

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

作者: 诸葛翠花    时间: 2018-4-15 23:28
标题: 想找人看看这个程序是哪里有问题
#include "reg51.h"
8 @7 H) C7 C2 @2 R8 a#include"intrins.h"
/ B$ l' x( v$ M; i  ]typedef unsigned char u8;0 c3 I4 Y. `$ W& a5 c1 c, \
typedef unsigned char u16;; J& W. K' {( a. }
. K+ Y+ m! I+ h6 G" r
sbit SRCLK=P3^6;8 a5 j4 o3 a) G: X  _+ p) T) {
sbit RCLK=P3^5;* R* v. \5 x. \! U
sbit SER=P3^4;8 ]7 T5 J5 D, Y# n
u8 code ledwei1[]=
5 [- n: s7 f: }% ]# O$ E( m. \ {# ?. f: }9 z) x) F" k
   0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; y! u1 ?  o5 c, u6 j/ L! h3 Q   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
" D; {2 K# ?! Z7 \6 H, f2 I };
% z9 C1 w0 g' C9 E( I u8 code ledduan1[]=" H- ^. q5 Z' T* h; [: Q
{
0 Z6 T4 R% T8 }# Y7 Q* H5 E0 q; W; A /*--  文字:  普  --*/
7 }3 W7 Q1 j% u5 y' S: k4 q, k/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
$ Q/ q9 U# H; `9 M+ _0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,3 D2 m5 [! i3 ~- d8 G, [
0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x002 t8 {2 r( B* W1 O0 R0 M1 i$ v
};$ m3 O4 @. y. c8 z

5 D+ I, R; B: j& u; N8 z; W$ |
+ t3 c, X& L, {1 A; {
8 _3 j5 h2 J: N" Y. ?. t0 u8 c, ?, X" ^0 z- A3 M- `
         void delay(u16 i )' S" q/ b( J4 {& d" H
         {
' H' x, J" f' h' c4 |            while(i--);! m3 S6 A; ~( K: F* n

& a( ~$ E5 f3 b2 {! m4 [         & t( K+ ~+ l. s5 E" ^
         }
8 V, p2 M( `# B% G
' f* T# t. u  i9 r, J/ T# v
/ c8 u" X0 e6 F- }+ N void Hc595sendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)7 l8 p& r4 R! [% q

3 G* q5 {+ A+ U- O, }5 r {& P) N0 G+ ?) Q7 R& ~; t, o
   u8 a ;) K) n& {2 X; X6 ?
   SRCLK=1;$ D/ ]) U( z4 u/ M( G( ~7 P
   RCLK=1;9 d7 z( @1 C# _
   for(a=0;a<8;a++)        //传递四个参数分别移位四次在移位寄存器当中去
$ _" x4 c5 u0 U/ z! m: J0 a   {( H1 v% c; B  E7 N' G8 q
        SER =dat1>>7;
; V2 q: Z1 A, I6 ^$ ~# ]        dat1<<=1;
, N6 b6 ]5 G! L7 h8 x% n( K) p        SRCLK=0;# C- x5 h3 q- M0 R* i6 k4 I7 @  L
        _nop_();: `! S- Y- P& |! [4 H0 ], r6 l
        _nop_();! m5 \) G  n  r
        SRCLK=1;. m! j3 Y. h5 `( y9 g( n
    }% b4 m' p# j  z( @, ]% d& @2 w
         
( q  D; b8 G& N$ P       for(a=0;a<8;a++)        6 |0 P; X# B& Q/ X  z
   {
1 g% ~6 i  B* R        SER =dat2>>7;1 I9 Q, f* P1 e: ?
        dat2<<=1;
2 O4 V/ ^2 M! x& ?/ m) B        SRCLK=0;4 U- }7 U( u! \+ {# d/ }1 r: g3 j9 y4 f) |
        _nop_();  S2 M- V, h. w4 w% J
        _nop_();' [1 z$ v0 b4 p. Y, Z2 }5 j5 i
        SRCLK=1;1 `4 z/ Z+ G/ l' N
    }    3 g6 |: I4 A& ^9 _* U9 U
       for(a=0;a<8;a++)        
+ G% y2 Q9 ?2 ?- d+ j   {) D8 S% V* J5 d
        SER =dat3>>7;                         
7 D& J# n2 c: y  V  d& _        dat3<<=1;
! E$ y& E1 H% r9 i* t+ J  ?) S' e# L        SRCLK=0;
) a2 K# V/ y9 e: B        _nop_();0 I+ b9 f+ L" B' q
        _nop_();
+ g; d& J& }% c7 V        SRCLK=1;
8 A1 a0 g1 V+ T4 h2 J2 f7 D5 t    }5 L1 M; y! z! U# \( @% `4 s4 Q
          for(a=0;a<8;a++)         
4 o4 P" ^$ S3 ^   {
. @1 I4 k9 W+ K4 A8 H) l! F        SER =dat4>>7;& f& H( @2 h! a* `9 _
        dat4<<=1;: l* i1 x( r% H
        SRCLK=0;
+ p3 }: z- M1 `/ l        _nop_();
. s2 q( u  [8 j        _nop_();7 t7 s1 E$ I5 _
        SRCLK=1;
4 {# k9 \& A  J" s$ O    }2 d9 Z) a  q- u
         
( j+ Z; G- b( X# `" g9 N' t       RCLK=0;8 c# a6 c' Z1 ]/ u# c4 ~6 d# u
           _nop_();; `9 ?: r6 \0 k$ y! U2 z! ]
           _nop_();% W& |  h6 _$ A( t
                RCLK=1;! r! A8 P* g* `) i9 }0 U
}
2 Z- u1 Z0 z( ?' f) a2 o. Y* b$ _4 W# U3 w! N& s
: [: o8 y# ]5 z( o" [! }
     void main()
& f3 W+ }. b5 e8 t9 {     {
& W, ]4 M) u) }$ ^& ]* b, J& c        u8 i ;
, {0 k( f" t- s: w3 K* {
( l" j5 G# R" @/ _1 q7 t9 A        while(1)
9 u' X; s" A7 Y* R8 @% Y       {
) W) f& f* c# M  v% L; \                 for(i=0;i<16;i++)
4 \* v; _+ \; ?/ k2 z5 \
$ q# o+ D! C* U                  {
1 o; F7 O' w- f7 F( m7 I0 t' i# b' l                          Hc595sendByte(~ledwei1[i+16],~ledwei1,ledduan1[16+i],ledduan1);
$ k/ {: b- Z+ S7 m8 Y* z: F                            delay(10);9 [* P, l  P! p) ~- X, o
                  6 z) G1 d+ o6 B8 V1 @" l0 o
                  }
" q" \7 {) ]6 |0 O' l0 F       : u% v' @; H" I9 }
       }6 _1 s8 \: J+ w
                                                       7 g; q* G& g6 ?* e& d. m
     6 F' V  x/ n9 n' i7 U- K( z3 I
     
3 n' ~* B0 S1 N8 I4 H     }
, m  |0 c5 ]7 d8 Q[img][/img]
作者: 诸葛翠花    时间: 2018-4-15 23:30
程序在调试的时候显示的全是led字, 我只想led灯显示一个普字,跑出来全是灯在闪烁,我不清楚到底是哪里出了问题




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