-
第 11 樓 / Matrix
- 時間: 2020-11-09 18:45用了9個限流電阻,用在了數字7個,兩個小點,阻值72歐姆,亮度正合適,試過100歐姆和更大的,亮度有點低了
電源正極加了一個跳線,當作開關了,順便也可以方便測試
還加了一個電解電容,220微法10V,感覺也是過度使用資源了
走線,沒有在背面大量使用,還是用多色的線放在正面了,好看啊,有裝飾的作用,嘿嘿
看到包裝盒的日期了,2012年的,我的天啊 -
-
第 12 樓 / Matrix
- 時間: 2020-11-09 18:46
-
-
第 13 樓 / pws07
- 時間: 2020-11-09 18:47
-
第 14 樓 / Matrix
- 時間: 2020-11-09 18:48主要編程思路,
主循環顯示數字和小點
而顯示的內容,由時鍾中斷和按鈕引發的中斷控制
顯示的內容分4+1種模式
分秒,時分,月日,年,還有一個特別的計時器
按鈕1,單按循環顯示四個時間模式,長按進入計時器,單按按鈕1,啟動停止計時器,按鈕2清零計時器
按鈕2,長按進入設置,單按按鈕2循環進入設置分,秒,時,日,月,年。按鈕1,單按循環增加各種模式下的數字,最高年份2040
時間是由時鍾中斷驅動的,設置了時鍾中斷每秒鍾產生四次,而不是一秒一次,是為了控制閃爍的速度,可以讓兩個小點開關兩個狀態,在設置的時候,讓正在設置的數字每秒閃爍兩次
原來還設計了自動休眠功能,關閉LED顯示,進入休眠,只處理時間中斷,可以大幅度降低耗電,喚醒需要按一下按鈕才能看到時間,後來想想沒必要
測量了一下,LED顯示還是挺費電的,整體耗電大約最大25mA,最小15mA, AAA電池供電,容量大約700mAh, 算下來也就用一天多,也就是個玩具了 -
第 15 樓 / Matrix
- 時間: 2020-11-09 18:50發現另外一個問題,顯示數字1,最亮,最暗當然是8
顯示不同數字,亮度不一致的問題,就在於,不同數字點亮延遲時間是一樣的,筆畫多的就暗,筆畫少的就亮一些
那就改成不同的數字,延遲的時間做成跟筆畫數相關的,筆畫少,顯示時間短
switch ( n ){
case 0:
P2OUT = ~0b11111;
__delay_cycles(LOOPCOUNT-LOOPCOUNT/7);
break;
case 1:
P1OUT= 0b100000 | P1OUT;
P2OUT = ~0b11;
__delay_cycles(2*LOOPCOUNT/7);
break;
case 2:
P2OUT = ~(0b1 | 0b100 | 0b1000 | 0b100000);
__delay_cycles(LOOPCOUNT-2*LOOPCOUNT/7);
break;
case 3:
P2OUT = ~(0b1 | 0b10 | 0b100 | 0b100000);
__delay_cycles(LOOPCOUNT-2*LOOPCOUNT/7);
break;
case 4:
P1OUT= 0b100000 | P1OUT;
P2OUT = ~(0b10000 | 0b1 | 0b10 | 0b100000);
__delay_cycles(LOOPCOUNT-3*LOOPCOUNT/7);
break;
case 5:
P2OUT = ~(0b10000 | 0b100000 | 0b10 | 0b100);
__delay_cycles(LOOPCOUNT-2*LOOPCOUNT/7);
break;
case 6:
P2OUT = ~0b111110;
__delay_cycles(LOOPCOUNT-LOOPCOUNT/7);
break;
case 7:
P2OUT = ~0b11;
__delay_cycles(LOOPCOUNT-4*LOOPCOUNT/7);
break;
case 8:
P2OUT = ~0b111111;
__delay_cycles(LOOPCOUNT);
break;
case 9:
P2OUT = ~0b110111;;
__delay_cycles(LOOPCOUNT-LOOPCOUNT/7);
break;
} -
第 16 樓 / Matrix
- 時間: 2020-11-09 18:52
-
第 17 樓 / Matrix
- 時間: 2020-11-09 18:54
-
第 18 樓 / Matrix
- 時間: 2020-11-09 18:55
-
第 19 樓 / Matrix
- 時間: 2020-11-09 18:56
-
第 20 樓 / Matrix
- 時間: 2020-11-09 19:11