3.2.3 I/O口(P0口)控制设计的应用编程

3.2.3 I/O口(P0口)控制设计的应用编程

1.应用电路

本实验需要用到单片机最小应用系统模块。开关K0~K7和单个数码管的电路图如图3.8所示。

图3.8 开关K0~K7和单个数码管的共阳极连接电路图

2.应用内容

1)设计及要求

设计如下。

(1)拨2键置“ON”时,将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出,控制发光二极管的亮灭。当2键置“OFF”时,停止显示。

(2)拨动开关K0~K7,观察对应发光二极管的显示情况。

(3)拨动N号开关置“ON”,对应N号数码管显示N。

(4)如图3.9所示,2个按键开关S1、S2分别与单片机P0.0、P0.1引脚相连,P2口接有7个发光二极管,编写控制程序以实现拨S1开关,发光二极管从上依次点亮,拨S2开关,发光二极管从下到上依次点亮,点亮间隔都为1s。无键按下,则灯全灭。

图3.9 发光二极管的共阴极连接图

要求:用开关控制LED,运行实验程序,观察实验现象,验证程序正确性。

2)解析

开关量的输入。

被控对象的一些开关状态可以经开关量输入通道输入单片机系统,单片机通过它的端口线和被控对象接口的信息交换。

被控对象的开关状态一般情况下是不能直接接入单片机的。为了实现与被控对象的信息交换,必须解决以下两个问题。

①电平匹配。现场开关量一般不是TTL电平,需要进行转换。电平转换的最简单方法是采用分压电路。

②电气隔离。使用单片机控制的环境一般比较恶劣,来自现场的干扰严重。为避免现场电气对单片机的干扰,必须将单片机和现场电气隔离。隔离的一般方法是采用光电隔离。

3)参考程序

根据设计(1),设计的实验电路如图3.10所示。

图3.10 实验电路图

程序流程图如图3.11所示。

图3.11 开关控制LED(1)

参考程序如下。

(2)根据设计(2),程序流程图如图3.12所示。

图3.12 开关控制LED(2)

参考程序如下。

根据设计(3),程序流程图如图3.13所示。

图3.13 开关控制位和LED(3)

参考程序如下。

根据设计(4),实验电路如图3.9所示。

程序流程图如图3.14所示。

图3.14 单一发光点上移和下移循环控制流程图

参考程序如下。