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 单一发光点上移和下移循环控制流程图
参考程序如下。