完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uchar unsigned char ***it D1=P0^7; ***it D2=P0^6; ***it k1=P1^0; uchar num; void delay(uchar); void main() { P0=0x00; while(1) { if(k1==0); { delay(10); D1=0; } if(k1!=0); { delay(10); D2=0; } } } void delay(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=100;y>0;y--); } |
|
相关推荐
10个回答
|
|
多看看例程。。
|
|
|
|
灯亮是要时间的,加延时
|
|
|
|
看你这个程序好像是 一个按键控制两个灯吧, 先确认一下IO是不是对的,然后看一下 是高电平亮还是低电平亮
|
|
|
|
用P0口想要高电平输出需要外接上拉电阻。
|
|
|
|
查看电路吧,看程序你的灯是阳极接正,单片机引脚置0则灯亮,那么开关只有0和1两个状态,所以总会有一个灯是亮的,P0口需要接上拉电阻,灯需要加一个限流电阻,另外程序里没有关灯的操作,也就是D1,D2置1的操作,所以假设电路正确,程序正确的话,你的灯在进行过一次按键操作后,灯就会常亮不灭了
|
|
|
|
看看灯是高还是低电平点亮
|
|
|
|
看看灯是高还是低电平点亮
|
|
|
|
把k1设为准双向模式
|
|
|
|
你这个程序功能比较较简单。功能:设置两个 D1、D2 灯和开关 K1,运行时根据开关 K1 的按下与否来决定 D1 和 D2 的开启和关闭。开关 K1 按下时 D1 亮;开关 K1 弹起时 D2 亮。程序没毛病!估计是 P1^0 未加上拉电阻所致,你找一个 10K 电阻接上再试试看吧。
|
|
|
|
发下电路图看下
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
479 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
229 浏览 0 评论
334 浏览 0 评论
165 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
496 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11972 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 18:50 , Processed in 0.719432 second(s), Total 59, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号