51单片机以其便宜,稳定,网上资料齐全等特点被当做各大高校以及电子爱好者对单片机入门的神器,对于51单片机引脚的控制这个问题,我便以曾经用于单片机入门学习的stc89c52来回答这个问题。

单片机的控制信号引脚有哪些

上图就是51单片机的最小系统,从学51单片机的第一天各种各样的教程或者课程都会告诉你单片机最小系统由晶振部分,复位电路部分,及电源部分构成。这三个部分搭建好之后我们便可以通过keil c51使用c语言编程,计算机在对你所编写的c代码进行机器汇编生成hex.文件再通过各种编译器将hex.文件烧录到单片机中。这样单片机就读懂了你的语言从而来控制单片机进行自己所想的所有的神奇操作。

市面上常见的单片机有8,14,16,18,20,28,40,84等引脚,有些甚至只有6个引脚,51单片机就拥有40个引脚。我们能控制的引脚实际上是就是I/O口,其实更准确的来说我们能控制的就是输出口(output口)这里说的I/O口,就是输入(input)输出(output)接口。一般情况下,单片机的引脚当中,除了电源引脚和晶振引脚,其它的都是I/O口。当我们控制单片机的引脚高低时,我们把引脚当做输出引脚;当我们需要检测连接到单片机引脚上的电平时,我们把引脚当做输入引脚使用。

例如入门都会经历的点亮小灯的历程中由于电源从正极到负极有电压差,并且电路是导通的,所以就会有电流通过,LED 小灯因为有了电流通过,所以就会直接发光。

单片机的控制信号引脚有哪些

我们把右侧的原 GND 处接到单片机 P0.0 引脚 上,那么如果我们单片机输出一个低电平,也就是跟 GND 一样的 0V 电压,就可以让 LED 小灯点亮。

单片机的控制信号引脚有哪些

程序为

#include //包含特殊功能寄存器定义的头文件

sbit LED = P0^0; //位地址声明

void main()

{

LED = 0;

}

当然我们可以试试多点几个灯,将几个LED小灯接在对应引脚上。

#include //包含特殊功能寄存器定义的头文件

sbit LED = P0^0; //位地址声明

sbit ADDR0 = P1^0;

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

void main()

{

ENLED = 0;

ADDR3 = 1;

ADDR2 = 1;

ADDR1 = 1;

ADDR0 = 0;

LED = 0; //点亮小灯

while (1);

}

同样的道理输出引脚便可以用高电平或者低电平来进行控制。