三个IO口控制一个按键以及两个LED灯;
按键按下一次后其中一个灯常亮,再次按下后另一个灯做闪烁提示
2条回答 默认 最新
- 嘿哈小将 2023-09-14 15:01关注
以下是一个使用C语言编写的程序,用于控制一个按键和两个LED灯。当按键被按下一次时,其中一个LED灯会常亮;当按键再次被按下时,另一个LED灯会闪烁。
#include <stdio.h> #include <stdlib.h> // 定义IO口 #define IO_KEY 0 #define IO_LED1 1 #define IO_LED2 2 // 延时函数 void delay(int ms) { for (int i = 0; i < ms; i++) { for (int j = 0; j < 120; j++) { // 这里空循环用于延时 } } } int main() { int key_state = 0; // 按键状态,0表示未按下,1表示按下 int led1_state = 0, led2_state = 0; // LED状态,0表示熄灭,1表示亮起 while (1) { // 检查按键状态 if (getchar() == IO_KEY) { key_state = 1; // 按键按下 } else { key_state = 0; // 按键未按下 } // 根据按键状态控制LED灯 if (key_state == 1 && led1_state == 0) { printf("\033[1;1HLED1 ON"); // 打开LED1 led1_state = 1; } else if (key_state == 1 && led1_state == 1) { printf("\033[1;1HLED2 BLINK"); // LED2闪烁 led2_state = 0; } else if (key_state == 0 && led2_state == 0) { printf("\033[1;1HLED1 OFF"); // LED1熄灭 led1_state = 0; } else if (key_state == 0 && led2_state == 1) { printf("\033[1;1HLED2 OFF"); // LED2熄灭 led2_state = 0; } } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题
- ¥15 企业资源规划ERP沙盘模拟