【蓝桥杯单片机】各个模块总结(每日更新ing)

蓝桥杯单片机

  • (〇)注意事项
  • (一)LED闪烁
    • 01 LED全部同时闪烁
    • 02 LED闪烁三次后依次亮灭
    • 03 LED闪烁并控制蜂鸣器与继电器
    • 04 简化整体程序设计
  • (二)

打卡记录表

日期 打卡 进度
2023.1.9 10%
2023.1.10 15%
2023.1.11

(〇)注意事项

  • Keil创建工程文件选择AT89C52
  • Keil编译完后要勾选Creat HEX File
  • STC-ISP要选择相应的单片机型号和串口号

(一)LED闪烁

01 LED全部同时闪烁

定义管脚、延时函数、管脚给高低电平控制亮灭、主函数中while循环调用写好的LED闪烁函数

#include 

//74HC138译码器定义管脚
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()  //LED闪烁函数
{
	HC138_C = 1;  //CBA=100即38译码器Y4输出低电平(有效)
	HC138_B = 0;
	HC138_A = 0;

	P0 = 0x00;  //全亮,根据原理图:低电平有效
	Delay(60000);
	Delay(60000);

	P0 = 0xff;  //全灭
	Delay(60000);
	Delay(60000);
}

void main()  //主函数
{
	while(1)
	{
		LEDRunning();
	}
}

02 LED闪烁三次后依次亮灭

LED闪烁函数中增加for循环、用到了移位<<和取反~

#include 

//74HC138译码器定义管脚
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++) //i从1开始,使第一次也亮
	{
		P0 = 0xff << i;  //全1,左移补0
		Delay(60000);
		Delay(60000);
	}
	
	for(i=1;i<=8;i++) 
	{
		P0 = ~(0xff << i);  //相当于全0,左移补1
		Delay(60000);
		Delay(60000);
	}
}

void main()
{
	while(1)
	{
		LEDRunning();
	}
}

03 LED闪烁并控制蜂鸣器与继电器

04 简化整体程序设计

(二)

你可能感兴趣的:(蓝桥杯单片机,单片机,蓝桥杯)