0
点赞
收藏
分享

微信扫一扫

【LED指示灯的一般控制】

三维控件研究 2022-05-01 阅读 84

51单片机(国信天长单片机实训平台)基于keli的常用程序之 LED指示灯一般控制程序设计

文章目录

前言

实验目的:让8路LED灯同时闪三次,再依次点亮LED灯,再依次熄灭

一、国信长天单片机竞赛实训平台的电路图与分析

国信长天单片机竞赛实训平台 LED 电路图
国信长天单片机竞赛实训平台电路图
在这里插入图片描述
38译码器与或非门
![在这里插入图片描述](https://img-blog.csdnimg.cn/c44bf5c7bb8f4515b2f9bc327c595f1b.png在这里插入图片描述

38译码器真值表

1.观察电路图

2.编写程序

二、编写程序步骤

1.编写一般性程序(主程序,延时程序,关闭外设程序)

#include "reg52.h"
 void main()
 {
	 while(1)
	 { 
	 }

}

2.编写控制LED灯函数

#include "reg52.h"
 sbit HC138_A=P2^5;
 sbit HC138_B=P2^6;
 sbit HC138_C=P2^7;
void LEDrunning()
{
	unsigned char i;
    HC138_C=1;
	HC138_B=0;
	HC138_A=0;
}
 void main()
 {
	 while(1)
	 { 
	 }

}

3.编写延时函数Delay

#include "reg52.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;
}
 void main()
 {
	 while(1)
	 { 
	 }

}

4.编写关闭外设函数

```c
#include "reg52.h"
 sbit HC138_A=P2^5;
 sbit HC138_B=P2^6;
 sbit HC138_C=P2^7;
 void stop()
 {
//P2=(P2&0x1f)|0x80;//关闭led 110
//P0=0xff;
//P2&=0x1f;
  P2=(P2&0x1f)|0xa0;//关闭继电器蜂鸣器 101
  P0=0;
  P2&=0x1f;
 }
 void Delay(unsigned int t)
 {
  while(t--);
  while(t--);
 }
 void LEDrunning()
 {
	unsigned char i;
    HC138_C=1;
	HC138_B=0;
	HC138_A=0;
 }
 void main()
  {
	 while(1)
	 { 
	 }
  }		 
P2=(P2&0x1f)|0xa0;

5.完善整体函数

#include "reg52.h"
 sbit HC138_A=P2^5;
 sbit HC138_B=P2^6;
 sbit HC138_C=P2^7;
 void stop()
 {
//P2=(P2&0x1f)|0x80;//关闭led 110
//P0=0xff;
//P2&=0x1f;
  P2=(P2&0x1f)|0xa0;//关闭继电器蜂鸣器 101
  P0=0;
  P2&=0x1f;
 }
 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++)//利用for循环实现三次亮灭
	{
	P0=0x00;//00000000 
	Delay(60000);
	P0=0xff;//11111111
	Delay(60000);
	}
	for(i=1;i<=8;i++)
	{
  P0=0xff << i;
  Delay(60000);
  }
 }

for(i=1;i<=8;i++)
	{
  P0=~(0xff << i);
  Delay(60000);
  } void main()
  {stop();
	 while(1)
	 { 
	 LEDrunning();
	 Delay(60000);
	 }
  }		 

总结

通过实验使大家了解关于LED灯的控制,从中可以知道,38译码器在前期发挥了很大的作用,并且文章展示了两种给38译码器P2接口赋值的方式,与或式的方式在后期经常会用到,大家可以注意一下。

举报

相关推荐

0 条评论