完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
仿真电路
电路图: 晶振和复位电路没加 要点:单片机io口默认高电平所以开关打开时接地为高电平,关闭时为低电平 开关关闭: 开关打开: 代码 /* 名称:开关控制LED 说明:开关S1和S2分别控制LED1和LED2。 */ #include ***it S1=P1^0; ***it S2=P1^1; ***it LED1=P0^0; ***it LED2=P0^1; //主程序 void main() { while(1) { LED1=S1; LED2=S2; } } 增加了按钮: 按钮和开关效果一致,不同的是,按钮按下只有一瞬间是接通的,而开关只要按下即为接通,如果要按下后持续亮, 例如下面这种效果: 后面可以加上while语句 if(S1==0) {LED1=0;while(!S1);} else if(S2==0) {LED2=0;while(!S2);} 如果需要按一下一直亮,再按一下灭这种效果,可以试试下面的方法(因为我比较low,只想到这个,大佬可以改进以下) int time1=0; int time2=0; if(S1==0&&time1%2==0) {time1++;LED1=0;while(!S1);} else if(S1==0&&time1%2==1) {time1++;LED1=1;while(!S1);} else if(S2==0&&time2%2==0) {time2++;LED2=0;while(!S2);} else if(S2==0&&time2%2==1) {time2++;LED2=1;while(!S2);} 程序可以修改为类似于下面这种形式 while(1) { if(key0==1){led=!led;} if(key1==1){led2=!led2;} }; |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
9000 浏览 16 评论
4051 浏览 18 评论
1109浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2302浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1859浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 10:18 , Processed in 1.020465 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号