📄 max7129.txt
字号:
#include <at89x51.h>
#define uchar unsigned char
#define uint unsigned int
sbit din=P2^0;
sbit clk=P2^1;
sbit load=P2^2;
uchar code dsp[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b};
uchar b[8];
void csh()
{
load=1;
clk=1;
din=1;
}
void write(char com,char da)
{
uchar temp,i,j;
load=0;
clk=0;
for(i=0;i<8;i++)
{
temp=com;
if((temp&(0x80>>i))!=0)
din=1;
else din=0;
clk=1;
for(j=0;j<5;j++);
clk=0;
}
for(i=0;i<8;i++)
{
temp=da;
if((temp&(0x80>>i))!=0)
din=1;
else din=0;
clk=1;
for(j=0;j<5;j++);
clk=0;
}
load=1;
}
void check()
{
uchar i;
uint j;
for(i=0;i<5;i++)
{
write(0x0f,0x01);
for(j=0;j<6000;j++);
write(0x0f,0x00);
for(j=0;j<6000;j++);
}
}
void main()
{
unsigned int i;
csh();
write(0x0c,0x01);//正常工作状态
write(0x09,0x00);//译码选择,非BCD码
write(0x0a,0x0f);//亮度调节
write(0x0b,0x07);//显示位数
/* write(0x08,dsp[8]);
write(0x07,dsp[7]);
write(0x06,dsp[6]);
write(0x05,dsp[5]);
write(0x04,dsp[4]);
write(0x03,dsp[3]);
write(0x02,dsp[9]);
write(0x01,dsp[0]);
check();*/
while(1)
{
write(0x08,dsp[b[7]]);
write(0x07,dsp[b[6]]);
write(0x06,dsp[b[5]]);
write(0x05,dsp[b[4]]);
write(0x04,dsp[b[3]]);
write(0x03,dsp[b[2]]);
write(0x02,dsp[b[1]]);
write(0x01,dsp[b[0]]);
b[0]++;
if (b[0]>9){b[1]++;b[0]=0;}
if (b[1]>9){b[2]++;b[1]=0;}
if (b[2]>9){b[3]++;b[2]=0;}
if (b[3]>9){b[4]++;b[3]=0;}
if (b[4]>9){b[5]++;b[4]=0;}
if (b[5]>9){b[6]++;b[5]=0;}
if (b[6]>9){b[7]++;b[6]=0;}
if (b[7]>9)
{
b[0]=0;b[1]=0;
b[2]=0;b[3]=0;
b[4]=0;b[5]=0;
b[6]=0;b[7]=0;
}
for(i=0;i<6000;i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -