实验一:LED闪烁

单片机课程实验内容——实验一:能够独立控制点亮开发板上的每一个小灯,并且可以实现小灯点亮和关闭以及闪烁功能,LED闪烁的时间由自己设置。(LED闪烁)

欢迎大家来参考本人程序来写代码

各位好! 这是我第一次使用 CSDN来分享实验资源,略微不熟,程序若有不足和修改的地方,愿各位在评论区指出,万分感谢。

使用的开发板原理图及本次使用的模块

进取者STC15开发板原理图
本次实验使用管脚P0_6,P0_7.

进取者stc15开发板
原理图
在这里插入图片描述
使用的模块

实验一的代码部分

#include <reg51.h>
#include <intrins.h>

#define uchar   unsigned char
#define	uint	unsigned int

uint  a=0x3f;//DS1,DS2都亮。
uint  b=0xff;//DS1,DS2都灭。
uint  c=0xbf;//DS1亮,DS2灭。
uint  d=0x7f;//DS1灭,DS2亮。

void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	_nop_();
	i = 22;
	j = 3;
	k = 227;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void main()
{
	while(1)
	{
		//去掉或添加/*.....*/来选择闪烁模式
		P0=a;Delay500ms();//四种模式
		P0=b;Delay500ms();//四种模式
		P0=c;Delay500ms();//四种模式
		P0=d;Delay500ms();//四种模式
		
		
		/*
		P0=a;Delay500ms();//对DS1和DS2一起闪烁
		P0=b;Delay500ms();
		*/
		
		/*
		P0=c;Delay500ms();//对DS1闪烁
		P0=b;Delay500ms();
		*/
		
		/*
		P0=d;Delay500ms();//对DS2闪烁
		P0=b;Delay500ms();
		*/
	}
}
发布了1 篇原创文章 · 获赞 0 · 访问量 39

猜你喜欢

转载自blog.csdn.net/qq_45284276/article/details/105546114