数电课设
Posted cstdio1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数电课设相关的知识,希望对你有一定的参考价值。
实验选用单片机:arduino
引脚图:
连线方式:
代码如下:
//经过修改后的code int LED1=6;//arduino8个led灯 int LED2=7; int LED3=8; int LED4=9; int LED5=10; int LED6=11; int LED7=12; int LED8=13; int n,i,j,t,cnt=0;//t代表时间 void setup()//设置各个引脚的初始状态 for(n=6;n<=13;n++) pinMode(n,OUTPUT);//初始化引脚为输出状态 void loop() //就是c语言的main中的while(1)函数的入口 if(cnt%2==0) t=1000; else t=2000; style1();//按LED1-8顺序点亮,按8-1顺序熄灭 clean(); //灭掉所有灯 style2();//按LED1-8顺序点亮,按1-8顺序熄灭 clean();//灭掉所有灯 style3();//骚气的花色 clean();//灭掉所有灯 cnt++; void style1() //花色1:按LED8~1顺序点亮,按1~8顺序熄灭 for(n=LED8;n>=LED1;n--) digitalWrite(n,HIGH); delay(t); for(n=LED1;n<=LED8;n++) digitalWrite(n,LOW); delay(t); //花色 2:4,5号灯先亮,然后3,6号再亮,接着2,7号亮,最后1,8号亮。 // 1,8号灯先灭,然后2,7号熄灭,接着3,6号灭,最后4,5号灭。 void style2() int j,k; k=1;//设置k的初值为1 for(j=LED4;j>=LED1;j--)// digitalWrite(j,HIGH);//点亮灯 digitalWrite(j+k,HIGH);//点亮灯 delay(t);//延时tms k +=2;//k值加2 k=7;//设置k值为7 for(j=LED1;j<=LED4;j++) digitalWrite(j,LOW);//熄灭灯 digitalWrite(j+k,LOW);//熄灭灯 delay(t);//延时tms k -=2;//k值减2 void style3()//花色三 digitalWrite(LED1,HIGH);//初始状态:LED1和LED8依次点亮 digitalWrite(LED8,HIGH); delay(t); i=LED7,j=LED2;//i从右到左,j从左到右 while(i>=LED5&&j<=LED4)//从两侧依次点亮led digitalWrite(j,HIGH); //delay(t); digitalWrite(i,HIGH); delay(t); i--;j++; i=LED5;j=LED4; while(i<=LED8&&j>=LED1)//从中间向两侧依次熄灭led digitalWrite(i,LOW); //delay(t); digitalWrite(j,LOW); delay(t); i++;j--; void clean() for(n=6;n<=13;n++) digitalWrite(n,LOW); //delay(10);
以上是关于数电课设的主要内容,如果未能解决你的问题,请参考以下文章