
lude<STC12C2052ADH>
#define W_U 64
#define W_D 32
sbit DAT=P1^0;
sbit CLK=P1^1;
sbit RCK=P1^2;
sbit LED_R=P1^6;
sbit LED_L=P1^7;
sbit KEY1=P3^4;
sbit KEY2=P3^5;
sbit DSEN=P3^2;
int n=0;
unsigned char code tab2[]={
/------------------------------------------------------------------------------
源文件 / 文字 : 星光灿烂
宽×高(像素): 64×32
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节正序/256字节
数据转换日期 : 2006-10-29 21:17:15
------------------------------------------------------------------------------/
0x00,0x00,0x44,0x7F,0x55,0x55,0x55,0x57,0x55,0x55,0x7D,0x01,0x00,0x00,0x00,0x02,
0x02,0x12,0x0A,0x03,0x42,0x7E,0x03,0x0A,0x32,0x02,0x02,0x00,0x00,0x0F,0x00,0x7F,
0x04,0x08,0x0F,0x00,0x00,0x7F,0x00,0x00,0x1F,0x00,0x00,0x0F,0x00,0x7F,0x04,0x04,
0x08,0x78,0x08,0x08,0x38,0x68,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x48,0x88,0x08,0x28,0x28,0x28,0xF8,0x28,0x28,0x28,0x08,0x08,0x00,0x00,0x08,
0x08,0x10,0x30,0xC0,0x00,0x00,0xF8,0x08,0x08,0x08,0x10,0x00,0x00,0x08,0x30,0xC0,
0x40,0x20,0xF8,0x08,0x10,0xF0,0x10,0x10,0xF8,0x00,0x00,0x08,0x30,0xC0,0x40,0x20,
0x90,0x90,0x90,0x90,0x90,0x90,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
unsigned int prictur=0;
void delay(unsigned int i)
{
unsigned int j,k;
for(i;i>0;i--)
for(j=8;j>0;j--)
for(k=20;k>0;k--);
}
void init_port()
{
P1M0=0x00;
P1M1=0x00;
}
void display()
{
unsigned long add=0;
unsigned char num;
unsigned int i;
add=n+prictur256;
num=tab2[add];
for(i=0;i<8;i++)
{
CLK=0;
DAT=!(0x80&num);
CLK=1;
num<<=1;
}
num=tab2[add+W_U];
for(i=0;i<8;i++)
{
CLK=0;
DAT=!(0x80&num);
CLK=1;
num<<=1;
}
num=tab2[add+2W_U];
for(i=0;i<8;i++)
{
CLK=0;
DAT=!(0x80&num);
CLK=1;
num<<=1;
}
num=tab2[add+3W_U];
for(i=0;i<8;i++)
{
CLK=0;
DAT=!(0x80&num);
CLK=1;
num<<=1;
}
RCK=0;
RCK=1;
}
void display_CLR()
{
unsigned int i;
for(i=0;i<32;i++)
{
CLK=0;
DAT=1;
CLK=1;
}
RCK=0;
RCK=1;
}
void LED(unsigned int n)
{
unsigned int i;
for(i=32-n;i>0;i--)
{
CLK=0;
DAT=1;
CLK=1;
}
for(i=n;i>0;i--)
{
CLK=0;
DAT=0;
CLK=1;
}
RCK=0;
RCK=1;
delay(250);
for(i=0;i<32;i++)
{
CLK=0;
DAT=1;
CLK=1;
RCK=0;
RCK=1;
delay(200);
}
}
void main()
{
unsigned int w;
init_port();
n=0;
LED_R=0;
LED_L=1;
while(1)
{
LED_L=!LED_L;
LED_R=!LED_R;
if(KEY1==0)
{
while(!KEY1);
prictur++;
LED(prictur+1);
delay(50);
}
if(KEY2==0)
{
while(!KEY1);
prictur=0;
LED(prictur+1);
delay(50);
}
if(DSEN==0)
{
delay(200);
n=0;
for(w=0;w<W_U;w++)
{
display();
n++;
delay(2);
}
display_CLR();
delay(20);
}
}
}
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。
2、编写相应的代码:#include<reg52h> //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f; //点亮前面三个灯。这里是十六进制的换算, //不懂得可以查一下资料 }。
3、打开烧写软件,点击打开文件,寻找刚刚编写的程序。
4、找到相应的文件夹以后,寻找HEX文件。这是所能烧写软件识别的程序。
5、找到程序以后,将单片机连接到电脑,并点击程序下载,将程序烧写进单片机。
6、程序下载进单片机以后就能够看到八个led点亮了前面三个。
LED旋转屏也叫led旋转魔方屏、三棱魔方柱。是由三角形或四方形LED显示屏箱体组合,在旋转支撑、不绕线导电刷、转动花样软件编程等多个系统配合下,使三个三角形或四方形LED显示屏按照电脑编制的程序—-不同时间花样转动—-定格在一个平面,展示三个视频画面。加工制作1379141119张文
#include
#defineucharunsignedchar
#defineuintunsignedint
voidDelayms(uintx)
{
uinti,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
voidmain(){
uchari,j;
while(1)
{
j=0x01;//8个流水灯逐个闪动
for(i=0;i
{
P0=~j;
Delayms(300);
j
}
j=0x80;//8个流水灯反向逐个闪动
for(i=0;i
{
P0=~j;
Delayms(300);
j>>=1;
}
}
}
以上就是关于各位大哥谁有led旋转时钟的资料啊全部的内容,包括:各位大哥谁有led旋转时钟的资料啊、单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED暗!循环、旋转LED屏是怎么实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)