蓝桥杯IAP15F2K61S2---跑马灯


前言

此系列文章为了记录2023年蓝桥杯的备赛过程。


一、原理图

74HC138译码器:可以通过三个引脚进行Y0-Y7中某个引脚的低电平使能。对应的表如下图所示。

 

二、代码

 

#include <STC15F2K60S2.H>
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
sbit buzzer = P0^6;
unsigned char i = 0;
void Delay(unsigned int t)//注意数据是否超出,unsigned char 0~255
{
	while(t--);
	while(t--);
}
void LED_running()
{
	HC138_A = 0;
	HC138_B = 0;
	HC138_C = 1;
	
	for(i=0;i<3;i++)
	{
		P0 = 0xFF;//全灭
		Delay(60000);
		Delay(60000);
		P0 = 0x00;//全亮
		Delay(60000);
		Delay(60000);
	}
	for(i=1;i<=8;i++)
	{
		P0 = 0xff<<i;//逐渐点亮
		Delay(50000);
	}
	for(i=1;i<=8;i++)
	{
		P0 = ~(0xff<<i);//逐渐熄灭
		Delay(50000);
	}	
}
void main()
{

	P2 = 0XA0;
	buzzer = 0;
	while(1)
	{
		LED_running();
	}

}


三、问题

1.上电后蜂鸣器一直响。

(1)该单片机默认上电为低电平,导致蜂鸣器一直响。可添加代码

sbit buzzer = P0^6;    P2 = 0XA0;  buzzer = 0;

后两句放到主函数开头,第一句放到代码开头。

(2)也可不写代码,将开发板上的J6跳帽接到OFF上。如下图所示。

 四、程序烧录

注意单片机型号选择IAP15F2K61S2,打开“打开程序文件”,选择对应的.hex文件。

 该款单片机烧录时,需要冷启动,因此在点击“下载/编程”后,再给单片机上电

 

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值