0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单个I/O口驱动单个LED教程

CHANBAEK 来源:嵌入式开发教程 作者:郭学提 2023-07-12 11:50 次阅读

单个I/O口驱动单个LED

单个LED驱动,可以使用I/O口和限流电阻来实现。根据LED在电路中的接法,驱动程序也不尽相同,但驱动方法基本类似。

图片

由图可知当P1.0口输出为低电平时,就会点亮D1。当P1.0输出为高电平时,D1就会熄灭。通常同一个程序会包含点亮和熄灭LED的程序。在实际编程时,使用P1^0=0或P1^0=1语句,就可以点亮或熄灭D1了。

(1)点亮D1的程序如下:

sbit   D1 = P1^0  ;  //定义D1为P1.0端口
void   main(void)
{
    D1 = 0; //P1.0输出低电平,此时可点亮发光二极管D1
    //D1=1  ;  //如果D1反接。则需要P1.0输出高电平时才能点亮发光二极管D1
}

(2)熄灭D1的程序如下:

sbit   D1=P1^0  ;  //定义D1为P1.0端口
void   main(void)
{
    D1 = 1;  //P1.0输出高电平,此时可熄灭发光二极管D1
    //D1=0  ;  //如果D1反接。则需要P1.0输出低电平时才能熄灭发光二极管D1
}

单个I/O口驱动两个LED

根据电路的接法不同1个I/O口可以同时驱动两种不同状态的LED。其驱动程序与“单个I/O口驱动单个LED”相似。1个I/O口驱动2个LED的实验电路图如下:

图片

点亮D1的程序如下:

sbit   LED=P1^0  ;//定义LED为P1.0端口
void   main(void)
{
    LED=0  ;  //P1.0输出低电平,此时可点亮发光二极管D1,熄灭D2
}

由上述程序可知,D1和D2的状态总是互斥的。读者可以根据所示的电路,试着自己编写点亮D2的程序。由于单片机I/O口的电流驱动能力是有限制的,当我们需要用1个I/O口线控制多个LED(如LED组合而成的点阵汉字)时,就需要使用三极管或驱动芯片(如UNL2003)来实现。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23256

    浏览量

    660617
  • 单片机
    +关注

    关注

    6035

    文章

    44553

    浏览量

    634751
  • 发光二极管
    +关注

    关注

    13

    文章

    1198

    浏览量

    66290
  • 端口
    +关注

    关注

    4

    文章

    964

    浏览量

    32058
  • 程序
    +关注

    关注

    117

    文章

    3785

    浏览量

    81009
收藏 人收藏

    评论

    相关推荐

    单片机I/O驱动MOS管电路原理分析

    为什么经常看到在使用单片机I/O驱动MOS管时,不是使用单片机I/O
    发表于 06-15 09:08 9920次阅读
    单片机<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b><b class='flag-5'>驱动</b>MOS管电路原理分析

    使用单个PRM驱动多个VTMs的设计

    使用单个PRM驱动多个VTMs的设计本应用笔记讨论使用Vicor之V·I晶片预稳压及电压转换模块的设计习要以符合功率系统上单个系统要求低电压、多路电流及多个电压的挑战。Vicor的V·
    发表于 11-20 09:07

    pc机单个232和设备通信

    想做个PC机单个232串和单片机 的通信, 单片机用IO模拟UART , 单个单片机和pc通信可以,但是多个单片机同时和一个串口通信怎么做呢,目前想做12个同时通信,有没大大指导下
    发表于 09-28 10:05

    诡异的PIC单片机的I/O问题(相同的I/O配置单个出问题...

    是一致的,其他的输出都没有问题,就是RA3没有大的输出,用示波器测有0.8V的电平变化,可是不知道这算不算是误差,RA4是开漏输出,加了10K的上拉电阻。可是目前就是这两个I/O
    发表于 11-16 19:39

    请问“PCA9956BTWY”会在每个端口上驱动单个LED吗?

    我正在使用 NXP 的 LED 驱动器“PCA9956BTWY”。该器件驱动 24 通道 LED o/p。从数据表中,我了解到该设备适用于每
    发表于 05-06 07:46

    用普通I/O 驱动LCD显示

    用普通I/O 驱动LCD 显示文件编码:HA0092s介绍:在一些特定环境,为了节省成本,控制I/O
    发表于 04-07 09:24 44次下载

    并行I/O编程范例

        单片机I/O的应用最典型的是通过I/O与7段
    发表于 04-03 23:07 543次阅读

    I/O并行直接驱动LED显示实验(含电路原理图)

    I/O并行直接驱动LED显示 1. 实验任务 如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a
    发表于 04-15 10:24 4136次阅读
    <b class='flag-5'>I</b>/<b class='flag-5'>O</b>并行<b class='flag-5'>口</b>直接<b class='flag-5'>驱动</b><b class='flag-5'>LED</b>显示实验(含电路原理图)

    使用MAX6958/MAX6959LED驱动器实现单个LED

    摘要:该应用笔记详细说明了如何使用MAX6958和MAX6959 LED显示驱动器实现象素级(单个LED)亮度控制。该威廉希尔官方网站 增强了这些驱动器内
    发表于 04-27 09:01 1021次阅读
    使用MAX6958/MAX6959<b class='flag-5'>LED</b><b class='flag-5'>驱动</b>器实现<b class='flag-5'>单个</b><b class='flag-5'>LED</b>

    单个PRM驱动多个VTMs

    单个PRM驱动多个VTMs 的有用PDF。
    发表于 01-06 17:58 0次下载

    为什么单片机的I/O需要驱动

    为什么单片机的I/O需要驱动呢?这个问题需要从I/O
    发表于 07-21 11:10 2551次阅读
    为什么单片机的<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>需要<b class='flag-5'>驱动</b>

    C51编程6-双向I/O与准双向I/O

    通过前面的输入输出的内容(LED控制与按键的使用),我们对控制I/O有了一个基本的了解。如果需要输出高低电平,可以对该引脚进行写"1"或者"0";如果需要
    发表于 11-29 10:51 1次下载
    C51编程6-双向<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>与准双向<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>

    单片机的I/O驱动的作用分析

    为什么单片机的I/O需要驱动呢?这个问题需要从I/O
    发表于 01-29 09:51 1862次阅读

    为什么单片机的I/O需要驱动

    为什么单片机的I/O需要驱动
    的头像 发表于 09-27 15:32 927次阅读
    为什么单片机的<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>需要<b class='flag-5'>驱动</b>?

    51单片机双向I/O与准双向I/O解析

    通过前面的输入输出的内容(LED控制与按键的使用),我们对控制I/O有了一个基本的了解。如果需要输出高低电平,可以对该引脚进行写"1"或者"0";如果需要读取
    的头像 发表于 10-31 17:50 7237次阅读
    51单片机双向<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>与准双向<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>解析