信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909

嵌入式之单片机要如何入门

时间:2018-08-19 00:00:00 来源:信盈达 作者:信盈达

学习嵌入式都是先从单片机开始入门的,下面将下如何编写第一个单片机程序。

 

拿最常用的51单片机说起,首先说明下单片机的最小系统,也就是单片机可以正常工作的最基本的电路构成。


一般的单片机的最小系统电路都是由3部分电路构成:

 

复位电路,为了保证单片机上单后可以正常的进入工作状态,需要复位电路。

振荡电路,为了给单片机提供运行的时钟,单片机运行需要时钟,就想机器需要发动机一个道理

供电电源,一般用稳压芯片

有个最小系统,然后开始写第一个程序,单片机程序主要用两种语言写,一种是汇编语言,一种是C语言,

 

汇编语言不常用,下面主要讲下C语言

 

单片机C语言程序构成:

 

启动程序,启动程序是单片机刚上电的时候最开始运行的一段代码,类似于电脑的开机程序。一般在建立工程时候,会自动生成,这个不用太在意

单片机的寄存器描述文件,用来描述单片机寄存器的文件,或者说是对单片机寄存器的映射文件,一般包含在开发环境中,只需要把它的头文件(*.h文件)加载一下就可以了。

主程序文件,就是包含main函数的文件,主程序文件在一个工程里面只能有一个。

单片机开发建立功能流程(我们使用KEIL C51)

 

新建一个文件夹,接着打开KEIL,鼠标放在工程菜单下选择新建工程,我们取新工程名为TEST,然后保存到新建的文件夹下。

点击target opinion 下的device,选择对应的单片机型号

点击target opinion 下的output,勾选Create HEX File,然后点击OK按钮

新建一个文件并保存,取名为main.c

右键点击工程框下的Source Group,选择添加文件,将刚刚新建的main.c文件添加到工程里面。

main.c文件里面写入一下代码

#include <reg52.h>

 

void main(void)

 

{

 

while(1)

 

{

 

}

 

}

 

到此一个空的工程文件就建立完成了,接着就可以在这个工程里面写应用程序了。

 

GPIO控制程序示例(每隔0.5s,P1.01管脚取反一次):

 

main.c:

 

#include <reg52.h>

 

//-------------------------------------------------------

 

//ms延时函数

 

void Delay_xms(uint x)

 

{

 

uint ii,j;

 

for(ii=x;ii>0;ii--)

 

for(j=110;j>0;j--);

 

}

 

//========================================

 

//======主函数======

 

void main (void)

 

{

 

while(1)

 

{

 

P1^0=0;

 

Delay_xms(500);

 

P1^0=1;

 

Delay_xms(500);

 

}

 

}

 
信盈达2008年在深圳特区南山高新科技园成立。自成立至今近九年来专注为企业和个人提供高端方案设计、高端嵌入式/Android培训等服务。公司下设信盈达实训学院、信盈达研发中心、信盈达教学仪器三大业务板块。九年来公司坚持"技术领先、服务领先",以雄厚的实力和专业的品质成为国内唯一有实力从产品最底层研发到系统层开发的嵌入式实训、产品解决方案提供商。为中国IT行业提供最具价值的职业教育服务。专业嵌入式、物联网、人工智能Java、单片机等课程,想了解更多信息点击立马咨询