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" e
typedef 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( K
sbit 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