#include<reg51.h>
void delay(unsigned int i);
unsigned int i,n,k,j,m,w=0;
sbit P2_7=P2^7;
void main()
{m=0xfe;
n=0x01;
k=0x80;
EA=1;
EX1=1;
IT1=1;
P2_7=1;
while(1)
{ m=0XFE;
if(w==1)
{for(i=0;i<8;i++)
{P0=~m;
delay(100);
m<<=1;
}
m=0XFE;
for(i=0;i<8;i++)
{P0=m;
delay(100);
m<<=1;
}
}
if(w==2)
{
for(j=0;j<2;j++)
{ n=0X01;
for(i=0;i<8;i++)
{P0=n;
delay(100);
n<<=1;
}
}
}
if(w==3)
{ for(i=0;i<2;i++)
{P0=0X55;
delay(100);
P0=0XAA;
delay(100);
}
}
if(w==4)
{n=0X01;
for(i=0;i<8;i++)
{P0=n;
delay(200);
n<<=1;
}
k=0x80;
for(i=0;i<8;i++)
{P0=k;
delay(200);
k>>=1;
}
}
}
}
void dong()interrupt 2
{ w++;
if(w==5)
{w=0;}
}
void delay(unsigned int i)
{ unsigned int j,k;
for(k=0;k<i;k++)
for(j=0;j<255;j++);
}
每按P3.3一次都会出现不同的流水灯,不过必须等他执行完一种花样才会响应按的另一种。
本回答被提问者和网友采纳按键就是两种实现方式好像,查询方式和中断方式……我也不懂啦……
追答那就是接在外部中断口了。给个简单的程序你吧。按键接口接在外部中断1的io口~
#include//包含头文件
void main()
{
EA=1;//开启总中断
EX0=1//开启外部中断0
IT0=1;//中断方式为下降沿
while(1)//死循环
{
}
}
void ex0_int() interrupt 0 using 0//外部中断 按键太快闪跟灭也加快。
{
EX0=0;
P1=~P1;//P1口接灯,进入中断时候灯状态取反,就是亮灭了。
EX0=1;
}
单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
define uint unsigned int \/\/定义无符号整数 void delay(uint); \/\/声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x80;for(i=0;i<8;i++) \/\/8个...
用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)_百度...
delay();P3=0xef;\/\/第五个灯亮 delay();P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮 delay();} }
单片机流水灯怎么实现的?
在这个单片机流水灯代码中,假设使用的是8051单片机。需要定义8个LED灯,分别连接到P1端口的不同引脚上。然后使用一个循环结构来控制这8个LED灯按照一定的顺序逐个亮起,形成流水灯的效果。具体来说,使用for循环来控制LED灯的亮灭顺序。在每次循环中,通过给P1端口赋值来控制LED灯的亮灭状态。例如,给P...
如何用c语言实现流水灯功能?
可以用for循环试试unsingned char i;for(i=0;i<5;i++)\/\/流水灯闪烁程序。若干个灯泡依次点亮就叫流水灯,它用在夜间建筑物装饰方面。例如在建筑物的棱角上装上流水灯,可起到变换闪烁美不胜收的效果。单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处...
编写出单片机流水灯程序
编写一个基于8051单片机的流水灯程序,假设我们使用P1口连接了8个LED灯,要实现从第一个LED开始依次点亮,形成流水效果。以下是一个简单的C语言程序示例:```c include void delay(unsigned int ms) { unsigned int i, j;for (i = ms; i > 0; i--)for (j = 110; j > 0; j--); \/...
如何用单片机实现流水灯,从一依次亮到八,再从八依次亮?
单片机流水灯C语言程序的源代码如下:include \/\/51系列单片机定义文件。define uchar unsigned char \/\/定义无符号字符。define uint unsigned int \/\/定义无符号整数。void delay(uint); \/\/声明延时函数。硬件特征 1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分...
单片机C语言编程:控制流水灯
T0 工作模式2 计时器中断,一次200us,1s流水灯左移或右移一次。k3触发外部中断0,级别高于计时器中断,故暂停。include <reg52.h>#include <intrins.h> #defineuint unsigned int#defineuchar unsigned charsbit k1=P1^0; \/\/左循环按钮sbit k2=P1^1; \/\/右循环按钮sbit k4=P1^2; \/\/恢复暂停...
单片机流水灯程序
程序如下:include <reg52.h> sbit led1 = P2^0;sbit led2 = P2^1;sbit led3 = P2^2;sbit led4 = P2^3。让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用...
51单片机流水灯用C语言编写的设计程序???
include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int void delay(uint z);main(){ uchar aa;while(1){ aa=0xfe;P1=aa;delay(100);while(1){ aa=_crol_(aa,1);P1=aa;delay(100);} } } void delay(uint z){ uint x,y;for(x=z;x>0;x-...
单片机流水灯c语言程序。灯按从左到右2468然后1357依次循环亮。速求...
include "REG52.H"\/\/ 显示花样流水灯编码 const unsigned char Expetr_ROM[] = { 0xFD, 0xF7, 0xDF, 0x7F, 0xFE, 0xFB, 0xEF, 0xBF } ;\/\/ 延时1ms void Delay_1ms(unsigned int Cnt){ unsigned int x, y;for(x = Cnt; x > 0; x--)for(y = 120; y > 0; y--);}...