單個(gè)I/O口驅(qū)動單個(gè)LED
單個(gè)LED驅(qū)動,可以使用I/O口和限流電阻來實(shí)現(xiàn)。根據(jù)LED在電路中的接法,驅(qū)動程序也不盡相同,但驅(qū)動方法基本類似。
由圖可知當(dāng)P1.0口輸出為低電平時(shí),就會點(diǎn)亮D1。當(dāng)P1.0輸出為高電平時(shí),D1就會熄滅。通常同一個(gè)程序會包含點(diǎn)亮和熄滅LED的程序。在實(shí)際編程時(shí),使用P1^0=0或P1^0=1語句,就可以點(diǎn)亮或熄滅D1了。
(1)點(diǎn)亮D1的程序如下:
sbit D1 = P1^0 ; //定義D1為P1.0端口
void main(void)
{
D1 = 0; //P1.0輸出低電平,此時(shí)可點(diǎn)亮發(fā)光二極管D1
//D1=1 ; //如果D1反接。則需要P1.0輸出高電平時(shí)才能點(diǎn)亮發(fā)光二極管D1
}
(2)熄滅D1的程序如下:
sbit D1=P1^0 ; //定義D1為P1.0端口
void main(void)
{
D1 = 1; //P1.0輸出高電平,此時(shí)可熄滅發(fā)光二極管D1
//D1=0 ; //如果D1反接。則需要P1.0輸出低電平時(shí)才能熄滅發(fā)光二極管D1
}
單個(gè)I/O口驅(qū)動兩個(gè)LED
根據(jù)電路的接法不同1個(gè)I/O口可以同時(shí)驅(qū)動兩種不同狀態(tài)的LED。其驅(qū)動程序與“單個(gè)I/O口驅(qū)動單個(gè)LED”相似。1個(gè)I/O口驅(qū)動2個(gè)LED的實(shí)驗(yàn)電路圖如下:
點(diǎn)亮D1的程序如下:
sbit LED=P1^0 ;//定義LED為P1.0端口
void main(void)
{
LED=0 ; //P1.0輸出低電平,此時(shí)可點(diǎn)亮發(fā)光二極管D1,熄滅D2
}
由上述程序可知,D1和D2的狀態(tài)總是互斥的。讀者可以根據(jù)所示的電路,試著自己編寫點(diǎn)亮D2的程序。由于單片機(jī)I/O口的電流驅(qū)動能力是有限制的,當(dāng)我們需要用1個(gè)I/O口線控制多個(gè)LED(如LED組合而成的點(diǎn)陣漢字)時(shí),就需要使用三極管或驅(qū)動芯片(如UNL2003)來實(shí)現(xiàn)。
-
led
+關(guān)注
關(guān)注
242文章
23479瀏覽量
665753 -
單片機(jī)
+關(guān)注
關(guān)注
6050文章
44701瀏覽量
641287 -
發(fā)光二極管
+關(guān)注
關(guān)注
13文章
1210瀏覽量
66708 -
端口
+關(guān)注
關(guān)注
4文章
993瀏覽量
32393 -
程序
+關(guān)注
關(guān)注
117文章
3807瀏覽量
81724
發(fā)布評論請先 登錄
相關(guān)推薦
單片機(jī)I/O口驅(qū)動MOS管電路原理分析

使用單個(gè)PRM驅(qū)動多個(gè)VTMs的設(shè)計(jì)
pc機(jī)單個(gè)232口和設(shè)備通信
詭異的PIC單片機(jī)的I/O口問題(相同的I/O口配置單個(gè)出問題...
請問“PCA9956BTWY”會在每個(gè)端口上驅(qū)動單個(gè)LED嗎?
用普通I/O 口驅(qū)動LCD顯示
I/O并行口直接驅(qū)動LED顯示實(shí)驗(yàn)(含電路原理圖)

使用MAX6958/MAX6959LED驅(qū)動器實(shí)現(xiàn)單個(gè)LED

C51編程6-雙向I/O口與準(zhǔn)雙向I/O口

51單片機(jī)雙向I/O口與準(zhǔn)雙向I/O口解析

評論