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,0x00
2 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