- 单片机原理及应用教程(第4版)
- 赵全利主编
- 1127字
- 2021-03-31 17:57:40
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发光二极管循环闪烁,运行成功。