51单片机用1个按钮点亮LED灯,另1个按钮关

已举报 回答
51单片机用1个按钮点亮LED灯,另1个按钮关
问在线客服
扫码问在线客服
  • 回答数

    3

  • 浏览数

    4,303

3个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
//假设按键输入P1.0,P1.1,LED控制P2.0,都是低电平有效
#include reg51.h
sbit KEY0=P1^0;关灯按键
sbit KEY1=P1^1;开灯按键
sbit LED=P2^0;灯
void main(void)
{
LED=1;

while(1)
{
if(KEY0==0)LED=1;
if(KEY1==0)LED=0;
}
}
取消 评论
刚看你程序,你上电按住就可以了,是你while(1)卡住了按键的扫描了
取消 评论
#includereg51.h#includeintrins.h#define uchar unsigned charuchar led1=0xfe;led2=0xfe;led3=0xfe;uchar cnt=0;uchar keyval=0;sbit key=P3^2;void t0isr() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;if(cnt=10) { switch(keyval) { case 0: P0=led1;led1=_crol_(led1,1);break; case 1: P0=led1;led1=_crol_(led1,1); P1=led2;led2=_crol_(led2,1);break; case 2: P0=led1;led1=_crol_(led1,1); P1=led2;led2=_crol_(led2,1); P2=led3;led3=_crol_(led3,1);break; default:break; } }}main(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;while(1) { if(key==0) { while(key==0); keyval++; keyval%=3; } }}
取消 评论
ZOL问答 > 投影机 > 其他分类 > 51单片机用1个按钮点亮LED灯,另1个按钮关

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?