单片机51 输入和输出

一、IO口基本概念介绍

单片机的IO口(Input/Output口)是连接单片机与外部电路或设备的接口。单片机的IO口可以分为输入口和输出口两种,用于控制和监测外部设备的状态。

  1. 输入口:单片机的输入口用于接收外部电路或设备的信号。输入口可以连接传感器、开关、按键等外部设备,用于获取外部环境的信息。输入口一般被配置为高阻态,以避免影响外部电路。

  2. 输出口:单片机的输出口用于向外部电路或设备发送信号。输出口可以连接LED灯、继电器、电机等外部设备,用于控制它们的状态。输出口可以输出高电平(通常为Vcc)或低电平(通常为地)来控制外部设备。

单片机的IO口可以通过编程来配置和控制,通常包括以下步骤:

  1. 配置IO口为输入口或输出口。

  2. 读取输入口状态或向输出口写入数据。

  3. 根据需要控制IO口的电平状态,实现特定功能。

在设计单片机应用时,合理使用IO口可以实现与外部设备的通信和控制,实现各种功能,如数据采集、控制执行、通信传输等。设计时需考虑IO口的数量、电压、电流等参数,以确保与外部电路的匹配和稳定性。

二、IO输出 点亮led

2.1 电路原理图

电路原理图

led在板子上的io口

2.2 程序

点亮一个led灯

cpp 复制代码
#include "reg52.h"
sbit led1 = P3^6;



int main()
{
  led1 = 0;
 

}

三、IO输入 key按键

3.1

cpp 复制代码
#include "reg52.h"
sbit led1 = P3^6;
sbit key1 = P2^1;
sbit key2 = P2^0;

void Delay50ms()		//@11.0592MHz
{
	unsigned char i, j;

	i = 90;
	j = 163;
	do
	{
		while (--j);
	} while (--i);
}

int main()
{
  while(1) {
    if(key1 == 0) {
      Delay50ms();
       if(key1 == 0) {
        led1 =0;
       }
     }
    
    if(key2 == 0) {
      Delay50ms();
       if(key2 == 0) {
        led1 =1;
       }
     }
  
  }
 
}
相关推荐
BMS小旭1 小时前
CubeMx-GPIO学习
单片机·学习
清风6666663 小时前
基于单片机的PID调节脉动真空灭菌器上位机远程监控设计
数据库·单片机·毕业设计·nosql·课程设计·期末大作业
polarislove02144 小时前
9.6 [定时器]超声波测距实验-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
一路往蓝-Anbo5 小时前
C语言从句柄到对象 (六) —— 继承与 HAL:父类指针访问子类数据
c语言·开发语言·stm32·嵌入式硬件·物联网
一路往蓝-Anbo8 小时前
C语言从句柄到对象 (七) —— 给对象加把锁:RTOS 环境下的并发安全
java·c语言·开发语言·stm32·单片机·嵌入式硬件·算法
一路往蓝-Anbo8 小时前
C语言从句柄到对象 (八) —— 当对象会说话:观察者模式与事件链表
c语言·开发语言·数据结构·stm32·单片机·观察者模式·链表
polarislove02148 小时前
9.5 [定时器]输入捕获-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
国科安芯8 小时前
核工业检测系统通信链路的国产化元器件安全等级评估
运维·网络·人工智能·单片机·嵌入式硬件·安全·安全性测试
IT阳晨。10 小时前
【STM32】采集温湿度数据上传至OneNET平台项目
stm32·单片机·嵌入式硬件
FL162386312910 小时前
flash_attn windows whl下载安装教程
windows·stm32·单片机