嵌入式学习第三篇——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,使用考录器将编译好的执行文件考入开发板

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

相关推荐
秃头佛爷1 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
dayouziei3 小时前
java的类加载机制的学习
java·学习
hairenjing11236 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习
模拟IC攻城狮7 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
IT B业生8 小时前
51单片机教程(六)- LED流水灯
单片机·嵌入式硬件·51单片机
晨曦_子画8 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
一枝小雨8 小时前
51单片机学习心得2(基于STC89C52):串口通信(UART)
单片机·嵌入式硬件·51单片机
城南vision8 小时前
Docker学习—Docker核心概念总结
java·学习·docker
ctrey_9 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习