单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4 程序:ORG 00H START: MOV A,P1 ANL A,#0F0H RR A RR A RR A RR A ORl A,#0F0H MOV P1,A SJMP START 可以检测单个

if(sb1==0){ loop: if(sb1==1){ keyzhi++;if(keyzhi>3) keyzhi=0;} else goto loop;} } switch(keyzhi){ case 0: L1=0;L2=1;L3=1;L4=1;break;case 1: L1=1;L2=0;L3=1;L4=1

3.编写程序:使用单片机的编程软件(如Arduino IDE、Keil等),编写控制LED灯的程序。以下是一个简单的示例程序(以Arduino为例):// 定义LED灯连接的引脚 const int ledPin = 13;void setup() { // 将LED引脚设置为

4只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒 MOV P1,#1011111

这个是我很久以前做的,有一点不同就是这个灯不但会亮还会闪,可以把闪的程序删掉。我有KEIL文件和PROTEUS文件。这个图可以实现这个效果了,修改一下就行了。

led=0X07;delay(1000);led=0X0f;delay(1000);led=0X1f;delay(1000);led=0X3f;delay(1000);led=0X7f;delay(1000);led=0Xff;delay(1000);led=0X7f;delay(1000);led=0X3f;delay(1000);led=0X1f;delay(1000);

LED3 = 1;delay(50000);LED4 = 1;delay(50000);LED4 = 0;delay(50000);LED3 = 0;delay(50000);LED2 = 0;delay(50000);LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的

Keil四个LED灯点亮程序

led_delay();P3=0xfe;led_delay();} /*关闭所有LED*/ void stop(void){ P3=0xff; //关闭8个LED } /*闪烁点亮LED*/ void flash(void){ P3=0xff; //关闭8个LED led_delay();P3=0x00; //点亮

include//k2~k4 分别控制le1~le4 void delay(unsigned int x) //延时函数{ while(x--); //延时数减一} void key_event (unsigned char d) //根据扫描到的键值,亮相应的LED { switch(d)

1){if (!KEY_0 ) { // 按键KEY_0被按delayus(20); //消抖动 if (!KEY_0 ) { //确认被按下 LED_7=~LED_7 //灯亮或灭}}} 其余一样即可。

} switch(keyval) { case 1:led1=0;delay(1);led1=1;keyval=0;break;

if(key1 == 0) //如果高电平按下按键就==1 { delay(200); //按键防抖 if(key1 == 0){ led1=1; //如果低电平亮就=0 led2=0;led3=0;led4=0;} } if(key2 == 0){ delay(200); //按键防

;p3.0 p3.1 p3.2 p3.3 是接4个铵键 p3.4 p3.5 p3.6 p3.7 是接4个LED, 输出低电平亮;按一下键亮,再按一下灭. 4 个独立org 000main:jb p3.0,next1lcall t30msjb p3.0,next1jn

单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4 程序:ORG 00H START: MOV A,P1 ANL A,#0F0H RR A RR A RR A RR A ORl A,#0F0H MOV P1,A SJMP START 可以检测单个

急求:使用四个独立按键控制四个LED灯亮灭的单片机汇编程序

1.实现点亮一个LED 2.实现点亮任意位置上的一个LED 3.实现点亮一个LED,并让他1秒亮,1秒灭 接下来,剩下的工作,相信你一定能完成了。当然,这中间如果遇上了什么困难,你还可以百度hi我 我不太赞成直接把答案给你,

在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。include include 仿真图效果。

d1=0; //设为低电平,LED灯亮 d3=0; //设为低电平,LED灯亮 d5=0; //设为低电平,LED灯亮 d7=0; //设为低电平,LED灯亮 } void main(){ PortState(); //主函数里面调用 while(1);//~~~其

LED4 = 0;delay(50000);LED3 = 0;delay(50000);LED2 = 0;delay(50000);LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,sbit 定义了四个位于 P2 口的 LED 灯

编写一段程序,要求用at89c51控制四个led灯,是他们逐个亮以后在逐个灭?

4只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒 MOV P1,#1011111

就不难理解了。所以你若想在开始的时候不想让他都亮(按照你的思路走),你可以对你的几个引脚进行拉高,即对ODR或者BSRR进行操作即可。GPIO_SetBits(GPIOE,GPIO_Pin_1);//Init函数把几个脚都添加进去即可

led=0X07;delay(1000);led=0X0f;delay(1000);led=0X1f;delay(1000);led=0X3f;delay(1000);led=0X7f;delay(1000);led=0Xff;delay(1000);led=0X7f;delay(1000);led=0X3f;delay(1000);led=0X1f;delay(1000);

include#include //头文件中的循环移动函数void SoftDelay(unsigned int us);void main(void){unsigned char temp;temp=0x3f; //先点亮1,2 while(1) { P1=temp; SoftDelay(2

1、布尔型控件具有两种状态,首先打开Labview创建一个空的项目。2、首先在前面板选择布尔控件,选择按钮和一个指示灯,都在布尔控件中。3、接着将选择好的控件拖动到前面板,双击单个控件进入对应的程序面板。4、接着进入到程

delay(50000);LED4 = 1;delay(50000);LED4 = 0;delay(50000);LED3 = 0;delay(50000);LED2 = 0;delay(50000);LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,

i++;} 定时器, LED灯

更改程序实现四盏LED灯依次轮流亮起,即流水灯的效果?

)//每次1秒 P0=0xF0; //4个灯亮 if(i=7){P0=0x=0x0F;} //后4个灯开始亮 } if(i=18){i=0;} } 定时模块函数()//最好用中断,比较精确,当然也可以增加定时微调函数,更加精确 {……}

在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。include include 仿真图效果。

sbit led4=P1^4; //led灯,按实际再改 sbit key1=P2^1; //按键,按实际再改 sbit key2=P2^2; //按键,按实际再改 sbit key3=P2^3; //按键,按实际再改 sbit key4=P2^4; //按键,按实际再改 void delay

LED3 = 1;delay(50000);LED4 = 1;delay(50000);LED4 = 0;delay(50000);LED3 = 0;delay(50000);LED2 = 0;delay(50000);LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的

DEL1:MOV R6,#0 DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 SETB C RLC A DJNZ R0,LOOP AJMP LOOP0 END

51单片机的题目: 依次点亮四个Led灯

我求求你了,别用汇编了。C51多简单明了!现在的单片机不需要考虑容量和速度问题,如果不够可以选择大容量高速单片机。51系列有100MHz,128K ROM。 #include// 头文件,定义寄存器等 main(void) { char i=0,j,k;//初始化变量, while(1) { i++; if(i>8)// i从0~8,一共9种状态 { i=0; } j=0x00; for(k=0;k<i;k++)//循环,类似于汇编的DJNZ { j>>=1;// 类似汇编的RR A j|=0x80;//ANL A,#80H } P2=j; } } 真的想要汇编语句,编译后仿真时看吧。
在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。 #include #include 仿真图效果。
;实验目的:本程序主要实现一个简单的流水灯程序 ;即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。。) ;硬件要求:拨码开关S2全部置ON。 #include ;调用头文件 __CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC ;芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 ;**********************用户寄存器定义******************** count equ 20h ;移位次数寄存器 del_va1 equ 0ffh ;外层延时参数 del_va2 equ 0ffh ;内层延时参数 org 00h ;程序人口地址 ; addlw 0ffh ;**********************主程序开始*********************** main nop ;ICD所需要的一条空指令 clrf PORTC ;先清楚C口所有显示 banksel TRISC ;选择I/O口方向寄存器所在的体 clrf TRISC ;设置C口全为输出 clrf STATUS ;返回体0 movlw .8 movwf count ;装载循环次数8(C口共8位) bsf STATUS,C ;置进位标志位为1,因循环移位是带进位循环的 loop rlf PORTC,1 ;C口左移1位 call delay call delay CALL delay ;调用三次延时程序(保证亮度,以及流水灯闪烁速度) bcf STATUS,C ;清0进位标志位(永远只有一只LED亮) DECFSZ count,1 ;判断是否一轮循环结束 goto loop ;否,继续循环移位 GOTO main ;是,程序重头开始 ;***********************延时程序************************* delay movlw del_va1 ;延时程序外层参数 movwf 30h movlw del_va2 ;延时程序内层参数 movwf 31h decfsz 31h,1 goto $-1 decfsz 30h,1 goto $-4 return ;********************程序结束**************************** end
四个灯按规律轮流亮灭?
#include//k2~k4 分别控制le1~le4 void delay(unsigned int x) //延时函数{ while(x--); //延时数减一} void key_event (unsigned char d) //根据扫描到的键值,亮相应的LED { switch(d) { case 14: P1^=(1>=4;//a=a>>4; //移动4位,a 取值 if(a!=15) //至少有个键按下 { if(i==0) //0 的时候,标示没有建按下 { delay(1000); //延时 1000次b=P2; //把按键的口赋给变量 bb>>=4; //移动四位,b 取值if(a==b) //如果a和b相等{ key_event(b) ; //这次按键有效 i=1; //1 不允许其它键按下} } } else { i=0; //不是有效键按下,清 0 }}void main() //主函数开始{ while(1) //进入循环,检测按键按下情况 { key(); }}
led应该是一个变量,是代表led灯 亮或者灭的一个变量。 当你按下开关后,s1==0,就执行 led=!led 这条语句。 led=!led 的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后 就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); // 等待按键放开led1=~led1;} 使用四个独立按键控制四个LED灯亮灭的汇编程序怎么弄? 单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4程序:ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR AORl A,#0F0HMOV P1,ASJMP START可以检测单个按键,也可以同时检测多个按键过程:开始--读P1口数据到A--A中的数据右移4次--A中的内容和F0H相或--A中的数据送到P1口--回到开始