完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大虾,我是刚刚学单片机,如何使用单独按键实现渐亮渐灭(功能是用一个轻触开关,开灯时LED灯慢慢亮起和关灯时慢慢灭掉),我写程序但无法开关,为什么;
//功能为用S1控制LED渐亮渐灭// #include unsigned char ID; unsigned int T=500Toff=0; sbit LED=P1^0; sbit S1=P3^7; void no(); void off(); void Delay(unsigned int t); void main(void) { LED=1; while(1) { if(S1==0) { Delay(500); if(S1==0) { ID++; if(ID==2) { ID=0; } while(S1==0); } } switch(ID) { case 0: no(); break; case 1: off(); break; } } } /@@*以下为渐亮保持*/ void no (void) { for(Toff=1;Toff0;Toff--) { LED=0; Delay(Toff); LED=1; Delay(T-Toff); } LED=1; while (1); } /@@*以下为延时函数*/ void Delay(unsigned int t) { while(--t); } |
|
相关推荐
1个回答
|
|
把on和off函数最后的while(1)改成while(S1)就可以了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
零知开源——基于STM32F407VET6零知增强板的四路独立计时器
992 浏览 0 评论
零知开源——STM32F4实现ILI9486显示屏UI界面系列教程(一):电子书阅读器功能
1383 浏览 0 评论
CW32L010 ESC Driver 电机控制套件快速上手指南
1100 浏览 1 评论
1748 浏览 1 评论
1917 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
13612 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-7-6 07:51 , Processed in 0.414037 second(s), Total 41, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191