單片機(jī)IO口操作是什么
單片機(jī)IO口操作是什么
相信很多同學(xué)對單片機(jī)都有一定了解,那么你知道單片機(jī)IO口操作是什么嗎?不知道的話跟著學(xué)習(xí)啦小編一起來學(xué)習(xí)了解單片機(jī)IO口操作。
單片機(jī)IO口操作
單片機(jī)中有四個i/o口,分別是P1,P2,P3和P4,每個引腳不止一種功能(如P3.2既是i/o口又是外部中斷INT0引腳)。
下面用一個閃爍燈的例子來說明51單片機(jī)單個i/o口的用法:
/*****************************************************************************
晶振:11.0593MHz
LED接P1.0引腳
實(shí)驗(yàn)結(jié)果:LED每隔0.5s閃爍一次
*******************************************************************************/
#include<reg51.h> //包含頭文件
#define LED P1.0 //定義LED為P1.0口
void delay(unsigned int i) //延時1ms函數(shù)
{
for(;i>0;i--)
for(int j=0;j<110;j++);
}
void main() //主函數(shù)
{
while(1)
{
LED=1; //熄滅LED
delay(500); //延時0.5s
LED=0; //點(diǎn)亮LED
delay(500);
}
}
下面再用一個流水燈例子說明51單片機(jī)整體I/O的用法:
/*****************************************************************************
晶振:11.0593MHz
8個LED1~LED8分別接接P1.0~P1.7引腳
實(shí)驗(yàn)結(jié)果:從LED1至LED8逐個點(diǎn)亮,呈現(xiàn)流水燈效果
*******************************************************************************/
#include<reg51.h>
void delay(unsigned int i) //延時1ms函數(shù)
{
for(;i>0;i--)
for(int j=0;j<110;j++);
}
void main()
{
while(1)
{
P1=0xFF; //就是二進(jìn)制中的11111111,全部熄滅
delay(100); //延時0.1s
P1=0xFE; //就是二進(jìn)制中的11111110,點(diǎn)亮LED1
delay(100); //延時0.1s
P1=0xFD; //就是二進(jìn)制中的11111101,點(diǎn)亮LED2
delay(100); //延時0.1s
P1=0xFB; //就是二進(jìn)制中的11111011,點(diǎn)亮LED3
delay(100); //延時0.1s
P1=0xF7; //就是二進(jìn)制中的11110111,點(diǎn)亮LED4
delay(100); //延時0.1s
P1=0xEF; //就是二進(jìn)制中的11101111,點(diǎn)亮LED5
delay(100); //延時0.1s
P1=0xDF; //就是二進(jìn)制中的11011111,點(diǎn)亮LED6
delay(100); //延時0.1s
P1=0xBF; //就是二進(jìn)制中的10111111,點(diǎn)亮LED7
delay(100); //延時0.1s
P1=0x7F; //就是二進(jìn)制中的01111111,點(diǎn)亮LED8
delay(100); //延時0.1s
}
}
單片機(jī)IO口操作是什么相關(guān)文章: