数电课设

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);

  

 

以上是关于数电课设的主要内容,如果未能解决你的问题,请参考以下文章

Java期末课设课前学习

基于单片机16层楼梯电梯仿真设计-毕设课设资料

基于单片机8155语音播放波形显示设计-毕设课设资料

基于单片机PID电机调速控制设计-毕设课设资料

基于单片机8255电子码表秒表设计-毕设课设资料

基于单片机餐厅呼叫控制系统仿真设计-毕设课设资料