单片机IO口操作是什么

作者:佚名  浏览量:147  发布时间:2023-04-25

  相信很多同学对单片机都有一定了解,那么你知道单片机IO口操作是什么吗?不知道的话跟着学习啦小编一起来学习了解单片机IO口操作。

单片机IO口操作

  单片机中有四个i/o口,分别是P1,P2,P3和P4,每个引脚不止一种功能(如P3.2既是i/o口又是外部中断INT0引脚)。

  下面用一个闪烁灯的例子来说明51单片机单个i/o口的用法:

  /*****************************************************************************

  晶振:11.0593MHz

  LED接P1.0引脚

  实验结果:LED每隔0.5s闪烁一次

  *******************************************************************************/

  #include<reg51.h> //包含头文件

  #define LED P1.0 //定义LED为P1.0口

  void delay(unsigned int i) //延时1ms函数

  {

  for(;i>0;i--)

  for(int j=0;j<110;j++);

  }

  void main() //主函数

  {

  while(1)

  {

  LED=1; //熄灭LED

  delay(500); //延时0.5s

  LED=0; //点亮LED

  delay(500);

  }

  }

  下面再用一个流水灯例子说明51单片机整体I/O的用法:

  /*****************************************************************************

  晶振:11.0593MHz

  8个LED1~LED8分别接接P1.0~P1.7引脚

  实验结果:从LED1至LED8逐个点亮,呈现流水灯效果

  *******************************************************************************/

  #include<reg51.h>

  void delay(unsigned int i) //延时1ms函数

  {

  for(;i>0;i--)

  for(int j=0;j<110;j++);

  }

  void main()

  {

  while(1)

  {

  P1=0xFF; //就是二进制中的11111111,全部熄灭

  delay(100); //延时0.1s

  P1=0xFE; //就是二进制中的11111110,点亮LED1

  delay(100); //延时0.1s

  P1=0xFD; //就是二进制中的11111101,点亮LED2

  delay(100); //延时0.1s

  P1=0xFB; //就是二进制中的11111011,点亮LED3

  delay(100); //延时0.1s

  P1=0xF7; //就是二进制中的11110111,点亮LED4

  delay(100); //延时0.1s

  P1=0xEF; //就是二进制中的11101111,点亮LED5

  delay(100); //延时0.1s

  P1=0xDF; //就是二进制中的11011111,点亮LED6

  delay(100); //延时0.1s

  P1=0xBF; //就是二进制中的10111111,点亮LED7

  delay(100); //延时0.1s

  P1=0x7F; //就是二进制中的01111111,点亮LED8

  delay(100); //延时0.1s

  }

  }

单片机IO口操作是什么相关文章:

1.单片机实训报告范文3篇

本文链接: https://www.bigbaik.com/network/4432.html
免责声明:本文内容来自互联网,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系删除。