实验一: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();
		*/
	}
}
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值