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

我写的这个程序应该可以,按一下灯亮,再按一下灯灭 include "REG52.H"sbit LED1_01 = P1^1;//LED灯 sbit KEY0_01 = P1^2;//按键 void Delay_1ms(unsigned int Time){ unsigned int x,y;for(x = Time;

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

上图程序,最后是“长灭”。如果想要“常亮”,就在 SJMP $ 前,插入一行:MOV P2,#0 即可。

想在这个程序里加一个叫LED灯闪烁的程序,跪求~

void delay(unsigned int );void main(){ temp=0xfe;P1=temp;while(1){ temp=_crol_(temp,1);//循环左移函数 delay(600);//延时为了人眼可以看到LED的点亮熄灭 P1=temp;} } void delay(unsigned int z)//

你的led灯是共阳的,从你给的条件可以判断。p1=0xfe,即最低位为‘0’,故点亮的是p1.0引脚所对应的led灯,也就是你所谓的c0。所以你的程序没有问题啊。

include "reg51.h" // 包含头文件 define uchar unsigned char void delay02s(void) // 延时0.2s子程序 { unsigned char i,j,k;for ( i=2;i>0;i-- )for (j=200;j>0;j-- )for (k=250

void){ uchar i;while(1){ P1 = 0xfe;for(i=0; i<7; i++){ P1 = _crol_(P0, 1); //用于循环左移 Delay(15);} } } 这是一个51单片机的P1口小灯循环左移的例子,不懂的问我。应该能用

AJMP START;ORG 001BH;T1中断 AJMP T1INT;;定义变量=== YSJSEQU 30H;延时计数器 LEDEQU 31H;LED控制缓冲器 ;主程序=== START:MOV LED,#0FEH;初始化数据 MOV YSJS,#0;;MOV TMOD,#10H;定时器1工作于方式1,16

51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include //51单片机头文件#include //包含有左右循环移位子函数的库#define uint unsigned int //宏定义#define uchar unsigned

//流水灯#include "reg52.h"#define LED_PORT P3void delay(unsigned char time){ unsigned char i,j,k; for(i=0;i

求用C语言编程实现51单片机的LED灯移动

给你个参考;void delay();main(){ while(1){ //设P1.0引脚去驱动LED,P1=0xff;delay(500);//延时500mS P1=0xfe; //P1.0引脚反复输出高电平,低电平,LED即闪烁;delay(500);//延时500mS }

LED_IO7= 0;delay();LED_IO8= 0;delay();} //开始灯全灭 void LED_dengmie(void){ LED_IO1 = 1;LED_IO2 = 1;LED_IO3 = 1;LED_IO4 = 1;LED_IO5 = 1;LED_IO6= 1;LED_IO7= 1;LED_IO8= 1

交替闪烁就是在循环中让两个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灯闪烁变化的编程 急用!!!!!!!!!

if(t==20) //预置值,溢出20次就是1秒钟,晶振12MHZ { t=0;P3=~P3; //反转LED灯的亮灭 } } /***/

sbit key=P1^2;sbit p1_6=P1^6;void delay(uchar delay_time){ uchar n;uint m;for (n=0;n

并控制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){

0口的发光管*/ /*说  明 :利用软件延时500ms*/ /*操作类型:位操作        */ /*作者  :铁手一郎 /*QQ:347999853     &#

这个你可以在设置一个.c文件,就是闪烁灯子程序,闪烁灯程序,我用的一秒一闪,include include typedef unsigned char uint8;void timer1_init(){ TMOD=0x10;TH1=0xb1;TL1=0xe0;TR1=1;}

{ PlayMusic(); //播放生日快乐 DelayMS(500); //播放完后暂停一段时间 } }

求单片机LED灯闪烁生日快乐代码。谢谢

这个你可以在设置一个.c文件,就是闪烁灯子程序,闪烁灯程序,我用的一秒一闪, #include #include typedef unsigned char uint8; void timer1_init() { TMOD=0x10; TH1=0xb1; TL1=0xe0; TR1=1; } void main() { uint8 counter; timer1_init(); P1=0xfe; while(1) { if(TF1==1) { TF1=0; TH1=0xb1; TL1=0xe0; counter++; } if(counter==50) { counter=0; P1=~P1; } } }
//LED1接P2.0,LED2接P2.1,低电平点亮 #include void _delay_ms(unsigned int c) //误差 0us { unsigned char a,b; for(;c>0;c--) for(b=199;b>0;b--) for(a=1;a>0;a--); } void main(void) { while(1) { P2|=(1<<0)&(1<<1); _delay_ms(300);//300MS P2|=~((1<<0)&(1<<1)); _delay_ms(300);//300MS } }
判断开关对应的端口电平,改变led对应端口即可。 交替闪烁就是在循环中让两个LED端口交替高低电平。 循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。 #include #define uInt unsigned int sbit D1=P2^0; sbit D2=P2^1; sbit S1=P3^2; void mDelayuS( uInt us ); void main() { if(S1) D1=D2=0; while(S1==0) D1=!D2,mDelayuS(1000),D2=D1; } void mDelayuS( uInt us ) { while ( us -- ); /* 24MHz MCS51 */ }
bit flash;//闪烁标志位 sbit led=P0^0; sbit P01=P0^1; sbit P02=P0^2; void main() { P01=P02=0; flash=0; led=0; while(1) { scankey(); ledflash(); } } void scankey()//键盘扫描 { P01=1;//行线给1 if(P02)//如果P02也是1则说明接通 { delay(10);//去抖动10MS if(P02)//再次确定按键按下 { while(P02){flash=flash}//按住按键的动作 flash=~flash;//按键按下后执行动作 } } } void ledflash() { if(flash) { led=1;//点亮 delay(100);//延时100MS led=0;//熄灭 } else led=0; } void delay(unsigned int i) {自己根据单片机频率写个1MS带形参的演示程序} 这个程序是现写的。。应该能执行,有些细节没有写,自己修改下,只是个大框而已(比如函数声明,定义端口什么的)
8个LED灯怎么可能显示出电子时钟! 8个数码管还差不多。
C语言实现LED灯闪烁控制配套51单片机开发板。 #include //包含单片机寄存器的头文件 /****************************************函数功能:延时一段时间 *****************************************/ void delay(void) //两个void意思分别为无需返回值,没有参数传递。 { unsigned int i; //定义无符号整数,最大取值范围65535。 for(i=0;i<20000;i++) //做20000次空循环。 ; //什么也不做,等待一个机器周期。 } /******************************************************* 函数功能:主函数 (C语言规定必须有也只能有1个主函数)。 ********************************************************/void main(void) { while(1) //无限循环。 { P0=0xfe; //P1=1111 1110B, P0.0输出低电平。 delay(); //延时一段时间。 P0=0xff; //P1=1111 1111B, P0.0输出高电平。 delay(); //延时一段时间。 } } 单片机驱动LED灯的源程序: #include //头文件。 #define uint unsigned int #define uchar unsigned char sbit LED1=P1^7; //位定义。 void delay_ms(uint);//mS级带参数延时函数。 void main() { while(1) { LED1=0; delay_ms(1000); LED1=1; delay_ms(1000); } } void delay_ms(uint z) //延时子程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 扩展资料: 单片机应用分类: 通用型: 这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。 总线型: 这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。 另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。 控制型: 这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。 通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。 参考资料来源:百度百科-单片机
用两个定时器指令编写一个闪烁电路的程序
void delay_ms(int ms) { int a=1000; int b=1000; int a=a*ms; while(a--) while(b--); } void main() { while(1) { p2=0; p2.0 = 1; // 2 delay_ms(1000); p2.0 = 0; p2.1 = 1; // 0 delay_ms(1000); p2.1 = 0; p2.2 = 1; // 1 delay_ms(1000); p2.2 = 0; p2.3 = 1; // 4 delay_ms(1000); p2.3 = 0; } }