if(count==5) //20ms×5=100ms(0.1s),这是最小时间间隔 {count=0;out_kz++;if(out_kz==2){mcout_z=1;} if(out_kz==3){mcout_z=0;} if(out_kz==5){mcout_z=1;} if(out_kz==10){mcout_f

那你把两盏led灯并联,用一个口联接就行了,例如用P2口的1脚 include delay(){ int x,i;for(x=100;x>0;x--)for(i=50;i>0;i--);} void main(){ while(1){ P1^1=0;delay();p1^1=1;}

C语言实现LED灯闪烁控制配套51单片机开发板。include //包含单片机寄存器的头文件 /***函数功能:延时一段时间 / void delay(void) //两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; //定义

交替闪烁就是在循环中让两个LED端口交替高低电平。循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。include define uInt unsigned int sbit D1=P2^0;sbit D2=P2^1;sbit S1=P

如果是PC机需要配置一块MOXA的TTL板卡来实现高低电瓶输出:1、先设定LED灯是低电平亮还是高电瓶亮,这里假设低电平;2、设置一个定时器,在定时器里面写代码,分别发送高、低电瓶值可实现交替闪耀;例程:include

led_2 = 1;led_1 = 0;} } } }

LED2=~LED2;for(n=0; n<20; n++){ Delay100ms();} } }

用C语言编写程序,要求实现两盏LED灯交替闪烁,间隔时间为2秒?

可以用一个数组存放LED灯的状态,在定时器里面为LED赋值数组里面的值就行 例如 LED_arr[10]= {0x81,0x42,0x24,0x18,0x24,0x42,0x81};LED = LED_arr[pos++];

