找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2653|回复: 13
打印 上一主题 下一主题
收起左侧

萌新求助怎么写8*8点阵的单片机代码?

[复制链接]
跳转到指定楼层
楼主
  例如0xc3,0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff萌新只知道这是代表一帧的图像却不懂为什么是这样应该怎么才能知道他在这一帧代表的图像什么样的源代码这样的的时候他的图像是一个方向向左从右到左的箭头,那么如果想让它变为箭头方向向右从左往右应该怎么修改代码呢?希望大佬指点,谢谢 #include<stdio.h>#define uchar unsigned char
#define uint unsigned int
sbit RCK_PIN=P3^2;
char code DSY_CONTENT_8X8[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xf7,0xe3,0x81,0x00,0xc3,0xc3,
0xc3,0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff

};
uchar Scan_bit=0x01;
uchar Offset,Data_Index=0;
void Delay_MS(uint x)
{
uchar i;
while(--x)
for(i=0;i<120;i++);
}
void int0()interrupt 1
{
TH0=-1000/256;
TL0=-1000%256;
Scan_bit=_cror_(Scan_bit,1);
putchar(Scan_bit);
while(TI==0);
putchar(DSY_CONTENT_8X8[Offset+Data_Index+8]) ;
while(TI==0);
putchar(DSY_CONTENT_8X8[Offset+Data_Index]) ;
while(TI==0);
Data_Index=(Data_Index+1)%8;
RCK_PIN=1;
RCK_PIN=0;
}
void main()
{
TMOD=0X01;
IE=0X82;
TH0=-1000/256;
TL0=-1000%256;
TCON=0X00;
TI=1;
while(1)
{uchar i;
  for(i=0;i<32;i++)
  {Offset=i;
  TR0=1;
  Delay_MS(50);
  TR0=0;
  }
}
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2020-6-3 08:58 | 只看该作者
代码
0xff,0xff,0xf7,0xe3,0x81,0x00,0xc3,0xc3,
0xc3,0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff,

改成 8位二进制数

11111111 0xff,
11111111 0xff,
11110111 0xf7,
11100011 0xe3,
10000001 0x81,
00000000 0x00,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11100111 0xe7,
11100111 0xe7,
11111111 0xff,

你看到了什么?

回复

使用道具 举报

板凳
ID:282850 发表于 2020-6-3 09:31 | 只看该作者
楼上高,简化了一下
    0          0xf7,
    000        0xe3,
  000000     0x8 ,
00000000   0x00,
   0000       0xc3,
   0000       0xc3,
   0000       0xc3,
   0000       0xc3,
   0000       0xc3,
   0000       0xc3,
   0000       0xc3,
    00        0xe7,
    00        0xe7,
               0xff,
回复

使用道具 举报

地板
ID:764785 发表于 2020-6-3 16:52 | 只看该作者
angmall 发表于 2020-6-3 08:58
代码
0xff,0xff,0xf7,0xe3,0x81,0x00,0xc3,0xc3,
0xc3,0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff,

谢谢大佬回复,萌新还是不太懂,只知道11111111代表全接高电平不知道他为啥代表屏幕上的箭头的那个点
回复

使用道具 举报

5#
ID:764785 发表于 2020-6-3 17:02 | 只看该作者
f556 发表于 2020-6-3 09:31
楼上高,简化了一下
    0          0xf7,
    000        0xe3,

谢谢大佬回复萌新还不是不懂问什么0xf7代表0,还有萌新按照大佬给的参考改了一下代码将箭头方向 改了一下却发现实际运行时没有任何变化是为什么
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xf7,0xe3,0x81,0x00,0xc3,0xc3,0xc3,
0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
回复

使用道具 举报

6#
ID:745145 发表于 2020-6-3 22:45 | 只看该作者
下载一个取字模的软件,改一下字模方向就行,或者直接取源程序里面改方向
回复

使用道具 举报

7#
ID:282850 发表于 2020-6-4 09:38 | 只看该作者
izumieien 发表于 2020-6-3 17:02
谢谢大佬回复萌新还不是不懂问什么0xf7代表0,还有萌新按照大佬给的参考改了一下代码将箭头方向 改了一下 ...

0xff、0xf7的二进制是多少?这必需要会,而且要心算。
0形成的图形没看清楚?
0点亮LED!1关闭LED!
回复

使用道具 举报

8#
ID:764785 发表于 2020-6-4 09:58 | 只看该作者
1231158 发表于 2020-6-3 22:45
下载一个取字模的软件,改一下字模方向就行,或者直接取源程序里面改方向

谢谢大佬回复,萌新刚学对这个一头雾水请问要怎么修改代码才能将箭头方向和运行方向反过来呢
回复

使用道具 举报

9#
ID:764785 发表于 2020-6-4 10:26 | 只看该作者
f556 发表于 2020-6-4 09:38
0xff、0xf7的二进制是多少?这必需要会,而且要心算。
0形成的图形没看清楚?
0点亮LED!1关闭LED!

谢谢大佬,萌新懂了这个了但是我把中间的箭头代码改成了0xff,0xf7,0xe3,0x81,0x00,0xc3,0xc3,0xc3,
0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff,0xff,仿真时却没有发生任何变化,箭头方向没变运行方向也没变接下来应该怎么修改代码呢?
回复

使用道具 举报

10#
ID:769090 发表于 2020-6-4 10:39 | 只看该作者
8*8点阵代码分共阳极和共阴极两种,共阳极是亮的地方是0,不亮的地方是1,共阴极相反,再从左开始数,比如第一行十六个两点,第六七亮,其余灭,就是00000110,00000000转换成16进制就是60(16)。
回复

使用道具 举报

11#
ID:764785 发表于 2020-6-4 10:54 | 只看该作者
LJING 发表于 2020-6-4 10:39
8*8点阵代码分共阳极和共阴极两种,共阳极是亮的地方是0,不亮的地方是1,共阴极相反,再从左开始数,比如 ...

谢谢大佬,萌新懂了这个了但是我把中间的箭头代码改成了0xff,0xf7,0xe3,0x81,0x00,0xc3,0xc3,0xc3,
0xc3,0xc3,0xc3,0xc3,0xe7,0xe7,0xff,0xff,仿真时却没有发生任何变化,箭头方向没变运行方向也没变接下来应该怎么修改代码呢?
回复

使用道具 举报

12#
ID:155507 发表于 2020-6-4 20:13 | 只看该作者
11111111 0xff,
11111111 0xff,
11110111 0xf7,
11100011 0xe3,
10000001 0x81,
00000000 0x00,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11100111 0xe7,
11100111 0xe7,
11111111 0xff,

把中间的箭头代码改成了

11111111 0xff,
11100111 0xe7,
11100111 0xe7,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
11000011 0xc3,
00000000 0x00,
10000001 0x81,
11100011 0xe3,
11110111 0xf7,
11111111 0xff,
11111111 0xff,

修改代码
0xff,0xe7,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,
0xc3,0xc3,0xe3,0x00,0x81,0xf7,0xff,0xff,


回复

使用道具 举报

13#
ID:764785 发表于 2020-6-4 22:23 | 只看该作者
angmall 发表于 2020-6-4 20:13
11111111 0xff,
11111111 0xff,
11110111 0xf7,

非常感谢大佬的指点,给大佬点赞,我已经懂了这个怎么改变箭头的方向如果想要修改这个箭头的运行方向使它变为从屏幕左侧移动到右侧应该怎么修改代码才能实现呢?
回复

使用道具 举报

14#
ID:526281 发表于 2020-6-9 20:46 | 只看该作者
izumieien 发表于 2020-6-4 22:23
非常感谢大佬的指点,给大佬点赞,我已经懂了这个怎么改变箭头的方向如果想要修改这个箭头的运行方 ...

点阵的显示的内容完全是软件,是你自己写的代码可以控制让它显示对应的画面。但是运行方向是由软件及硬件共同控制的,虽然大部分可以仅仅通过调试软件实现,但可能需要对程序进行较大的改动。所以如果程序有注释或者有硬件图的话,会更好分析一些
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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