国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用簡單控制電平來實現大多數的應用控制

GReq_mcu168 ? 來源:互聯網 ? 作者:佚名 ? 2018-01-25 08:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機在大部分應用中做的事情,莫過于輸入高低電平 ,輸出高低電平。就是通過這簡單的控制電平來實現大多數的應用控制。

什么是I/O口?

什么是I/O 就是 IN/OUT 就是 輸入/輸出。

I/O具體能做什么呢?

如果你是剛剛步入電子的新手,那你最好要知道一下I/O口具體能做什么。感性的認識對你的學習是很有幫助的。I/O口輸出一個高(低)電平可以用來點亮一個LED燈,可以接通過一個繼電器,來開啟電機,來開啟音響。開啟許多的東西,也可以用于通信等等。輸入一個高(低)電平 可以用來檢測按鍵,檢測紅外線輸入 ,檢測信號,等等。

I/O口和寄存器之間的對應關系

首先看下一個芯片的原理圖。 注意 RA5~RA0這些口

在看看RA口的方向控制寄存器TRISA

在看看RA口的數據控制寄存器PORTA

可以看出 芯片原理圖中的第二腳 RA5 口 和 TRISA 寄存器中的TRISA5位對應 和PORTA寄存器中的 RA5位對應的,RA4~RA0都是如此對應的。

也就是說TRISA 寄存器中的TRISA5位 和PORTA寄存器中的 RA5位來控制 第二腳的RA5口。

如何控制I/O口?

其實控制單片機,就是控制寄存器上的各個位,設置成高設置成低。就好像給你一臺機器有 8個的按鈕。然后你根據說明書上介紹,根據你的需要按下 或者松開相應的按鍵 來得到你想得到的功能。只不過我們用的不是手而是C語言來按下和松開這些按鍵。

TRISA寄存器是方向控制寄存器。就是控制I/O輸入還是輸出。比如 TRISA寄存器中的TRISA5位 設置成為0 RA5口是輸出 設置成為1 RA5口為是輸入。

C語言的具體實現:

將RA5口設置成輸入的幾種方式

第一種 TRISAbits.TRISA5=1; //簡單明了,只影響一個位 設置單個I/O比較方便

第二種 TRISA |= 0x20;//不夠明了,只影響一個位

第三種 TRISA =0x20;//不夠明了,影響到其他位,設置多個I/O用比較方便

將RA5口設置成輸出的幾種方式

第一種 TRISAbits.TRISA5=0;

第二種 TRISA &= ~0x20;

第三種 TRISA =0x00;

PORTA寄存器是數據控制寄存器。如果是輸出狀態:PORTA寄存器中的RA5位為0 則RA5口輸出低電平,PORTA寄存器中的RA5位為1 則RA5口輸出高電平。

如果是輸入狀態:PORTA寄存器中的RA5位為0 則說明RA5口當前為低電平,PORTA寄存器中的RA5位為1 則說明RA5口當前為高電平。

實例程序:

如果在RA5口上連接著一個LED燈。我們將如何點亮他呢?

/*

開發環境為 MPLAB X IDE,芯片型號為PIC16LF1823

*/

#include

&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//這個要放到上一行去__CONFIG(PLLEN_OFF&LVP_OFF) ;//配置位int main(int argc, char** argv) {

ANSELA=0;//將RA口全部設置成數字口, TRISAbits.TRISA5=0;//設置RA5為輸出 PORTAbits.RA5=1;//設置輸出高電平點亮LED

while(1);//程序在此無限循環}

頭文件:程序中只要有了#include

配置位:這是十分重要即使程序沒有任何錯誤 配置位沒配置好程序一樣不能用。具體如何配置可以看( 基于MPLAB X IDE配置位設置講解 )。

模擬數字口:在使用I/O口的時候要確保對應的I/O口是被設置成數字口的。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6076

    文章

    45501

    瀏覽量

    670640
  • 寄存器
    +關注

    關注

    31

    文章

    5609

    瀏覽量

    130016

