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; K
sbit 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 Q
0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,
% P& C- T% {" d
0x00,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- u
1 ^$ \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 ]" z
1 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+ E
5 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