我们先从最常用的51单片机开始。 首先我们先讲解一下单片机的最小系统,这是单片机能够正常工作的最基本的电路结构。
一般单片机的最小系统电路由三部分电路组成:
复位电路,为了保证单片机在订购后能正常进入工作状态,需要复位电路。
振荡电路,为了给单片机的运行提供时钟,单片机的运行需要时钟,就像机器需要发动机一样。
电源,一般采用稳压芯片
有了一个最小的系统,然后我就开始写第一个程序。 单片机程序主要用两种语言编写,一种是汇编语言,一种是C语言。
汇编语言并不常用。 下面主要讲C语言。
单片机C语言程序组成:
启动程序,启动程序是单片机第一次上电时运行的第一段代码,类似于电脑的启动程序。一般在创建工程的时候会自动生成,所以不需要付费对此过于关注。
单片机的寄存器描述文件是用来描述单片机的寄存器的文件,或者说是单片机的寄存器的映射文件。 它通常包含在开发环境中。 您只需要加载它的头文件(*.h 文件)。
主程序文件是包含主函数的文件。 一个工程中只能有一个主程序文件。
单片机开发及功能流程建立(我们使用KEIL C51)
新建一个文件夹,然后打开KEIL,将鼠标放在工程菜单下,选择New Project。 我们将新项目命名为 TEST 并将其保存到新文件夹中。
点击目标意见下的设备,选择对应的单片机型号。
点击目标意见下的输出,勾选创建HEX文件,然后点击确定按钮
创建一个新文件并保存,命名为main.c
右键单击项目框下的Source Group,选择Add File,将新创建的main.c文件添加到项目中。
在main.c文件中编写一些代码
#包括
无效主(无效)
同时(1)
至此,一个空的工程文件就已经创建完成,接下来就可以在这个工程中编写应用程序了。
GPIO控制程序示例(每隔0.5s,P1.01引脚反转):
主.c:
#包括
//———————————————— ——–
//毫秒延迟函数
无效 Delay_xms(uint x)
uint ii,j;
for(ii=x;ii>0;ii–)
for(j=110;j>0;j–);
//==========================================
//======主函数======
无效主(无效)
同时(1)
P1^0=0;
延迟_xms(500);
P1^0=1;
延迟_xms(500);