📄 as.c
字号:
#include <at89x51.h>
#define uchar unsigned char
#define uint unsigned int
sbit din=P2^0;
sbit clk=P2^1;
sbit load=P2^2;
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 main()
{
unsigned int i;
csh();
write(0x0c,0x01);//正常工作状态
write(0x09,0xff);//译码选择,非BCD码
write(0x0a,0x0f);//亮度调节
write(0x0b,0x07);//显示位数
while(1)
{
write(0x08,b[7]);
write(0x07,b[6]);
write(0x06,b[5]);
write(0x05,b[4]);
write(0x04,b[3]);
write(0x03,b[2]);
write(0x02,b[1]);
write(0x01,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 + -