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

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

相关推荐
云山工作室6 小时前
基于单片机的并联均流电源设计(论文+源码)
单片机·嵌入式硬件·物联网·毕业设计·毕设
nuc-1278 小时前
sqli-labs学习记录8
数据库·学习·sqli-labs
士别三日&&当刮目相看8 小时前
JAVA学习*简单的代理模式
java·学习·代理模式
今夜有雨.9 小时前
HTTP---基础知识
服务器·网络·后端·网络协议·学习·tcp/ip·http
触角010100019 小时前
MPU6050模块详解:从原理到STM32驱动指南(上) | 零基础入门STM32第八十九步
驱动开发·stm32·单片机·嵌入式硬件·物联网
长流小哥11 小时前
Qt 动画学习 入门Qt,怎能少了学动画!
开发语言·qt·学习
虾球xz11 小时前
游戏引擎学习第189天
学习·信息可视化·游戏引擎
泽55318011 小时前
java学习
学习
每次的天空11 小时前
Android Jetpack学习总结(源码级理解)
android·学习·android jetpack