锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

单片机一个按键控制一个发光二极管

时间:2022-09-13 12:30:00 二极管就会发光二极管p1201p052二极管二极管5621cs接二极管

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

vs2026

2013.08.31

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:58%等级:12

已帮助:13269人

以下是C语言:

#include

sbit KEY=P1^0;

sbit LED=P1^1;

void delay();

void main()

{

while(1) //不断循环

{

if(KEY==0) 判断键盘是否按下

{

delay(); ///调用延迟函数消抖

if(KEY==0) //再次读键盘,以判断刚才判断到的是否为抖动

LED=~LED; //取反P1.1电平状态,即改变发光管状态

}

}

}

void delay()

{

unsigned int i=50000;

while(i--); ///不断循环自减,直到i变成0

}

以下是汇编:

ORG 0000H

AJMP MAIN ;跳转到主程序

ORG 0100H

MAIN:JB P1.0,MAIN ;判断P1.0是否被按下,如果没有,再判断,是否向下执行

CALL DELAY ;调用延迟子程序,延迟一段时间,用于键盘抖动

JB P1.0,MAIN ;再次判断按钮状态,判断是否抖动,否则向下执行

CPL P1.1 ;取反P1.1.即改变发光二极管的状态

JNB P0.0,$ ;等待按钮释放(等待)P1.0电平变高)

AJMP MAIN

DELAY:

MOV R0,#200

LOOP: MOV R1,#200

DJNZ R1,$

DJNZ R0,LOOP

RET

END

这些都是刚写好的,希望能让你满意,有问题可以hi我!

10分享举报

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章