国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 單片機(jī)基礎(chǔ)之PIC單片機(jī)之I/O控制

單片機(jī)基礎(chǔ)之PIC單片機(jī)之I/O控制

關(guān)鍵字:單片機(jī) PIC單片機(jī) I/O控制 串口 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:3

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

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

什么是I/O口?

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

I/O具體能做什么呢?

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

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

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

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

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

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

也就是說(shuō)TRISA 寄存器中的TRISA5位 和PORTA寄存器中的 RA5位來(lái)控制 第二腳的RA5口。

如何控制I/O口?

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

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

c語(yǔ)言的具體實(shí)現(xiàn):

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

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

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

第三種 TRISA =0x20;//不夠明了,影響到其他位,設(shè)置多個(gè)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 則說(shuō)明RA5口當(dāng)前為低電平,PORTA寄存器中的RA5位為1 則說(shuō)明RA5口當(dāng)前為高電平。

實(shí)例程序:

如果在RA5口上連接著一個(gè)LED燈。我們將如何點(diǎn)亮他呢?

/*

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

*/

#include //頭文件

__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON

&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//這個(gè)要放到上一行去

__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è)置輸出高電平點(diǎn)亮LED

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

}

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

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

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

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

久久精品亚洲精品国产欧美| 国产av大片一区二区三区 | 日韩精品免费一区三区| 久久青青草原中文字幕| 色涩一区二区三区四区| 好吊视频有精品永久免费| 狠狠做五月深爱婷婷综合| 国产高清一区二区白浆| 国产欧美一区二区三区精品视| 亚洲国产成人av毛片国产| 色婷婷在线精品国自产拍| 九九热精品视频免费在线播放| 欧美午夜伦理在线观看| 欧美成人一区二区三区在线 | 国产日韩精品激情在线观看 | 国产精品久久男人的天堂| 男人和女人干逼的视频| 日韩精品视频高清在线观看| 国产精品香蕉一级免费| 99久久无色码中文字幕免费| 日本欧美一区二区三区就| 精品国产亚洲免费91| 91欧美一区二区三区| 国产精品一区二区视频大全| 国产精品日本女优在线观看| 国产毛片av一区二区三区小说| 日本一本在线免费福利| 91一区国产中文字幕| 男人大臿蕉香蕉大视频| 99热中文字幕在线精品| 久久本道综合色狠狠五月| 儿媳妇的诱惑中文字幕| 国产一区二区三区香蕉av| 高清免费在线不卡视频| 久久精品亚洲欧美日韩| 操白丝女孩在线观看免费高清| 久久永久免费一区二区| 最新午夜福利视频偷拍| 国产在线视频好看不卡| 国产成人午夜福利片片| 欧美成人精品国产成人综合|