• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機外圍功能電路控制的基礎知識

    單片機外圍功能電路控制的基礎知識

    作者: 時間:2017-10-14 來源:網絡 收藏

      在《嵌入式編程之的基本構成、工作原理》《嵌入式編程之的外圍功能電路》的編程語言和開發環境》,我們一起學習了單片機的硬件和編程語言以及開發環境等。本文將帶大家學習單片機的外圍功能電路控制的基礎知識。

    本文引用地址:http://www.czjhyjcfj.com/article/201710/366330.htm

     ?。?a class="contentlabel" href="http://www.czjhyjcfj.com/news/listbylabel/label/SFR">SFR) Special Function Registers

      單片機中有象箱子功能一樣的地方,我們稱為寄存器,用來暫存數據。寄存器的種類有程序計數器、通用寄存器、以及(特殊功能寄存器)等。

      主要用來設定外圍功能電路(計數器或串行端口、通用I/O等)的工作方式,確認其工作狀況,并對其進行控制的。也就是說SFR并非僅僅只是用來保存數據的“箱子”。通過改變保存在“箱子”里的數據,不僅可以改變外圍功能電路的動作方式,而且“箱子”里的數據也將隨著外圍功能電路的工作狀況而改變。

      控制外圍功能電路的基礎知識

      下面以通用I/O為例來說明單片機對外圍功能電路的控制。通用I/O具有以下功能:

      輸出功能:可以輸出高電平電壓或低電平電壓

      輸入功能:可以讀出輸入到引腳的電壓電平

      首先來看輸出功能的控制。圖1中的引腳A是一個通用I/O。

      如果向引腳A的寄存器(SFR)

      寫入0,則引腳A的輸出電壓將為低電平(0V)。

      寫入1,則引腳A的輸出電壓將為高電平(5V)。

      

      圖1: 通用I/O的輸出功能

      如果將圖1的引腳A連接一個LED,就可以構成一個控制LED的電路(見圖2)。此時,向寄存器(SFR)寫入0則LED亮燈,輸入1則LED熄滅。雖然這是一種很簡單的動作,但卻反映了單片機對各種外圍功能電路進行控制的基本原理。利用這種功能,就可以完成象電機的ON/OFF一樣的開關作用(由于通常的單片機上不能流過驅動電機運行的大電流,所以還需另行準備用FET或晶體管作成的電機驅動電路)。另外,如果使用多個通用I/O端口,就可以完成更加復雜的控制。

      

      圖2:通用I/O的LED控制電路

      接下來看輸入功能(圖3)。

      如果向引腳A輸入低電平電壓(0V),就會從寄存器(SFR)讀出0。

      如果向引腳A輸入高電平電壓(5V),就會從寄存器(SFR)讀出1。

      即,讀取寄存器(SFR)的值,就可以判斷外部電壓是低電平電壓還是高電平電壓。

      

      圖3:通用I/O的輸入功能

      圖4:通用IO輸入功能構成的開關電路

      使用通用I/O的輸入功能構成圖4所示的電路,單片機就可以判斷出開關(S)的狀態。

      當開關(S)斷開時,電源電壓通過上拉電阻(R),連接到引腳A(相當于輸入高電平電壓),寄存器(SFR)將的值變為1。

      當開關(S)關閉時,引腳A被連接到低電平電壓,寄存器(SFR)的值變為0。

      單片機通過讀取引腳A的寄存器(SFR)的值,是“1”還是“0”,可以判斷外部開關(S)是斷開還是關閉狀態。

      

      圖4:通用IO輸入功能構成的開關電路

      單片機上搭載了各種功能的SFR。通過程序來更改或讀出這些功能寄存器的值,就可獲知單片機的信息,而對進行控制。所以可以說,SFR就象是單片機的五官或者手腳。



    關鍵詞: 單片機 SFR 外圍電路

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 丁青县| 德保县| 米泉市| 黑龙江省| 汤阴县| 安达市| 阿拉善盟| 华容县| 江川县| 海口市| 资兴市| 泽库县| 昭通市| 宾川县| 华阴市| 云浮市| 万年县| 丰宁| 南溪县| 吉安市| 开平市| 大庆市| 英山县| 哈巴河县| 高尔夫| 深圳市| 兰溪市| 恩施市| 宜黄县| 巴南区| 绩溪县| 常州市| 叙永县| 祁阳县| 铁岭市| 临夏市| 盘山县| 巴中市| 仙游县| 政和县| 临城县|