📄 22.1184mhz_light.c
字号:
#include "reg52.h"
sbit RSin = 0x92;
sbit RStr = 0x94;
sbit RSck = 0x93;
unsigned char showsbuf[32];
unsigned char code sbuf[16]={0x00,0xE2,0xF2,0x92,0x9E,0x8C,0,0,11,12,13,14,15};
unsigned char code HZ_CODE[]={
0x00,0x01,0x00,0x0E,0x7F,0xF0,0x44,0x82,0x44,0x81,0x7F,0xFE,0x22,0x20,0x1A,0x20,
0x02,0x20,0xFF,0xFF,0x02,0x20,0x0A,0x20,0x32,0x20,0x12,0x20,0x00,0x20,0x00,0x00,
0x00,0x01,0x00,0x0E,0x7F,0xF0,0x44,0x82,0x44,0x81,0x7F,0xFE,0x22,0x20,0x1A,0x20,
0x02,0x20,0xFF,0xFF,0x02,0x20,0x0A,0x20,0x32,0x20,0x12,0x20,0x00,0x20,0x00,0x00,
0x00,0x10,0x00,0x10,0x1F,0xD0,0x14,0x90,0x94,0x90,0x74,0x90,0x54,0x90,0x1F,0xFF,
0x14,0x90,0x34,0x90,0xD4,0x90,0x54,0x90,0x1F,0xD0,0x00,0x10,0x00,0x10,0x00,0x00,
0x00,0x01,0x00,0x02,0x00,0x0C,0x7F,0xF0,0x08,0x80,0x08,0x80,0x08,0x80,0x08,0x80,
0x08,0x80,0xF8,0x80,0x08,0x80,0x08,0xFF,0x08,0x00,0x18,0x00,0x08,0x00,0x00,0x00,
0x10,0x20,0x10,0xC0,0x13,0x00,0xFF,0xFF,0x12,0x00,0x11,0x82,0x10,0x0C,0x00,0x30,
0x7F,0xC0,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x1E,0x00,0x00,
0x00,0x04,0x00,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x7F,0xFC,
0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x00,0x04,0x00,0x00,
0x01,0x00,0x02,0x00,0x04,0x00,0x1F,0xFF,0xE0,0x00,0x44,0x00,0x18,0x00,0x30,0x00,
0xDF,0xFF,0x12,0x20,0x12,0x20,0x12,0x20,0x16,0x20,0x12,0x60,0x10,0x20,0x00,0x00,
0x00,0x02,0x08,0x02,0x34,0x12,0x24,0x92,0x25,0x92,0x26,0x92,0xA4,0x92,0x64,0xFE,
0x24,0x92,0x24,0x92,0x25,0x92,0x24,0xD2,0x2C,0x12,0x34,0x02,0x20,0x02,0x00,0x00
};
void delay(unsigned char x)
{
unsigned int i;
unsigned char y;
for( y=0;y < x;y++)
{
for( i=0;i < 80;i++);
}
}
void Show_8(unsigned char zz)
{
unsigned char i;
zz=~zz;
RStr=0;
for(i=0;i<8;i++)
{
RSck=0;
zz<<=1;
RSin=CY;
RSck=1;
}
RStr=1;
}
void Show_HZ2()
{
unsigned char i,x;
x=0x7f;
for(i=0;i<16;i+=2)
{
Show_8(showsbuf[16+i]);
Show_8(showsbuf[i]);
P0=x;
delay(1);
P0=0xFF;
Show_8(showsbuf[16+i+1]);
Show_8(showsbuf[i+1]);
P2=x;
delay(1);
P2=0xFF;
x>>=1;
x|=0x80;
}
}
void Show_HZ(unsigned char y,unsigned char yPos)
{
unsigned char i,x;
x=yPos;//0x7F;
for(i=0;i<16;i+=2)
{
Show_8(HZ_CODE[y*32+16+i]);
Show_8(HZ_CODE[y*32+i]);
P0=x;
delay(1);
P0=0xFF;
Show_8(HZ_CODE[y*32+16+i+1]);
Show_8(HZ_CODE[y*32+i+1]);
P2=x;
delay(1);
P2=0xFF;
x>>=1;
x|=0x80;
}
}
void Show_HZ1(unsigned char *stmp,unsigned char len)
{
unsigned char i,j,x;
x=0x7F;
for(i=0;i<16;i+=2)
{
for(j=0;j<len;j++)
{
Show_8(HZ_CODE[stmp[len-j]*32+16+i]);
Show_8(HZ_CODE[stmp[len-j]*32+i]);
}
P0=x;
delay(1);
P0=0xFF;
for(j=0;j<len;j++)
{
Show_8(HZ_CODE[stmp[len-j]*32+16+i+1]);
Show_8(HZ_CODE[stmp[len-j]*32+i+1]);
}
P2=x;
delay(1);
P2=0xFF;
x>>=1;
x|=0x80;
}
}
void main()
{
unsigned char i,x,y,z,u,w,yPos1,tmp1,tmp2;
unsigned char showhz[]={0,1,2,3,4,5,6,7};
unsigned char showtmp[32];
Show_8(0xff);
Show_8(0xff);
x=0;
i=0;
u=0;
while(1)
{
if( x++ > 15 ) //停留时间
{
x=0;
if ( u++ > 15 ) //改变显示内容
{
u=1;
if ( w++ > 6 )
w=0;
for( z=0;z<32;z++)
{
showtmp[z]=HZ_CODE[32*w+z];
}
}
/*
showsbuf[0]=showtmp[31-i-1];
showsbuf[1=showtmp[31-i];
showsbuf[i]=tmp1;
showsbuf[i+1]=tmp2;
showsbuf[
*/
tmp1=showtmp[31-i-1];
tmp2=showtmp[31-i];
for( y=0;y<30;y+=2)
{
showsbuf[31-y-1]=showsbuf[31-y-3];
showsbuf[31-y]=showsbuf[31-y-2];
}
showsbuf[0]=tmp1;
showsbuf[1]=tmp2;
if ((i+=2) > 30 )
i =0;
}
/*
if ( (i+=2) >32)
{
for(i =0;i <32;i++)
showsbuf[i]=0;
i=0;
}
}
*/
Show_HZ2();
// Show_HZ(0,yPos1);
// Show_HZ1(showhz,8);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -