是强电的灯可以通过此处控制继电器的合、闭来控制灯的亮灭)。参考程序:if(key==0){delayms(10);if(key==10){while(key==0);//等待按键释放,IO口恢复高电平led=!led;//按键控制程序}}

单片机驱动LED灯的源程序:include //头文件。define uint unsigned int define uchar unsigned char sbit LED1=P1^7; //位定义。void delay_ms(uint);//mS级带参数延时函数。void main(){ while(1){ LE

怎么个控制法,按一下,流水灯停下,再按一下开始,还是按一下对应亮一个或亮下一个 还是想知道怎么用按键 教你用按键的方法,功能你自己去实现。把io口拉高电平后,接按键,如果按键按下,会接地,读出的io口电平会

不用中断一样的实现,而且可以有多少个按键就可以有多少种流水灯方式。你使用的键盘函数直接调用流水灯函数就可以。比如使用独立键盘,if(P1.1==0) light_water(); 然后:void light_water(){ num=1;for(a=0;a<8;

用几个变量表示按键的按下/松开状态,然后用定时器中断设置PWM的频率,例如要50hz的频率,那么定时器中断周期(PWM周期的一半)可以设置为10ms,在中断服务程序内根据按键的状态确定是否需要对PWM输出管脚进行翻转。改方法可以输

1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数

提供一个思路,我没有验证。假设低电平LED亮,可以利用左移语句,按键1按一次,P0将1左移一次,然后取反;按键2按一次,1左移一次取反,delay一下再左移一次再取反;按键3同理。忘采纳。

求c52程序,用单片机最小系统版做 按键控制LED灯 实验。

给个四路:定意一个变量;if(按键1按下)变量为1;if(按键2按下)变量为2;if(变量==1){ 左移控制;} else if(变量==2){ 右移控制;}

void set_led(char p,char mode){ char ip;ip = ledmove[p&0x03];if((ip&0x01)==0) deng1 = 0;//管脚置o置1 else deng1 = 1;if((ip&0x03)==0) deng2 = 0;else deng2= 1;if((ip&0x01

MAIN:MOV A,#0FCH MOV P1,A LCALL DELAY RL A SJMP MAIN DELAY:MOV R2,#100 DELAY1:MOV R3,#250 DJNZ R3,DJNZ R2,DELAY1 RET END

K1 EQU P1.0K2 EQU P1.1ORG 0000HLJMP MAINORG 0030HMAIN: MOV A,#0FEH CLR 00H CLR 01HLOOP: JB K1,LOOP1 SETB 00H CLR 01H SJMP LOOPLOOP1: JB K2,LOOP2 SETB 01H

;增加了几行:ORG 0000H LJMP SETUP ORG 0003H LJMP INEX0P ;--- ORG 0013H LJMP INEX1P ;--- ORG 0030H SETUP:MOV A, #0FEH SETB IT0 SETB EX0 SETB IT1 SETB EX1 SETB EA MAIN:SJMP

单片机两个中断接两个按键控制P0的LED灯一个按键使灯左移另一个使灯右移汇编语言

int u16;typedef unsigned char u8;sbit led=P2^0;//把所要控制的led灯定义为p2.0这个口sbit k1=P2^1;sbit k2=P2^2;void delay(u16 i){while(i--);}//一个延时程序void main(){if(k1==1)while(1){led

没有具体的电路图,就只以P1口作为基本输驱动口进行说明。主程序需要一个delay函数进行led亮灭的延时。当然你首先要先进行P1口和开关按键的预定义,这个要看你板子的原理图。void delay(int l){ int a,b;for(a=0;a

K1 EQU P1.0K2 EQU P1.1ORG 0000HLJMP MAINORG 0030HMAIN: MOV A,#0FEH CLR 00H CLR 01HLOOP: JB K1,LOOP1 SETB 00H CLR 01H SJMP LOOPLOOP1: JB K2,LOOP2 SETB 01H

给个四路:定意一个变量;if(按键1按下)变量为1;if(按键2按下)变量为2;if(变量==1){ 左移控制;} else if(变量==2){ 右移控制;}

P1.0 接KEY1 到地 ,P1.1接KEY2到地,P0.0接LED到高电平。我还附带给你加了按键防抖,程序如下:include sbit key1=P1^0;sbit key2=P1^1;sbit led=P0^0;void delay(m){ int i,j;for(i=0

51单片机实现方法:按键控制标志位flag取反。然后把下面的代码放到循环里:U8 temp0 = 1。U8 temp1 = 0x80。U8 i = 0。if(flag == 1)。{。for(i=0;i<8;i++)。{。P1=temp0<

while(k2==0);led=(led>>1)|0x80;if(led==0xff)led=0x7f;} } } }

编程c51单片机:实现按下按键K1,LED左移动一位(其中一个LED灯灭),按下按键K2,LED右移动一位。

}。对控制LED口的寄存器进行位操作,按k1左移,按K2就是右移了。51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以

1选用合适的单片机和LED灯,将它们连接在电路板上。2在单片机程序中编写代码,控制LED灯的亮灭状态。3在代码中指定LED灯的亮灭顺序,以及延时时间。通常采用循环结构进行控制。4在将代码烧录到单片机之后,启动实验,即可看到

要求:1、要求能用按键完成流水灯的速度和灯的亮设置,灯的亮度可以用PWM进行设置;2、要求用一个按键控制流水灯的方向,即按一下按键可以改变流水灯的方向 要求:1、要求能用按键完成流水灯的速度和灯的亮设置,灯的亮度可以用PWM进

首先,由最右边的 LED1 点亮。当按下线性按键 S1 后,LED1 熄灭,LED2 点亮。其次,每按下一次 S1,当前的 LED 熄灭,相邻的左边第一个 LED 灯 点亮(视觉效果:每按一次按键,LED向左位移一位)。最后,当LED点亮

按键控制流水灯led灯位移的项目设计要求

#include "reg52.h"typedef unsigned int u16; typedef unsigned char u8;sbit led=P2^0;//把所要控制的led灯定义为p2.0这个口sbit k1=P2^1;sbit k2=P2^2;void delay(u16 i){ while(i--); }//一个延时程序void main(){ if(k1==1) while(1) { led=1; delay(50000); //大约延时450ms led=0; if(k2==1) break; } led=0; }思路很简单,就是用检测的方法去扫描相应的按键是否被触发,然后执行相应的子程序。
没有具体的电路图,就只以P1口作为基本输驱动口进行说明。主程序需要一个delay函数进行led亮灭的延时。当然你首先要先进行P1口和开关按键的预定义,这个要看你板子的原理图。 void delay(int l) { int a,b; for(a=0;a<l;a++) { for(b=0;b<10000;b++); } } void main() { int m=0; //设置开关为P3.7和P3.8,低有效 while(1) { if(P3.7 ==0) { m = 0; } else if(P3.8 ==0) { m = 1; } if (m == 0) { P1.0=1; delay(10); P1.0=0; delay(10); P1.1=1; ...//以此类推到P1.7 } else if(m ==1) { P1.0=1; P1.1=1; delay(10); P1.0=0; P1.1=0; delay(10); P1.2 =1; P1.3 =1; delay(10); ...//同理以此类推即可 } } }
给个四路: 定意一个变量; if(按键1按下) 变量为1; if(按键2按下) 变量为2; if(变量==1) { 左移控制; } else if(变量==2) { 右移控制; }
ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV A,#0FCH MOV P1,A LCALL DELAY RL A SJMP MAIN DELAY: MOV R2,#100 DELAY1: MOV R3,#250 DJNZ R3,$ DJNZ R2,DELAY1 RET END
#include sbit LED=P0^0;//LED使用P0^0引脚,低电平驱动 sbit PB1=P1^0;//按键1 sbit PB2=P1^1;//按键2 void main()//主函数 { while(1)//主循环 { if(!PB1)//按键1按下 { LED=0;//LED点亮 while(!PB1);//阻塞防止重复执行 } if(!PB2) { LED=1;//LED熄灭 while(!PB2);//阻塞防止重复执行 } } } 没有验证有没有错误,按键也没加消抖,将就吧~
你好!是c语言写程序还是汇编写?