📄 as.c
字号:
#include <reg51.h>
#define din P2_0
#define clk P2_1
#define load P2_2
char dsp[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b};
char b[8];
void csh()
{
load=1;
clk=1;
din=1;
}
void write(char com,char da)
{
char 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()
{
int j;
char i;
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 + -