单片机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;
       }
     }
  
  }
 
}
相关推荐
青牛科技-Allen1 小时前
GC3910S:一款高性能双通道直流电机驱动芯片
stm32·单片机·嵌入式硬件·机器人·医疗器械·水泵、
森焱森3 小时前
无人机三轴稳定控制(2)____根据目标俯仰角,实现俯仰稳定化控制,计算出升降舵输出
c语言·单片机·算法·架构·无人机
白鱼不小白3 小时前
stm32 USART串口协议与外设(程序)——江协教程踩坑经验分享
stm32·单片机·嵌入式硬件
S,D4 小时前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程
芯岭技术7 小时前
PY32F002A单片机 低成本控制器解决方案,提供多种封装
单片机·嵌入式硬件
youmdt7 小时前
Arduino IDE ESP8266连接0.96寸SSD1306 IIC单色屏显示北京时间
单片机·嵌入式硬件
嘿·嘘7 小时前
第七章 STM32内部FLASH读写
stm32·单片机·嵌入式硬件
Meraki.Zhang7 小时前
【STM32实践篇】:I2C驱动编写
stm32·单片机·iic·驱动·i2c
几个几个n10 小时前
STM32-第二节-GPIO输入(按键,传感器)
单片机·嵌入式硬件
Despacito0o13 小时前
ESP32-s3摄像头驱动开发实战:从零搭建实时图像显示系统
人工智能·驱动开发·嵌入式硬件·音视频·嵌入式实时数据库