第十四届蓝桥杯单片机组学习笔记(1):点亮板子第一个LED

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

点亮板子第一个LED

前言

使用CT107D实验板子的时候可以看到为了IO口对多个外设的复用所以板子使用了几个锁存器来对LED、数码管、蜂鸣器等外设进行了一个选择最后再使用38译码器来使用三个IO口选择8个译码器从而使得一组IO能够控制多个外设。

单片机IO控制

根据原理图可以看到LED是低电平驱动所以Q1~Q8为0时对应的LED亮起

M74HC573M1R-数据锁存器

在这里插入图片描述
LED由数据锁存器控制查阅锁存器芯片的数据手册可以看到
在这里插入图片描述
在这里插入图片描述
所以可以看到我们如果要使能锁存器达到一个transparent mode 透明的模式透传即输入什么输出什么的时候LE需要输入高电平。

74HC138-38译码器

由于Y4C需要高电平所以Y4|WR应该为低电平才行正好38译码器输出时需要让Y4为0即输入的是100
译码器电路
38译码器真值表左边的输入由二进制码组成右边对二进制码译成十进制码将十进制对应标号的引脚拉低其他为高。B - >D

A2(P27)A1(P26)A0(P25)Y0Y1Y2Y3Y4Y5Y6Y7
00001111111
00110111111
01011011111
01111101111
10011110111
10111111011
11011111101
11111111110
  • 由此可见我们在选择LED的时候只需要P2=0X80即可
    在这里插入图片描述

代码

void main(void)
{
	P2 = (P2&0x1f)|0x80);//P2 & (0001 1111) | (1000 0000)
    while (1)
    {
        P00 = 0;  //LED熄灭
        Delay500ms();
        P00 = 1;  //LED熄灭
        Delay500ms();
    }
}
  • P2&0x1f是为了把P2口原来的P27,P26,P25的状态清零而其他位保持不动
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“第十四届蓝桥杯单片机组学习笔记(1):点亮板子第一个LED” 的相关文章