當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]I/O控制對于單片機(jī)而言是最基礎(chǔ)最核心的東西,其實單片機(jī)除了AD DA 轉(zhuǎn)換之外的事情。其他大部分的事情I/O口都能做的到。I/O控制簡單卻能千變?nèi)f化。單片機(jī)在大部分應(yīng)用中做的事情,莫過于 輸入高低電平 ,輸出高低電平

I/O控制對于單片機(jī)而言是最基礎(chǔ)最核心的東西,其實單片機(jī)除了AD DA 轉(zhuǎn)換之外的事情。其他大部分的事情I/O口都能做的到。I/O控制簡單卻能千變?nèi)f化。

單片機(jī)在大部分應(yīng)用中做的事情,莫過于 輸入高低電平 ,輸出高低電平。就是通過這簡單的控制電平來實現(xiàn)大多數(shù)的應(yīng)用控制。

什么是I/O口?

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

I/O具體能做什么呢?

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

I/O口和寄存器之間的對應(yīng)關(guān)系

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

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

在看看RA口的數(shù)據(jù)控制寄存器PORTA

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

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

如何控制I/O口?

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

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

C語言的具體實現(xiàn):

將RA5口設(shè)置成輸入的幾種方式

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

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

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

將RA5口設(shè)置成輸出的幾種方式

第一種 TRISAbits.TRISA5=0;

第二種 TRISA |= ~0x20;

第三種 TRISA =0x00;

PORTA寄存器是數(shù)據(jù)控制寄存器。如果是輸出狀態(tài):PORTA寄存器中的RA5位為0 則RA5口輸出低電平,PORTA寄存器中的RA5位為1 則RA5口輸出高電平。

如果是輸入狀態(tài):PORTA寄存器中的RA5位為0 則說明RA5口當(dāng)前為低電平,PORTA寄存器中的RA5位為1 則說明RA5口當(dāng)前為高電平。

實例程序:

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

/*

開發(fā)環(huán)境為 MPLAB X IDE,芯片型號為PIC16LF1823

*/

#include //頭文件
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON

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


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

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

頭文件:程序中只要有了#include編譯器就會去自動找到相應(yīng)型號的頭文件,頭文件中定義好了每個寄存器的地址,位的地址等。

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

模擬數(shù)字口:在使用I/O口的時候要確保對應(yīng)的I/O口是被設(shè)置成數(shù)字口的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