【51单片机8*8点阵显示箭头动画详细注释】2022-12-1
缘由51单片机实现8*8滚动箭头的程序,运行时什么图案都没有,甚至根本不亮 - 24小时必答区
#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个数据组成一屏即动画速度到全部数据显示完成
}