使用STC15W408AS单片机I/O口点亮LED

控制/MCU

1882人已加入

描述

STC15W408AS单片机有14个I/O口。其所有I/O口均可由软件配置成4种类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、推挽输出/强上拉、高阻输入(电流既不能流入也不能流出)或开漏输出功能。每个口由2个控制寄存器中的相应位控制每个引脚工作类型。STC15系列单片机的I/O口上电复位后为准双向口/弱上拉(传统8051的I/O口)模式。每个I/O口驱动能力均可达到20mA,但40-pin及40-pin以上单片机的整个芯片最大不要超过120mA,20-pin以上及32-pin以下(包括32-pin)单片机的整个芯片最大不要超过90mA。

在上一节3.STC15W408AS单片机GPIO介绍了的GPIO的结构和4种工作模式。这里先介绍输出的两种模式。

接下来开始的实际操作实践。点亮第一个LED,这里的IO口既可以设置为输入也可以设置为输出。

一、GPIO设置为输入

实验电路如下:

led

I/O准双向模式,既可以是输入,也可以是输出。

#include "stc15.h"
#include "delay.h"


void main()
{
    // P1.1口设置为准双向IO口模式,这里可以不写,默认如此
  P1M0 = 0x00;
  P1M1 = 0x00;
  while (1)
  {
    P11 = 1;        // LED 熄灭
    delayms(1000);  // 等待 1s
    P11 = 0;        // LED 点亮
    delayms(1000);  // 等待 1s
  }
}

这个程序实际就是LED间隔1s闪烁的程序。

二、GPIO设置为输出

led

这里设置成为强推挽输出模式。

#include "stc15.h"
#include "delay.h"


void main()
{
    // P1.1 设置为强推挽输出 驱动能力可达20mA
  P1M0 = 0x02;
  P1M1 = 0x00;
  while (1)
  {
    P11 = 1;       // LED 点亮
    delayms(1000); // 等待1s
    P11 = 0;       // LED 熄灭
    delayms(1000); // 等待1s
  }
}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分