PIC18F4550 + ULN2003A 的 LED 程式是用 Delay Loop 來作時間的廷遲,將 PORTA RA1 至 RA5 的狀態由ON至OFF 順序改變,然後循環不息,LED 燈便會順序閃動不停。這程式的主要目的是測試 ULN2003A 集成電路 (IC) 的效果,以便下一步會用來控制 TEAC 步進馬達。
▲ ULN2003A LED 測試程式流程圖 |
//***** Program Start Here ***** void main(void) { TRISA = 0b00000001; // Setup PORTA RA1 - RA7 as Output while(1) { LATAbits.LATA1 = 1; // RA0=1 LED=ON Scope=1 Delay10KTCYx(240); // 10,000 x 1 x (4 x 0.05us) = 2ms // Scope = 2ms LATAbits.LATA1 = 0; // RA1=0 LED=OFF Scope=50ms LATAbits.LATA2 = 1; // RA2=1 LED=ON Scope=1 Delay10KTCYx(240); // 10,000 x 1 x (4 x 0.05us) = 2ms // Scope = 2ms LATAbits.LATA2 = 0; // RA2=0 LED=OFF Scope=50ms LATAbits.LATA3 = 1; // RA3=1 LED=ON Scope=1 Delay10KTCYx(240); // 10,000 x 1 x (4 x 0.05us) = 2ms // Scope = 2ms LATAbits.LATA3 = 0; // RA3=0 LED=OFF Scope=50ms LATAbits.LATA4 = 1; // RA4=1 LED=ON Scope=1 Delay10KTCYx(240); // 10,000 x 1 x (4 x 0.05us) = 2ms // Scope = 2ms LATAbits.LATA4 = 0; // RA4=0 LED=OFF Scope=50ms } } |
▲ LED 1 ON (亮著) |
▲ LED 2 ON (亮著) |
▲ LED 3 ON (亮著) |
▲ LED 4 ON (亮著) |
▲ ULN2003A LED測試程式在運作中 |
2011 年 08月 18日 天氣報告
氣溫:28.0 度 @ 22:00
相對濕度:百分之81%
天氣:天色大致良好
請問一下...
回覆刪除可以給我 ULN2003A LED 測試程式 每一行的註解麻...
想研究可以是看不太懂..