找回密码
 注册
关于网站域名变更的通知
查看: 391|回复: 2
打印 上一主题 下一主题

我是一个刚刚学单片机的菜鸡。 想用8*8点阵屏写两个字

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-13 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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
  • TA的每日心情

    2019-11-19 15:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-1-13 17:12 | 只看该作者
    代码有问题

    该用户从未签到

    3#
    发表于 2020-2-21 14:36 | 只看该作者
    IF(dat & 0x01)  大写没问题?
    8 I& q/ A- \- q- H
    3 q) V, H3 Q6 e+ r3 E2 K# P2 B你这个编译都没过吧?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-18 12:11 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表