首页 > 其他分享 >CT107D单片机的LED的基础了解与应用

CT107D单片机的LED的基础了解与应用

时间:2023-12-31 15:44:25浏览次数:42  
标签:P2 P0 LED CT107D Delay 单片机 sbit HC138

对于该单片机的LED控制,需要了解74HC5138译码器,M74HC573MIR锁存器,74HC02非或门这三个器件

上图三个引脚可控制模式分别是i/o口扩展 映射
i/o口扩展接2,3 映射:1,2 我们以下所有操作是用i/o口扩展展示


74HC5138译码器是一个通过三个输出控制八路互斥的低有效输出的芯片 八路互斥:一低七高
通过三个P2口来控制八个Y口

C B A
0 0 0 Y0 通过这样的方式选择所需端口
0 0 1 Y1
0 1 0 Y2
0 1 1 Y3
以此类推


上图是个或非门,以红箭头的为列,有两个引脚:8,9的这边的数据会经过先或后非传输到10引脚这边


锁存器可控制LED的亮灭 OE接地,当LE是高电平时,锁存器打开。该芯片的输入是透明的即P0口输入的值到Q1是不变的

74HC5138译码器通过输入编码选择Y4
或非门Y4与WR都是低电平 经非后变成
高电平输入到Y4C,锁存器打开
接下来就可向P0口输入十六进制的编码
即可控制LED

该板的LED是共阳LED,输入低电平点亮
P0口是八位并行 I/O 端口

点击查看代码
`include<STC15F2K60S2.H>//添加头文件
`sbit HC138_C=P2^7//定义译码器
`sbit HC138_B=P2^6
`sbit HC138_A=P2^5

` HC138_C=1;//位选Y4
` HC138_B=0;
` HC138_A=0;

 `P0=0x01;点亮一个LED
若想更复杂控制LED则需要函数的加入 下列可实现LED全亮三次 依次点亮 依次熄灭

列:#include<STC15F2K60S2.H>

sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;

void Delay(unsigned int t)//延迟函数
{
while(t--);
while(t--);
}

void LEDrunning()子函数
{
unsigned char i;
HC138_C = 1;
HC138_B = 0;
HC138_A = 0;

for(i = 0; i < 3; i++)
{
P0 = 0x00;
Delay(60000);
Delay(60000);
P0 = 0xff;
Delay(60000);
Delay(60000);
}
for(i = 1; i <= 8; i++)
{
	P0 = 0xff << i;
	Delay(60000);
  Delay(60000);

}
for(i = 1; i <= 8; i++)
{
	P0 = ~(0xff << i);
	Delay(60000);
  Delay(60000);
}

}

void buzzdown()//Y5初始化(可将蜂鸣器关闭)
{
HC138_C = 1;
HC138_B = 0;
HC138_A = 1;

P0= 0x00;

}

void main ()主函数
{
buzzdown();
while(1)
{
LEDrunning();
}
}

标签:P2,P0,LED,CT107D,Delay,单片机,sbit,HC138
From: https://www.cnblogs.com/yueshengti/p/17937040

相关文章

  • Installed Build Tools revision 34.0.0 is corrupted
    解决方案:根据构建报错信息"31.0.0版本的构建工具缺少了DX文件"发现,31.0.0版本的构建工具缺少了"dx.bat"和"dx.jar"这两文件,正确的做法就是复制对应路径的"d8.bat"和"d8.jar"这两文件创建副本,并分别改名为"dx.bat"和"dx.jar"【该方法同样适用于34.0.0版本问题】,"d8.bat"和&qu......
  • DockerCompose中重启某个服务时提示: (iptables failed: iptables --wait -t nat -A D
    场景DockerCompose修改某个服务的配置(添加或编辑端口号映射)后如何重启单个服务使其生效:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/134666413除了以上重启某个服务的方式外。基于docker-compose的方式,如果只是要单纯的重启某个服务,则可以通过docker-compo......
  • rustler-precompiled rustler 扩展工具简单说明
    已经简单说过mjml_nif使用了rustler+rustler-precompiled进行nif的构建,同时官方也写了一篇相关的博客进行介绍使用说明配置依赖defdepsdo[{:rustler_precompiled,"~>0.7"}]end配置native使用可以是一个独立的模块,命名上可......
  • Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING。
    前端间隔性报错:后端接口异常浏览器审查,内容如下:前端报错:Failedtoloadresource:net::ERR_INCOMPLETE_CHUNKED_ENCODING。 后端报错:Causedby:java.io.IOException:Brokenpipeatsun.nio.ch.FileDispatcherImpl.write0(NativeMethod)atsun.nio.ch.SocketDi......
  • uniapp打包h5中的input disabled问题
    uniapp打包h5后,input如果加了disabled属性,那么在360浏览器上@click事件不生效<inputtype="text"class="input"placeholder="请选择":value="type_name":disabled="true"@click="showType">可以换成view元素显内容和点击事件<viewclas......
  • uniapp打包h5中的input disabled问题
    uniapp打包h5后,input如果加了disabled属性,那么在360浏览器上@click事件不生效<inputtype="text"class="input"placeholder="请选择":value="type_name":disabled="true"@click="showType">可以换成view元素显内容和点击事件<viewclas......
  • gateway Failed to bind on [0.0.0.0:443]
    1.问题背景项目在做非docker容器部署,直接在宿主机上部署,gateway出现端口绑定失败的问题Causedby:reactor.netty.ChannelBindException:Failedtobindon[0.0.0.0:443]Suppressed:java.lang.Exception:#blockterminatedwithanerrorat......
  • Failed to convert value of type 'java.lang.String' to required type 'java.lang.L
    我测试的是一个接口接口里面没有任何参数怎么会报参数类型转换错误呢mad!!!!! 第二个接口就很蒙测了好久都是这个问题而且你打debug它不进这个接口并且你执行其他写好的接口它还是会报同样的错。。。。。。。。。。。。。。其实就是你代码的位置写错了应该写在pc......
  • 51单片机开发
    控制LED模块的亮灭根据原理图可知控制LED模块亮灭的管脚为P2端口P2端口的8个引脚分别对应八个LED灯引脚输出0时,对应的LED灯亮起来,引脚输出1时,对应的LED灯熄灭例如我们要点亮P2.0对应的LED灯,那么我们可以让P2=11111110但是不能直接写二进制,要写成十六进制的,并加上0x或0X前......
  • k8s 安装kubesphere3.4.1 多次安装报错 Error from server (InternalError): Internal
    failed:[localhost](item={'ns':'kubesphere-system','kind':'users.iam.kubesphere.io','resource':'admin','release':'ks-core'})=>{"ansible_loop_var":"......