新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 驅動12個LED的3端口微控制器

        驅動12個LED的3端口微控制器

        作者: 時間:2017-06-04 來源:網絡 收藏

          圖1中的電路基于以前出版的設計實例(參考文獻1),僅用3條I/O線路來12個。在本應用中,電路充當電動車引擎的轉速計,并在一組排列成直線或圓弧形上顯示引擎相對速度。三對反向并聯(D2和D3、D4和D5、D6和D7)通過限流電阻器R5、R6、R7從IC1的端口獲得電流。每組三個的兩組LED(D8、D9、D10以及D11、D12、D13)在IC1的端口和兩個分壓器之間(供應參考電壓VREF1和VREF2)連接。如果改變電阻器R5、R6、R7的值,就能調節中間6個LED的亮度,而R1、R2、R4則控制其它6個LED 的亮度。一般而言,該電路能用主機微處理器的N 條I/O線路來多達N(N-1)+2N個LED,或比最初的設計實例中的電路能驅動的LED多2N個。

        本文引用地址:http://www.104case.com/article/201706/348591.htm

          該電路使用了Microchip公司的PIC10F200,即IC1,這是一種小尺寸廉價的6引腳器件,只提供3根I/O引腳和1根單純輸入引腳。I/O引腳GP0、GP1、GP2驅動由 12 個 LED 組成的條形圖,包括多路復用模式驅動的4個黃色LED、4 個綠色LED、4個紅色LED( 圖2)。

          微處理器的單純輸入引腳GP3用于輸入來自點火線圈初級端子的脈沖。電阻器R3和二極管D1提供輸入信號調節,而軟件反跳例程則消除來自脈沖的振鈴效應。由于R3的額定值高達390 kΩ,因此該電路能承受高壓輸入尖峰,并防止PIC10F200閉鎖。端口GP3充當處理器的編程端口,之所以不同于處理器的其它端口,是因為它包含內部保護二極管。這只20mA二極管防止GP3受到負向瞬間電壓的損害。該電路工作可靠,但可以添加外部保護二極管來加強針對瞬態引發閉鎖的保護。把二極管的陽極接地,陰極連到IC1的GP3引腳。

          可以配置條形圖按接通的LED數量(條狀)來表示引擎速度,或只照亮一兩只LED(點狀)來表示。圖2中的顏色方案用黃色LED來表示速度太低、綠色LED表示標稱速度、紅色LED表示速度過快。圖3為表示指示軟件的流程圖。處理器的內部時鐘驅動Timer0每512ms溢出一次,這表示一個時隙,即一個多路傳送階段。在8個時隙當中,其中1個驅動3只上方的LED,第二個則驅動3只下方的LED。為了簡化軟件,最后6個時隙逐個驅動中間的LED。在主循環開始時,微處理器計算時鐘脈沖數量,并等待Timer0溢出。發生溢出后,輸出端口按照分配的時隙驅動LED。在經過8個時隙后,處理器把端口設定到相同狀態。在200個時隙后,處理器計算進入測速儀脈沖數量,并按照進入脈沖數量(即按照輸入頻率)設置LED圖案。

          轉速計可表示高達120 轉/秒的轉速。伴隨的軟件列表包含C語言文件 (led12.c.pdf) 和匯編語言文件 (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.



        關鍵詞: 驅動 微控制器 LED

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石河子市| 奈曼旗| 深州市| 河东区| 黔西| 贵溪市| 冕宁县| 扎兰屯市| 玉龙| 柳河县| 辽阳市| 淮北市| 南昌市| 马鞍山市| 景德镇市| 凉山| 沙雅县| 肥乡县| 贵南县| 亚东县| 寿光市| 托克托县| 沭阳县| 福海县| 黔江区| 新沂市| 江川县| 绥化市| 哈密市| 沁阳市| 定边县| 临清市| 肃南| 抚州市| 太白县| 西青区| 黑河市| 五常市| 南汇区| 扬中市| 新河县|