驅動(dòng)12個(gè)LED的3端口微控制器
圖1中的電路基于以前出版的設計實(shí)例(參考文獻1),僅用3條I/O線(xiàn)路來(lái)驅動(dòng)12個(gè)LED。在本應用中,電路充當電動(dòng)車(chē)引擎的轉速計,并在一組排列成直線(xiàn)或圓弧形LED上顯示引擎相對速度。三對反向并聯(lián)LED(D2和D3、D4和D5、D6和D7)通過(guò)限流電阻器R5、R6、R7從IC1的端口獲得驅動(dòng)電流。每組三個(gè)的兩組LED(D8、D9、D10以及D11、D12、D13)在IC1的端口和兩個(gè)分壓器之間(供應參考電壓VREF1和VREF2)連接。如果改變電阻器R5、R6、R7的值,就能調節中間6個(gè)LED的亮度,而R1、R2、R4則控制其它6個(gè)LED 的亮度。一般而言,該電路能用主機微處理器的N 條I/O線(xiàn)路來(lái)驅動(dòng)多達N(N-1)+2N個(gè)LED,或比最初的設計實(shí)例中的電路能驅動(dòng)的LED多2N個(gè)。
本文引用地址:http://dyxdggzs.com/article/201706/348591.htm 該電路使用了Microchip公司的PIC10F200微控制器,即IC1,這是一種小尺寸廉價(jià)的6引腳器件,只提供3根I/O引腳和1根單純輸入引腳。I/O引腳GP0、GP1、GP2驅動(dòng)由 12 個(gè) LED 組成的條形圖,包括多路復用模式驅動(dòng)的4個(gè)黃色LED、4 個(gè)綠色LED、4個(gè)紅色LED( 圖2)。
微處理器的單純輸入引腳GP3用于輸入來(lái)自點(diǎn)火線(xiàn)圈初級端子的脈沖。電阻器R3和二極管D1提供輸入信號調節,而軟件反跳例程則消除來(lái)自脈沖的振鈴效應。由于R3的額定值高達390 kΩ,因此該電路能承受高壓輸入尖峰,并防止PIC10F200閉鎖。端口GP3充當處理器的編程端口,之所以不同于處理器的其它端口,是因為它包含內部保護二極管。這只20mA二極管防止GP3受到負向瞬間電壓的損害。該電路工作可靠,但可以添加外部保護二極管來(lái)加強針對瞬態(tài)引發(fā)閉鎖的保護。把二極管的陽(yáng)極接地,陰極連到IC1的GP3引腳。
可以配置條形圖按接通的LED數量(條狀)來(lái)表示引擎速度,或只照亮一兩只LED(點(diǎn)狀)來(lái)表示。圖2中的顏色方案用黃色LED來(lái)表示速度太低、綠色LED表示標稱(chēng)速度、紅色LED表示速度過(guò)快。圖3為表示指示軟件的流程圖。處理器的內部時(shí)鐘驅動(dòng)Timer0每512ms溢出一次,這表示一個(gè)時(shí)隙,即一個(gè)多路傳送階段。在8個(gè)時(shí)隙當中,其中1個(gè)驅動(dòng)3只上方的LED,第二個(gè)則驅動(dòng)3只下方的LED。為了簡(jiǎn)化軟件,最后6個(gè)時(shí)隙逐個(gè)驅動(dòng)中間的LED。在主循環(huán)開(kāi)始時(shí),微處理器計算時(shí)鐘脈沖數量,并等待Timer0溢出。發(fā)生溢出后,輸出端口按照分配的時(shí)隙驅動(dòng)LED。在經(jīng)過(guò)8個(gè)時(shí)隙后,處理器把端口設定到相同狀態(tài)。在200個(gè)時(shí)隙后,處理器計算進(jìn)入測速儀脈沖數量,并按照進(jìn)入脈沖數量(即按照輸入頻率)設置LED圖案。
轉速計可表示高達120 轉/秒的轉速。伴隨的軟件列表包含C語(yǔ)言文件 (led12.c.pdf) 和匯編語(yǔ)言文件 (led12.asm.pdf)。ZIP源文件包含完整的 MPLab 項。圖4顯示了波形,是由數字示波器在GP0、GP1、GP2 端口捕獲的。
參考文獻
1.Benabadji, Noureddine, PIC microprocessor drives 20-LED dot- or bar-graph display, EDN, Sept 1, 2006, pg 71, www.edn.com/article/CA6363904.
評論