void t0isr() interrupt 1{TH0=(65536-5000)/256;TL0=(65536-5000)%256;number++;if(number>1)number=0;switch(number){case 0:P2=0x02;P0=distab[dat/10];break;case 1:P2=0x01;P0=distab[dat%10];break;

然后将这两个变量赋值给控制LED灯的两个I/O口!

void delay(void) //两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; //定义无符号整数,最大取值范围65535。for(i=0;i<20000;i++) //做20000次空循环。; //什么也不做,等待一个机

LED = 0; //关闭LED灯 while(1){ if(K1 == 0) // K1按下,增加频率 { while(K1 == 0); // 等待按键释放 freq += 20;if(freq > 100) freq = 100; // 频率上限100Hz } else if(K2 == 0

if(count==5) count=0;for(i=0;i<124;i++)for(j=0;j<200;j++) ;}

谁能用C语言写5个LED灯以5种不同的频率显示,一定要用定时器,在51单片机里实现

交替闪烁就是在循环中让两个LED端口交替高低电平。循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。include define uInt unsigned int sbit D1=P2^0;sbit D2=P2^1;sbit S1=P

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

在无限循环中,不断检测K1和K2按键状态,以改变全局变量“freq”并控制LED灯的闪烁频率;然后使用一个计时器中断服务程序来控制LED灯的闪烁,具体实现方式请参考代码注释。最后,为了保证每个周期的闪烁持续时间与频率相符,应该

for(i=0;i<20000;i++) //做20000次空循环。; //什么也不做,等待一个机器周期。} / 函数功能:主函数 (C语言规定必须有也只能有1个主函数)。/void main(void){ while(1) //无限循环。{ P0=0xfe;

用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!!!!!!!

#255 ; 8个led灯不亮 MOV R2, #200 LP2:SETB P1.0 ; 蜂鸣器不响 DJNZ R6,DJNZ R7, $ - 2 DJNZ R2, LP2 MOV P0, #255 ; 8个led灯灭 RET ;--- END

请设计一个8个led同时全部闪烁的程序 include main (){int i;while (1){for (i=0;i<=30000;i++);P1=~P1;} }

1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

1:设定一个变量i,可以从0到3循环的变化 2:检测一个经过消抖处理的按键,按一下,i+1 3:当i值为各个值时,执行相应的花样。流水灯参考程序 include include define uchar unsigned char uchar j,temp;void delay(un

// 51单片机控制八个发光二极管 左右循环。include define uchar unsigned char define uint unsigned int unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf

delay();P3=0xef;//第五个灯亮 delay();P3=0xdf;//第六个灯亮 delay();P3=0xbf;//第七个灯亮 delay();P3=0x7f;//第八个灯亮 delay();} }

1:设置一个变量zhidaoi,它可以从0循环到3 2:检测一个已取消缓冲的键。按“+1”3:当I值为每个值时,执行相应的模式。水量灯参考程序 #include #include #定义uchar无符号字符 Ucharj,温度;无效延迟(无符号整型

8个LED指示灯循环闪烁的程序(单片机)

include#defineucharunsignedcharuchartimes,led;sbitkey1=P1^0;sbitkey2=P1^1;voidt0isr()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;times++;}voidrolled(){P0=led;led=(led>>1)|0x80;if(led==

LJMP MAIN ORG 0100H MAIN: SETB LED ;LED 灭 LL1: JB KEY , LL1 ;等待按键第一次按下 LCALL YS ;延时去抖 JB KEY,LL1 ;按键第一次按下 则往下执行 LL12:

C语言实现LED灯闪烁控制配套51单片机开发板。include //包含单片机寄存器的头文件 /***函数功能:延时一段时间 / void delay(void) //两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; //定义

下面的程序我已经调试过了,你可以直接使用,但是一秒闪烁次数t的最大为2000,如果要大于这个数,你必须改小dalay1ms ()内的j值,就可以改大t include sbit LED0=P1^0;unsigned int t=0,k;void dalay1ms

{ led1=~led1;count++;if (!(count%1000)) {led2=~led2;} if (count==5000) {led3=~led3;count=0;} } led1是看不出闪烁的 太快了

暂时想到两种解决方案:1.最简方案——利用延时函数:进入主函数后,初始化LED,设置一个延时初始值,然后进入while循环,里边只做四件事,打开LED,利用键盘返回值作延时函数参数,关闭LED,利用键盘返回值作延时函数参数。2.

case 0: led = 1; readkey(); break; //熄灭 case 1: delay(); readkey(); //慢速闪烁 case 2: delay(); readkey(); //中速闪烁 case 3: delay(); readkey(); led = ~led; //快速闪烁 } }

请教c51单片机,c语言编程,关于控制LED灯闪烁频率?

1:设置一个变量zhidaoi,它可以从0循环到3 2:检测一个已取消缓冲的键。按“+1”3:当I值为每个值时,执行相应的模式。水量灯参考程序 #include #include #定义uchar无符号字符 Ucharj,温度;无效延迟(无符号整型

表明for循环大括号 //中的程序循环执行7次 { Delay(50000);   //调用延时程序;更改延时数字可 //以更改延时长度;用于改变闪烁频率 temp=1; temp=temp|0x01;  //也可以直接把temp换成P1 P1=tem

以下是一个简单的51单片机程序,通过按下按键可以实现4种不同状态的灯亮灭,包括正闪、反闪、多种间隔闪。程序中使用了定时器来实现闪烁功能。程序中使用了P1.0到P1.3作为控制灯的引脚,P3.2作为按键的引脚。每当按下

第二种方法 单片机智能控制,单片机源代码 /*--- 名称:IO口高低电平控制 论坛: 编写: 日期: 修改:无 内容:通过P1点亮多个LED灯 ---*/ 这个代码很少哦,好好悟吧 includereg52.h //包含头文件,一般情况不需要

点亮P1口的1个LED灯闪烁 手把手教你学会单片机,编程 ---*/ includereg52.h //头文件 //头文件包含特殊功能寄存器的定义 sbit LED0=P1^0;// 用sbit 关键字 定义 LED到P1.0端口, //LED是自己任意定义且容易记忆

7.怎么玩转单片机-不同频率闪烁多个LED灯方法2

方法: 1:设定一个变量i,可以从0到3循环的变化 2:检测一个经过消抖处理的按键,按一下,i+1 3:当i值为各个值时,执行相应的花样。 流水灯参考程序 #include #include #define uchar unsigned char uchar j,temp; void delay(unsigned int ms) { uchar t; while(ms--) for(t=0;t<123;t++); } void main() { P1=0xff; delay(500); temp=0xfe; //有点怪,led接在P2.3~P2.6 for(j=0;j<4;j++) { P1=temp; delay(500); temp=_crol_(temp,1); } P1=0xff; while(1); }
请设计一个8个led同时全部闪烁的程序 #include main () {int i; while (1) {for (i=0;i<=30000;i++); P1=~P1; } }
一定要用定时器吗? 楼主可能对单片机方面不是很熟悉吧,如果不是一定要求用定时器的话你可以用简单的延迟就能实现了,这个对楼主理解比较容易 例如led_1=0; delay(100); led_1=1; delay(100); led_2=0; delay(300); led_2=1; delay(300); //灯闭,延迟100毫秒(时间长短看你的晶振设置),灯亮,再延迟 //灯闭,延迟300毫秒(这就是不同的频率了,100毫秒和300毫秒),再亮,再延迟 这个思路清楚吗?希望给你帮助
。。没记到20的时候呢,if花括号后面加else{ p2=0xff;}不然你那样就会一直亮了。。。
sbit LED1=P2^0; sbit LED2=P2^1; // STC的下载工具中,有延时的计算例子,再使用循环延时 void Delay100ms(){ //@11.0592MHz unsigned char i, j; i = 180; j = 73; do{ while (--j); } while (--i); } void main(){ unsigned int n; while(1){ LED1=~LED1; LED2=~LED2; for(n=0; n<20; n++){ Delay100ms(); } } }
你根据你的单片机硬件接线图,把小灯的端口对应改一下就可以了 #include #define uint unsigned int #define uchar unsigned char uchar count; sbit led_1 = P2^1; sbit led_2 = P2^2; void main() { TMOD =0x01; TH0 = (65535-46080)/256;//50ms TL0 = (65535-46080)%256; EA = 1; ET0 = 1; TR0 = 1; while(1) { if(TF0 == 1) { TF0 = 0; TH0 = (65535-46080)/256;//50ms TL0 = (65535-46080)%256; count++; if(count == 40) { led_1 = 1; led_2 = 0; } if(count == 80) { count = 0; led_2 = 1; led_1 = 0; } } } }