嵌入式学习第三篇——51单片机

目录

1,嵌入式系统

1,嵌入式系统的定义          

2,单片机的定义

2,51单片机

1,开发环境

2,开发板使用的基本思路

1,查看原理图,查看芯片手册

2,获得调用硬件的管脚信息

3,使用编译器敲入调试代码

4,使用考录器将编译好的执行文件考入开发板


1,嵌入式系统

1,嵌入式系统的定义          

嵌入式系统就是

用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统。

2,单片机的定义

单片机就是

将计算机集成到一块芯片中

2,51单片机

1,开发环境

编译器   keil

考录器 stc—isp

2,开发板使用的基本思路

1,查看原理图,查看芯片手册

以51单片机为例:

芯片引脚图

芯片使用手册

2,获得调用硬件的管脚信息

主要找到具体所需的引脚和对应的单片机上的引脚

3,使用编译器敲入调试代码

以调用led为例:

主函数main.c

#include <reg52.h>  //51单片机专门的头文件 
#include "led.h"

int main(void)
{
   //ledAllOn();
   //ledOffN(5);
	int i = 1;
   while(1)
   {
	   ledAllOn(); 
	  
	   ledOnN(5);
	   delay(30000);
	   ledAllOff();
	   delay(30000);

//	 ledOnN(i);
//	 delay(300000);
//	 if (i == 8)
//	 {
//	 	i = 1;
//		ledAllOff();
//		delay(30000);
//		continue;
//	 }
//	 i++;

   }

   return 0;
}

led灯控制函数led.c

#include "led.h"
void delay(unsigned int n) //int 2字节 
{  
	while (n)
	{
	   --n;
	}
}
void ledAllOn(void)
{
   P2 = 0x00;
}
void ledAllOff(void)
{
   P2 = 0xFF;
}

void ledOnN(int n)
{
  P2 = P2 & ~(1<<n-1);
}

void ledOffN(int n)
{
  P2 = P2 | (1<<n-1); 
}

void ledStream(void)
{  
	  int i = 1;
	  while (1)
	  {
		 ledOnN(i);
		 delay(300000);
		 if (i == 8)
		 {
		 	i = 1;
			ledAllOff();
			delay(30000);
			continue;
		 }
		 i++;
	  }
}

头文件led.h

#ifndef _LED_H_
#define _LED_H_
#include <reg52.h>  
void ledAllOn(void);
void ledAllOff(void);
void ledOnN(int n);
void ledOffN(int n);
void ledStream(void);
void delay(unsigned int n);
#endif

4,使用考录器将编译好的执行文件考入开发板

根据开发板上硬件的反馈,继续调试程序

相关推荐

  1. 嵌入学习——51单片机——day16

    2024-02-04 07:38:01       12 阅读
  2. 嵌入学习

    2024-02-04 07:38:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 07:38:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 07:38:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 07:38:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 07:38:01       20 阅读

热门阅读

  1. uniapp新增一条数据增加一个折叠栏

    2024-02-04 07:38:01       38 阅读
  2. ffmpeg 输入文件,输入出udp-ts 指定pid

    2024-02-04 07:38:01       32 阅读
  3. 机器学习算法之支持向量机(SVM)

    2024-02-04 07:38:01       31 阅读
  4. 20240202金融读报1分钟小得

    2024-02-04 07:38:01       26 阅读
  5. signalR+websocket:实现消息实时通讯——技能提升

    2024-02-04 07:38:01       27 阅读
  6. 为什么要使用Jupyter Notebook?

    2024-02-04 07:38:01       36 阅读
  7. 力扣日记1.31-【回溯算法篇】90. 子集 II

    2024-02-04 07:38:01       33 阅读