【51单片机8*8点阵显示箭头动画详细注释】2022-12-1

缘由51单片机实现8*8滚动箭头的程序,运行时什么图案都没有,甚至根本不亮 - 24小时必答区

cpp 复制代码
#include<reg52.h>
unsigned char code M[]={
  0xff,0xff,0xfe,0xfd,0xf8,0xfd,0xfe,0xff,
  0xff,0xff,0xfd,0xfb,0xf0,0xfb,0xfd,0xff,
  0xff,0xff,0xfb,0xf7,0xe0,0xf7,0xfb,0xff,
  0xff,0xff,0xf7,0xef,0xc0,0xef,0xf7,0xff,
  0xff,0xff,0xef,0xdf,0x80,0xdf,0xef,0xff,
  0xff,0xff,0xdf,0xbf,0x00,0xbf,0xdf,0xff};
void main()
{
    unsigned char wei=0,zt=0,ys=0,cs=0,sj=0;
    while(1)
    {//入门时可以用独占计数延时到处嵌套,入门后中高级应用就不能再使用到处独占嵌套循环延时,除了数码管、点阵显示器需要外。
        if(wei==0)wei=1;else wei*=2;//点阵位控制类似8位数码管的位
        P3=M[sj+cs];//点阵数据对应1位8个灯亮灭
        P2=wei;
        while(++ys);//显示延时必须独占
        P2=P3=255;//消隐
        if(++sj>8){sj=0;++zt;}//控制点阵一屏显示完成同时计算切合延时非独占
        if(zt>47){cs+=8;if(cs>40)cs=0;zt=0;}
    }//控制切换速度另8个数据组成一屏即动画速度到全部数据显示完成
}
相关推荐
林炳然25 分钟前
将软件从C盘迁移至D盘:释放系统盘空间的终极指南
笔记
Source.Liu34 分钟前
mdBook 开源笔记
笔记·rust·markdown
Lyre丶44 分钟前
Ubuntu 24.04 LTS 安装GAMIT
linux·经验分享·学习·ubuntu·gamit
啊?啊?1 小时前
C/C++练手小项目之倒计时与下载进度条模拟
c语言·开发语言·c++
_dindong1 小时前
Linux系统编程:线程概念
linux·运维·笔记·学习
正点原子1 小时前
正点原子 x STM32:智能加速边缘AI应用开发!
人工智能·stm32·嵌入式硬件
田甲1 小时前
【STM32】基于串口的bootloader
stm32·单片机·嵌入式硬件
Olrookie1 小时前
若依前后端分离版学习笔记(十六)——scoped、路由跳转
前端·笔记
Olrookie1 小时前
若依前后端分离版学习笔记(十七)——ruoyi开发规范&流程,请求流程,依赖引入,组件注册&通信
前端·笔记
上园村蜻蜓队长2 小时前
FPGA自学笔记--VIVADO FIFO IP核控制和使用
笔记·fpga开发