LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,sbit 定义了四个位于 P2 口的 LED 灯,而 delay 函数则是一个延时函数,可以用来控制 LED 灯亮起和灭掉的时间。注意

单片机的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 可以检测单个

);break;case 3:P1_3=~P1_3;delay02s();break;} } } 这个是我很久以前做的,有一点不同就是这个灯不但会亮还会闪,可以把闪的程序删掉。我有KEIL文件和PROTEUS文件。这个图可以实现这个效果了,修改一下就行了。

一个最直观的。#include//声明头文件#defineledP1#defineuintunsignedintvoiddelay(uinti)//延时函数{uintj;while(i--){for(j=0;j<120;j++);}}voidmain(){while(1){led=0X00;delay(1000);led=0X01;delay(1000

if(sb1==0){ for(a=250;a>0;a--) for(b=40;b>0;b--);if(sb1==0){ loop: if(sb1==1){ keyzhi++;if(keyzhi>3) keyzhi=0;} else goto loop;} } switch(keyzhi){ case 0: L1=

delay(100); //调用延时子程序 L4=1; //第四盏灯亮 delay(100); //调用延时子程序 while(1); //这里我用了个死循环,目的程序只运行一次,如果需要自动重新运行,可以把这句删掉 } 纯手工书写,并仿真调

以下是8个LED灯轮流点亮的程序,按照以下方法怎么把它改成16个LED流水灯?会的大神请帮忙改一下,谢谢,本人初学者 include //#include"stc.h"unsigned char i=0;void main(void){TH0=(65536-50000)/256;

Keil四个LED灯点亮程序

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

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

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

单片机的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 可以检测单个

;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

急求:使用四个独立按键控制四个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

这是89c52的程序,我觉得改改可以用吧。希望能帮到你 共阳极,低电平亮,到时候自己调整。假设用单片机P1口。延时函数自己写吧。#include#include #define unsigned char uchar#define unsigned int

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

delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,sbit 定义了四个位于 P2 口的 LED 灯,而 delay 函数则是一个延时函数,可以用来控制 LED 灯亮起和灭掉的时间。注意:在编译运行

L4=1;break;case 2: L1=1;L2=1;L3=0;L4=1;break;case 0: L1=1;L2=1;L3=1;L4=0;break;}

L1=1; //第一盏灯亮 delay(100); //调用延时子程序 L2=1; //第二盏灯亮 delay(100); //调用延时子程序 L3=1; //第三盏灯亮 delay(100); //调用延时子程序 L4=1; //第四盏灯亮 de

急需单片机高手帮忙用C语言写一个单片机4个灯轮流闪亮的源程序。 详细内容看补充。

LED1: CJNE R0,#1,LED2 AJMP LED10 LED2: CJNE R0,#2,LED3 AJMP LED20 LED3: CJNE R0,#3,LED4 AJMP LED30 LED4: CJNE R0,#4,LEDRT AJMP LED40 LEDRT: RET LED10: MOV A,#0FFH MOV P1,A ACALL

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

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灯依次轮流亮起,即流水灯的效果?

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

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

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

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

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

将你的输出数字量接到一个比较器的一段,另一端接门限值(即多少数值时报警) 比较器输出布尔量接到小灯上 这样就能控制小灯的亮灭了~~接上次的回答:你要是想驱动外部硬件,首先要有与外部硬件连接的渠道,也

使用布尔类型局部变量或者全局变量,让这两个线程(循环)同步。B中根据这个局部变量的值决定是否要停止循环,比如T时循环;当A运行结束时,在A中将局部变量改为F,这之后B线程也就退出了;两个线程结束,大循环进入下一轮

2、LabVIEW编程环境:使用LabVIEW编程环境建立八个输入输出控制通道,以及一个循环结构循环八次,每次点亮其中一个LED。3、编程过程中,通过给定八个通道,从而控制相应的LED点亮。具体实现时,在循环结构内部实现通道值与LED激活

1、设计好你想显示的样式,做成一个2维布尔数组常量,需要灯亮的地方为T,不需要的为F,设常量数组的列数量是a 2、设计好前面板上显示控件的样式,就是若干行若干列的一个2维布尔数组显示控件,设显示控件数组的列数量

你可以引入一个反馈节点,然后对比其两端的值,只有新的值大于旧的值时才触发,参见附图:

数组处理比较简单,五行六列转换为一维数组。簇处理的话,先把簇分解开,单独取出里面的布尔量,进行数组处理。最后把处理结果再组合成新的簇替代原来簇

用LABVIEW做用一个布尔开关控制4个led灯依次点亮,顺序为1.2.3.4并循环点亮。

;实验目的:本程序主要实现一个简单的流水灯程序 ;即轮流点亮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
四个灯按规律轮流亮灭?
有点没明白你的意思!三个从机 是什么!是三片单片机么?如果是单纯的控制LED 很简单的了!
设置定时器时间间隔为1s,计数总共不到1s的话,就再定义一个变量,循环多次,以实现1s 然后再1s时的定时器中断子程序中设置输出脚的电平交替即可
#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口--回到开始