|
一個單片機最小系統(tǒng) 然后12個上拉電阻470歐和12個LED燈 接到單片機P0口跟P2口 初次學(xué)習(xí)單片機自己焊接了12個燈 和電阻 然后直接接到開發(fā)板上面 程序是自己寫的 由于新手程序肯定是有很多漏洞跟不足 中間我嫌用16進(jìn)制麻煩就直接定義了IO口直接0和1控制了 希望大家多多鼓勵不噴哈 我會更加努力學(xué)習(xí) 然后自己做一些實物的東西調(diào)試來提高自己視頻鏈接:
電路原理圖如下:
33.png (68.03 KB, 下載次數(shù): 79)
下載附件
2018-8-14 16:26 上傳
圓圈燈圖:
11.jpg (180.18 KB, 下載次數(shù): 90)
下載附件
2018-8-14 16:44 上傳
22.jpg (173.53 KB, 下載次數(shù): 105)
下載附件
2018-8-14 16:44 上傳
33.jpg (190.33 KB, 下載次數(shù): 89)
下載附件
2018-8-14 16:44 上傳
完整部分下載:
程序文件和制作部分.zip
(624.68 KB, 下載次數(shù): 7)
2018-8-14 16:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機程序部分:
- #include <reg52.h>
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned int
- uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
- uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
- uchar code table2[]={0xef,0xdf,0xbf,0x7f};//P2口 LED2.4--2.7口
- uchar code table3[]={0x7f,0xbf,0xdf,0xef};//P2口 LED2.7--2.4口
- uchar temp,i,aa,bb,cc;
- sbit D0=P0^0;
- sbit D1=P0^1;
- sbit D2=P0^2;
- sbit D3=P0^3;
- sbit D4=P0^4;
- sbit D5=P0^5;
- sbit D6=P0^6;
- sbit D7=P0^7;
- sbit D8=P2^4;
- sbit D9=P2^5;
- sbit D10=P2^6;
- sbit D11=P2^7;
- void delay (uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=100;y>0;y--);
- }
- void disp()
- {
- {D0=0;delay(100);}{D1=0;delay(100);}{D2=0;delay(100);}{D3=0;delay(100);}
- {D4=0;delay(100);}{D5=0;delay(100);}{D6=0;delay(100);}{D7=0;delay(100);}
- {D8=0;delay(100);}{D9=0;delay(100);}{D10=0;delay(100);}{D11=0;delay(100);}
- {D0=1;delay(100);}{D1=1;delay(100);}{D2=1;delay(100);}{D3=1;delay(100);}
- {D4=1;delay(100);}{D5=1;delay(100);}{D6=1;delay(100);}{D7=1;delay(100);}
- {D8=1;delay(100);}{D9=1;delay(100);}{D10=1;delay(100);}{D11=1;delay(100);}
- {D0=0;delay(50);}{D1=0;delay(50);}{D2=0;delay(50);}{D3=0;delay(50);}
- {D4=0;delay(50);}{D5=0;delay(50);}{D6=0;delay(50);}{D7=0;delay(50);}
- {D8=0;delay(50);}{D9=0;delay(50);}{D10=0;delay(50);}{D11=0;delay(50);}
- {D0=1;delay(50);}{D1=1;delay(50);}{D2=1;delay(50);}{D3=1;delay(50);}
- {D4=1;delay(50);}{D5=1;delay(50);}{D6=1;delay(50);}{D7=1;delay(50);}
- {D8=1;delay(50);}{D9=1;delay(50);}{D10=1;delay(50);}{D11=1;delay(50);}
- {D0=0;delay(25);}{D1=0;delay(25);}{D2=0;delay(25);}{D3=0;delay(25);}
- {D4=0;delay(25);}{D5=0;delay(25);}{D6=0;delay(25);}{D7=0;delay(25);}
- {D8=0;delay(10);}{D9=0;delay(25);}{D10=0;delay(25);}{D11=0;delay(25);}
- {D0=1;delay(25);}{D1=1;delay(25);}{D2=1;delay(25);}{D3=1;delay(25);}
- {D4=1;delay(25);}{D5=1;delay(25);}{D6=1;delay(25);}{D7=1;delay(25);}
- {D8=1;delay(25);}{D9=1;delay(25);}{D10=1;delay(25);}{D11=1;delay(25);}
- P0=0x00; P2=0x0f;
- delay(5000);
- //P0=0xff; P2=0xff;
- //delay(3000);
- for(i=0;i<10;i++)
- {
- P0=0x00; P2=0x0f; //打開P0口和P2.4到2.7口
- delay(300);
- P0=0xff; P2=0xff; //關(guān)掉P0口和P口
- delay(300);
- }
- }
- void disp0()
- {
- for(aa=0;aa<5;aa++)
- {
- for(i=0;i<8;i++)
- {
- P0=table0[i];
- delay(200);
- }
- P0=0xff;
- for(i=0;i<4;i++)
- {
- P2=table2[i];
- delay(200);
- }
- P2=0xff;
- }
- }
- void disp1()
- {
- for(bb=0;bb<5;bb++)
- {
- for(i=0;i<4;i++)
- {
- P2=table3[i];
- delay(200);
- }
- P2=0xff;
- for(i=0;i<8;i++)
- {
- P0=table1[i];
- delay(200);
- }
- P0=0xff;
- }
- }
- void disp2()
- {
- for(cc=0;cc<10;cc++)
- {
- P2=0xff;
- for(temp=0;temp<8;temp++)
- {
- P0=table0[temp];
- delay(25);
- }
- P0=0xff;
- for(temp=0;temp<4;temp++)
- {
- P2=table2[temp];
- delay(25);
- }
- for(temp=0;temp<4;temp++)
- {
- P2=table3[temp];
- delay(25);
- }
- P2=0xff;
- for(temp=0;temp<8;temp++)
- {
- P0=table1[temp];
- delay(25);
- }
- P0=0xff;
- }
- P2=0xff;P0=0xff;
- delay(3000);
- }
- void disp3()
- {
- for(i=0;i<1;i++)
- {
- D0=0;D6=0;
- delay(200);
- D0=1;D6=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D1=0;D7=0;
- delay(200);
- D1=1;D7=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D2=0;D8=0;
- delay(200);
- D2=1;D8=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D3=0;D9=0;
- delay(200);
- D3=1;D9=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D4=0;D10=0;
- delay(200);
- D4=1;D10=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D5=0;D11=0;
- delay(200);
- D5=1;D11=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D0=0;D1=0;
- delay(100);
- D0=1;D1=1;
- delay(200);
- }
- for(i=0;i<1;i++)
- {
- D2=0;D3=0;
- delay(100);
- D2=1;D3=1;
- delay(200);
- }
- for(i=0;i<1;i++)
- {
- D4=0;D5=0;
- delay(100);
- D4=1;D5=1;
- delay(200);
- }
- for(i=0;i<1;i++)
- {
- D6=0;D7=0;
- delay(100);
- D6=1;D7=1;
- delay(200);
- }
- for(i=0;i<1;i++)
- {
- D8=0;D9=0;
- delay(100);
- D8=1;D9=1;
- delay(200);
- }
- for(i=0;i<1;i++)
- {
- D10=0;D11=0;
- delay(100);
- D10=1;D11=1;
- delay(200);
- }
- }
- void disp4()
- {
- for(i=0;i<1;i++)
- {
- D0=0;D6=0;D1=0;D7=0;
- delay(200);
- D0=1;D6=1;D1=1;D7=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D2=0;D8=0;D3=0;D9=0;
- delay(200);
- D2=1;D8=1;D3=1;D9=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D4=0;D10=0;D5=0;D11=0;
- delay(200);
- D4=1;D10=1;D5=1;D11=1;
- delay(100);
- }
- }
- void disp5()
- {
- //P0=~P0;P2=~P2;
- for(i=0;i<1;i++)
- {
- D0=0;
- delay(200);
- D0=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D1=0;D11=0;
- delay(200);
- D1=1;D11=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D2=0;D10=0;
- delay(200);
- D2=1;D10=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D3=0;D9=0;
- delay(200);
- D3=1;D9=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D4=0;D8=0;
- delay(200);
- D4=1;D8=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D5=0;D7=0;
- delay(200);
- D5=1;D7=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D6=0;
- delay(200);
- D6=1;
- //delay(100);
- }
- }
- void disp6()
- {
- // P0=~P0;P2=~P2;
- for(i=0;i<1;i++)
- {
- D6=0;
- delay(200);
- D6=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D5=0;D7=0;
- delay(200);
- D5=1;D7=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D4=0;D8=0;
- delay(200);
- D4=1;D8=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D3=0;D9=0;
- delay(200);
- D3=1;D9=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D2=0;D10=0;
- delay(200);
- D2=1;D10=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D1=0;D11=0;
- delay(200);
- D1=1;D11=1;
- delay(100);
- }
- for(i=0;i<1;i++)
- {
- D0=0;
- delay(200);
- D0=1;
- // delay(100);
- }
- }
- void disp7()
- {
- D3=0;D9=0;
- delay(500);
- D2=0;D10=0;D4=0;D8=0;
- delay(500);
- D1=0;D5=0;D7=0;D11=0;
- delay(500);
- D0=0;D6=0;
- delay(500);
- P0=0xff; P2=0xff;
- delay(300);
- D1=0;D2=0;D3=0;D4=0;D5=0;
- delay(500);
- D7=0;D8=0;D9=0;D10=0;D11=0;
- delay(500);
- D0=0;D6=0;
- delay(500);
- P0=0xff; P2=0xff;
- delay(300);
- }
- void main()
- {
- while(1)
- {
- disp();//流水然后熄滅三次 亮燈5秒 閃爍10次
- disp0();//正向從D0開始流水燈5次
- disp1();//反向從D11開始流水燈5次
- disp2();//正反向從D0開始流水燈10次
- disp3();//D0和D6 2個燈同時開始正方向開始流水
- disp4();//D0,D1和D6,D7同時開始正方向開始流水
- disp5();//D0亮燈后 2個燈一起橫著向下流水
- disp6();//D6亮燈后 2個燈一起橫著向上流水
- disp7();//D3,D9中間部位然后分4個燈一組向外擴散
- }
- }
復(fù)制代碼
|
評分
-
查看全部評分
|