原文標題:PIC單片機之I/O控制

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么圖騰柱電路大多數三極管實現的呢

    本帖最后由 夢想號 于 2014-7-18 22:13 編輯 怎么我見到很多的圖騰柱電路大多數都是npn+pnp實現的。三極管不是有比較大的壓降的嗎,還有三極管的速度不怎么快
    發表于 07-18 22:08

    為什么現在大多數四軸飛行器都采用的是X型布局

    `四軸飛行器不單單只有X型,還有十型和H型。為什么現在大多數四軸飛行器都采用的是X型布局呢?據我了解,十字型布局更加簡單,更容易上手?`
    發表于 05-06 16:49

    斯蒂芬斯蒂芬斯蒂芬斯蒂芬水電費是大多數

    斯蒂芬斯蒂芬斯蒂芬斯蒂芬水電費是大多數
    發表于 03-24 13:59

    技術支持工程師面試試題大多數是什么

    技術支持工程師面試試題大多數是什么技術支持工程師面試試題大多數是什么
    發表于 12-04 21:53

    如何解決大多數電源完整性問題

    。有時候,只需要用四層電路板上的一個電源層和一個地層,就可以解決大多數電源完整性問題。除了電源層以外,還可以為每只IC去耦,以解決設計中繁瑣的電源問題。不過,現在的PCB空間(還有成本與你的日程)都很緊...
    發表于 12-28 08:08

    簡單的D A轉換器電路實現恒定線性速度的電機速度控制

    簡單的D A轉換器電路實現恒定線性速度的電機速度控制:
    發表于 06-12 15:52 ?14次下載
    <b class='flag-5'>用</b><b class='flag-5'>簡單</b>的D A轉換器電路<b class='flag-5'>來</b><b class='flag-5'>實現</b>恒定線性速度的電機速度<b class='flag-5'>控制</b>

    大多數為單指令周期

    大多數為單指令周期 ATtiny10/11/12特點1. AVR RISC 結構2. AVR 高性能低功耗RISC 結構90 條指令大多數為單指令周期32 個8 位通用工作寄存器工作在 8MHz
    發表于 03-26 16:51 ?23次下載

    目前絕大多數的工業機器人 仍然是以使用獨立的專用控制器為主

    工業機器人與通用機電設備的控制集成整合到一個自動化系統之中,對于制造企業來說會有很多顯而易見的價值和益處;但與此同時,我們也發現,盡管市面上已經有了不少集成機器人控制的自動化系統方案,但目前絕大多數的工業機器人,卻仍然是以使用獨
    發表于 01-14 14:23 ?5932次閱讀

    為什么大多數加密貨幣沒有存在的必要

    大多數人窮盡一生都在尋找自我存在的理由。這是個非常有趣的論點,但本文的重點是尋找加密貨幣(大多數,不是所有)存在的理由。我將首先解釋競爭幣存在的主要原因,然后再介紹比特幣及其目前和未來的發展,最后會說明為什么大多數競爭幣可能沒有
    發表于 07-04 10:34 ?1112次閱讀
    為什么<b class='flag-5'>大多數</b>加密貨幣沒有存在的必要

    怎樣雙向邏輯電平轉換器連接具有不同最大電壓的MCU和模塊

    雖然有許多不同版本的邏輯電平轉換器,但大多數(如果不是全部)邏輯電平轉換器使用非常簡單的電路實現
    的頭像 發表于 08-03 09:27 ?8483次閱讀
    怎樣<b class='flag-5'>用</b>雙向邏輯<b class='flag-5'>電平</b>轉換器連接具有不同最大電壓的MCU和模塊

    目前大多數工業控制系統安全性不足面臨著風險

    全球近年來發生多起重大工業信息安全事件。一些組織或個人通過對工業設施和工業系統進行網絡攻擊,謀求達成政治訴求或經濟訴求。目前,我國絕大多數工業控制系統在沒有防護措施的情況下暴露于互聯網,且含有系統漏洞,能夠輕易被遠程操控,面臨巨大安全風險。
    發表于 08-02 11:48 ?2051次閱讀

    大多數加密數字貨幣都存在什么問題

    據加密數字貨幣分析師Willy Woo在推特上發布的最新數據顯示,大多數加密數字貨幣項目都嚴重缺乏市場流動性,這使許多嚴肅的投資者望而卻步。
    發表于 11-28 10:07 ?1993次閱讀

    ADISUSB驅動程序文件(大多數情況下不需要)

    ADISUSB驅動程序文件(大多數情況下不需要)
    發表于 06-07 20:27 ?5次下載
    ADISUSB驅動程序文件(<b class='flag-5'>大多數</b>情況下不需要)

    PyTorch已為我們實現大多數常用的非線性激活函數

    PyTorch已為我們實現大多數常用的非線性激活函數,我們可以像使用任何其他的層那樣使用它們。讓我們快速看一個在PyTorch中使用ReLU激活函數的例子: 在上面這個例子中,輸入是包含兩個正值
    的頭像 發表于 07-06 14:47 ?1385次閱讀

    為何大多數PLC采用ARM架構CPU

    因為大多數PLC使用ARM架構的芯片就夠用了啊!不僅如此,如果你拆開PLC的外殼查看設備的PCB會發現,不僅其架構是ARM的,而且還是很多年前版本的,這是為什么呢?簡單聊聊。
    的頭像 發表于 09-08 14:21 ?4380次閱讀