68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 單片機基礎之PIC單片機之I/O控制

單片機基礎之PIC單片機之I/O控制

關鍵字:單片機 PIC單片機 I/O控制 串口 作者:admin 來源:不詳 發(fā)布時間:2018-05-18  瀏覽:2

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

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

什么是I/O口?

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

I/O具體能做什么呢?

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

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

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

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

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

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

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

如何控制I/O口?

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

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

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

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

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

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

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

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

第一種 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口當前為低電平,PORTA寄存器中的RA5位為1 則說明RA5口當前為高電平。

實例程序:

如果在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ù)字口,

TRISAbits.TRISA5=0;//設置RA5為輸出

PORTAbits.RA5=1;//設置輸出高電平點亮LED

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

}

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

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

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

編輯:admin  最后修改時間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

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

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

保康县| 石门县| 东阳市| 南开区| 嘉禾县| 张掖市| 台前县| 成安县| 翁牛特旗| 鹤壁市| 昭觉县| 洪雅县| 科尔| 定日县| 梁河县| 抚州市| 陵川县| 明星| 南宁市| 高州市| 高淳县| 汉中市| 垫江县| 余干县| 吴堡县| 富阳市| 云安县| 镇坪县| 淮安市| 琼海市| 贡嘎县| 黔南| 黄骅市| 溧阳市| 青州市| 商城县| 惠东县| 南充市| 枝江市| 将乐县| 农安县|