如何用8051微控制器接口LED
我们非常熟悉“Hello World!”任何初始阶段的基本计划代码编程语言学习一些基本的东西。类似地使用8051微控制器,LED接口是微控制器接口编程中的基本内容。每个微控制器的架构都不同,但接口概念几乎都是所有微控制器的概念。本教程将为您提供8051的LED接口。
接口是一种方法,可提供微控制器和接口设备之间的通信。bob的是什么网站接口是输入设备或输出设备或存储设备或处理设备。
输入接口设备:按钮开关,键盘,红外传感器,温度感应器、气体传感器等。这些设备向微控制器提供一些信息,这被称为输入数据。
输出接口设备:LED,LCD,蜂鸣器,继电器驱动程序,直流电机驱动器,7段显示等。
存储接口设备:用于存储/保留数据,示例,SD卡,EEPROM,数据闪,实时时钟等

LED与8051的接口
接口包括硬件(接口设备)和软件(通信的源代码,也称为驱动程序)。简单地说,要使用LED作为输出设备,LED要连接到微控制器端口,MC要在里面编程,让LED亮或灭或闪烁或暗淡。这个程序称为驱动程序/固件。驱动软件可以使用任何编程语言如装配,c等
8051微控制器
8051微控制器是英特尔在1980年发明的。它的基础是基于哈佛体系结构和这个微控制器的开发主要是为了将它用于嵌入式系统。我们之前讨论过8051微控制器历史和基础知识。这是一个40针PDIP(塑料双内联封装)。
8051具有片上振荡器,但它需要外部时钟运行它。石英水晶连接在MC的Xtal Pin之间。该晶体需要两个相同的值电容器(33pf),用于产生所需频率的时钟信号。我们之前的文章中解释了8051微控制器的功能。

LED(发光二极管)
LED是一种半导体器件用于许多电子设备,主要用于信号传输/功率指示目的。它非常便宜,可轻松地提供各种形状,颜色和尺寸。LED也用于设计消息显示板和流量控制信号灯等。
它有两个终端正负,如图所示。

知道极性的唯一方法要么用万用表测试它,要么通过在LED内仔细观察。LED内部的较大端部(阴极),较短的一个是+ ve(阳极),即我们如何找到LED的极性。识别极性的另一种方法是连接引线,正极具有比负端子更多的长度。
LED接口到8051
我们可以通过两种方式与单片机8051进行交互。但是连接和编程技术将是不同的。本文介绍了AT89C52/ AT89C51单片机的LED与8051的接口及LED闪烁代码。

仔细观察接口LED 2是正向偏置的,因为输入电压5v连接到LED的正极,所以这里的微控制器引脚应该是低电平。反之亦然,接口1连接。
电阻在LED接口中非常重要,它可以限制电流的流动,避免损坏LED和/或MCU。
- 界面1将闪烁LED,仅当MC的PIN值高时,随着电流朝向地面流动。
- 接口2将使LED发光,只有当MC的引脚值很低时,由于其较低的电位,电流流向引脚。
电路图如下所示。一个LED连接到接口1的pin-0上。

我将详细解释程序代码。此外,请参阅此链接“嵌入式C编程教程与Keil语言“。11.0592 MHz的晶体连接用于产生时钟。如我们所知,8051微控制器在12个CPU周期中执行指令[1],因此该11.0592MHz晶体使得该8051运行0.92 MIPS(每秒百万条指令)。
在下面的代码中,LED被定义为接口1的引脚0。在主功能中,LED每半秒切换一次。' delay '函数每次执行时都执行空语句。
当使用11.0592 MHz crystal时,60000(使用Keil micro-vision4软件编译)会产生大约1秒(延迟时间)的空语句执行时间。通过这种方式,连接到P1.0引脚的LED使用下面给出的代码闪烁。
代码
# include < reg51.h >
SBIT LED = P1 ^ 0;// POR1的PIN0被命名为LED
//函数声明
void cct_init(空白);
无效的延迟(int);
int main(空白)
{
cct_init();
而(1)
{
领导= 0;
延迟(60000);
领导= 1;
延迟(60000);
}
}
空白cct_init(空白)
{
p0 = 0x00;
p1 = 0x00;
p2 = 0x00;
p3 = 0x00;
}
空白延迟(int a)
{
int我;
for(i = 0; i
} 本文提供了有关LED接口与8051联系的信息。这是8051微控制器项目的基本接口概念。 我希望通过阅读这篇文章,您已经掌握了如何用8051接口LED模块的基本知识。如果您对这篇文章或关于微控制器项目,请不要犹豫,在下面的部分中感到免费评论。
我们如何使用面包板设计基本电子产品bob足球体育app