首页 理论教育使用C语言控制LED信号灯的方法

使用C语言控制LED信号灯的方法

【摘要】:图1-1 1位LED信号灯控制的原理图2.任务目的通过1位LED信号灯的闪烁控制,初步了解单片机控制系统的基本构成。本任务中LED信号灯的阴极与单片机引脚P1.0连接,阳极通过限流电阻接高电平。因此,让P1.0引脚每隔一段时间依次输出高、低电平信号,就可以实现LED信号灯的亮、灭控制,从而达到闪烁效果。制作1位LED信号灯控制电路所需元器件清单如表1-1所示。

1.任务要求

单片机实现点亮1位LED信号灯的控制。1位LED信号灯控制的原理图如图1-1所示。

图1-1 1位LED信号灯控制的原理图

2.任务目的

(1)通过1位LED信号灯的闪烁控制,初步了解单片机控制系统的基本构成。

(2)了解什么是单片机最小应用系统。

(3)初步了解单片机应用系统的开发过程。

(4)掌握在Keil uVision环境中调试程序的基本方法。

(5)了解如何在Proteus环境中实现电路仿真应用。

3.任务分析

信号灯应用于很多电子产品中,如电源指示灯、交通灯等。本任务中LED信号灯的阴极与单片机引脚P1.0连接,阳极通过限流电阻接高电平。根据欧姆定律,当P1.0引脚为低电平时,电路导通,LED灯发光;当P1.0为高电平时,两边没有电压差,电路不导通,LED灯熄灭。

因此,让P1.0引脚每隔一段时间依次输出高、低电平信号,就可以实现LED信号灯的亮、灭控制,从而达到闪烁效果。

制作1位LED信号灯控制电路所需元器件清单如表1-1所示。

表1-1 1位LED信号灯控制电路所需元器件清单

4.源程序设计(www.chuimin.cn)

单片机应用系统包含硬件系统和软件系统两部分,两者缺一不可。因此,在完成单片机硬件电路设计后,还需编写相应的控制程序。1位LED信号灯闪烁控制的C语言源程序如下:

5.Keil uVision仿真实现

在这里只介绍主要步骤,详细过程在后面章节介绍。

(1)打开Keil uVision软件,点击“Project”→“New uVision Project”创建“LED1”项目,选择CPU类型,这里选Atmel(爱特梅尔)公司的AT89C51。

(2)新建一个“led.c”的C语言源程序,并添加到项目中。

(3)进行编译并生成“led1.hex”文件。

(4)进行仿真调试。

6.Proteus设计与仿真

(1)在Proteus ISIS中新建一个“led.dsn”的项目。

(2)完成电路图设计。

(3)添加在keil中生成的“led1.hex”文件。

(4)仿真调试。

7.任务小结

单片机芯片本身并不具备任何功能,必须借助开发人员完成系统的硬件、软件设计,调试成功的程序要装载到单片机系统的存储器中,运行程序,才能实现单片机应用系统特定的控制功能。

单片机应用系统的开发过程一般如下:分析设计要求→硬件设计→硬件电路设计制作→程序设计→软、硬件仿真调试→程序装载→功能测试