|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我是一个刚刚学单片机的菜鸡。 想用8*8点阵屏写两个字,然后跟着视频自己摸索着写出的代码。整改后,虽然没有错误了但是有两个警告。下载到单片机后,没有得到理想的结果。自己搞了很久也没有搞明白,所以请各位大神帮帮我!
$ v5 P4 C& [& l, F! `5 T/ e
5 [* R1 }5 }1 b5 v" Y7 U 我用的是74hc595芯片控制点阵屏。这是警告内容:
) I! E" R$ H3 A/ h. S' h4 e3 y/ E4 A7 G- H4 o/ `9 h
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
6 F$ r) I. m( G, A& g7 X2 i SEGMENT: ?PR?_SEND_BYTE?FUZATUXING
, p7 ? x* f6 L1 n5 m! {0 M- \; q*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS; t5 e. P" h# I6 D
SEGMENT: ?CO?FUZATUXING, \; G; E8 z5 w& m3 ?: C
, G6 Z+ w: T) \1 v
. ^' R" d# C: L0 H这是我的代码:
: B& |* B1 k: W H* B9 v#include <reg52.h>7 l8 ~, [) m* {! w
#include <intrins.h>4 ?- S" V8 i( y) v. A
sbit R_CLK = P3^6;//串行数据输入口
" w4 F+ P. X) ~/ m- Qsbit S_CLK = P3^5;//移位寄存器时钟
& Q$ a! p+ W# U9 V0 I6 Osbit DIO = P3^4; //输出锁存器时钟; p- H: G( P4 X. M" ~! p* N& p
3 v7 q/ i' [4 b& L
unsigned char code table[2][8]={
; f$ O: p, S& h0 H0x0C,0x1E,0x3E,0x7C,0x3E,0x1E,0x0C,0x00,5 m- V+ [* ?) |! m+ _
0x00,0x09,0x29,0x49,0xFD,0x0B,0x09,0x082 w! l5 C# d" @6 c1 H, p
}; //字模代码8 A3 s: E) r- L1 g% D: y
5 W2 {2 `, \! ^& qvoid Send_Byte(unsigned char dat)//发送一个直接数据给点阵模块
2 r# M" J' o2 `5 W0 o{7 P' |' A. ~5 x- n# {% K" u
unsigned char i;" c0 x5 f6 ^2 [" L
S_CLK = 0;
9 d9 a8 B0 n( }0 ] R_CLK = 0;& e' F" G* H- g/ B
for(i=0; i<8; i++)- F3 W: e& w; g$ A: q, H. z$ j
{3 G" r+ H- P! K2 ?* U ^, Y
IF(dat & 0x01)
; ?, I3 G% o. F# ?+ S2 l7 S' H DIO = 1;! W6 \. n9 u4 P, ]1 r4 C
else- A1 |4 {9 i# N: {; D( o* h5 l/ h
DIO = 0;
1 Y1 D: `+ f& e' s3 a S_CLK = 1;4 D/ U- l* O+ A7 q1 }
dat >>= 1;" K( _' Y- H- E1 c
S_CLK = 0; 9 d* I8 v U' C/ K4 _1 Y+ t
}
" [0 _' }9 [3 T$ U}8 ]0 {" p- h* \# [( A3 q
void main()# Y; [9 Z' L" _/ Z/ h! A3 k Q2 D
{- y- m; v! W/ ?0 ~4 G
//ROW 0x80, COL 0xfe: J3 R! B: \ M6 l) `$ {5 ^
unsigned char j,k, ROW;
( t$ o; {6 a4 v: i7 } unsigned int z;8 O; }' I: _" O1 b" n
while(1);' h; S0 G0 g: I; W' ?' L% \0 A; ]
{4 o# {4 Y6 p F
for(k=0; k<2; k++)//循环2次显示出两个字
7 X( d% R! l { {
) m) N2 t$ l( B) [ for(z=0; z<1000; z++)//让每个字显示一定的时长
# o% W- o. v' Q" d0 w# H: {; i {' j: A ]* k# _- ^( d
ROW = 0x80;
! R1 P n+ y. K! t4 y! F for(j=0; j<8; j++)//循环8次写入一个字节数据' n$ S4 x" [ U9 @6 L" ]2 Q
{
- x) q+ |# \% a5 ^- t- n Send_Byte(table[k][j]);* `& @, D0 Y% E6 H
Send_Byte(ROW);2 a9 N; A9 }" Z) v/ t
R_CLK = 1;) T0 A9 l$ |* l4 c# u! v q
R_CLK = 0;0 p; R3 E9 ]: F, S9 R+ O* w
ROW = _cror_(ROW,1);- b5 b( N- `$ n8 x
}
, b3 O! c W C; G( {9 l }1 K8 W0 F- w8 I" a( [ U9 u
}
$ Z$ _) h5 t! m }* R3 Y" p j0 R+ f: j' t1 x
}
- m# X* D* b% R ]+ e# m1 W, U
1 Y) v/ W9 [2 @9 e
6 ~6 s6 G2 ]' J Y- V$ L; b' h! N6 x- y: F. T& y3 i( r- T
5 m# K0 I b5 Z' H6 G$ l7 n7 X4 X0 C7 h p9 h& H
|
|