单片机原理及应用教程(第4版)
上QQ阅读APP看书,第一时间看更新

1.6 一个简单的单片机应用示例

单片机所独有的特点,使单片机可以方便地构成各种控制系统,实现对被控对象的控制。

开发单片机应用系统时,一般要经过以下步骤。

1)总体设计。分析问题,明确任务,拟定出性价比最高的方案。

2)硬件设计。

3)软件设计。

4)编译、仿真调试。

5)程序下载调试,运行成功。

为了从整体上初步认识、领会单片机应用系统,下面介绍一个十分简单的单片机应用示例的开发过程,使读者初步建立一个单片机应用的整体概念和基本知识结构(实例中有关软、硬件方面的内容在后续章节中将分别详细介绍)。

例如,利用单片机实现LED发光二极管循环闪烁。

(1)总体设计

控制要求简单,只需要通过单片机输出口的一个位控制LED就可以实现。

(2)硬件设计

可直接由单片机的输出口P1.0控制一个LED发光二极管,运行Proteus ISIS(详见本书第11章),输入电路仿真原理图如图1-10所示(注意,仿真图中电源及时钟电路系统默认存在,可以不添加)。

在图1-10中,被控对象是1个发光二极管,采用阳极接电源VCC,阴极由P1.0控制。若P1.0输出为“0”(低电平),发光二极管的阴极为低电平,则该二极管加正向电压被点亮发光。若P1.0输出为“1”,发光二极管的阴极为高电平,则发光二极管截止而熄灭。

图1-10 闪光灯仿真原理图

(3)软件设计

单片机软件设计就是面向硬件电路编写控制程序。

根据以上原理,针对其硬件电路的控制程序设计算法为:使P1.0输出“0”(低电平),点亮相应位的发光二极管,并经软件延时后,再输出“1”(高电平)发光二极管熄灭,延时后再点亮发光二极管,反复循环。

以上算法可以选择使用汇编语言描述(编程),也可以使用C语言描述(编程)。

1)汇编语言源程序如下。

打开Keil集成开发环境(详见本书4.7节),新建工程Project,输入以上代码(代码中的标点符号均按西文输入,下同)后保存源程序,文件名为main.asm,如图1-11所示。

2)C51程序如下。

打开Keil集成开发环境,新建工程Project,输入以上代码后保存源程序,文件名为main.c,如图1-12所示。

图1-11 输入、编辑汇编语言源程序

图1-12 输入、编辑C51源程序

(4)程序编译、仿真及调试

在Keil集成开发环境下编译源程序并生成.HEX文件。然后,在Proteus ISIS仿真电路中双击单片机芯片选择加载.HEX文件,单击仿真控制按钮进行仿真调试,观察单片机仿真运行结果如图1-13所示。

(5)制作硬件电路

在仿真调试成功的基础上,依据仿真原理图完善制作硬件电路(PCB),实际硬件电路原理图包括电源VCC、时钟及复位电路,如图1-14所示。

图1-13 仿真结果

图1-14 硬件电路

(6)程序下载、硬件调试运行

通过ISP下载软件将程序对应的.HEX文件写入单片机的程序存储器ROM中,即可投入使用。

AT公司的89系列单片机需要专门的编程器写入程序,STC系列单片机可以由上位机在线通过串口(P3.0/P3.1)直接下载用户程序。

对单片机电路直接调试运行,LED发光二极管循环闪烁,运行成功。