过往历程
前期准备
1:本文使用的头文件是由stc生成
点击保存文件之后,保存至自己文件目录下方即可
2:本文使用的都是官方提供的底层驱动代码
原理图
#include<reg51.h>
#include<intrins.h>
void aa(int x)
{
while(x--);
while(x--);
}
void fmq()
{
P2=((P2&0X1F)|0XA0);
P0=0X00;
P2&=0X1F;
}
void one(int a)
{
int i;
P0=a;
P2=((P2&0x1f)|0x80);
for(i=0;i<7;i++)
{
P0=_crol_(P0,1);
aa(20000);
}
P2&=0X1F;
}
void oneq(int a)
{
int i;
P0=a;
P2=((P2&0x1f)|0x80);
for(i=0;i<6;i++)
{
P0=_crol_(P0,1);
aa(20000);
}
P2&=0X1F;
}
void two(int a)
{
int i;
P0=a;
P2=((P2&0x1f)|0x80);
for(i=0;i<7;i++)
{
P0=_cror_(P0,1);
aa(20000);
}
P2&=0X1F;
}
void twoq(int a)
{
int i;
P0=a;
P2=((P2&0x1f)|0x80);
for(i=0;i<6;i++)
{
P0=_cror_(P0,1);
aa(20000);
}
P2&=0X1F;
}
void three()
{
int i;
P2=((P2&0x1f)|0x80);
for(i=0;i<8;i++)
{
P0=(0xfe<<i);
aa(20000);
}
P2&=0X1F;
}
void four()
{
int i;
P2=((P2&0x1f)|0x80);
for(i=0;i<8;i++)
{
P0=(0x7f>>i);
aa(20000);
}
P2&=0X1F;
}
void five(int a)
{
int i;
P2=((P2&0x1f)|0x80);
for(i=0;i<4;i++)
{
P0=((a<<i)&0x0f)|((a>>i)&0xf0);
aa(20000);
}
P2&=0X1F;
}
void six(int a)
{
int i;
P2=((P2&0x1f)|0x80);
for(i=0;i<4;i++)
{
P0=((a&0xf0)<<i)|((a&0x0f)>>i);
aa(20000);
}
P2&=0X1F;
}
void main()
{
fmq();
while(1)
{
one(0xfe);
two(0x7f);
oneq(0xfc);
twoq(0x3f);
three();
four();
five(0x7e);
six(0xe7);
}
}
省赛代码传送门
第三届蓝桥杯单片机省赛
第四届蓝桥杯单片机省赛
第五届蓝桥杯单片机省赛
第六届蓝桥杯单片机省赛
第七届蓝桥杯单片机省赛
第八届蓝桥杯单片机省赛
第九届蓝桥杯单片机省赛
第十届蓝桥杯单片机省赛
第十一届蓝桥杯单片机省赛