文档详情

《单片机C语言应用技术》课件_第3章.ppt

发布:2025-02-07约2.94万字共134页下载文档
文本预览下载声明

模块3并行I/O口应用

与C语言基础

任务3控制8个LED发光二极管闪烁

任务4流水灯

习题3

51系列单片机有4个I/O端口,每个端口都是8位双向口,

共有32根引脚。每个端口都包括一个锁存器(即专用寄存器

P0~P3)、一个输出驱动器和输入缓冲器。这4个端口称为

P0~P3,通常情况下,这4个端口的每一位都可以作为双向

通用I/O端口使用。如果要在片外扩展存储器,则P2口作为

高8位地址线,P0口作为低8位地址线和双向数据总线分时复

用,也就是P0、P2口的第二功能。P3口除了作为双向通用

I/O接口使用外,每一根线还具有第二种功能。而P1口只能

作为双向通用I/O接口使用。

本模块从开发控制8个LED发光二极管闪烁的应用程序

入手,介绍4个I/O端口的内部结构及其使用方法。开发单片

机应用程序时可以使用汇编语言,但更多的时候使用的是C

语言,因为C语言开发程序高效且可维护性好。

任务3控制8个LED发光二极管闪烁

控制8个LED发光二极管闪烁涉及单片机I/O端口的操作,

是熟悉I/O端口的一个很简单却非常经典的实例。对初学者来

说,通过控制8个LED发光二极管闪烁的学习与编程,能很快

熟悉单片机的操作方式,了解单片机系统的开发流程,并通

过一个实例增强自己学习单片机系统设计的信心。

1.任务目的

了解51系列单片机4个I/O端口的内部结构,掌握其使用

方法;了解单片机C语言基础。

2.任务要求

控制8个LED发光二极管以某种频率闪烁,闪烁频率可调。

3.任务分析

实现此任务需要设计相应的硬件电路,然后在硬件基础

上编制软件。硬件上,除了单片机之外,最主要的元件就是

LED发光二极管了。

在几年前的单片机设计电路中,LED发光二极管是不能

由单片机的I/O输出引脚直接进行驱动的,而要使用诸如

7405等集电极开路门进行驱动,原因就是单片机的引脚不能

承受LED导通时的电流输入。

随着新技术的应用和单片机集成技术的不断发展,现在

大部分的单片机端口都集成了集电极开路的输出电路,具备

一定外部驱动能力。但是,这时外接的LED发光二极管电路

也必须使用电阻进行限流,否则会损坏单片机的输出引脚。

一般单片机驱动引脚能够承受的电流输入在10~15 mA左右。

此外,如果没有限流电阻,LED发光二极管在工作时也会迅

速发热。为了防止LED发光二极管过热损害,也必须采用限

流串联电阻对LED发光二极管的功耗进行限制。表3.1所示为

典型的LED发光二极管功率限制指标。

LED发光二极管的发光功率可以由其两端的电压和通过

LED的电流进行计算得到,公式如下:

Pd=Vd × Id

LED发光二极管典型的电压与电流关系如图3.1所示。可

以根据需要的LED发光亮度选择合适的电阻R进行限流,但

为了保护单片机的驱动输出引脚,通过LED发光二极管的电

流一般应限制在10 mA左右。由图3.1所示曲线可知,在此将

LED发光二极管的正向电压限制在2 V左右。

表3.1典型的LED发光二极管功率限制指标

图3.1LED发光二极管典型的电压与电流关系

对于采用某些高亮度LED发光二极管照明的场合,需要

LED发光二极管通过较大的电流。此时不能直接采用单片机

的输出引脚直接驱动LED发光二极管,而应该使用专用的驱

动芯片,或者如图3.1中右图所示,采用一个NPN型三极管进

行驱动。

可以利用图3.1所示的曲线计算限流电阻R,计算方法如

下:

5VV

Rd

Id

例如,若限制电流Id为10 mA,则由图3.1所示曲线得到

LED发光二极管的正向电压Vd约为2 V,从而得到限流电阻

值如下:

5V2V

R300

10mA

在实际设计中,为了有效保护单片机驱动输出引脚,通常

预留一定的安全系数。一般对LED发光二极管驱动采用的限流

电阻都要比采用10mA计算出的大,常用的典型值为470Ω。

硬件连接上,每个LED发光二极管对应单片机的一个唯一

的输出引脚,即单片机的一个输出端口(P0、P1、P2或P3)就能

够控制8个LED发光二极管。当相应引脚输出为低时,电流从

VCC流入单片机,LED发光二极管开始发光,发光亮度由匹配

的串联电阻控制;当相应引脚输出为高时,没有电流通过LED

发光二极管,LED发光二极管

显示全部
相似文档