EDA365电子工程师网

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

作者: 诸葛翠花    时间: 2018-4-15 23:28
标题: 想找人看看这个程序是哪里有问题
#include "reg51.h": P% R& o9 N1 G* m6 r
#include"intrins.h"
& w2 _8 n( x, K2 M" etypedef unsigned char u8;  H, e6 o; N  f7 p3 a( x% w
typedef unsigned char u16;% m5 Y, G- [3 z. y8 F- D& \1 u

4 x( m0 I+ G1 R  S' V( Ksbit SRCLK=P3^6;# A( H5 [( t' F6 o
sbit RCLK=P3^5;$ J: F: j9 P+ g( p$ m- L
sbit SER=P3^4;
$ b9 o" O' b$ R* N u8 code ledwei1[]=
& M; X; ]5 J& w  g$ a; u {
& a( P$ j$ U/ E3 e   0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
( ~8 z6 \+ R. H& ^0 `   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
5 [, K( q0 n0 w" M$ c3 @5 Z };" x7 B) a! i; o# _1 d
u8 code ledduan1[]=$ n! l- n' s! N3 C- Q
{
( m7 v; @) s, q  q# Q& l /*--  文字:  普  --*/: I5 d  r* x4 F" e/ G; {3 Y
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/3 @) f3 K% @, C7 x
0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,4 Q8 g& ]& n+ H+ T
0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00
4 r2 a3 G4 C# n8 i};" q3 n, B7 H( j6 {8 c5 Y
% _( I  I1 S# L1 P2 N

) Y9 R4 ?9 J' n9 f2 G1 C( B+ _/ A; @! c% S. ~$ S
$ a* Z& \' {% A! q( {3 l1 ?5 B$ |; R
         void delay(u16 i )
% ~* }4 x6 [3 p' @& H% h         {
3 o5 H. \; U  S$ G& Y5 E$ g' Y$ X            while(i--);
. r, z" P, w: A' n+ I
* k( Q; X; x6 y% l7 N0 J         " J: z3 A: r; E2 X! m. R3 u
         }
& j& j: |, C# u$ h. P. H  p/ L2 |+ \+ F) v) j

* c% S3 c3 F# Z1 f void Hc595sendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)) H' l3 Q* n$ B+ @
2 ?+ p7 f4 w4 @! O; w
{6 m1 y. T* [& k0 J) ^6 K" }2 P+ I
   u8 a ;
. A/ i1 ~4 }+ ~8 @  I   SRCLK=1;, a3 Q" A' f% Q9 V. q* e, ?& s6 U
   RCLK=1;
% [. z8 c  t% R! D" H: ~  Q! b' C   for(a=0;a<8;a++)        //传递四个参数分别移位四次在移位寄存器当中去
# r4 a' L2 T/ o" i: Y# \7 o   {1 i3 D# v. l. F4 m' L2 _4 _
        SER =dat1>>7;/ r, v( u( d: b% v* b4 a5 Q
        dat1<<=1;9 C7 ^9 E0 z, _7 g9 r
        SRCLK=0;
& o. t! ~$ N2 U: R; Y. ~2 H        _nop_();
$ }( b5 i- D' }/ b        _nop_();6 A6 g3 K0 t4 R- l
        SRCLK=1;/ K( h- }$ J, w8 F6 g
    }( T, Y1 Y6 W3 I& N% c1 M/ M
           ~: C6 w% v8 ]! {
       for(a=0;a<8;a++)        
) t, x3 y2 T: d. \, S) y   {& ^5 P0 U" v# ^
        SER =dat2>>7;
0 S* ?( ~: r$ t- T0 p        dat2<<=1;% e8 u5 T- ?" j% h% }
        SRCLK=0;5 n5 b3 B  K: ~! d# U; u
        _nop_();
; m% E7 b9 n' ^- ?        _nop_();
, y4 M5 N5 L& q8 G* t        SRCLK=1;
/ x# l, a% y5 V& E, T2 L; Z    }   
% f( r0 T' i8 I4 ]- L8 U4 C       for(a=0;a<8;a++)        2 ~+ m. J3 n* n* X  k
   {
, ~* q+ J" b6 |  Z( g+ A1 h0 I) V4 k, D        SER =dat3>>7;                         
( M0 B9 t& U& k  q8 n( U        dat3<<=1;' M8 V  B1 b& c0 d0 |
        SRCLK=0;
$ _) z- {& U5 f( |$ D        _nop_();
: U# q0 D  W1 O) S6 F4 K        _nop_();
" {& q/ x$ z8 M. q! p: Y$ W        SRCLK=1;
& L1 j+ u* U) W) C    }0 p0 e* x' E  y2 K3 x1 f3 M
          for(a=0;a<8;a++)         5 L! e6 |: a+ f/ l6 R
   {
/ R% f( B% J" U& ?( h2 v, f        SER =dat4>>7;& y6 g, a( X! T! J' \' W
        dat4<<=1;
5 ?; ^" `: \2 h8 l+ `  X5 z! p/ a        SRCLK=0;( C( Z! |/ b3 j4 |/ _
        _nop_();
5 b+ N9 j) W- _9 n& e5 d9 G$ J% T        _nop_();8 N3 v2 `! L- E  r/ e. ^
        SRCLK=1;
- n) h, u" U7 i& H+ `' e. S    }
# ~- r0 @3 N; M# W         3 g/ o5 l) a7 h
       RCLK=0;
1 A  A8 t+ `0 Q           _nop_();) t6 m( b. D5 o( x5 }2 ^
           _nop_();
+ Q7 E, ]7 ^7 M                 RCLK=1;! P6 ^( _# c5 s% o% H
}" S% }( l& }9 e5 m
; B, E2 U, l# y+ J

; _# A! {( M. A/ i     void main()
2 R3 x  I0 M/ R- P- h/ Z     {; A) ?8 [3 Y& S0 j) @; L; C
        u8 i ;: c; d3 M  n" O7 D

: ?$ y8 l/ M8 a        while(1)
$ I. F0 W- b$ I6 T5 W, k       {' N, K6 m9 E9 x" r+ X2 r, k$ s
                 for(i=0;i<16;i++)
% n# @! H& s# [, {. p0 G
' m3 d- B! W6 x2 `8 h* a5 W                  {% v0 }" s% ]- O* S% {1 P4 ~+ V8 M
                          Hc595sendByte(~ledwei1[i+16],~ledwei1,ledduan1[16+i],ledduan1);
2 R8 C3 |  [( t8 ~4 i* @% u                            delay(10);
4 ]& k& B1 }8 F/ R                  
9 `! Z2 V7 F+ I4 N                  }* N8 N! d- T3 N1 w
      
8 e0 d: M  F% X/ V8 p0 X% [; i       }
2 W; o4 ~( S0 B: s                                                       ) H. c0 n4 c" P) _8 l7 `: c, H# c
     1 S4 _) E1 n$ T* u3 s
     
* j+ K# C4 B9 A1 O3 T( a3 y) v2 _# k     }
8 p% V7 O3 X& }7 D/ V' }; }" P4 o[img][/img]
作者: 诸葛翠花    时间: 2018-4-15 23:30
程序在调试的时候显示的全是led字, 我只想led灯显示一个普字,跑出来全是灯在闪烁,我不清楚到底是哪里出了问题




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