前兩天學校畢業晚會結束,很多發光棒被丟棄,本著不浪費的原則收集了幾個,本想做一個光立方,結果引腳太短,放棄。改成4*4 的發光陣列。
直接上圖。
這個是用7*9的洞洞板接的,下面四根引線是四列的共陽極,右邊四根是四行led的共陰極。中間加了一個100歐的限流電阻(感覺要再小點更好)。
led.jpg (2.25 MB, 下載次數: 40)
下載附件
2018-6-18 19:31 上傳
和最小系統的連接圖
led連接照.jpg (3.13 MB, 下載次數: 40)
下載附件
2018-6-18 19:31 上傳
共陽極接到P2.0-P2.3,共陰極接P0.0-P0.3
led2.jpg (3.57 MB, 下載次數: 38)
下載附件
2018-6-18 19:31 上傳
拍的不好,實際顯示的花樣比較簡單,大家可以自己更改。有很多不足,望大家批評指正。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (17.49 KB, 下載次數: 46)
下載附件
2018-6-18 20:10 上傳
單片機源程序如下:
- /*********************************************************************************
- *實驗名 :數碼管動態顯示
- *實驗效果 :8位數碼管顯示數字12345678
- *注意 : 每位數碼管顯示之間延遲時間小于3ms可看見8位數碼管同時點亮
- *
- *********************************************************************************/
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
-
- sbit yin1=P0^0;
- void delay(uint xms) //xms等于幾就延遲幾毫秒
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=112;j>0;j--);
- }
- void main()
- {
- while(1)
- {
- P2=0x01;
- P0=0x07;
- delay(500);
-
- P2=0x03;
- P0=0x03;
- delay(500);
-
- P2=0x07;
- P0=0x01;
- delay(500);
-
- P2=0x0f;
- P0=0x00;
- delay(500);
-
- P2=0x06;
- P0=0x09;
- delay(500);
-
- P2=0x00;
- P0=0x09;
- delay(500);
-
- P2=0x06;
- P0=0x09;
- delay(500);
-
- P2=0x08;
- P0=0x0e;
- delay(500);
-
- P2=0x0c;
- P0=0x0c;
- delay(500);
-
- P2=0x0e;
- P0=0x08;
- delay(500);
-
- P2=0x0f;
- P0=0x00;
- delay(500);
-
- P2=0x00;
- P0=0x00;
- delay(500);
-
- }
-
-
- }
復制代碼
0.png (43.05 KB, 下載次數: 37)
下載附件
2018-6-18 20:09 上傳
所有資料51hei提供下載:
led陣列.rar
(2.04 MB, 下載次數: 18)
2018-6-18 19:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|