内容正文:
任务一 彩灯的点亮与熄灭
任务二 彩灯的闪烁
任务三 跑马灯
任务四 任意变化的彩灯控制
课题二 点亮彩灯
利用单片机引脚输出信号驱动各类设备,控制设备的运行状态,是单片机最为典型的应用。
本任务的内容是以单片机的一个引脚通过驱动电路控制一只指示灯的点亮或熄灭。
任务提出
任务一 彩灯的点亮与熄灭
用单片机实现对单一指示灯的亮灭控制,就是利用单片机的某一引脚输出的高电平及低电平,通过驱动电路实现指示灯的通电或断电两种状态控制。
MCS-51单片机的引脚输出为TTL兼容电平,从硬件连接上,就是选择单片机的某一输出引脚,外接发光二极管电路。发光二极管电路的接法与单片机引脚驱动负载的能力有关。
任务分析
单片机控制一只LED的系统框图
当然,要让单片机芯片工作,单片机最小系统电路是必需的,控制发光二极管的硬件系统框图如图所示。
本任务是应用C51编程的一个最简单例子。在学习中,要注意学习单片机C51程序的基本编程方法,基本语句、程序结构,以及如何定义变量,特别是如何用变量来定义单片机的引脚。
为了验证程序设计效果,用Keil软件对程序进行编译,并将编译程序与Proteus联调,以对设计效果进行功能验证。
一、C51基本知识
C51在语法规则、程序结构及程序设计方法等方面与标准的C语言程序设计相同,而在数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。
相关知识
1.C51程序结构
C51程序的开始部分一般是预处理命令、函数说明和全局变量定义等,然后是定义程序所需函数。
(1)C51程序的一般结构
(2)C51程序的示例
2.常用C51语法
(1)标识符与关键字。
C语言的标识符是用来标记源程序中某个对象的名字。
(2)赋值运算。
在C51中,赋值运算符“=”的功能是将一个数据的值赋给一个变量或特殊功能寄存器。
二、C51程序设计基础
1.模块化程序设计
C语言是一种结构化语言,采用自顶向下、逐步求精的模块化程序设计方法。使用三种基本控制结构构造程序,即任何程序都可由“顺序结构” “选择结构”和“循环结构”三种基本控制结构构造。
模块化程序设计中每个模块要求只有一个入口和一个出口。
2.程序流程图符号
程序流程图用一些图框来表示各种操作。用图形表示算法,直观形象,易于理解。常用的流程图符号有:开始和结束符号、工作任务符号、判断分支符号、程序连接符号、程序流向符号等,如图所示。
常见的流程图符号
3.程序的三种基本结构
C语言只有三种基本结构,即顺序结构、选择结构和循环结构,如图所示。在这些基本结构中,凡是工作任务符号所代表的功能模块都可以用这三种基本结构再次分解替换,形成复杂的组合模块。
三种基本结构
a)顺序结构 b)选择结构 c)循环结构
三种基本结构的共同特点是:只有一个入口,只有一个出口,结构内的每一部分都有机会被执行到,结构内不存在“死循环”。
(1)顺序结构。
顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行。
(2)选择结构。
选择结构可使程序根据不同的情况,选择执行不同的分支。
(3)循环结构。
在程序处理过程中,有时需要某一段程序重复执行多次,这时就需要循环结构来实现,循环结构就是能够使程序段重复执行的结构。
三、单片机引脚的使用
要正确地使用单片机的各端口和各引脚,一是要了解单片机端口引脚的内部基本结构,二是要知道如何定义端口和引脚。也就是要使用C51编写程序控制单片机I/O端口和引脚,首先要会选用端口和引脚,会定义端口、引脚的名称。
1.端口各引脚的内部结构
这里主要是从每个端口内部逻辑结构出发,了解单片机端口引脚的特点。
(1)P0口的结构特点。P0口每一位(也称口线)的内部逻辑电路如图所示。
P0口引脚内部逻辑电路图
(2)P1口的结构特点。P1口每一位的内部逻辑电路如图所示。
P1口引脚内部逻辑电路图
(3)P2口的结构特点。P2口每一位的内部逻辑电路如图所示。
P2口引脚内部逻辑电路图
(4)P3口的结构特点。P3口的每一位内部逻辑电路如图所示。
P3口引脚内部逻辑电路图
2.引脚的定义及应用
如果要针对特殊功能寄存器的某一位进行操作,则需要使用sbit命令定义特殊功能寄存器中的可寻址位。
3.引脚驱动示例
单片机能很方便地改变其引脚输出的逻辑电平,但其驱动能力有限,对于大功率和高电压的各类负载(执行机构),需要外接功率放大,驱动如电磁继电器、固体继电器或电动机等大功率器件。
一、硬件设计
本任务是要实现用单片机控制一位彩灯(或指示灯)的点亮和熄灭。采用在单片机的端口引脚上接一只发光二极管代替指示灯,点亮或熄灭发光二极管即实现指示灯控制。
任务实施
为了让单片机能够工作并控制一只LED,需在单片机最小系统的基础上增加控制LED的硬件电路