- 单片机控制流水灯实验 - 实验介绍 - 主讲人托健志 - 实验目标:验证单片机控制流水灯效果 - 流水灯原理 - 多个发光二极管依次点亮形成流水效果 - 使用单片机P2口控制8个发光二极管 - P2口为并行口线,共8条 - 电路设计 - 发光二极管连接到P2口的8条线 - 阴极通过三极管连接到VCC - 设置P2口某条线为低电平使对应二极管导通发光 - 控制逻辑 - 通过编程设置P2口状态实现依次点亮 - 从最低位开始送低电平,其他位送高电平 - 每次循环移位实现流水效果 - 程序实现 - 使用C语言编写程序 - 核心函数CROR实现循环右移 - 初始化数据0xfe对应第一个灯亮 - 在while循环中不断右移数据 - 实验现象与问题 - 初始程序导致8个灯同时亮 - 原因是计算机频率高于人眼分辨能力 - 解决方法:加入延时函数降低刷新频率 - 改进程序 - 添加delay10毫秒延时函数 - 调整延时参数观察效果 - 修改延时为50毫秒延长点亮间隔 - 实验结果 - 成功实现流水灯效果 - 可通过调整延时改变流水速度 - 课后作业 - 编写程序实现两个LED灯同时发光的流水效果