51系列单片机学习:点灯大师

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、51单片机如何学习?
  • 二、使用步骤
    • 1.最小系统模块
    • 2.LED电路模块
    • 3.代码编写
  • 总结


前言

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了51系列单片机点灯功能。


一、51单片机如何学习?

1.51系列单片机可以从硬件知识进行学习,掌握单片机最小系统,掌握单片机代码烧录器需要如何与单片机引脚相连。
2.从软件部分进行学习,学会在KEIL5里面新建程序,代码编写,将写好的代码通过TTL烧录器烧录到单片机中。
3.将所用到的IO口与外部模块相连接,实现实验效果。

二、使用步骤

1.最小系统模块

1.电源;根据单片机的电源要求连接电源,如:stc89c52芯片电源电压为5V。
2.复位电路;根据单片机工作时复位引脚的状态,设计复位电路;如:stc89c52芯片在工作时为低电平,复位时为高电平。
3.晶振电路;根据芯片手册,确定晶振频率和启振电容;如:stc89c52芯片的晶振为12MHz或者11.0592MHz。

2.LED电路模块

1.将LED灯与任意IO口相连;如:将LED1-LED8的负极通过限流电阻R1-R8和P1相连。
2.将LED灯与电源正相连;如:将8个LED的正极直接与VCC相连。

3.代码编写

1.LED灯多状态显示;如:流水,部分点亮等。
代码如下(示例):

//备注:LED低电平点亮
#include  //头文件调用
#include 

void delay(unsigned int Xms);//函数声明

/***主函数**/
void main()
{
	unsigned char state=0;
	unsigned char i;
	while(1)
	{
    /*左流水,单个平移*/
		if(state==0)
		{
			P1=0xfe;
			delay(1000);
			for(i=0;i<8;i++)
			{
				P1 = _crol_(P1,1); 
				delay(1000);
			}
		}
    /*左流水,逐个点亮*/
		else if(state==1)
		{
			P1=0xfe;
			for(i=0;i<8;i++)
			{
				P1<<=1; 
				delay(1000);
			}
		}
    /*4亮4灭*/
		else if(state==2)
		{
			P1=0x0f;
			delay(1000);
		}
		state++;
		if(state>2)
		{
			state=0;
		}
	}
}

/****延时函数****/
void delay(unsigned int Xms)
{
	unsigned int i,j;
	for(i=Xms;i>0;i--)
		for(j=124;j>0;j--);
}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了51单片机点灯的使用,了解51单片机入门要领,对于初学者要反复练习哦。

你可能感兴趣的:(单片机,学习,嵌入式硬件)