查看: 229|回复: 0

[未解决] proteus点阵8*8led右移箭头相关问题,本人学生不太会

[复制链接]

该用户从未签到

发表于 2022-1-14 11:10 | 显示全部楼层 |阅读模式
怎样使移动箭头后无图案的led灯熄灭,也就是图片里箭头移动后后面跟着的红色方块。
#include <reg51.h>
//定义74HC595控制管脚
sbit SCK=P3^6;
sbit RCK=P3^5;
sbit SER=P3^4;
unsigned char matrixLED1[8]={0x00,0x38,0x38,0x38,0xfe,0x7c,0x38,0x10};//LED点阵高电平端口数据
unsigned char temp[8];//存储改动后的图形
unsigned char matrixLED0[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED点阵低电平端口数据
void delay(unsigned int a)
{
   while(a--);
   }
void col_data(unsigned char dat)
{
unsigned char i=0;
for(i=0;i<8;i++)//循环8次即可将一个字节写入寄存器中
{SER=dat>>7;//!优先传输一个字节中的高位
dat<<=1;//将下一位移动到高位
SCK=0;
delay(1);
SCK=1;
delay(1); //上升沿时数据移位
}
RCK=0;
delay(1);
RCK=1;//上升沿时移位寄存器数据并行输出
}
void main()
{
unsigned char i,j,k;
while(1)
   {
for (i=0;i<15;i++)//调整待显示图形数据
   {
      if(i<8)
   {
      for(j=0;j<8;j++)  temp[j]=matrixLED0[j]<<(7-i);
      }
else
   {
      for(j=0;j<8;j++)
         temp[j]=matrixLED0[j]>>(i-7);
         }
for(k=0;k<5;k++)
   {
   for(j=0;j<8;j++)
      {
         P0=temp[j];
         col_data(matrixLED1[j]);//传送高电平端口数据
         delay(100);
         col_data(0x00);
         }
         }}}}

QQ录屏20220114105711.gif
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

毕设求助!max30102与gy906实现脉搏体温测量
毕设求助!max30102与gy90
各位大佬,我最近在搞毕业设计,想通过arduino,max30102,gy906实现脉搏体温测量,但
arduino解码sbus
arduino解码sbus
市面上有很多sbus接收机,它只有一根线就可以实现很多通道的通信,其本质利用了串口通
香蕉派 BPI-R3 开源路由器开发板采用 联发科MT7986(Filogic 830)
香蕉派 BPI-R3 开源路由器
香蕉派 BPI-R3 开源路由器开发板采用 联发科MT7986(Filogic 830)芯片设计,支持Wi-Fi 6
求智能垃圾桶编程代码
求智能垃圾桶编程代码
求大佬解答 很急!!
安信可ESP32点灯APP自动浇花和天气空气质量
安信可ESP32点灯APP自动浇
本人是完全不懂C语言,大部分都是借鉴各位大佬的,没有时间和精力去学习C语言,能达
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表