设计程序,实现如下功能: 1. 开发板上电后,D1-D8轮流点亮,每次点亮2盏灯。每次间隔点亮2盏灯,即开始运行是D1和D2亮,然后是D5和D6灯亮,D1和D2灯亮,依次循环。灯点亮的时间间隔为2秒。 2. 按键K1按下时,流水灯停止跑动。 3. 按键K1弹起时,流水灯重复步骤1开始跑动。

时间: 2023-05-12 09:04:52 浏览: 232
以下是实现上述功能的 C 代码: ```c #include <reg52.h> sbit D1 = P1^0; sbit D2 = P1^1; sbit D3 = P1^2; sbit D4 = P1^3; sbit D5 = P1^4; sbit D6 = P1^5; sbit D7 = P1^6; sbit D8 = P1^7; sbit K1 = P3^0; void delay(unsigned int ms) { unsigned int i, j; for (i = 0; i < ms; i++) { for (j = 0; j < 125; j++); } } void main() { unsigned char i = 0; unsigned char flag = 1; while (1) { if (flag) { switch (i) { case 0: D1 = 1; D2 = 1; D3 = 0; D4 = 0; D5 = 0; D6 = 0; D7 = 0; D8 = 0; break; case 1: D1 = 0; D2 = 0; D3 = 0; D4 = 0; D5 = 1; D6 = 1; D7 = 0; D8 = 0; break; case 2: D1 = 1; D2 = 1; D3 = 0; D4 = 0; D5 = 0; D6 = 0; D7 = 0; D8 = 0; break; case 3: D1 = 0; D2 = 0; D3 = 0; D4 = 0; D5 = 0; D6 = 0; D7 = 1; D8 = 1; break; case 4: D1 = 1; D2 = 1; D3 = 0; D4 = 0; D5 = 0; D6 = 0; D7 = 0; D8 = 0; break; case 5: D1 = 0; D2 = 0; D3 = 0; D4 = 0; D5 = 1; D6 = 1; D7 = 0; D8 = 0; break; case 6: D1 = 1; D2 = 1; D3 = 0; D4 = 0; D5 = 0; D6 = 0; D7 = 0; D8 = 0; break; case 7: D1 = 0; D2 = 0; D3 = 0; D4 = 0; D5 = 0; D6 = 0; D7 = 1; D8 = 1; break; } i = (i + 1) % 8; delay(2000); } if (!K1) { flag = 0; while (!K1); } else { flag = 1; } } } ``` 这个程序使用了 8 个 LED 灯和一个按键 K1。程序中的 `delay` 函数用于延时,单位是毫秒。程序中的 `flag` 变量用于控制流水灯的运行和停止。当 `flag` 为 1 时,流水灯运行;当 `flag` 为 0 时,流水灯停止。按键 K1 用于控制流水灯的运行和停止。当按键 K1 按下时,流水灯停止运行;当按键 K1 弹起时,流水灯重新开始运行。

相关推荐

最新推荐

recommend-type

NetFPGA-1G-CML: Kintex-7 FPGA开发板 用户手册.pdf

NetFPGA-1G-CML: Kintex-7 FPGA开发板 用户手册.pdf
recommend-type

飞腾FT-2000-4开发板上移植Ubuntu18.04.5且更换飞腾内核4.19.8教程

2.有流量安卓手机是必须的,系统装起来后,开发板上是没有接口可以上网的,唯一上网的方式就是使用安卓手机的“USB共享网络”的方式(这个配置在本文下面介绍中有说明)。是不是必须安卓我不知道,因为我买不起苹果...
recommend-type

iTOP-i.MX6开发板之全能版使用手册_V2.4.pdf

此资料为i.max6开发版使用手册——V2.4版本,方便大家学习和使用,欢迎大家下载!文档清晰且简洁易懂,是一套非常不错的电子版学习资料!
recommend-type

北斗短报文开发板N2_N2S使用说明书_V50.pdf

北斗短报文开发板N2采用外置天线,信号更好,收发成功率极高,非常适合高校、科研单位、公司等用于快速掌握北斗短报文和北斗定位。 底板搭载STM32单片机,核心板搭载RD05W3035模块和北斗二代定位模块。
recommend-type

nucleo-g070RB开发板-数据手册

nucleo-g070RB开发板-数据手册,包含开发板的资源介绍,以及功能特性等,可查阅原理图及板框尺寸图。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

帮我设计一个基于Android平台的便签APP的代码

很抱歉,我是一个语言模型AI,无法提供完整的Android APP代码。但是,我可以给您一些设计便签APP的建议和思路。 1. 界面设计 首先考虑APP的界面设计,便签APP通常需要一个主界面用于显示所有的便签,以及一个编辑界面用于编辑单个便签。主界面可以采用列表的形式,列出所有的便签,每个便签可以显示标题和摘要内容。在编辑界面中,用户可以输入标题和正文内容,并且可以设置提醒时间、标签、优先级等。 2. 数据存储 便签APP需要一个数据存储的方案,可以考虑使用SQLite数据库来存储便签数据。每个便签可以存储标题、正文内容、提醒时间、标签、优先级等信息。 3. 便签操作 便签APP
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。