嵌入式学习第三篇——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

cpp 复制代码
#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

cpp 复制代码
#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

cpp 复制代码
#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,使用考录器将编译好的执行文件考入开发板

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

相关推荐
西岸行者11 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意11 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码11 天前
嵌入式学习路线
学习
Lester_110111 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元11 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-1873661339711 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z203483152011 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
毛小茛12 天前
计算机系统概论——校验码
学习
babe小鑫12 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms12 天前
ROS2知识大白话
笔记·学习·ros2