單個I/O口驅動單個LED
單個LED驅動,可以使用I/O口和限流電阻來實現。根據LED在電路中的接法,驅動程序也不盡相同,但驅動方法基本類似。
由圖可知當P1.0口輸出為低電平時,就會點亮D1。當P1.0輸出為高電平時,D1就會熄滅。通常同一個程序會包含點亮和熄滅LED的程序。在實際編程時,使用P1^0=0或P1^0=1語句,就可以點亮或熄滅D1了。
(1)點亮D1的程序如下:
sbit D1 = P1^0 ; //定義D1為P1.0端口
void main(void)
{
D1 = 0; //P1.0輸出低電平,此時可點亮發光二極管D1
//D1=1 ; //如果D1反接。則需要P1.0輸出高電平時才能點亮發光二極管D1
}
(2)熄滅D1的程序如下:
sbit D1=P1^0 ; //定義D1為P1.0端口
void main(void)
{
D1 = 1; //P1.0輸出高電平,此時可熄滅發光二極管D1
//D1=0 ; //如果D1反接。則需要P1.0輸出低電平時才能熄滅發光二極管D1
}
單個I/O口驅動兩個LED
根據電路的接法不同1個I/O口可以同時驅動兩種不同狀態的LED。其驅動程序與“單個I/O口驅動單個LED”相似。1個I/O口驅動2個LED的實驗電路圖如下:
點亮D1的程序如下:
sbit LED=P1^0 ;//定義LED為P1.0端口
void main(void)
{
LED=0 ; //P1.0輸出低電平,此時可點亮發光二極管D1,熄滅D2
}
由上述程序可知,D1和D2的狀態總是互斥的。讀者可以根據所示的電路,試著自己編寫點亮D2的程序。由于單片機I/O口的電流驅動能力是有限制的,當我們需要用1個I/O口線控制多個LED(如LED組合而成的點陣漢字)時,就需要使用三極管或驅動芯片(如UNL2003)來實現。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
led
+關注
關注
242文章
23346瀏覽量
662370 -
單片機
+關注
關注
6042文章
44617瀏覽量
637518 -
發光二極管
+關注
關注
13文章
1203瀏覽量
66440 -
端口
+關注
關注
4文章
988瀏覽量
32146 -
程序
+關注
關注
117文章
3795瀏覽量
81292
發布評論請先 登錄
相關推薦
使用單個PRM驅動多個VTMs的設計
使用單個PRM驅動多個VTMs的設計本應用筆記討論使用Vicor之V·I晶片預穩壓及電壓轉換模塊的設計習要以符合功率系統上單個系統要求低電壓、多路電流及多個電壓的挑戰。Vicor的V·
發表于 11-20 09:07
pc機單個232口和設備通信
想做個PC機單個232串口和單片機 的通信, 單片機用IO口模擬UART , 單個單片機和pc通信可以,但是多個單片機同時和一個串口通信怎么做呢,目前想做12個同時通信,有沒大大指導下
發表于 09-28 10:05
詭異的PIC單片機的I/O口問題(相同的I/O口配置單個出問題...
是一致的,其他口的輸出都沒有問題,就是RA3沒有大的輸出,用示波器測有0.8V的電平變化,可是不知道這算不算是誤差,RA4是開漏輸出,加了10K的上拉電阻??墒悄壳熬褪沁@兩個I/O口有
發表于 11-16 19:39
請問“PCA9956BTWY”會在每個端口上驅動單個LED嗎?
我正在使用 NXP 的 LED 驅動器“PCA9956BTWY”。該器件驅動 24 通道 LED o/p。從數據表中,我了解到該設備適用于每
發表于 05-06 07:46
I/O并行口直接驅動LED顯示實驗(含電路原理圖)
I/O并行口直接驅動LED顯示 1. 實驗任務 如圖13所示,利用AT89S51單片機的P0端口的P0.0-P0.7連接到一個共陰數碼管的a
發表于 04-15 10:24
?4162次閱讀
使用MAX6958/MAX6959LED驅動器實現單個LED
摘要:該應用筆記詳細說明了如何使用MAX6958和MAX6959 LED顯示驅動器實現象素級(單個LED)亮度控制。該技術增強了這些驅動器內
發表于 04-27 09:01
?1030次閱讀
C51編程6-雙向I/O口與準雙向I/O口
通過前面的輸入輸出的內容(LED控制與按鍵的使用),我們對控制I/O口有了一個基本的了解。如果需要輸出高低電平,可以對該引腳進行寫"1"或者"0";如果需要
發表于 11-29 10:51
?1次下載
51單片機雙向I/O口與準雙向I/O口解析
通過前面的輸入輸出的內容(LED控制與按鍵的使用),我們對控制I/O口有了一個基本的了解。如果需要輸出高低電平,可以對該引腳進行寫"1"或者"0";如果需要讀取
評論