求一个led程序单排16个灯的接p0,p2口 旋转屏的

求一个led程序单排16个灯的接p0,p2口 旋转屏的,第1张

你是想做旋转时钟的吗?我这两天刚写的一个!我也是新手!是我自己在宿舍做的旋转LED!

可能程序写的不是太好!你大概的看看吧!

旋转的速度大小问题,你可以改变延时来控制数字处于正中间!

#include <reg52h>

#define uchar unsigned char

#define uint unsigned int //宏定义

uchar code Data_0[]=

{

//0

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0xF8,0x1F,0x0C,0x30,0x04,0x20,

0x04,0x20,0x04,0x20,0x0C,0x30,0xF8,0x1F,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_1[]=

{ //1

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x20,0xF8,0x3F,

0xFC,0x3F,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_2[]=

{

//2

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x20,0x38,0x30,0x0C,0x38,0x04,0x2C,

0x04,0x26,0x0C,0x23,0xF8,0x21,0xF0,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_3[]=

{

//3

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x18,0x18,0x0C,0x30,0x84,0x20,

0x84,0x20,0xCC,0x31,0x78,0x1F,0x30,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_4[]=

{

//4

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x80,0x07,0xC0,0x05,0x70,0x04,0x18,0x24,

0xFC,0x3F,0xFE,0x3F,0x00,0x24,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_5[]=

{

//5

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x08,0xFC,0x18,0xC4,0x30,0x44,0x20,

0x44,0x20,0xC4,0x30,0x84,0x1F,0x04,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_6[]=

{

//6

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0xF8,0x1F,0x8C,0x30,0x44,0x20,

0x44,0x20,0xCC,0x30,0x98,0x1F,0x10,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_7[]=

{

//7

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x0C,0x00,0x0C,0x3C,0x0C,0x3F,

0xCC,0x03,0xEC,0x00,0x3C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_8[]=

{

//8

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x0E,0x78,0x1F,0xCC,0x31,0x84,0x20,

0x84,0x20,0xCC,0x31,0x78,0x1F,0x30,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_9[]=

{

//9

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x08,0xF8,0x19,0x0C,0x33,0x04,0x22,

0x04,0x22,0x0C,0x33,0xF8,0x1F,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uchar code Data_A[]=

{

//:

0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

uint a;

uchar i;

uchar tt,shi,fen,miao;

uchar shi1,shi2;

uchar fen1;fen2;

uchar miao1,miao2;

uchar iflag,idexflag;

void DelayUs(uint N)

{

uint x;

for(x=0; x<=N;x++);

}

void init()

{

shi=20;

fen=9;

miao=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void timeshow(uchar m);

void miaoshow();

void fenshow();

void shishow();

void Ashow();

void main()

{

init();

while(1)

{

}

}

void timer() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

tt++;

iflag++;

if(iflag==1)

{

iflag=0;

shishow();

Ashow();

fenshow();

Ashow();

miaoshow();

DelayUs(4000);

}

if(tt==15)

{

tt=0;

miao++;

if(miao>=60)

{

miao=0;

fen++;

if(fen>=60)

{

fen=0;

shi++;

if(shi>=24)

{

shi=0;

}

}

}

}

}

void Ashow()

{

timeshow(10);

}

void shishow()

{

uchar m,n;

m=shi/10;

n=shi%10;

timeshow(m);

timeshow(n);

}

void fenshow()

{

uchar m,n;

m=fen/10;

n=fen%10;

timeshow(m);

timeshow(n);

}

void miaoshow()

{

uchar m,n;

m=miao/10;

n=miao%10;

timeshow(m);

timeshow(n);

}

void timeshow(uchar m)

{

if(m==0)

{

for(i=0;i<16;i++)

{

P0=~Data_0[i2];

P2=~Data_0[i2+1];

DelayUs(20);

}

}

if(m==1)

{

for(i=0;i<16;i++)

{

P0=~Data_1[i2];

P2=~Data_1[i2+1];

DelayUs(20);

}

}

if(m==2)

{

for(i=0;i<16;i++)

{

P0=~Data_2[i2];

P2=~Data_2[i2+1];

DelayUs(20);

}

}

if(m==3)

{

for(i=0;i<16;i++)

{

P0=~Data_3[i2];

P2=~Data_3[i2+1];

DelayUs(20);

}

}

if(m==4)

{

for(i=0;i<16;i++)

{

P0=~Data_4[i2];

P2=~Data_4[i2+1];

DelayUs(20);

}

}

if(m==5)

{

for(i=0;i<16;i++)

{

P0=~Data_5[i2];

P2=~Data_5[i2+1];

DelayUs(20);

}

}

if(m==6)

{

for(i=0;i<16;i++)

{

P0=~Data_6[i2];

P2=~Data_6[i2+1];

DelayUs(20);

}

}

if(m==7)

{

for(i=0;i<16;i++)

{

P0=~Data_7[i2];

P2=~Data_7[i2+1];

DelayUs(20);

}

}

if(m==8)

{

for(i=0;i<16;i++)

{

P0=~Data_8[i2];

P2=~Data_8[i2+1];

DelayUs(20);

}

}

if(m==9)

{

for(i=0;i<16;i++)

{

P0=~Data_9[i2];

P2=~Data_9[i2+1];

DelayUs(20);

}

}

if(m==10)

{

for(i=0;i<16;i++)

{

P0=~Data_A[i2];

P2=~Data_A[i2+1];

DelayUs(20);

}

}

}

LED旋转屏也叫led旋转魔方屏、三棱魔方柱。是由三角形或四方形LED显示屏箱体组合,在旋转支撑、不绕线导电刷、转动花样软件编程等多个系统配合下,使三个三角形或四方形LED显示屏按照电脑编制的程序—-不同时间花样转动—-定格在一个平面,展示三个视频画面。加工制作1379141119张文

以上就是关于求一个led程序单排16个灯的接p0,p2口 旋转屏的全部的内容,包括:求一个led程序单排16个灯的接p0,p2口 旋转屏的、旋转LED屏是怎么实现的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10114217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存